|
作者:佚名 论文来源:在职教育交流中心 点击数: 更新时间:2007-4-28 |
|
|
摘要:密码技术是解决信息安全问题的核心技术。密码技术的运用可以基于软件密码组件或硬件密码组件。硬件密码组件在自身安全性和实现安全功能方面比软件密码组件更具优势。本文论述硬件密码组件的数学模型、系统结构、硬件结构,并比较硬件密码组件与软件密码组件的优劣。 关键词:密码 硬件密码组件 软件密码组件
引 言
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)表示,其定义如下:
从应用角度来看,HCM是一个由软硬件组成的安全计算系统,其系统结构如图1所示。整个HCM总体上可以分为两大部分,即软件部分和硬件部分。在形式上,硬件部分体现为一个硬件实体,而软件部分则是与此硬件实体相配套的驱动程序、动态库等软件包。硬件部分进一步可细分为底层硬件电路、初始引导固件、操作系统或控制程序固件、密码算法库、内部功能固件等几部分。软件部分由接口驱动系统、用户应用编程接口和标准应用编程接口组成。其中标准应用编程接口是指按照某些业界接口标准,如PKCS#11、CSP等进一步对用户应用编程接口进行封装,以方便上层应用系统的调用。标准应用编程接口并非所有HCM所必需,所以用虚框表示。
2 硬件密码组件与软件密码组件的对比
软件密码组件是指密码技术的软件实现。与HCM比较,SCM开发周期短,开发成本低,使用维护方便,这是其优点。但在自身安全性和实现安全功能方面,HCM则具有优势,这主要体现在以下几个方面。
(1)完整性保护
HCM的完整性和运行时的保密性可以得到很好的保证,而SCM的完整性和运行时的保密性则很难得到保证。HCM由硬件和硬件之上的固件组成,硬件中的密码算法芯片一般采用反熔丝的FPGA或ASIC实现,难以破读或更改。固件则通过烧录器写入到Flash芯片,不能非法改写。另外,HCM中的RAM空间由其专用,外部程序不能对其进行访问;SCM一般保存在计算机的硬盘上,运行时调入系统内存运行。由于计算机系统本身的安全性不高,因此硬盘上或内存中的SCM都可能被攻击者、病毒程序或黑客程序篡改。另外,SCM运行时占用的内存空间虽然受到操作系统的保护,但不能保证其不被其它进程访问,这样SCM运行时所需的敏感信息或运行中产生的敏感信息就可能泄露。
(2)对商用操作系统安全性的依赖
SCM运行时需要操作系统提供的支持,而HCM本身构成了完整的运行环境,无需依赖操作系统等其它外部支持。由于操作系统往往存在某些漏洞,这些漏洞若被攻击者利用,就可能会给SCM带来严重的安全问题。
(3)抵抗能量分析攻击
进行密码运算时总要消耗运算设备一定的能量,攻击者通过收集能量值,就可能计算出密码运算时所采用的密钥值。特别是在进行运算量很大的RSA签名时,这种基于能量的攻击更容易得到签名私钥。SCM对于这种攻击是脆弱的;而HCM则可以通过特别措施来防止攻击者收集能量值,从而抵御能量攻击。
(4)种子密钥的保存
安全的保存种子密钥对SCM是非常困难的。种子密钥需要长期保存,对整个系统安全至关重要。对于SCM来说,种子密钥只能保存在计算机的硬盘上,显然保存种子密钥的明文是非常不安全的。一般采用的办法是通过一个口令加密种子密钥,然后保存种子密钥的密文。每当用户使用种子密钥时,需要输入口令。但这样亦是不安全的,首先这就要求有用户在场,才可使用种子密钥,否则就不能使用。其次用户往往会选择容易记忆的简单口令,这使其容易被攻击者猜测。
(5)安全地进行密码操作
在HCM中可以安全地进行密钥生成(公钥密钥对、会话密钥)、加密、解密、签名等操作,同时保证加解密密钥和签名私钥的安全性;而在SCM中进行这些操作时,则存在泄露这些密钥的可能性。
(6)密码算法实现的效率
在HCM中通过专用的密码运算器,如公钥协处理器和专用对称算法芯片可以大大提高对称算法和非对称算法的运算速度;而SCM密码运算的速度则依赖于计算机系统的效率。这使得目前SCM中密码算法的运算速度往往低于HCM的实现速度。
(7)逆向工程攻击
SCM保存在计算机硬盘或内存中,而一般的计算机对硬盘和内存的保护是非常脆弱的,因此它容易受到逆向工程攻击。
SCM的基本组成如图2所示。SCM用到的数据包括敏感数据和一般数据。敏感数据是指密钥、用户PIN码等数据。SCM的程序逻辑可分为密码算法(对称和非对称的)、密码协议(例如SSL、IPSEC等)以及其它程序控制逻辑。利用逆向工程的工具和技术,攻击者可以监控程序的输入和输出,从而获得用户口令等敏感信息;其次攻击者还可以扫描程序数据区,得到密钥、口令信息;另外攻击者对程序的运行逻辑进行跟踪,可以得到密码算法和密码协议的运行轨迹,特别是如果算法和协议不是公开的,而是保密的,这时攻击者可以得到重要信息。而且攻击者还可以进一步修改软件执行逻辑,制造“后门”。 逆向工程工具可以分为两大类:第一类是为获得程序的运行逻辑,反汇编、反编译工具属于此类;第二类是为获得程序实时的运行信息,仿真、调试工具属于此类。IDA Pro是[1] [2] [3] 下一页
|
|
|
|
| 【声明】本网站刊载的资料由网友提供分享 资料内容纯属作者个人观点,不表示本网同意其说法或描述,仅为提供更多信息,也不构成任何建议。网友转载请注明原作者姓名及出处。如有侵犯到您的版权,请与我们联系 |
|
|
|
|
 |
相关论文 |
 |
|
|
|
|
|
|
 |
网友评论: |
 | (只显示最新10条。评论内容只代表网友观点!) |
|
|
|
|
|
|
|
 |
早上8:30-下午5:30 |
 |
全国客服热线: 010-84639241 |
 |
客服QQ: 10015411 / 173799180 |
 |
客服Email: edufo@163.com |
| |
QQ交流群: 5379191 / 5371551 |
|
|
|