硬件钱包提供了非常高的安全性,让私钥永远离线保存,大多数硬件钱包使用的安全芯片和操作系统安全等级都高于银行使用的级别,硬件钱包让保管数字资产变得非常简单和安全。由 imToken 投资的硬件钱包 imKey 也是采用了安全等级非常高的 CC EAL 6+ 的安全芯片 和 CC EAL 5 + 操作系统 ,今天我们会和大家聊一聊如何确保软件开发安全和 CC 标准实际意味着什么,以及为什么它很重要?
软件工程
软件工程软件开发经过长时间的发展,已经成为一种工程,从需求出发,到最终的软件产品,整个开发流程中,确保软件产品的安全和质量是非常重要的工作。有些小公司,对软件产品并没有非常高的安全要求,只需要对软件进行必要的软件测试就足够了。然而,对像航天、轨道交通、卫星系统以及区块链资产安全而言,仅仅是软件测试是不够的。软件测试能证明错误的存在 , 但不能证明错误不存在,软件工程又引入了形式化验证。
形式化验证
通过反向建立数理模型,验证已有软件产品的正确性,所有的安全性质都被精确得梳理描述,通过使用数学的方法证明软件产品正确性或非正确性。
形式化验证最早从硬件设计开始普及的,著名的案例:当年英特尔的奔腾 CPU 浮点运算单元出错,数以万计的 CPU 不得不回收和替换,给英特尔造成了巨大损失。从那之后, 英特尔开始在其芯片设计中广泛采用形式化验证。
形式化验证尤其适合对于程序错误是零容忍的领域,因为程序错误带来的损失难以估量,2017年 11月,以太坊 Parity 钱包由于软件漏洞被黑客攻击,导致用户损失了价值约为 1.5 亿美元的数字资产。随着区块链技术与应用的探索不断深入,不少区块链项目开始使用形式化验证,用来规避错误、对抗黑客攻击和避免财产损失。
什么是 CC EAL 安全标准
为了规范软件工程的安全性,目前有很多不同的安全评估标准,比如国际电工委员会制定的 IEC 61508标准,比较著名的认证标准就是 CC 标准,因为其认证标准的严格以及被认可度,成为了很多做软件安全公司的目标。
CC 标准最简单的解释,验证一款产品是否通过安全测试,并保持特定标准。
CC:代表信息技术安全评估的共同标准。这是基于计算机安全认证的国际标准(ISO / IEC 15408)。当涉及到特定产品时,它必须符合通用标准的基本标准。
EAL:评估保证级别是在公共标准安全评估之后分配给 IT 产品或系统的类别排名。共分为 7 级,CC 标准级别越高,形式化就用得越多。
- EAL1 - 功能测试
- EAL2 - 结构测试
- EAL3 - 系统性能测试和检查
- EAL4 - 系统性能设计,测试和复查,如 Red Hat Linux
- EAL5 - 部分形式化的正式设计和测试,如 IBM System z
- EAL6 - 部分形式化验证的设计和测试,如 integrity-178B RTOS
- EAL7 - 形式化验证的设计和测试
EAL 评级后的“+”是指 EAL 基准评级额外的一个或多个附加项。
安全性
打破安全隐患在提及产品或设计的安全性时,需要注意几个关键事项:
- 软件产品的安全性安全性不是绝对值。也就是说,一个特定的安全等级的必要性取决于产品本身,它的目的和使用情况
- 虽然看起来更高的数字EAL等级也意味着更好的安全性,但情况不一定如此。而是基于所述产品的需要来衡量产品的测试水平
- EAL评级决定了测试的范围以及所声称的安全性的可信度。你不能简单地在数字上比较EAL,因为只能在安全目标的上下文中正确理解该数字。虽然每种产品和系统的保证要求相同,但功能要求不同。较高的EAL 等级 并不表示比较低的EAL更高的安全级别,因为它们可能在安全目标中具有不同的功能特征。
硬件安全芯片
imKey 的关键设计和安全功能之一是硬件安全芯片,imKey 采用的是英飞凌安全微控制器芯片,是一种先进的安全加密控制器,该芯片安全特性:
- 双核CPU,一个执行,一个安全检测
- 所有CPU寄存器具备掩码保护功能
- 所有NVM、RAM均被加密,且有专门的完整性验证保护
- 具备温度、电压、频率、光传感器以及专用保护网
- 具备DES、AES以及用于PKI运算的协处理器
- 真随机数发生器
- CC EAL6 + 认证
基于上述特性,可抵御的攻击诸如,对程序执行流程、各类存储器的错误注入攻击和对芯片进行加热、冷冻、剖片等的物理攻击。最重要的是,软件层只需要做少量的工作即可使整个产品抵御上述攻击。
最后
imKey 提供世界领先的数字资产安全保障,硬件安全已经经过严格的用例测试,保护你的私钥安全,CC EAL 6+ 不仅是军事使用的安全级别,还意味着 imKey 安全芯片已经过 CC 安全认证的必要的测试和评估。
当然,安全芯片及其相关的评级和评估只是安全钱包的一个安全功能。有关 imkey 的安全的更多信息,我们将会在以后的文章介绍。
参考链接: