一种分布式环境下的安全通信认证方法及系统的制作方法

文档序号:7999358阅读:139来源:国知局
一种分布式环境下的安全通信认证方法及系统的制作方法
【专利摘要】本发明涉及一种分布式环境下的安全通信认证方法及系统。本发明所述的方法及系统改进了TCG远程证明中平台身份证明过程中的各方面不足之处,扩展了平台身份证明方法,将零知识证明、Kerberos框架和虚拟TPM三种技术结合起来,设计了一种新的认证方法,主要针对现有方法中平台信息暴露、可信第三方瓶颈和避免复杂度等方面进行改进。采用本发明所述的方法及系统,解决了现有分布式系统中远程服务器之间相互证明时所面临的隐私暴露与效率问题。
【专利说明】一种分布式环境下的安全通信认证方法及系统

【技术领域】
[0001] 本发明属于计算机信息安全【技术领域】,具体涉及一种分布式环境下的安全通信认 证方法及系统。

【背景技术】
[0002] 随着大数据时代的到来,单个服务器的处理速度与功能已经无法满足人们对信息 处理的时效性的要求,分布式并行运算势在必行。但当我们使用未知服务器提供的服务和 资源,并且无法得知其安全状态时,将不能与其进行安全的通信互联。所以两个服务器之间 通信前进行有效的安全认证对全面保证分布式系统的安全稳定运行具有重要意义。
[0003] 在现有的安全协议中,对终端平台操作系统的安全性考虑都不是很多,一般都没 有考虑终端平台在启动和加载操作系统时是否满足终端平台的要求,通常都假设其是安全 的。如果没有可靠的终端平台,就不可能谈到可信网络和可信网络连接。
[0004] TCG (Trusted Computing Group,可信计算组织)提出的远程证明过程中的身份认 证技术为这个问题提供了技术支持。TCG是1999年由Compaq、HP、IBM、Intel和Microsoft 牵头组织TCPA (Trusted Computing Platform Alliance),目前已发展成员190家,遍布全 球各大洲主力厂商。TCPA专注于从计算平台体系结构上增强其安全性,并于2001年1月发 布了可信计算平台标准规范。2003年3月TCPA改组为TCG (Trusted Computing Group), 其目的是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高 整体的安全性。
[0005] TCG组织制定了 TPM (Trusted Platform Moudle)的标准,目前很多安全芯片都是 符合这个规范的。而且由于其硬件实现安全防护,正逐渐成为PC,尤其是便携式PC的标准 配置。
[0006] "零知识证明"一 zero-knowledge proof,是由 Goldwasser 等人在 20 世纪 80 年 代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者 相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更 多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥 有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零 知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问 题。
[0007] Kerberos是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应 用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于 主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被 任意地读取、修改和插入数据。在以上情况下,Kerberos作为一种可信任的第三方认证服 务,是通过传统的密码技术(如:共享密钥)执行认证服务的。认证过程具体如下:客户机向 认证服务器(AS)发送请求,要求得到某服务器的证书,然后AS的响应包含这些用客户端密 钥加密的证书。证书的构成为:1)服务器"ticket";2) -个临时加密密钥(又称为会话密 钥"session key")。客户机将ticket (包括用服务器密钥加密的客户机身份和一份会话 密钥的拷贝)传送到服务器上。会话密钥可以(现已经由客户机和服务器共享)用来认证客 户机或认证服务器,也可用来为通信双方以后的通讯提供加密服务,或通过交换独立子会 话密钥为通信双方提供进一步的通信加密服务。


【发明内容】

[0008] 针对现有技术中存在的缺陷,本发明的目的是提供一种分布式环境下的安全通信 认证方法及系统。该方法及系统改进了 TCG远程证明中平台身份证明过程中的各方面不足 之处,扩展了平台身份证明方法,将零知识证明、Kerberos框架和虚拟TPM三种技术结合 起来,设计了一种新的认证方法。该方法主要针对以上方法中平台信息暴露、可信第三方瓶 颈和避免复杂度等方面进行改进。
[0009] 为达到以上目的,本发明采用的技术方案是:一种分布式环境下的安全通信认证 方法,用户采用零知识证明方法进行身份认证,包括以下步骤:
[0010] (1)用户向Kerberos服务器中的认证服务器AS发送身份证明请求KRB_AS_REQ, AS接收到请求后,验证用户身份;
[0011] ⑵用户身份验证通过后,AS会向用户发送与用户身份相符合的的票据和认证 码,所述票据中包含了由Kerberos服务器与零知识证明结合生成的AIK证书;
[0012] (3)当用户需要与远程证明服务器进行远程证明时,拿着票据和认证码与票据授 予服务器TGS进行会话,获得与应用服务器通信的票据;
[0013] (4)用户与远程证明服务器完成远程证明。
[0014] 一种分布式环境下的安全通信认证系统,包括以下装置:
[0015] 用户平台,所述用户平台是指需要进行AIK证书认证的客户端;
[0016] Kerberos服务器,包括认证服务器AS和票据授予服务器TGS,所述的认证服务器 AS用于检验用户平台提供的属性信息是否在安全阀中,并对处于安全阀中的用户平台签发 TGS票据和与之关联的AIK证书,所述的票据授予服务器TGS检测用户平台所持的TGS票据 是否过期,对合法的用户平台发放可通信的应用服务票据;
[0017] 远程证明服务器,用于当持有应用服务票据的用户平台与远程证明服务器进行通 信时,对AIK证书和应用服务票据进行检查,合法后再与之进行应用服务;
[0018] 所述的用户平台、Kerberos服务器和远程证明服务器通过互联网互相连接。
[0019] 本发明的效果在于:采用本发明所述的方法和系统,可以解决了现有分布式系 统中远程服务器之间相互证明时所面临的隐私暴露与效率问题。本方法将零知识证明、 Kerbero s技术和虚拟TPM技术相结合,在平台申请AIK证书时,使用零知识的证明方式,使 用Kerberos作为TTP,Kerberos中分为AS和TGS,AS进行AIK认证,那么一个TPM只需要 进行一次AS认证,当需要接入网络时,到TGS处申请应用服务器票据,即可进行远程证明, 分工合作减少TTP的负载,νΤΡΜ架构作为平台的体系结构,虚拟技术实现按功能模块的安 全隔离,形成新的身份证明模式,达到防止平台信息暴露、避免可信第三方瓶颈和降低远程 证明复杂度的目的。

【专利附图】

【附图说明】
[0020] 图1是本发明所述系统的结构图;
[0021] 图2是本发明所述方法远程证明过程中AIK证书体系结构示意图;
[0022] 图3是本发明所述方法的流程图;
[0023] 图4是本发明所述方法AIK证书生成协议的流程图。

【具体实施方式】
[0024] 下面结合附图和【具体实施方式】对本发明作进一步描述。
[0025] 如图1所示,一种分布式环境下的安全通信认证系统,包括以下装置:
[0026] 用户平台,所述用户平台是指需要进行AIK证书认证的客户端;
[0027] Kerberos服务器,包括认证服务器AS和票据授予服务器TGS,所述的认证服务器 AS用于检验用户平台提供的属性信息是否在安全阀中,并对处于安全阀中的用户平台签发 TGS票据和与之关联的AIK证书,所述的票据授予服务器TGS检测用户平台所持的TGS票据 是否过期,对合法的用户平台发放可通信的应用服务票据;
[0028] 远程证明服务器,用于当持有应用服务票据的用户平台与远程证明服务器进行通 信时,对AIK证书和应用服务票据进行检查,合法后再与之进行应用服务。
[0029] 所述的用户平台、Kerberos服务器和远程证明服务器通过互联网互相连接。
[0030] 本实施例中,所述的用户平台包括以下模块:
[0031] 安全芯片TPM/TCM,用于记录所在用户平台系统属性信息的度量值;
[0032] XEN虚拟机,用于为证明过程提供安全可靠的实施平台。共享同一平台上的工作 负载因多种原因经常需要保持独立。利益不同决定了竞争性业务的网站需要访问彼此的数 据,会存在很多不安全的因素存在。此外,恶意软件破坏了正常运作这些软件的共享硬件环 境。虚拟化越来越多地用于生产,使得在软件方面的安全,就更加的需要严格要求完整性和 工作量隔离性。
[0033] 如图2所示,图2为用户平台的体系结构示意图,构建νΤΡΜ体系结构,需要用户 平台配有安全芯片TPM/TCM,本文以ΤΡΜ为例;CPU要具有Intel-VT或者AMD-V虚拟技 术;BIOS支持TCG规范和高级配置和电源管理接口(Advanced Configuration and Power Management Interface, ACPI);同时需要具有IMA度量功能的Linux系统启动加载器 (GRUB-IMA)来加载操作系统。
[0034] XEN虚拟机上主要包括三个虚拟域,用户平台开机后TPM以自身的可信度量根为 起点,首先对BIOS的其它部件进行完整性度量,并将度量值存储于可信密码模块的PCR中, 按照选择的判断机制判断BIOS的完整性,若完整性未破坏,则运行BIOS ;并度量初始化程 序加载器(Initial Program Loader-IPL)/主引导分区(Master Boot Record-MBR)的完 整性,基于判断机制判断IPL/MBR完整性,若IPL/MBR完整性没有破坏,则运行MBR ;然后由 IPL/MBR度量操作系统(Operation System,0S)内核度量与加载部件GRUB-IMA(GNU GRand Unified Bootloader-IMA,GRUB-IMA)的完整性,若该部件完整性未被破坏则由该部件度量 0S内核的完整性,若未被篡改,贝U运行0S内核。0S内核启动后进入DomainO,基于同样的机 制检测0S服务完整性,通过信任关系传递,形成可信根,可以确保所启动的系统是可信的。
[0035] DomainO中涉及到四部分内容:安装了 XEN补丁(XEN patch)的Linux操作系 统;0S和TPM进行通信的驱动程序tpm_tis ;TPM模拟器;XEN中的νΤΡΜ管理功能模块 vTPMManager,负责XEN中νΤΡΜ功能模块与TPM Emulator的通信。
[0036] Domain U是半虚拟化虚拟域,它中主要涉及到以下几个部分:XEN中的功能模 块νΤΡΜ,由于XEN虚拟域本身无法与TPM进行交互,所以采用νΤΡΜ的方式,νΤΡΜ与TPM Emulator进行交互,TPM Emulator调用底层ΤΡΜ硬件的数据,并充当ΤΡΜ硬件的角色,对 外进行数据交互;XEN与TPM Emulator之间的通信驱动程序xen_tpmu,此驱动是在编译 内核时需要额外添加的;IAIK jTSS是由格拉茨工业大学应用信息过程和计算机研究所 (Institut fuer Angewandte Informationsverarbeitung und Kommunikation, IAIK)使用 Java语言开发的,是对TCG软件栈(TCG Software Stack,TSS)的实现,为上层的应用程序 提供了访问TPM和TPM Emulator的接口。νΤΡΜ位于XEN虚拟机中,即在DomainO中,但在 功能上是Domain U程序与DomainO中TPM Emulator进行信息交互接口,是Domain U中功 能模块执行的关键,所以在图2中用虚线圈到了 Domain U的区域下。
[0037] HVM-Domain是全虚拟化的虚拟域,主要涉及到以下部分:支持TCG规范的BIOS ; 具有度量功能的0S加载器,形成可信根;虚拟域与TPM Emulator进行数据交互的νΤΡΜ部 件;同时0S在内核编译时要将IBM发明的ΙΜΑ部件编译到内核(Linux-IMA),用于查看整个 系统的度量结果和对0S中运行的软件进行度量;Linux-IMA查看TPM数据需要与TPM硬件 进行交互,需要0S加载TPM驱动tpm_tis ;用户对TPM和TPM Emulator进行编程的接口软 件 IAIK jTSS;开源平台可信服务(Open Platform Trust Services,OpenPTS)是由 TCG 提 出的,对概念验证(Proof_of-Concept,PoC)和平台可信服务(Platform Trust Services, PTS)的相关实现,与其它可信计算相关开源软件一起工作,用于与远程挑战者进行可信计 算。
[0038] DomainO负责协调管理各个计算域间的通信。启动TPM Emulator后,处于等待状 态,等待对方与自身进行通信。启动vTPMManager管理TPM Emulator与νΤΡΜ间的通信。当 需要进行身份认证时,在Domain U中,用户通过使用IAIK jTSS发布ΤΡΜ命令,准备身份认 证所需要的TPM身份相关数据,νΤΡΜ接到命令后,会与DomainO中的vTPMManager进行通 信,通知其想通TPM Emulator进行数据交互,vTPMManager会将命令发送给TPM Emulator, TPM Emulator接到命令后会调底层的TPM数据,准备好数据后会将数据再按照相反的顺序 反馈给IAIK jTSS。IAIK jTSS接收到所有所需数据后会给AS发送身份认证请求,认证结 束后AS会给IAIK jTSS发送AIK证书。IAIK jTSS收到证书后,IAIK jTSS会将其传送到 DomainO处保存。HVM-Domain会到DomainO处提取AIK证书,然后到TCG处申请应用程序 票据,拿到票据后会向远程证明服务器发送远程证明请求,将AIK证书和度量列表同时发 送给远程证明服务器进行远程证明。这种执行方法要求各个虚拟域各司其职,相互隔离,提 高了安全性。
[0039] 如图3所示,一种分布式环境下的安全通信认证方法,用户采用零知识证明方法 进行身份认证,包括以下步骤:
[0040] 步骤S1,用户向Kerberos服务器中的认证服务器AS发送身份证明请求KRB_AS_ REQ,AS接收到请求后,验证用户身份;
[0041] 步骤S2,用户身份验证通过后,AS会向用户发送与用户身份相符合的的票据和认 证码,所述票据中包含了由Kerberos服务器与零知识证明结合生成的AIK证书;
[0042] 步骤S3,当用户需要与远程证明服务器进行远程证明时,拿着票据和认证码与票 据授予服务器TGS进行会话,获得与应用服务器通信的票据;
[0043] 步骤S4,用户与远程证明服务器完成远程证明。
[0044] 本实施例中,Kerberos与零知识证明结合生成AIK证书过程如图4所示,证书生 成过程如下:
[0045] (1)用户封装 KRB_AS_REQ 消息
[0046] 用户像原Kerberos协议那样封装KRB_AS_REQ消息,只是预定义块由以下消息代 替:E (PUAS,KC,AS) | | pk | | vk,KC,AS是由用户产生的和AS的会话密钥,使用AS的公钥PUAS 加密,消息格式:
[0047] Option| |IDC| |Realmc| |IDTGS| |Times| |Nouncel| |E(PUAS, KC,AS)| |pk| |vk
[0048] 其中,pk=E(AIKpub,EKpub), el, e2,…,ek是由系统选择的一个哈希函数的输出, 其输入为:
[0049] Option | | IDC | | Realmc | | IDTGS | | Times | | Nouncel | | E (PUAS, KC, AS) | | pk 这样可以 有效的防止中间人攻击。
[0050] (2) Kerberos 接收到 KRB_AS_REQ 消息
[0051] AS收到KRB_AS_REQ消息后,在发放TGS票据前,AS必须要对用户的身份进行 认证。可信平台与可信第三方进行零知识协议认证。首先,使用和用户同样的算法产生 el, e2,…,ek ;其次,AS在自己的数据库中提取相应的用户的身份验证信息vl, v2,…,vk ; 第三,AS检查发送来的KRB_AS_REQ的消息是否满足下式:
[0052]

【权利要求】
1. 一种分布式环境下的安全通信认证方法,用户采用零知识证明方法进行身份认证, 包括以下步骤: (1) 用户向Kerberos服务器中的认证服务器AS发送身份证明请求KRB_AS_REQ,AS接 收到请求后,验证用户身份; (2) 用户身份验证通过后,AS会向用户发送与用户身份相符合的的票据和认证码,所 述票据中包含了由Kerberos服务器与零知识证明结合生成的AIK证书; (3) 当用户需要与远程证明服务器进行远程证明时,拿着票据和认证码与票据授予服 务器TGS进行会话,获得与应用服务器通信的票据; (4) 用户与远程证明服务器完成远程证明。
2. 如权利要求1所述的一种分布式环境下的安全通信认证方法,其特征是,步骤(2) 中,由Kerberos服务器与零知识证明结合生成AIK证书的方法包括以下步骤: 1) 用户封装KRB_AS_REQ消息; 2. Kerberos服务器中的AS收到KRB_AS_REQ消息后,在发放TGS票据前,AS对用户的 身份进行认证,可信平台与可信第三方进行零知识协议认证; 3) 用户收到AS的消息后,向TGS发送消息KRB_TGS_REQ ; 4) 成功地验证了消息KRB_TGS_REQ的合法性后,TGS开始组装消息KRB_TGS_REP。
3. 如权利要求2所述的一种分布式环境下的安全通信认证方法,其特征 是:步骤1)中,用户封装KRB_AS_REQ消息过程中,预定义块由以下消息代替: E(PUAS,KC,AS) | |pk| |vk,其中,KC,AS是由用户产生的和AS的会话密钥,使用AS的公钥 PUAS加密,消息格式: Option| |IDC| |Realmc| |IDTGS| |Times| |Nouncel| |E(PUAS,KC,AS)| |pk| |vk 其中,pk=E(AIKpub,EKpub), el, e2, ···,ek是由系统选择的一个哈希函数的输出,其输 入为: Option| |IDC| |Realmc| |IDTGS| |Times| |Nouncel| |E(PUAS, KC,AS)| |pk。
4. 如权利要求2所述的一种分布式环境下的安全通信认证方法,其特征是,步骤2)中, AS对用户的身份进行认证的方法是:首先,使用和用户同样的算法产生el,e2,…,ek ;其 次,AS在自己的数据库中提取相应的用户的身份验证信息vl,v2,…,vk;第三,AS检查发送 来的KRB_AS_REQ的消息是否满足下式:
用户的身份认证通过后,可信平台使用zk=E(AIKpub,ω)来表示证书,其中ω是背书 证书、平台证书、确认证书和验证证书的集合,且背书证书中不包含背书公钥。
5. 如权利要求2或3或4所述的一种分布式环境下的安全通信认证方法,其特征是, 步骤3)中,用户还发送一条认证码Authenticatorc,此消息包含有用户的标识ID、网络地 址和时间戳,并且用和TGS的会话密钥来加密,此会话密钥即AS信息交换阶段的所得到的 Kc,tgs和TGS票据的生命期相比,此认证码的生命期很短,并且只能使用一次。
6. 如权利要求5所述的一种分布式环境下的安全通信认证方法,其特征是,步骤4)中, TGS组装消息KRB_TGS_REP的方法包括: 首先,Kerberos服务器根据消息和收到的TGS票据来决定发送给用户的应用服务器票 据的性质; 然后,从用户口令数据库中提取出相应的应用服务器密钥,将该票据加密,产生应用服 务器的票据; KRB_TGS_REP消息的密文部分用会话密钥Kc,tgs同AS消息交换一样,和应用服务器的 消息交换时使用的会话密钥Kc,v也在TGS信息交换阶段分发,用户和应用服务器均可从相 应的域中获得此会话密钥; KRB_TGS_REP消息的格式如下: realmc| |IDc| |Ticketv| |E(Kc, tgs, [Kc, v| |Times] |Nounce2| |Realmv| |lDv]) 其中,Ticketv=E (Kv, [Flags I I Kc, v I I Realmc I I IDc I I ADc I I Times])。
7. -种分布式环境下的安全通信认证系统,包括以下装置: 用户平台,所述用户平台是指需要进行AIK证书认证的客户端; Kerberos服务器,包括认证服务器AS和票据授予服务器TGS,所述的认证服务器AS用 于检验用户平台提供的属性信息是否在安全阀中,并对处于安全阀中的用户平台签发TGS 票据和与之关联的AIK证书,所述的票据授予服务器TGS检测用户平台所持的TGS票据是 否过期,对合法的用户平台发放可通信的应用服务票据; 远程证明服务器,用于当持有应用服务票据的用户平台与远程证明服务器进行通信 时,对AIK证书和应用服务票据进行检查,合法后再与之进行应用服务; 所述的用户平台、Kerberos服务器和远程证明服务器通过互联网互相连接。
8. 如权利要求7所述的一种分布式环境下的安全通信认证系统,其特征在于,所述的 用户平台包括以下模块: 安全芯片TPM/TCM,用于记录所在用户平台系统属性信息的度量值; XEN虚拟机,用于为证明过程提供安全可靠的实施平台。
9. 如权利要求8所述的一种分布式环境下的安全通信认证系统,其特征在于:所述安 全芯片TPM的CPU要具有Intel-VT或者AMD-V虚拟技术;BIOS支持TCG规范和高级配置 和电源管理接口;同时需要具有IMA度量功能的Linux系统启动加载器(GRUB-IMA)来加载 操作系统。
10. 如权利要求7或8或9所述的一种分布式环境下的安全通信认证系统,其特征在 于:所述的XEN虚拟机包括DomainO、Domain U和HVM-Domain三个虚拟域,用户平台开机后 TPM以自身的可信度量根为起点,首先对BIOS的其它部件进行完整性度量,并将度量值存 储于可信密码模块的PCR中,按照选择的判断机制判断BIOS的完整性,若完整性未破坏,则 运行BIOS ;并度量IPL/MBR的完整性,基于判断机制判断IPL/MBR完整性,若IPL/MBR完整 性没有破坏,则运行MBR ;然后由IPL/MBR度量操作系统内核度量与加载部件GRUB-IMA的 完整性,若该部件完整性未被破坏则由该部件度量0S内核的完整性,若未被篡改,则运行 0S内核;0S内核启动后进入DomainO,基于同样的机制检测0S服务完整性,通过信任关系 传递,形成可信根,可以确保所启动的系统是可信的。
【文档编号】H04L29/06GK104158791SQ201310177428
【公开日】2014年11月19日 申请日期:2013年5月14日 优先权日:2013年5月14日
【发明者】荆艳影, 杨建武, 于晓明, 张丹 申请人:北大方正集团有限公司, 北京大学, 北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1