符合Kerckhoffs的原则,即开源密码的算法和实现(例如kokke / tiny-AES-c)向公众开放,以供公众审查,并提供更具成本效益和灵活的许可选项。
.现成的商业(COTS)的加密实现是一个黑匣子,尚待审查。即使COTS密码使用公共算法(例如AES),它也可能存在易受实施攻击的实施错误。另外,COTS许可是有限且不灵活的。
.外包的成本很高。
.内部开发使用专有密码。它不符合Kerckhoffs的原理。
克尔科夫斯原理(Kerckhoffs’s Principle)
密码学的Kerckhoffs原理(也称为Kerckhoffs的desideratum,假设,公理,学说或法律)是19世纪荷兰出生的密码学家Auguste Kerckhoffs提出的:即使系统中除密钥之外的所有东西都是公共知识,密码系统也应是安全的。…根据Kerckhoffs的原理,大多数民用密码术都使用公开的算法。
资料来源:维基百科
开源软件(Open-source software:OSS)
开源软件(OSS)是一种计算机软件,其中的源代码是根据许可发布的,版权所有者授予用户使用,研究,更改和分发该软件给任何人和出于任何目的的权利。
资料来源:维基百科
软体授权条款(Software license)
软体授权条款是一种具有法律性质的合同或指导,目的在规範受着作权保护的软体的使用或散布行为。通常的授权方式会允许使用者来使用单一或多份该软体的複製,因为若无授权而径予使用该软体,将违反着作权法给予该软体开发者的专属保护。效用上来说,软体授权是软体开发者与其使用者之间的一份合约,用来保证在符合授权範围的情况下,使用者将不会受到控告。
资料来源:维基百科
开源倡议批准的许可证(Open Source Initiative (OSI) Approved Licenses)
以下OSI批准的许可证很受欢迎,被广泛使用或拥有强大的社区:
.Apache许可2.0
.BSD 3条款“新”或“修订”许可证
.BSD 2条款“简体”或“ FreeBSD”许可
.GNU通用公共许可证(GPL)
.GNU库或“较小的”通用公共许可证(LGPL)
.MIT授权
.Mozilla公共许可证2.0
.共同开发和发行许可证
.Eclipse Public License版本2.0
商用现货(Commercial off-the-shelf :COTS)
商业现成的或市场上可买到的现成产品是打包的解决方案[专业术语],然后适应于满足採购组织的需求,而不是委託定製或定制的解决方案。
资料来源:维基百科
参考
.克尔科夫斯原理
.FIPS 140-2
.商业现货
资料来源: Wentz Wu QOTD-20201212