1TCG可信存储的密钥管理模式
1.1TCG可信存储的密钥管理模式机制
在密钥的存储结构上,TCG存储规范中使用表(Table)的结构来保存密钥。表的每一行存储一个密钥,称为一个密钥对象,整个表结构称为对象表(ObjectTable)。规范中存在多种密钥对象表,每种表都表示一种特定的密钥存储类型和使用机制,不同的密钥将会按照限定条件分类存储到相应的表中。在规范中,密钥对象表是作为模板(Template)的一种数据结构而存在的,有两种模板中包含密钥对象表,分别是基模板(BaseTemplate)和锁定模板(LockingTemplate),基模板的密钥对象表中的密钥用于认证,锁定模板的密钥对象表中的密钥用于数据加密。模板对其数据结构中的表按类型分组,在基模板中,密钥对象表组成凭证表组(CredenialTableGroup),这说明组中的表是凭证表,表中的密钥对象用作身份认证中的凭证。在凭证表的命名上,表名全部以“C"开头,后接密码算法类型和密钥长度,例如,由表名“CRSA1024”可知凭证表中保存的是1024位长的RSA密钥。除RSA密钥外,各类凭证表中还分别保存了AES算法、EC算法和HMAC算法所使用的密钥,且支持多种密钥长度。此外,凭证表组中还包含名为“CPIN"的凭证表,其中保存了认证所需的PIN码,即采用口令方式进行身份认证。而对于数据加密密钥,则是保存在锁定模板的密钥对象表中。锁定模板同样对数据结构分组,并将密钥对象表归入介质加密密钥表组中。组中包括2个加密密钥表,表名分别为“KAES128"和“KAES256”,由此可见,规范中采用AES算法对存储数据进行加密,密钥长度可以为128位或256位。
密钥相关方法组包括3个方法,分别是GenKey、GetPackage和SetPackage。SetPackage方法用于外部实体设置密钥,它相当于GetPackage方法的逆操作。该方法对外部实体传送来的包进行解封,取出所要设置的密钥,并将其存储到指定的密钥对象中。可见,TCG存储规范在模板的数据结构和方法中分别定义了密钥的存储结构和密钥管理模式的相关方法,并通过发布过程将模板实例化,从而将上述密钥管理模式机制加载到实例化后的对象中。
1.2TCG存储规范中存在的问题
对于TCG存储规范,个人认为,其中存在两点问题:其一是规范的存储体系结构不能确保信任的双向传递;其二是规范的密钥存储保护机制不明确。下面分别予以说明。
(1)信任双向传递问题。可信存储的“可信"在设备功能上主要体现为存储设备具有双向认证的能力。双向认证的目的是使主机和存储设备能够相互认证对方身份,并以双方身份的真实性为基础,建立起相互信任的关系,从而实现主机和存储设备之间的信任双向传递和绑定。
(2)密钥存储保护问题。对数据的密码保护机制已经将数据安全问题转化密钥的安全问题。而密钥安全的一个重要方面就是要保证密钥的存储安全。如前文所述,在TCG存储规范中,密钥是以对象的形式通过表的结构来进行存储的。密钥对象表中保存了密钥的秘密数据,包括对称密钥和非对称密钥的私钥部分。TCG存储规范中只规定了需要对密钥的秘密信息加以保护,但没有具体指明应该采取何种方式进行保护,也就是没有给出明确的密钥存储保护机制。
2基于TPCM的可信存储的密钥管理模式
对管理的对象,即可信存储中的密钥,进行说明。主要探讨各种密钥不同的功能特性和安全需求,以便针对密钥自身的特点进行分类管理。根据密钥功能的不同,可以将可信存储中的密钥分为以下几类:设备身份密钥、设备加密密钥、数据加密密钥、认证密钥、会话密钥。
(1)设备身份密钥设备。身份密钥为非对称密钥,它的私钥一直在存储设备内部被保护,且永远不会暴露在存储设备外部。设备身份密钥是存储设备的初始密钥,对一个存储设备而言,设备身份密钥是唯一的,用来向主机提供设备的身份证明。设备身份密钥只提供对数据的签名,而不用于加密。
(2)设备加密密钥设备加密密钥为非对称密钥,并且与设备身份密钥相关联。设备加密密钥和设备身份密钥配对构成双密钥(及双证书)。设备加密密钥可用于存储设备与主机间的数据交换以及设备间的密钥迁移。
(3)数据加密密钥。数据加密密钥为对称密钥,用于加密/解密用户数据,保护静态数据的机密性。数据加密密钥在存储设备内部产生,并存储于设备的安全存储区域中,且在其生命周期内不会脱离存储设备的保护。数据加密密钥用例中,存储设备使用数据加密密钥对主机传输的用户明文数据进行加密,并将加密后的数据以密文形式保存在设备的存储介质中。
(4)认证密钥认证密钥用于主机获取存储服务的授权。认证密钥可以是对称密钥,也可以是非对称密钥,具体的密钥类型由授权认证方式决定。认证密钥可保存在存储设备的安全存储区域中。存储设备通过授权认证来确认服务请求者的身份和权限,进而对存储服务进行访问控制。
(5)会话密钥。会话密钥对主机端应用程序和可信存储设备之间的会话进行加密保护和完整性校验,保护动态数据的安全。会话密钥在会话建立时产生,在会话结束后自动失效。
3结语
分析了TCG可信存储规范中存在的信任双向传递和密钥存储保护问题,提出了基于TPCM的可信硬盘密钥管理模式模型,通过在主机端引入TPCM,有效的标识了主机身份,提高了双向认证过程中身份鉴别的强度。