用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

硬件密码组件与软件密码组件的比较研究

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:45:41
【本文由PB创新网为您整理】
摘要:密码技术是解决信息安全问题的核心技术。密码技术的运用可以基于软件密码组件或硬件密码组件。硬件密码组件在自身安全性和实现安全功能方面比软件密码组件更具优势。本文论述硬件密码组件的数学模型、系统结构、硬件结构,并比较硬件密码组件与软件密码组件的优劣。

    关键词:密码 硬件密码组件 软件密码组件

引 言

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)表示,其定义如下:

javascript:window.open(this.src);" style="cursor:pointer;"/>

  从应用角度来看,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来说,种子密钥只能保存在计算机的硬盘上,显然保存种子密钥的明文是非常不安全的。一般采用的办法是通过一个口令加密种子密钥,然后保存种子密钥的密文。每当用户使用种子密钥时,需要输入口令。但这样亦是不安全的,首先这就要求有用户在场,才可使用种子密钥,否则就不能使用。其次用户往往会选择容易记忆的简单口令,这使其容易被攻击者猜测。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    (5)安全地进行密码操作

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

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

  在HCM中通过专用的密码运算器,如公钥协处理器和专用对称算法芯片可以大大提高对称算法和非对称算法的运算速度;而SCM密码运算的速度则依

[1] [2] [3]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:26,625.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号