基于SW-TPM的便携式身份认证
移动设备、普适计算的推广使得用户越来越依赖于使用移动终端与其他的应用环境中所提供的服务进行通讯,大大增加了敏感信息以及个人数据泄露的可能,同时使用网络服务的用户也希望通过使用可信赖的设备所提供的安全服务以减少隐私泄露。
用户身份认证、授权以及审计是进行信息系统安全设计的关键因素。其中,身份认证作为授权和审计的基础,是保障信息系统能以安全有效的方式被访问的前提,在系统安全中占有重要地位。
但是很多情况下终端设备的所有权和使用权分属不同实体,这给信息安全与管理带来了很多隐患。例如,用户可能正在使用网吧里的机器将文件下载到他所持有的移动设备上,这时机器的安全维护是由网吧负责,但用户并不能确定机器此时是否存在安全隐患,事实上很可能不像用户所想象的那样安全。特别是恶意攻击者在一定条件下可以完全获得用户所使用的平台的控制权,甚至还有可能接触到用户实际使用的设备。因此,在大多数场合中用户并不能够确定所使用的设备的安全性,也不能确定某个具体时间间隔内应用环境的安全性是否会有所改变。
针对以上问题,本文结合可信计算技术提出一种便携式的远程认证方案,把相关认证移植到终端设备中来解决远程认证问题,并且引入USB Token在通用平台环境下实现可信认证。这种方法不仅能够重用现有的缺少认证机制的设备和应用程序,而且有效地避免了中间人的攻击,保证了通讯安全。
1 USB Token体系架构
传统意义上的信任链的建立都是基于固化在主板之上的安全芯片TPM,这就使没有该安全芯片的主机无法获得面向终端安全的“可信计算”。现有替代方案[1]大都采用智能卡配以厂商提供的接口库替换TPM体系中的安全芯片和TSS部分,但这样不能很好地提供对可信计算的支持,不利于将来设备的升级改造。在实践中,智能卡及其读写设备、智能卡的接口库都由厂商提供,安全性、保密性存在很大隐患,总体上很难达到可信平台的标准。
Najwa Aaraj[2]等人通过测试基于软件实现的仿真TPM运行时执行效率与开销,发现大多数TPM指令引起的开销主要集中在RSA算法上,如果用TCG标准中规定的ECC算法代替RSA算法则可显著降低开销。因此,在资源受限的系统中可以通过使用SW-TPM来加强可信认证,所增加的系统开销也是可以接受的。
1.1 方案原理
基于TPM的可信平台主要考虑的是用户、平台、应用程序以及平台之间的可信度,在可信架构中提到的可信用户也并不完全从用户角度考虑,而是平台安全中重要安全模型的一部分。便携式认证方案与可信计算中的TPM方案最大的区别在于密钥的绑定:TPM绑定在主机上;便携式则绑定在USB Token 上。因为TPM芯片作为可信根比较适合与机器相关的密钥保护,如存储服务器端HTTPs或SSH协议中的密钥等,在这种情况下密钥与机器绑定,但是必须对主机平台进行改造。而便携式认证较适合私人密钥保护,如客户端HTTPs证书或客户端SSH密钥,这样密钥可以在不同机器间移动而且无需改动系统平台。便携式认证的关键就在于Token中隐藏的主密钥,不允许持有者直接读取该密钥,但允许通过协议对Token进行挑战应答。
1.2 基于SW-TPM的可信身份认证体系
SW-TPM实际上是一个含有密码运算功能和存储功能的软件仿真,由于其中包含的各个部分在硬件实现上有其本身的复杂性,SW-TPM可以将其中的各个部分模块化,再将各个模块整合成整体,实现较为简单,如图1所示。本文通过把SW-TPM移植到USB Token中在没有TPM芯片的通用平台下实现了终端用户的远程认证,分离了平台与用户间的身份绑定。该USB Token以SW-TPM为软件可信根,通过挑战应答协议提供安全性更强的远程验证。
在新的平台中,可信身份验证由主机识别Token开始:主机可以检测到当前用户的USB Token是否存在,如果存在就会测量其中SW-TPM的Hash值并验证它是否可信,因为SW-TPM是已知的并且可以确定它的Hash值。确认之后再由SW-TPM进行完整性测量以保证所发放的EK是否可信,只有通过以上双向验证后才能真正建立起Token与主机间的USB通道,随后才能进行相关事务处理。
评论