在科克霍夫原则背景下对开源系统的评估

最后更新于:2025-11-19 10:49:24


在科克霍夫原则背景下对开源系统的评估


导言:现代安全中的开放设计原则


定义科克霍夫原则:从19世纪军事密码学到现代系统架构


科克霍夫原则 (Kerckhoffs's principle) 是一个在信息安全领域具有奠基意义的概念,其历史根源可追溯至19世纪的军事密码学。该原则由奥古斯特·科克霍夫 (Auguste Kerckhoffs) 在其1883年发表的论文《军事密码学》(La Cryptographie Militaire) 中首次提出 1。科克霍夫阐述了设计实用密码系统的六项核心准则,其中第二项准则构成了该原则的基石:“密码系统不应要求保密,即使落入敌人之手,也不应造成不便” 2。这一论述从根本上挑战了依赖于隐藏算法或系统设计的安全模型。

在现代密码学中,美国数学家克劳德·香农 (Claude Shannon) 将此原则重新表述为“敌人了解系统” (the enemy knows the system),这一形式被称为香农箴言 (Shannon's maxim) 2。这一现代诠释明确指出,系统设计者必须在这样的前提下工作:对手将立即完全熟悉系统的所有细节,除了一个关键要素——密钥 (key)。因此,该原则的核心要义在于,系统的安全性必须完全依赖于密钥的保密性,而非系统设计的保密性。密钥通常是小规模且易于更换的数据,而系统算法和设计则庞大、复杂,一旦泄露,其变更成本极高,系统将变得“脆弱” (brittle) 2。

此外,科克霍夫的第六项原则也具有深远的现实意义,尽管它常常在纯技术讨论中被忽略。该原则指出:“系统必须易于使用,不应给使用者带来精神压力,也不需要使用者了解并遵守一长串规则” 2。这揭示了可用性 (usability) 在安全体系中的关键作用。一个难以正确配置或使用的系统,无论其密码学理论强度多高,在实践中都极易因人为失误而导致安全失效。因此,高质量的文档、清晰的设计和便捷的管理是实现有效安全不可或缺的组成部分,这构成了科克霍夫原则中一个完整且重要的维度。


保密之谬:开放设计与隐晦式安全之对比


科克霍夫原则所倡导的“开放设计” (Open Design) 理念,与一种截然相反的安全哲学——“隐晦式安全” (Security Through Obscurity, STO)——形成了鲜明对比。STO的核心思想是依赖于隐藏系统设计或实现的细节来提供安全性 6。其逻辑在于,如果攻击者不知道漏洞在哪里,他们就无法利用这些漏洞。

然而,权威机构对STO的有效性提出了严重质疑。美国国家标准与技术研究院 (National Institute of Standards and Technology, NIST) 明确建议不要采用STO,并指出“系统安全不应依赖于其实现或组件的保密性” 7。这种立场并非空谈,而是基于对现代软件系统复杂性的深刻理解。在实践中,维持一个复杂且广泛分发的系统的长期保密几乎是不可能的。系统的内部细节可以通过内存转储 (memory dumps)、调试器 (debugger) 分析或硬件逆向工程等多种手段被探知 2。即使是专有代码也存在泄露的风险 7。

因此,STO在概念上被认为是脆弱的,因为它将系统的全部安全寄托于一个单一的、不可更换的秘密——即系统设计本身。一旦这个秘密被揭示,整个系统的安全防线便会瞬间崩溃 6。著名安全专家布鲁斯·施奈尔 (Bruce Schneier) 指出,保密是“脆弱性的主要原因”,而开放性则提供了“延展性” (ductility).2 开放设计的系统在遭遇攻击时能够更优雅地失败和恢复,因为其安全性依赖于可随时更换的密钥,而非固化的设计。这种从STO向开放设计的转变,不仅是哲学上的选择,更是面对现实世界中保密性难以维系的务实妥协。


开源范式:科克霍夫原则的体现


开源软件 (open-source software) 的开发范式被认为是科克霍夫原则和开放设计理念最直接、最彻底的实践体现 7。开源模式从根本上就接纳了“敌人了解系统”这一前提,因为它默认对手拥有对系统源代码的完全访问权限 7。

这种透明度催生了“众人之眼” (many eyes) 的理论:软件中的缺陷,包括安全漏洞,不仅会被项目内部的开发团队审查,还会受到全球范围内成千上万的开发者、研究人员和用户的审视 9。理论上,这种广泛的、自发的代码审查比任何封闭的内部团队所能进行的审查都更为深入和全面。

这一模式已经获得了业界的广泛认可。曾经抵制开放密码设计的美国国家安全局 (National Security Agency, NSA) 现在也使用开源的“高级加密标准” (Advanced Encryption Standard, AES) 来加密机密信息 8。微软 (Microsoft) 等大型科技公司也积极参与开源项目,利用其来发现和修复漏洞,并将其作为自身安全生态的一部分 10。这标志着行业已经普遍认识到,在一个攻击者拥有充足资源和工具的时代,通过开放设计和公开审查来构建可验证的、有弹性的系统,是比依赖脆弱的保密性更为可靠的安全策略。


第一部分:操作系统的基础安全态势


第一章:OpenBSD:主动审计与完全披露的文化


明确的哲学一致性


OpenBSD项目在安全领域的定位并非被动防御,而是一种主动追求卓越的姿态。其官方网站明确宣称,项目的目标是成为“行业内安全领域的翘楚” 13。这一雄心壮志并非空洞的口号,而是建立在其独特的开放式软件开发模型之上。该模型允许项目采取一种“比大多数供应商更为不妥协的姿态来增强安全性” 13。这种不妥协的态度,正是源于其对开放设计原则的深刻认同,即开放性使其能够实施那些在商业环境中可能因成本或兼容性问题而被放弃的根本性安全改进。

项目的非官方座右铭——“在默认安装下,很久以来只有两个远程漏洞” (Only two remote holes in the default install, in a heck of a long time!) 14——被广泛视为其安全哲学实践成果的有力证明。这不仅仅是一个统计数字,更是其整个安全文化和技术实践的最终体现。


审计过程:科克霍夫原则的实践


OpenBSD将“敌人了解系统”这一概念内化为项目的核心运作机制,其实现方式是扮演自己最严苛的敌人。项目拥有一支持续运作的安全审计团队,自1996年以来,该团队便对每一个关键软件组件进行“逐个文件的全面分析” 13。这个过程并非仅仅为了寻找已知的漏洞,而是旨在发现并修复“基础的软件缺陷” 13。

这种做法背后蕴含着一个深刻的逻辑:许多看似无害的编程错误,在未来可能被证明是可利用的安全漏洞。通过在漏洞被公开利用之前就主动修复这些基础缺陷,OpenBSD实践了一种极具前瞻性的安全策略。这一过程是持续且迭代的,代码会由具备不同技能的审计员进行多次审查,因为他们认识到单一视角不足以发现所有问题 13。这种制度化的、对抗性的内部审计,正是科克霍夫原则在开发过程中的具体化身。


完全披露与安全创新


OpenBSD是操作系统领域最早拥护“完全披露” (Full Disclosure) 安全问题的先驱之一。项目方认为,安全信息在攻击者圈子中传播速度极快,而正确的安全补丁通常可以在一小时内完成并发布,因此,完全且迅速地公开问题细节,对那些真正关心安全的用户最为有利 13。这彻底摒弃了对信息保密的依赖,是开放设计精神的终极表达。

更重要的是,这种严苛的审计文化直接催生了安全技术的创新。在审计过程中发现新的缺陷类别后,项目团队发明并实施了多种系统级的防御技术,例如“写异或执行” (Write XOR Execute, W^X) 内存保护、权限分离 (privilege separation) 以及随机化的 malloc() 内存分配机制等 13。这形成了一个良性循环:对系统进行无情审视,迫使开发者创造出更强大的防御工事,从而提升整个系统的安全基线。

此外,OpenBSD项目对高质量、全面的文档(尤其是 man 手册页)的重视 14,也与科克霍夫的第六项原则——可用性——不谋而合。清晰的文档确保了系统管理员能够理解并正确配置其复杂的安全功能,从而将理论上的安全性转化为实践中的有效保护。OpenBSD的安全模型不仅在于代码的健壮性,还在于其整个生态系统——从审计文化到文档质量——都服务于构建一个在现实世界中真正安全的系统。


第二章:FreeBSD:通过稳健工程与最小权限原则实现安全


通过工程纪律的隐性一致性


与OpenBSD明确的、宣言式的安全哲学不同,FreeBSD与科克霍夫原则的一致性更多地体现在其严谨的工程文化和为开发者制定的规范之中。其开发者手册中的“安全编程” (Secure Programming) 章节,明确要求开发者秉持一种“审慎和悲观的人生观” 16。这是一种工程层面的指令,要求从设计之初就假定环境是充满敌意的。

该文档将“最小权限” (least privilege) 原则制度化,规定“任何进程的运行权限都不应超过其完成功能所需的最低限度” 16。这一原则是现代安全系统设计的基石,其思想源于1975年Saltzer和Schroeder的经典论文 8。此外,FreeBSD的开发指南明确警告开发者“绝不信任用户输入……系统资源、进程间通信或事件的时序” 16,这相当于将“为敌对环境设计”这一抽象概念转化为具体的编程实践准则。


系统特性与管理中的证据


FreeBSD的系统设计提供了多种强大且可审计的安全机制,这些机制是其工程理念的直接产物。例如,系统集成了强大的 pf (Packet Filter) 防火墙,以及用于及时应用安全补丁的 freebsd-update 实用程序 17。这些工具的设计旨在让系统管理员能够有效地实施安全策略。

其官方的《最佳安全实践》(Best Security Practices) 指南进一步体现了这种务实的工程方法。该指南强调分层安全模型 (layered security),建议即使用户的网络边界已经有防火墙保护,也应在每台主机上运行本地防火墙。这承认了攻击者可能已经渗透到网络内部的现实威胁 17。此外,

pkg-audit 工具提供了一个透明的机制,用于检查已安装的第三方软件包是否存在已知漏洞,从而将安全审查的范围从基础操作系统扩展到了整个软件生态 17。

这种种实践表明,FreeBSD的安全态势是通过一套成熟的、面向系统管理员和开发者的流程和工具集来保障的。它不像OpenBSD那样依赖于一个核心审计团队的精英文化,而是通过建立一套稳健的、可重复的工程流程来实现安全目标。这种方法体现了一种企业级的、流程驱动的安全观,其与科克霍夫原则的契合,是通过纪律而非信条达成的。其文档也揭示了开放设计理念中固有的“共同责任模型” (shared responsibility model)。security(7) 手册页开宗明义地指出:“安全是一项始于并终于系统管理员的职能” 18。这意味着,一个开放透明的系统设计,必须与具备能力的、负责任的用户相结合才能发挥其全部潜力。


第三章:Debian:一个保障系统透明度的社会契约


对开放性的契约式承诺


Debian项目与科克霍夫原则的一致性,通过一种独特且强大的方式得以实现:一份名为《Debian社会契约》(Debian Social Contract) 的基础性治理文件 19。这种方式将安全透明度的原则从技术实践提升到了组织治理和道德承诺的高度。

该契约中最直接的证据是其第三条承诺:“我们不会隐藏问题。我们将始终保持我们整个缺陷报告数据库对公众开放” 20。这不仅是一项政策,更是一项对整个社区做出的、不可撤销的契约性保证。它在制度层面确保了系统不存在秘密的、未公开的已知缺陷,完全符合“敌人了解系统”的理念。

此外,第二条承诺“我们将回馈自由软件社区”,其中包括将“缺陷修复、改进和用户请求”反馈给其系统中包含的软件的上游作者 20。这建立了一个制度化的反馈循环,不仅增强了Debian自身的安全性,也促进了整个开源生态系统的健康发展。


支持透明度的组织结构


Debian的组织结构为其社会契约的执行提供了坚实的保障。《Debian宪章》(Debian Constitution) 定义了一个结构化的、民主的治理模型,包括项目领导人 (Project Leader)、技术委员会 (Technical Committee) 和开发者投票机制 21。这种权力制衡的结构确保了社会契约的原则不会被少数人轻易推翻或忽视。

项目坚持“100%自由”的原则 20,确保了所有核心组件的源代码都可供审查,这满足了应用科克霍夫原则的首要条件。Debian的模式表明,与科克霍夫原则的对齐可以是一种社会政治建构,而不仅仅是技术实现。其安全性的根基在于一个由社区共同维护的道德和法律框架。

这个模型中最具实践意义的体现就是其公开的缺陷跟踪系统 (bug tracking system)。它超越了仅仅开放源代码的范畴,成为了一个系统已知弱点的实时公共记录。这种做法的前提假设是,对手能够并且将会看到这些信息。因此,Debian的安全模型必须依赖于其庞大的开发者社区对问题的快速响应和高质量修复,而不是寄希望于漏洞不被发现。这可以说是香农箴言在一个大规模软件项目中最直接、最彻底的实现。


第二部分:专用系统与密码学实现


第四章:OPNsense与Proxmox VE:建立在开放基础之上的分层安全


OPNsense:基于可信基础的可验证安全


OPNsense项目明确将自身定位为一个“开源、易于使用和构建的,基于FreeBSD的防火墙和路由平台” 23。这一定位揭示了其安全模型的两个核心支柱:其一,它建立在FreeBSD这个以稳健工程和安全著称的操作系统之上;其二,它自身致力于开源和透明。

项目的核心使命是“在提供商业产品丰富功能集的同时,兼具开源和可验证来源的优势” 23。其中,“可验证来源” (verifiable sources) 这一措辞直接呼应了开放设计的核心精神,即用户有能力审查和验证软件的真实性与安全性。项目的名称本身——“OPNsense”,源自“Open (source) makes sense”(开源合乎情理)——更是一个清晰的哲学宣言 25。

因此,OPNsense的安全性是分层的。它继承并依赖其底层FreeBSD基础的安全性与工程纪律 16,同时在其应用层增加了自身的承诺,即通过完全开放源代码和提供频繁的安全更新来应对新出现的威胁 23。


Proxmox VE:集成化堆栈中的系统性开放


Proxmox VE (Virtual Environment) 是一个全面的服务器虚拟化管理解决方案,其整个技术堆栈完全由开源组件构成,包括作为基础操作系统的Debian GNU/Linux、虚拟机管理程序QEMU/KVM以及容器技术LXC 26。这种架构选择本身就是对开放设计原则的深度认同。

该项目的软件许可证为GNU AGPLv3,这是一种强“著佐权” (copyleft) 许可证,能最有效地确保其代码及衍生作品保持开放 26。其官方文档阐述的理念是,开源能够确保“高度的安全性和可靠性”,并使核心基础设施免于被单一供应商锁定 27。

Proxmox VE的开放性不仅体现在源代码层面,更贯穿于其系统架构。其独特的、基于数据库的集群文件系统 pmxcfs (Proxmox Cluster file system) 和功能全面的REST API都是开放的,允许用户进行深度集成、定制化管理和安全审查 27。这种从底层到顶层的系统性开放,使得整个平台的运作逻辑都是透明和可验证的。

这种构建于可信开源基础之上的模式,体现了安全设计中的“传递信任” (transitive trust) 原则 8。OPNsense和Proxmox VE的安全性,在很大程度上取决于其底层操作系统(分别为FreeBSD和Debian)的安全性。这种模型的优势在于,它们可以利用那些已经经受了广泛和长期审查的基础组件。然而,这也意味着底层平台的任何漏洞都可能直接影响到上层应用。例如,一个在Debian中发现的严重漏洞,可能会立即对所有Proxmox VE部署构成威胁。这种依赖关系链是评估此类系统时必须考虑的关键因素。


第五章:VeraCrypt:公开审查与修复的案例研究


对开放性的基线承诺


VeraCrypt作为一个磁盘加密软件,其设计从一开始就遵循了开放设计的原则。它明确声明为开源软件,其完整的源代码在GitHub和SourceForge等多个公共平台上提供,供任何人审查、审计和贡献 28。为了确保用户下载的二进制文件与公开的源代码一致,所有官方发布版本都经过了PGP密钥签名,并提供了公钥和指纹供用户验证 28。这为信任链的建立提供了基础。

VeraCrypt项目源于已停止开发的TrueCrypt,但它并非简单的复刻。开发团队进行了多项有针对性的安全增强,例如,为了抵御预想中的高级别攻击,设计了与TrueCrypt不兼容的新卷格式;同时,显著增加了密钥派生函数的迭代次数(通过PIM参数),以提高对暴力破解的抵抗力 29。这些举措表明了项目团队主动提升安全性的积极心态。


原则在实践中:第三方审计


VeraCrypt的案例最有力地证明了,仅仅开放源代码是不够的,真正的考验来自于独立的、专业的公开审查。

QuarksLab审计 (2016年):

由开放技术改进基金 (Open Source Technology Improvement Fund, OSTIF) 资助,QuarksLab对VeraCrypt 1.18版本进行了一次为期32人天的安全审计 30。审计发现了8个严重漏洞 (critical vulnerabilities) 33。其中一个关键问题是GOST 28147-89加密算法的实现存在缺陷。该算法是一个64位分组密码,而VeraCrypt的XTS操作模式并未对其进行适配,导致其实现方式存在严重的安全隐患 30。

VeraCrypt开发者的反应堪称典范。在新版本1.19中,他们与审计报告同步发布,不仅完全移除了有问题的GOST算法,还修复了审计发现的绝大多数高优先级问题 31。这个过程——公开审查、发现漏洞、披露问题、快速修复——完美地展示了科克霍夫原则在现代软件开发中的完整生命周期。

弗劳恩霍夫安全信息技术研究所 (Fraunhofer SIT) / BSI审计 (2020年):

应德国联邦信息安全办公室 (BSI) 的要求,Fraunhofer SIT对VeraCrypt进行了一次长达一年的、更为全面的安全评估 34。这次审计的结果在宏观上是积极的:报告指出,未在VeraCrypt中发现“实质性安全问题”,其核心密码学算法的实现也未发现漏洞 34。审计确认,只要卷未被挂载,VeraCrypt能够有效保护数据的机密性。

然而,这份报告也提出了一个至关重要的、更为微妙的批评。报告对VeraCrypt的“开发实践和由此产生的代码质量表示担忧” 34。审计人员指出,该项目似乎主要由单一开发者驱动,缺乏同行评审 (peer reviews) 等软件工程最佳实践,并且继承了TrueCrypt较差的编码风格 34。基于这些对项目维护和代码质量的担忧,BSI的结论是,他们“不能推荐将VeraCrypt用于处理敏感数据以及有高安全要求的个人或应用” 34。

这一结论揭示了一个深刻的区分:一个安全的设计与一个安全的实现和维护过程之间可能存在差距。VeraCrypt的密码学设计在理论上是稳健的,并且符合开放设计的原则。然而,其实现过程中的软件工程缺陷,以及项目维护人力单薄所带来的风险,使其在实践中可能变得脆弱。攻击者或许无法破解AES算法,但他们可能利用因“有问题的编码实践” 35 导致的缓冲区溢出等传统软件漏洞来攻破系统。

VeraCrypt的案例因此成为了一个关键的教训:对一个系统的信任,不能仅仅基于其开源许可和理论设计。一个真正符合科克霍夫原则精神的系统,不仅需要一个开放和稳健的设计,还需要一个充满活力、遵循严格工程规范的开发和维护过程。公开审查是验证这一切的唯一可靠途径。


第三部分:综合与结论


第六章:一致性对比分析


对上述开源项目的分析表明,虽然它们都与科克霍夫原则的理念相符,但其实现这一目标的路径和方式各有不同。这种差异反映了不同项目的文化、目标和组织结构。以下是对这些不同“一致性模式”的综合对比。

主动/文化驱动 (Proactive/Cultural) - OpenBSD: OpenBSD的一致性源于一种强烈的、由内部精英团队主导的、持续性的对抗性审计文化。这是对“敌人了解系统”理念最积极、最彻底的执行。安全不是一个特性,而是项目的核心身份。

流程驱动/工程导向 (Process-Driven/Engineering) - FreeBSD: FreeBSD的一致性是其专业化、纪律严明的工程流程的自然产物。安全被编纂为开发和管理的最佳实践与标准操作程序,通过制度化的工程纪律来确保。

治理/契约驱动 (Governance/Contractual) - Debian: Debian的一致性由一个社会政治框架——《社会契约》——来保障。透明度被提升为一种组织的道德和法律责任,通过民主治理结构来强制执行。

分层/继承式 (Layered/Inherited) - OPNsense, Proxmox VE: 这类项目的一致性是通过构建于一个可信的、本身就符合原则的开源基础(如FreeBSD或Debian)之上,并将开放理念延伸到自身的应用层来实现的。它们的安全性存在传递信任的特性。

验证/反应式 (Proven/Reactive) - VeraCrypt: VeraCrypt的一致性不仅体现在其开源本质,更通过主动接受并对严格的、公开的第三方审计结果做出快速反应来证明。这是对系统安全性最明确的外部验证形式。

为了更清晰地展示这些差异,下表对各个项目进行了结构化对比。



结论:可验证系统中信任的微妙之处


综合以上分析,最初的论述——即OpenBSD、OPNSense、FreeBSD、Debian、Proxmox VE和VeraCrypt等完全开源的项目契合科克霍夫原则和“敌人了解系统”的理念——在根本上是正确的。这些项目无一例外地将系统的设计和实现公之于众,摒弃了依赖保密的“隐晦式安全”模型。

然而,一个更为深刻的结论是,它们与该原则的“契合”程度和方式存在显著差异。开放源代码是实现这一理念的必要前提,但它本身并非终点。决定一个系统在实践中安全性的,是建立在这种开放性之上的流程、文化和治理结构。

这个流程可以是像OpenBSD那样由内部文化驱动的持续对抗性审计。

可以是像FreeBSD那样由专业工程纪律规范的程序化实践。

可以是像Debian那样由社会契约和政治结构保障的制度化透明。

也可以是像VeraCrypt那样通过接受外部专家的公开审查并对其结果负责来验证。

VeraCrypt的案例尤其具有启发性。它清晰地表明,即使一个系统的密码学设计是稳健的,其实现细节、代码质量和项目维护的可持续性,同样是安全等式中不可或缺的部分。对一个开源项目的信任,不应仅仅基于其许可证,更应基于其开发社区的活力、流程的严谨性,以及其接受和响应公众监督的意愿和能力。

最终,科克霍夫原则并不承诺绝对或完美的安全性。它提供的是一个框架,用于构建具有弹性 (resilient) 和可信性 (trustworthy) 的系统,在这样的系统中,安全是一种可被公开验证的属性,而非一个秘密的宣称。本次评估的所有项目,都以其各自独特的方式,成功地在这个框架内运作,并为现代安全系统设计提供了宝贵的实践范例。

Works cited

Interfaces 86 - CiteSeerX, accessed August 6, 2025,

Kerckhoffs's principle - Wikipedia, accessed August 6, 2025,

(PDF) Kerckhoffs Principle - ResearchGate, accessed August 6, 2025,

Kerckhoffs' Principle for Intrusion Detection, accessed August 6, 2025,

Intro to Security week 2 Flashcards - Quizlet, accessed August 6, 2025,

Security Through Obscurity (STO): History, Criticism & Risks | Okta, accessed August 6, 2025,

Open-source and the “security through obscurity” fallacy - eFront Blog, accessed August 6, 2025,

Security Design Principles - Cryptosmith, accessed August 6, 2025,

Is Open Source Software More Secure? - Washington, accessed August 6, 2025,

Analyzing open-source bootloaders: Finding vulnerabilities faster with AI - Microsoft, accessed August 6, 2025,

Project Ire autonomously identifies malware at scale - Microsoft Research, accessed August 6, 2025,

Azure Research - Security and Privacy - Microsoft Research: Open Source, accessed August 6, 2025,

Security - OpenBSD, accessed August 6, 2025,

OpenBSD Handbook: Home, accessed August 6, 2025,

What Is OpenBSD? - ITU Online IT Training, accessed August 6, 2025,

Chapter 3. Secure Programming | FreeBSD Documentation Portal, accessed August 6, 2025,

Best Security Practices | FreeBSD Foundation, accessed August 6, 2025,

security - FreeBSD Manual Pages, accessed August 6, 2025,

Debian - Wikipedia, accessed August 6, 2025,

Debian Social Contract, accessed August 6, 2025,

Historical Debian Constitution v 1.7, accessed August 6, 2025,

Debian Constitution, accessed August 6, 2025,

About Us - OPNsense® Shop, accessed August 6, 2025,

Welcome to OPNsense's documentation! — OPNsense documentation, accessed August 6, 2025,

Introduction — OPNsense documentation, accessed August 6, 2025,

Proxmox VE, accessed August 6, 2025,

Proxmox VE Administration Guide, accessed August 6, 2025,

Source Code - Free Open source disk encryption with ... - VeraCrypt, accessed August 6, 2025,

VeraCrypt - Wikipedia, accessed August 6, 2025,

Security Assessment of VeraCrypt: fixes and evolutions from TrueCrypt - Quarkslab's blog, accessed August 6, 2025,

Tag: VeraCrypt - Quarkslab's blog, accessed August 6, 2025,

QuarksLab – OSTIF.org, accessed August 6, 2025,

The VeraCrypt Audit Results – OSTIF.org, accessed August 6, 2025,

Security Evaluation of VeraCrypt - BSI, accessed August 6, 2025,

Germany BSI Security Evaluation of VeraCrypt - SourceForge, accessed August 6, 2025,

Security Evaluation of VeraCrypt (BSI, Dec. 2020) - Reddit, accessed August 6, 2025,