硬件密码组件的硬件结构、作用及实现应用设计

网友投稿 401 2022-11-17

硬件密码组件的硬件结构、作用及实现应用设计

引 言

1 硬件密码组件的概念

密码技术是解决信息安全问题的核心技术。要实现信息的保密性、完整性、可控性和不可否认性等安全要求,都离不开密码技术的运用。在具体的信息安全系统中,密码技术的运用可以基于软件密码组件(简称为SCM)或硬件密码组件(简称为HCM)来实现。HCM从本质上来说是一个包含某些敏感信息,能自主完成特定功能的黑盒子;外界不能访问其中的敏感信息,亦不能干予其中正在执行或即将执行的运算任务。黑盒子可以通过严格定义的接口和外界进行交互,接口在黑盒子的完全控制之下。任何企图通过物理手段探测黑盒子内部的行为都将导致其中敏感信息的完全清除。

从抽象角度,可以用如下方式描述HCM。

符号和定义:

X——敏感信息,其明文不能以任何形式出现在HCM之外;

E(X)——敏感信息X的秘文;

Fi(X,Y)——HCM用其保存的敏感信息X和外界输入的信息Y完成某项功能,如签名、加密和解密等其它特定功能。HCM的N项功能可以用集合{ Fi(X,Y)|1≤i≤N }表示。

Ui——某个HCM的用户,其全部M个用户可以用集合{ Ui |1≤i≤M }表示。

Zij——表示用户Ui对HCM的功能Fj(X,Y)的权限信息。Zij=0表示用户没有权限,Zij=1表示用户拥有权限。

则HCM可用一个五元函数G(E(X),Y,Fj,Ui,Zij)表示,其定义如下:

2 硬件密码组件与软件密码组件的对比

软件密码组件是指密码技术的软件实现。与HCM比较,SCM开发周期短,开发成本低,使用维护方便,这是其优点。但在自身安全性和实现安全功能方面,HCM则具有优势,这主要体现在以下几个方面。

(1)完整性保护

(2)对商用操作系统安全性的依赖

SCM运行时需要操作系统提供的支持,而HCM本身构成了完整的运行环境,无需依赖操作系统等其它外部支持。由于操作系统往往存在某些漏洞,这些漏洞若被攻击者利用,就可能会给SCM带来严重的安全问题。

(3)抵抗能量分析攻击

(4)种子密钥的保存

安全的保存种子密钥对SCM是非常困难的。种子密钥需要长期保存,对整个系统安全至关重要。对于SCM来说,种子密钥只能保存在计算机的硬盘上,显然保存种子密钥的明文是非常不安全的。一般采用的办法是通过一个口令加密种子密钥,然后保存种子密钥的密文。每当用户使用种子密钥时,需要输入口令。但这样亦是不安全的,首先这就要求有用户在场,才可使用种子密钥,否则就不能使用。其次用户往往会选择容易记忆的简单口令,这使其容易被攻击者猜测。

(5)安全地进行密码操作

在HCM中可以安全地进行密钥生成(公钥密钥对、会话密钥)、加密、解密、签名等操作,同时保证加解密密钥和签名私钥的安全性;而在SCM 中进行这些操作时,则存在泄露这些密钥的可能性。

(6)密码算法实现的效率

在HCM中通过专用的密码运算器,如公钥协处理器和专用对称算法芯片可以大大提高对称算法和非对称算法的运算速度;而SCM密码运算的速度则依赖于计算机系统的效率。这使得目前SCM中密码算法的运算速度往往低于HCM的实现速度。

(7)逆向工程攻击

SCM保存在计算机硬盘或内存中,而一般的计算机对硬盘和内存的保护是非常脆弱的,因此它容易受到逆向工程攻击。

(8)密钥的随机性保证

(9)物理暴露与密封

普通的计算机在物理上是暴露的,攻击者可以轻易地进行系统重启、修改硬盘文件,安装黑客软件等攻击操作。甚至攻击者还可以将整台机器“盗走”,据为已有。另外,普通计算机上的系统主板等电路没有防护措施,攻击者可以利用逻辑分析仪等其它工具对印刷电路板上的芯片进行侦测、记录。当密钥在芯片之间传递时就可能被攻击者获取。而HCM有物理防护措施,其关键电路在物理上被密封,避免被攻击者探测。如果强行打开物理密封,则会导致系统自毁或敏感数据完全清除,从而保证了HCM在物理攻击下的安全性。

(10)备份与灾难恢复

对于重要的信息系统,备份与灾难恢复机制是必不可少的。这就需要把关键数据复制,分散保存在不同地方。但如何保障这些数据不被窃取、修改和盗用呢?单单利用SCM不能很好地解决这个问题,而采用HCM则可构建安全可靠的数据备份与恢复系统。

(11)可靠的时间戳服务

① 保证信息的时效性。对于像商业情报、专利发明等对时间敏感的信息,通过申请时间戳,可以证明你在某一时刻拥有这一信息。

② 保证操作有时效性。对于像竟标、竟拍等对时间敏感的活动,通过申请时间戳,可以证明你在某一时刻完成了这项活动。

在HCM中可以包含精确的时钟部件,它可以独立可靠地为系统提供准确时间信息。而SCM本身不能产生时间信息,只能取计算机的系统时间,显然这是不可靠的;或者从专门的时间提供系统获取时间信息。

3 硬件密码组件的硬件结构

HCM在物理上主要从以下几个方面区别于一般的硬件系统。

① HCM内部有安全存储部件,其中保存敏感信息,这些信息不会以任何形式出现在HCM外部。安全存储部件只能由HCM自己访问,其它任何形式的访问都会导致所有敏感信息的完全清除。普通的硬件系统没有这样的安全存储部件。

② HCM有物理安全边界,它可以阻断对HCM的物理攻击。普通的硬件系统没有这样的密封装置,攻击者可以对其中的信号进行多种形式的探测。

③ 在密码算法和协议本身没有安全漏洞的前提下,其安全性主要取决于密钥的长度和随机性。密钥的长度可以提前确定,如1024位或更高的2048位的RSA密钥,128位的对称算法密钥;而要生成具有高度随机性的密钥就必须有安全的随机信源。因此HCM中必须有硬件随机数发生器,为系统提供真随机数。普通的硬件系统一般没有专门的硬件随机数发生器。

① PCI接口:向上层用户提供HCM的各种密码服务功能,如加密、解密、签名、验证或其它特定应用执行结果。

② USB接口:HCM对操作员身份进行验证时,操作员将标识其身份的USB电子TOKEN插入USB接口,即提供操作员身份认证的物理通道。

③ 以太网接口:通过该接口,可以在网络上对HCM进行远程配置和管理。另外,还可以向远端用户提供密码服务。

④ RS232接口:通过该接口可以对HCM进行本地配置和管理。

结 语

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Flink常用API之Collection的Source
下一篇:Springboot+netty实现Web聊天室
相关文章

 发表评论

暂时没有评论,来抢沙发吧~