基于可信连接的集群TCB构建技术
2015-12-23韩培胜常朝稳
韩培胜,赵 勇,常朝稳,秦 晰
(1.北京工业大学 计算机学院,北京100124;2.信息工程大学 密码工程学院,河南 郑州450004)
0 引 言
可信计算基TCB-(trusted computing base)[1]是计算机系统安全访问控制[2]等安全机制的基础,在应用系统中,应用层TCB 负责实现应用层的访问控制等安全机制,然而,由于应用层TCB在计算机体系结构中位于硬件层、操作系统层之上,层次较高,极易受到来自底层-(操作系统层或硬件层)的攻击而被旁路和破坏,造成系统安全机制失效。为了解决该问题,文献-[3,4]提出了一种单机终端上的TCB纵向扩展的机制,以防止在单机终端上应用系统TCB被旁路或破坏。
随着以服务为核心计算模式的发展[5],单机计算模式无法满足企业应用服务系统作为计算中心的需求,为此,企业应用系统一般通过将不同的业务功能部署在不同的服务器上以构成集群系统,整个系统的访问控制等安全功能也是由集群中各节点的TCB相互协作来实现。此时,由于集群节点数据传输的不可信性,伪造、假冒、破坏等攻击手段极易实施,安全上下文信息在各集群节点TCB间传递时很容易受到破坏,另外,集群中假冒或被破坏的TCB也有可能影响整个系统安全机制正常运行,可以看出,在集群环境中,上述文献提出的单机扩展机制并不能解决这些问题。
为此,本文提出了一种集群TCB的概念,通过在集群中构建一个全局的虚拟TCB来确保应用系统安全机制正常发挥作用,解决单机TCB扩展机制在集群环境下存在的问题,以保障应用系统的安全。
1 集群TCB定义
如图1所示,在一个典型的集群系统中,集群由各集群节点相互连接构成,应用系统中的每个子系统分别部署于不同的集群节点中,每个应用子系统依赖于该节点TCB提供安全支撑,各节点TCB之间相互连接构成了一个全局的集群TCB,该TCB作为整个应用系统的虚拟TCB存在,为该应用系统提供安全支撑,下面以形式化的方式给出集群TCB的定义。
图1 集群TCB结构
定义1 节点TCB,集群中每个集群节点的TCB 定义为节点TCB,节点TCB 为安全硬件、操作系统安全组件、应用层安全组件的集合,节点i的TCB记为Ti。
定义2 可信连接管道,集群中两个节点TCB 相互连接并传递安全上下文信息的可信通道称为可信连接管道,Ti和Tj可信连接管道记为Pij= (Ti,Tj)。
定义3 集群TCB,集群中各节点TCB及节点TCB间可信连接管道的集合称为集群TCB。
根据集群TCB中各节点TCB 连接的特点,集群TCB可用无向图的方式表示,将有n 个节点的集群TCB 记为G,集群TCB 可表示为:G=<V,E>,其中V= {T1,T2,…Tn},E= {Pij|节点i与j之间存在可信连接管道}。
由集群TCB 的定义可以看出,可信连接管道是集群TCB的一个重要组成部分,其安全性将直接影响集群TCB的安全,下面将给出可信连接管道的构建方法。
2 可信连接管道的建立机制及安全性分析
2.1 可信连接管道建立机制
为了保障集群TCB连接的安全性,可信连接管道应该是安全可信的,具体来说,其应具备以下特性:
(1)身份可信性,即确保节点TCB 的身份是合法的,通过身份可信,能够防止非授权节点非法接入对集群TCB的干扰和破坏;
(2)状态可信性,即确保节点TCB的完整性状态是正常的,通过状态可信,能够在合法节点处于不安全状态时,防止其对集群TCB整体的安全状态造成影响;
(3)消息可信性,即确保节点TCB间消息传递是完整不受干扰的,通过消息可信,能够防止安全上下文信息在传递时不被篡改和伪造。
为了实现这些安全特性,可信连接管道以公钥密码体系[6]为基础、利用可信计算[7]思想建立。为了确保集群节点身份的可信,如图2 所示,集群系统设立了证书中心CA,为每个节点分别颁发了一张数字证书,证书对应的节点私钥存放在节点硬件安全模块中,同时该模块中还内置了CA 的根证书;为了使节点能够及时获取已经撤销的证书信息,系统设立了LDAP 服务器,CA 能够通过LDAP服务器发布证书撤销列表CRL,各节点也能够通过LDAP及时下载更新CRL;为了确保节点工作状态的可信性,集群系统中设立了状态评估中心,该中心能够评估每个节点的状态的完整性,同时为了表示状态评估中心的身份,CA也为状态评估中心颁发了数字证书。
图2 基于CA 的证书体系结构
如图3所示,TA和TB分别是集群系统中节点A 和节点B的节点TCB,TA和TB之间建立可信连接管道的步骤分为3个阶段,分别是身份认证阶段、状态评估阶段、消息通讯阶段,本文在公钥证书体系的基础上,通过设计专用安全协议,用以确保3个阶段的安全性。
图3中消息中各符号说明如下:NX,节点X 产生的随机数;CERTX,节点X 的证书;ENCX(Y),采用节点X 的公钥加密数据Y;SIGX(Y),采用节点X 的私钥对数据Y签名;K,会话密钥;HMK(Y),采用会话密钥K 对报文Y 计算HMAC (加密散列值)[8];SN,递增消息序列号;STX,节点X 的状态信息;R,节点状态评估结果;MSG,TCB节点间访问控制上下文消息。下面分别对各阶段处理过程进行说明:
(1)身份认证:身份认证阶段负责完成可信连接管道双方身份的确认,并协商出保护后期通讯完整性的会话密钥,其步骤如下:
步骤1 节点A 生成随机数NA,连同A 的证书一起发送给B;
步骤2 节点B验证A 的证书有效性,如果证书有效,则生成会话密钥K 和随机数NB,用自己的私钥对K 和NA签名,并用A的公钥加密,最后连同NB和B证书发送给A;
图3 可信连接管道的建立过程
步骤3 节点A 验证B的证书有效性,如果证书有效,则用自己的私钥解开加密消息,然后用B的证书验证B 对消息签名有效性,并检查消息中的NA与步骤1中生成随机数的是否一致,上述过程中有一个验证失败则断开连接;所有验证通过后,A 保存会话密钥K,对K 和NB进行哈希运算,之后再用K 加密哈希值发送给B;
步骤4 B使用K 解密收到的消息,计算K 和NB的哈希值,检查是否与解密后的明文一致,如果一致则认证身份认证成功,否则认为身份认证失败并断开连接。
上述步骤2和步骤3中,双方分别验证了对方证书的有效性,具体的证书有效性验证方法如下:首先基于根证书验证对方证书的签名,然后检查证书的有效期限是否到期,最后通过CRL检查证书是否已经被CA 撤销,所有检查通过后才认为证书是合法的。
(2)状态评估:状态评估主要是检查节点TCB的完整性状态是否合法,实施时由状态评估中心统一对终端的状态进行评估,并给出结果,主要步骤如下:
步骤1 节点A 通过文献 [3]所述扩展方式计算节点TCB各部件完整性状态STA,利用私钥对完整性状态进行签名,加入递增序列号SN,并利用K 计算其HMAC 值,将这些信息一起发送给B;节点B收到消息后,利用K 计算HMAC值验证消息完整性,并检查A 签名的有效性,之后用自己的私钥对STA签名并发送给状态评估中心;
步骤2 状态评估中心收到该消息后,评估TCB 完整状态有效性,并返回带自己签名的评估结果;B 收到评估结果后,检查状态评估中心签名有效性,如果状态评估失败,则断开连接,如果评估成功,则将自己的状态消息发送给A;A 收到消息后重复以上过程验证B 状态有效性。
(3)消息通讯:消息通讯主要用于传递访问控制的上下文信息,整个消息包括递增序列号,访问控制上下文信息和采用K 加密得到的HMAC,接收者收到信息后需要验证HMAC 的有效性。每当传递一条消息后,双方各自保存的递增序列号都会增加1,如果某个节点发现收到的消息序列号小于当前保存的消息序列号,则丢弃该消息。
2.2 安全性分析
由上文可知,可信连接管道建立分为3 个阶段,下面对其安全性分别进行分析。
(1)身份认证安全性分析:身份认证由安全协商协议完成,本文采用BAN 逻辑进行协议安全性证明[9],以下是具体的证明过程。
初始化假设如下:
3)A|≡#NA,由于NA由A 自己生成,因此A 相信NA是新鲜的;
6)B|≡#NB,由于NB由B生成,因此B相信NB是新鲜的。
协议理想化如下
根据BAN 逻辑接收规则,由理想化式 (2)知
根据逻辑接收规则,由式 (4)和1)得
根据逻辑消息含义规则,由式 (5)和2)得
根据新鲜性规则,由3)得
根据临时值验证规则,由式 (6)和式 (7)得
根据信仰规则,由式 (8)得
根据仲裁规则,由式 (9)和4)得
根据消息含义规则,由理想化式 (3)和5)知
根据新鲜性规则,由6)得
根据临时值验证规则,由式 (11)和式 (12)得
根据信仰规则,由式 (13)得
由以上证明,得到了一级信仰式 (10)和6)以及二级信仰式 (9)和式 (14),说明A 和B 均信任会话密钥K,且A 相信B信任会话密钥K,同时B相信A 信任会话密钥K,身份认证协议安全性证明完毕。
(2)状态评估阶段安全性分析:在状态评估阶段,通过对节点TCB各部件完整性状态的评估,能够反映出当前节点TCB是否受到破坏,一旦某个节点TCB 受到破坏,其将无法连接任何一个正常节点,确保了整个集群TCB状态的可信性。
在节点TCB与状态评估中心交互的过程中,状态评估结果经过了状态评估中心的私钥进行签名,同时所有消息均带有唯一序列号,防止消息被重用,确保了状态评估结果的权威性和可信性。
(3)消息通讯阶段安全性分析:在消息通讯阶段,所有消息均采用基于会话密钥的HMAC保护,攻击者必须知道会话密钥才能够伪造消息,而会话密钥是在身份认证阶段通过公钥保护传输的,攻击者无法获取,一旦消息被篡改,通过HMAC计算便能够发现,从而保护了消息的完整性,同时每次通讯消息序列号都会递增,能够防止重放攻击[10]的发生。
由以上分析可以看出,可信连接管道建立机制通过在安全协商基础上引入状态评估,实现了身份、状态和消息的可信性,确保了可信连接管道的安全可信。
3 集群TCB的构建方法
由集群TCB定义可知,若干个节点TCB 通过可信连接管道相互连接构成一个无向图,最终形成的无向图G 应具有如下性质:
性质1:图G 中不存在孤立节点。
性质2:图G 中不含有平行边,即两个节点间只存在一条连接。
性质3:图G 中允许存在回路。
为了满足集群TCB 性质要求,集群TCB 构建必须依据一定的规则和步骤建立,不能是无序的,否则极易发生连接重复和连接孤岛的情况,为此,本文制定了一种由初始可信节点逐步扩展的构建机制,其构建过程如下:
步骤1 在初始状态下,集群TCB 是空集,即G=<V,E>,V=Φ,E=Φ;
步骤2 选定一个集群节点T1为初始可信节点,并把该T1加入到图G 中,此时V= {T1},E=Φ;
步骤3 节点Ti与V 中的某一个节点Tj利用可信连接管道构建机制建立安全可信连接,此时,如果Ti不属于V,则V=V∩ {Ti},E=E∩ {Pij};若Ti属于V,且Pij不属于E,则E=E∩ {Pij},否则认为出现平行边,需要断开当前连接;
步骤4 重复步骤3,最终建立起的图G 包含所有可信节点。
通过以上步骤可以看出,集群TCB的构建过程是从一个节点TCB的可信开始,通过逐个验证的方法,逐步扩展其可信边界,最终将整个集群的可信TCB节点都纳入到可信集合中,通过该过程构建的集群TCB同时也符合了集群TCB的基本性质。在实施过程中,应确保集群TCB关系明确、结构层次清楚,实施时可以采用星形、树形结构等层次结构良好的方式来组织节点间连接关系,以便于管理和维护。
如图4左边所示为星形TCB 构建方式,其中T1为初始可信节点,其它节点以T1为中心分别建立可信连接管道。此种扩展方式优点是结构简单、易于实施,缺点是节点T1压力较大,可能存在性能上的瓶颈。如图4右边所示为树形的TCB 构建方式,其中T1为初始可信节点,T2、T3分别与T1建立可信连接管道后,便成为可信节点,此时T2、T3又可与自己的子节点建立可信连接,依次类推,最终形成了以节点T1为根的树形结构。此种扩展方式的优点是组织结构灵活,分散了根结点的压力,缺点是管理组织相对复杂。
图4 基于星形和树形的TCB构建方式
构建方式可以根据集群的规模和复杂度等情况进行选择,当集群节点数量较少且结构简单时,可以采用星形结构,当集群节点数量较多且系统部署结构复杂时,可以采用扩展性好的树形结构,根据集群实际情况,也可采用星形和树形相结合的构建方式。
4 结束语
本文提出的一种基于可信连接的集群TCB构建技术通过构建一个可信的全局虚拟TCB,将TCB的扩展范围从单机延伸到了网络集群环境,该技术使安全上下文在节点间传输时不会被假冒和破坏,解决了目前TCB扩展机制无法应用于集群环境的问题,经过形式化的证明,所提出的扩展方法是安全可信的。该技术可用于解决企业集群系统中应用系统TCB的安全问题,也可广泛应用于云计算、大数据处理等集群计算模式的系统中,为这些系统提供有效的安全保障。
[1]CSC-STD-001-83.Department of defense trusted computer system evaluation criteria[S].2000.
[2]LI Fenghua.Research status and development trends of access control model[J].Acta Electronica Sinica,2012,40 (4):805-813 (in Chinese).[李凤华.访问控制模型研究进展及发展趋势 [J].电子学报,2012,40 (4):805-813.]
[3]LI Yong,WANG Fei.Research of trusted expand model of TCB [J].Computer Engineering and Applications,2010,46(13):1-3 (in Chinese).[李勇,王飞.TCB可信扩展模型研究 [J].计算机工程与应用,2010,46 (13):1-3]
[4]LIAO Jianhua,ZHAO Yong.Channel-based TCB extension model[J].Journal of Beijing University of Technology,2010,36 (5):592-596 (in Chinese).[廖建华,赵勇.基于管道的TCB扩展 模 型 [J].北 京 工 业 大 学 学 报,2010,36 (5):592-596.]
[5]Tsai Wei-Tek.Service-oriented cloud computing architecture[C]//7th International Conference on Information Technology:New Generations,2010:684-689.
[6]Canetti R,Shahaf D,Vald M.Composable authentication with global PKI [DB/OL].http://eprint.iacr.org/2014/432.pdf,2014.
[7]SHEN Changxiang,ZHANG Huanguo, WANG Huaimin.Research and development of trusted computing [J].Scientia Sinica Informationis,2010,40 (2):139-166 (in Chinese).[沈昌祥,张焕国,王怀民.可信计算的研究与发展 [J].中国科学:信息科学,2010,40 (2):139-166.]
[8]Neal Koblitz,Alfred Menezes.Another look at HMAC [J].Journal of Mathematical Cryptology,2013,7 (3):225-251.
[9]WANG Zhengcai,XU Daoyun.Reliability analysis and improvement of BAN logic[J].Computer Engineering,2012,38 (17):110-115(in Chinese).[王正才,许道云.BAN逻辑的可靠性分析与改进[J].计算机工程,2012,38 (17):110-115.]
[10]Muntean C,Dojen R,Coffey T.Establishing and preventing a new replay attack on a non-repudiation protocol[C]//IEEE 5th International Conference on Intelligent Computer Communication and Processing,2009:283-290.