身份认证协议

2024-06-30

身份认证协议(精选9篇)

身份认证协议 篇1

摘要:基于离散对数的困难性假设,对Hlbl协议进行改进,由原来的双方密钥协商协议扩展到三方密钥协商协议,提出一种基于身份认证的三方密钥协商协议。

关键词:三方密钥,协商协议,身份认证,中间人攻击,离散对数问题

0引言

计算机技术的发展加快了社会信息化步伐,人们对计算机和网络的依赖也越来越强。网络与人们的生活息息相关,而如何在开放的网络中保护用户的隐私、实现安全通信是信息安全领域重点研究课题。

为保证信息安全传输,一个重要的方法就是采用密码技术,用密钥来进行加密、解密。通信双方如何在公开的信道上协商出共同的密钥是密钥协商协议所要解决的关键问题。密钥协商协议允许通信双方或多方在公开的信道上通过交换信息共同建立一个会话密钥,为安全通信创设先行条件。密钥协商协议是密码学中的研究热点,各种协议陆续推出[1,2,3,4]。其中,很多协议存在不足。因此,对现有协议进行改进,设计出更为安全、适合多方的密钥协商协议具有重要意义。

1976年,Diffie和Hellman[5]首次提出了公钥密码学的概念,同时提出了第一个密钥协商协议,即Diffie-Hellman协议。在Diffie-Hellman协议中,没有身份 认证,容易受到中间人攻 击。1984年,Shamir[6]最早提出 了基于身份的密码学概念,在该体制下,终端用户可以任意选取一个身份字符串作为自己的公钥,存在一个可信的密钥生成中心(KGC),秘密持有一个主私钥,将主私钥和用户身份结合生成用户私钥。通过对用户身份进行认证,可以有效抵抗中间人攻击。2009年,Hlbl等[7]提出了一个基于身份认证的密钥协商协议,该协议能够抵抗Tseng[8]协议中提出的攻击,其通信参与者是双方。本文在此基础上进行扩展,将参与者由双方扩展到三方,提出一种基于身份认证的三方密钥协商协议。

1基于身份认证的密钥协商协议

Hlbl等提出了一种基于身份认证的密钥协商协议,协议包括3个阶段:系统建立、私钥生成和密钥协商阶段。

(1)系统建立。在此阶段,密钥生成中心KGC选择一个大素数p,一个生成元g∈Zp*,一个单向Hash函数h,一个随机整数xs ∈Zp*,计算ys=gxs。KGC将系统公共参数设置为{g,h,p,ys},主私钥设置为xs。

(2)私钥生成。对于每一个用户,KGC首先计算Ii=h(IDi),其中,IDi是用户i的身份。然后,KGC选择一个随机数ki ∈Zp*,计算用户的公钥ui=gki(modp)和用户的私钥vi=Iiki+xsui(modp-1)。为方便起见,在以下的运算中省略“modp”。

(3)密钥协商。1A选择一个随机数rA ∈Zp*,计算tA =grA,将 {uA,tA,IDA}发送给B。类似地,B选择一个随机数rB ∈Zp*,计算tB= grB,将 {uB,tB,IDB}发送给A;2A计算IB=h(IDB),xA=uIBB·ysuB=gkBIB·gxsuB=gvB和密钥KAB= (xA·tB)vA+rA=g(rA+vA)(rB+vB),类似地,B计算IA=h(IDA),xB=uIAA·ysuA=gkAIA·gxsuA=gvA和密钥KBA= (xB·tA)vB+rB=g(rA+vA)(rB+vB),经过该协议,A和B共享密钥K = KAB= KBA =g(rA+vA)(rB+vB)。

2基于身份认证的三方密钥协商协议

对Hlbl协议,在密钥交换阶段,增加信息交换次数,参与者由原来的双方扩展到三方。系统建立阶段和私钥生成阶段保持不变。密钥协商阶段描述:

(1)A选择一个随机数rA ∈Zp*,计算tA= grA,将{uA,tA,IDA}发送给B。类似地,B选择一个随机数rB ∈Zp*,计算tB=grB,将 {uB,tB,IDB}发送给C;C选择一个随机数rC ∈Zp*,计算tC= grC,将 {uC,tC,IDC}发送给A。

(3)A将KAC发送给B;B将KBA发送给C;C将KCB发送给A。

3结语

本文通过对Hlbl等基于身份认证的密钥协商协议进行扩展,通过增加信息交换次数,将原来的双方共同协商密钥扩展到三方协商密钥,提出一个基于身份认证的三方密钥协商协议,实践表明该协议安全可行。

身份认证协议 篇2

甲方:阿拉善盟西北华夏路桥有限责任公司

乙方:北京联合智业认证有限公司

经甲乙双方友好协商,就双方签订的《管理体系认证合同》(以下简称原合同)中的部分条款修改如下:

1、原合同第二项费用及支付方式中第二条“乙方进入现场审核前二周,甲方向乙方支付申请费、审定与注册费、审核费。”修改为:合同生效后一周内,甲方向乙方支付申请费、审定与注册费、审核费:壹万元整;甲方完成现场审核工作即在认证证书签发前支付壹万柒仟元整,同时乙方向甲方开具认证费用实际支付发票。

本协议为原合同补充协议,与原合同具备同等法律效力,原合同中条款与本协议抵触之处以本协议为准。本协议自签订之日起生效,一式两份,甲乙双方各持一份。

甲方法人或委托人:乙方法人或委托人:

单位公章:单位公章:

身份认证协议 篇3

网络系统中主要有两种网络入侵破坏形式,分别是信息泄漏和黑客攻击。这两种破坏形式都会使整个计算机网络系统遭到严重的破坏,导致系统完全瘫痪,使重要的文件和信息数据发生泄漏或丢失,并且还会发生通过线路进行非法窃听等严重危害网络安全的行为。网络安全网络技术、密码技术、通信技术、信息论以及计算机科学等。在计算机的网络系统中,必须对系统以及硬、软件进行严密的保护,防止计算机网络系统遭受恶意的破坏。由于我国计算机网络中的认证系统还不够完善,使恶意侵犯者更加肆意猖獗。

1 Openstack概述

1.1 Openstack框架

Openstack是现阶段较流行的Iaa S方案,具有较高的扩展性,可为用户提供安全的云部署措施。截止目前,该项目版本发行已经11 个,功能也日渐完善。研究表明,因为该项目具有多种功能,所以其中含有的开源平台以及组件也很多。此外,其中的各个组件都可进行独立部署,其中包括以下六个组件。一是界面。也就是常说的Horizon。该组件可为网络用户、网络管理人员提供一些进行管理以及访问活动的界面。二是计算管理。也就是常说的Nova。该组件是控制器,是由于很多个子服务结合而成的,建立在用户需求的基础上,可对VM设备进行资源的管理。三是网络管理。即通常所说的Neutron。该组件可对无线网络中的全部资源进行管理以及划分,进而为网络中的全部租户提供一个虚拟环境。四是镜像管理。即通常所说的Glance。该组件主要功能在于保存VM设备的快照以及镜像,其中包括Swift以及简单文件这两种镜像机制。五是对象存储。即通常所说的Swift。该组件可为网络用户提供大文件、持久的对象存储,普遍用于静态数据信息的保存过程中。

1.2 Keystone身份认证机制

Keystone允许用户以及租户在其中注册,用户完成验证后可给予令牌,相关术语详见表1。其中。用户指的是通某个数字符号来表示openstack平台中某个人、服务等;租户可将一些项目、组织、账户等情况映射出来,主要由操作人员决定的;证书指的是用户进行身份认证过程中需要用到数据信息,比如登录密码、用户名、API密钥等。在身份验证过程中,为了安全起见,禁用临时身份验证令牌机制,编辑/etc/keystone/keystone-paste.ini配置文件,删除[pipeline:public_api],[pipeline:admin_api],和[pipeline:api_v3]内容。

2 身份认证协议选择方法

本文选取EAP-TTLS为例,探究满足用户需求的协议。使用的资源包括(1)STA端。本次研究选取联想台式计算机一台,参数如下:2.26GHz的CPU,8G内存,Linux Fedora 16 的系统。(2)AS端。选取联想台式计算机一台,参数如下:3.2GHz的CPU,8G内存,Ubuntu 12.00 的系统。(3)AP。选取联想台式计算机一台,参数如下:3.2GHz的CPU,8G内存,Linux Fedora16 的系统。具体步骤为:首先,对消耗的能量进行精确计算,其中包括ED、ER、ET等指标;其次,对认证需要的时间进行计算,求出均值。最后分析实验结果。本次实验结果表明,EAP-TTLS可为无线网络中的用户身份进行保护,并且实验结果表明该协议是建议在共享密钥的基础上,并非是服务证书。

3 结语

本文综合考虑无线网络的情况,全面考虑网络用户需要的安全性、偏好等情况,提出身份认证协议选取的具体方法,基于openstack平台进行验证,目的在于强化行业交流,提高无线网络的安全性。

参考文献

[1]蔡龙飞,赵慧民,方艳梅.一种公钥密码体制下指纹识别与数字水印的身份认证协议[J].中山大学学报(自然科学版),2013.

[2]张博,南淑萍,孟利军.一种改进的应对异步攻击的RFID身份认证协议[J].吉首大学学报(自然科学版),2015.

电子认证服务协议书 篇4

数字证书用于在网络上标识用户身份。北京数字证书认证中心(以下简称bjca)作为权威、公正的电子认证服务机构,为用户提供数字证书相关的电子认证服务。为明确各方权利和义务,bjca和用户就数字证书的申请和使用等事宜达成以下协议,共同遵守执行。

第一条 申请

1.用户在申请数字证书时,应提供真实、完整和准确的信息及证明材料。如因故意或过失未向bjca提供真实、完整和准确的信息,导致bjca签发证书错误,造成相关各方损失的,由用户承担一切责任。

2.bjca授权注册机构作为证书业务受理单位,进行用户的信息录入、身份审核和证书制作工作。用户在申请数字证书时应遵照注册机构的规程办理手续。

3.bjca授权的注册机构应完全遵守bjca安全操作流程进行用户身份审核和证书制作。

4.bjca积极响应各注册机构发出的证书申请请求,及时为通过审核的用户签发证书。如果由于设备或网络故障而导致签发数字证书错误、延迟、中断或者无法签发,bjca不承担任何赔偿责任。

5.用户在获得数字证书时应及时验证此证书所匹配的信息,如无异议则视为接受证书。

第二条 使用

1.bjca发放的数字证书只能用于在网络上标识用户身份,各应用系统可以根据该功能对其用途进行定义。数字证书不能用于其他任何用途,若数字证书用于其他用途,bjca不承担责任。

2.用户应当妥善保管bjca签发的数字证书和私钥及保护密码,不得泄漏或交付他人。如用户不慎将数字证书丢失,或因故意、过失导致他人知道或遭盗用、冒用、伪造或者篡改时,用户应当自行承担一切责任。

3.数字证书对应的私钥为用户本身访问和使用,用户对使用数字证书的行为负责。所有使用数字证书在网上交易和网上作业中的活动均视为用户所为,因此而产生的一切后果均由用户负责。

4.数字证书一律不得转让、转借或转用。因转让、转借或转用而产生的一切损失均由用户负责。

5.bjca承诺,在现有的技术条件下,由bjca签发的数字证书不会被伪造、篡改。如果发生数字证书被篡改、伪造,经确认确属bjca责任,bjca承担赔偿责任。赔偿方法参照《北京数字证书认证中心电子认证业务规则》。

第三条 更新

1.数字证书的有效期自证书受理之日起计算。如用户仍需继续使用数字证书,必须在数字证书到期前一个月内向bjca授权的注册机构提出数字证书更新请求。否则,证书到期将自动失效,bjca对此不承担任何责任。

2.随着技术的.进步,bjca有权要求用户及时更新数字证书。用户在收到更新通知时,应在规定的期限内到注册机构更新证书,若逾期用户没有更新证书,所引起的后果由用户自行承担。

第四条 吊销

1.如果遇到数字证书私钥泄露丢失、证书中的信息发生重大变更、或用户不希望继续使用数字证书的情况,用户应当立即到证书注册机构申请吊销证书,吊销手续遵循各注册机构的规定。bjca在接到注册机构的吊销申请后,在24小时内吊销用户的数字证书。用户应当承担在证书吊销之前所有使用数字证书而造成的责任。

2.如果单位终止等原因致用户主体不存在的,法定责任人应携带相关证明文件及原数字证书,向注册机构请求吊销用户证书。相关责任人应当承担其数字证书在吊销前产生的一切责任。

3.对于下列情形之一,bjca有权主动吊销所签发的证书:

用户申请证书时,提供不真实信息;

证书对应的私钥泄露或出现其他证书的安全性得不到保证的情况;

用户不能履行或违反了相关法律、法规和本协议所规定的责任和义务;

法律、法规规定的其他情形。

第五条 其他

1.bjca不对由于客观意外或其他不可抗力事件而导致暂停或终止全部或部分证书服务承担任何责任。

2.本协议书如有修订而涉及用户的权利、义务时,bjca会通过网站www.bjca.org.cn进行通知。用户如果因此而需要吊销证书的,应当于通知发布之日起十五日内,向注册机构提出申请。如果逾期没有提出异议,则视为同意接受修订后的协议。

3.建议用户经常浏览bjca网站,详细阅读《北京数字证书认证中心电子认证业务规则》的各项规定。

身份认证协议 篇5

关键词:Kerberos,身份认证协议,配送物资跟踪系统,Sskey

0 引言

随着中海油田服务股份有限公司国际业务的拓展,在现有条件下,积极推进企业现代物流体系建设,是提高中海油服后勤保障能力的一条有效途径。建设配送物资跟踪的核心运转系统,对通用物资库所有入库和后期配送的物资实现信息跟踪,能全程查询到物资配送过程中所对应关键节点信息成为企业信息化建设的重要任务。

在系统实施过程中,如何确保所传递数据的真实性是系统重要安全问题之一。本系统尝试采用RFID技术进行相关研究,读写器和标签之间的认证是保证数据安全性最重要手段之一。该数据加密密钥若在网络中以明文的形式传输,很有可能被不法分子截取,进而获取双方传输的数据,或者伪装成一方,与另一方通信。这将自然而然的涉及到密钥存储和管理的问题。基于上述问题,在查阅相关资料的基础上,发现国内外学者在RFID身份认证的过程中都是使用简单的Hash单向函数来实现,本文将提出一种基于可信第三方—KDC(Key Dispatch Center密钥分配中心)的认证方案,提出将Kerberos协议应用于RFID系统。将改进Kerberos协议,以实现读写器与标签之间的双向认证,进而保证数据的真实性。

1 原始Kerberos协议的不足

尽管Kerberos身份认证协议有其巨大的应用优势,但是要将它应用于配送物资跟踪系统中,仍存在一些缺陷,不足之处主要体现在以下几个方面:

(1)密钥交换问题

由于Kerberos身份认证采用的是对称加密机制,加密和解密使用的是相同的密钥,使得双方交换密钥时的安全性难以保障。一旦攻击者截获密钥,窃听、篡改信息就变得易如反掌。因此,发送方如何安全、高效地将密钥发送到接受方式Kerberos协议难以解决的问题。

(2)密钥管理问题

随着用户数量的增加,使得密钥管理更复杂。不同客户端与服务器之间通信使用不同的密钥,这致使服务器端存储的密钥数量非常多。这在密钥管理和维护方面带来很大的麻烦。

(3)共享客户端口令的局限性

Kerberos服务器与客户端共享的服务会话密钥是客户端的口令字,而服务器在响应时不需验证客户端的真实性,只是直接假设只有合法客户端拥有了该口令字。如果攻击者截获该响应消息,就很容易形成密码攻击。

(4)数字签名问题

Kerberos协议采用的对称密码体制中通信双方拥有相同的密钥,所以接受方可以伪造签名,发送方也可以否认发送过某消息,即存在鉴别认证和不可否认性的困难。尤其在RFID系统中,存在大量的陌生标签和读写器,让这些互不认识的设备进行安全可信的信息传递是其急待解决的问题。

2 改进的Kerberos协议应用于配送物资跟踪系统

基于上述问题,本文提出的改进的Kerberos协议中,使用公钥密码体制去维护KDC与客户端之间,客户端与服务器之间传输数据的安全性。密钥分发中心KDC分别用客户端和服务器的公钥去加密服务会话密钥,由于加密后的服务会话密钥只有用各自的私钥才能解密,进一步增强了双方通信的安全性。同时,公钥密码体制给密钥的管理和维护方面带来很大的方便。

用公钥密码的理念来改进Kerberos协议,就能有效克服上述4点缺陷,让Kerberos协议更适合配送物资跟踪系统这种及时性要求高、标签的运算和存储资源有限、安全性风险大的特殊环境。以下将详细描述改进后的协议流程。

2.1 协议初始化

密钥分配中心(KDC)为可信的第三方,假设读写器能与KDC通信,并能够从KDC处获取票证许可票证(TGT)和访问某特定服务器的服务票证(ST)。同时,KDC的列表中存储着所有读写器和标签的公钥信息,分别用Rpubkey和Tpubkey表示。读写器的私钥存于读写器的存储器中,用Rprikey表示;而标签的私钥存于标签的存储器中,用Tprikey表示。读写器中存储着KDC的公钥,用Rpubkey表示,便于读写器对KDC发送的消息进行认证和识别。读写器的基本信息用Rinfo表示,用于后续认证。

2.2 协议认证过程

(1)读写器向KDC请求票证许可票证TGT

读写器向密钥分发中心(KDC)发送一个Kerberos身份认证服务请求,以期获得票证许可票证TGT。该请求包含读写器名Readername、请求TGT所需的服务信息Rinfo以及使用读写器的公钥加密的时间戳。

即Request1=Readername||Rinfo||ERpubkey(Timestamp)

改进Keberos协议的应用环境是在多标签、多读写器环境中,目的在于防止非法读写器读取到标签的内容,在众多的读写器中至少能保证一台读写器是安全的,而标签内存储的不可能是货物详细的信息,需要跟后台数据库交互才能完成信息获取,此处的密钥分发中心(KDC)完全可以设置在部署数据库的上位机上。

基于KDC分配密钥的巨大优势在于密钥是实时分配,不同的时刻、不同的通信双方之间使用的密钥是不同的,完全有KDC决定,这极大保障了RFID系统的安全性,其次通信过程中的密钥无需在初始化阶段固定在标签中,这就可以防止通过分析标签结构来截获密钥,同时减少系统部署的负担。

(2)KDC向读写器发送加密的TGT和登录会话密钥Lskey

KDC先用Rprikey解密ERpubkey(Timestamp)得到Timestamp,判定该标签是否有效,若有效,则该读写器是合法的。之后,利用该读写器的相关信息生成登录会话密钥Lskey,再用读写器的公钥将其加密得到ERpubkey(Lskey),用KDC自己的私钥加密TGT得到EKprikey(TGT)。

最后,将Response1=ERpubkey(Lskey)||EKpubkey(TGT(Rinfo))发送给读写器。

(3)读写器向KDC请求访问特定标签的服务票证ST

读写器用自己的私钥解密ERpubkey(Lskey),得到登录会话密钥Lskey,并用KDC的公钥解密EKpubkey(TGT(Rinfo)),得到TGT。之后,读写器向KDC发送访问某特定标签的请求。Request2=Readername|ELskey(tag)||TGT||Tagid。其中,tag为认证符,用于后续的认证过程,Tagid为读写器想访问标签的ID。

严格来说,读写器与标签的通信是广播方式完成的,它会将请求发送给识别范围内所有的标签,正因如此,在开放信道内才有保证其数据安全的必要性。这中间又分两个步骤,首先是获取所有标签的ID,读写器用轮询的方式查看有无新标签进入,在标签进入读写器的识别范围内,会响应读写器,并将ID返回给它(ID只是标签的名字,不会包含隐私信息,同时也是做到点对点通信所必须的,而标签的隐私数据如货物价格、产地和EPC码等,是通过AES加密后传输的),这一点类似计算机网络里的ARP,当一台计算机加入到一个新的网络之后会广播其MAC地址,告诉所有主机它的访问地址,这一步是公开的,但更深层次的数据获取等操作是需要双方认证的;其次是访问某特定ID的标签,比如读写器要访问001,就会广播Read-001消息,众多标签在接受到这个消息后,会根据自身的ID是否是001,还有该读写器是否具有访问权限来决定响应与否。

在安全行要求及其严格的情况下,标签ID也是不允许明文传输的,可以通过随机Hash-Lock协议对ID进行加密:标签在收到读写器的请求Query后,生成一个随机数R,并计算H=(IDk|R)其中,IDk为标签ID标识,并将(R,H=(IDk||R))数据对送至后台数据库。数据库查询满足H=(IDj||R)=H=(IDk|R)的记录。若找到则将对应的IDj发往标签,标签比较IDj与IDk是否相同,最后确定是否认证通过,这种方式在获得标签ID安全性的同时,自然会带来计算复杂性,每访问一个标签都意味着读写器遍历一次数据库。

(4)KDC发送加密的服务会话密钥Sskey和服务票证ST

KDC收到Request2后,先用Lskey解密ELskey(tag),得到认证符tag,并做初步判定,若合法,则继续后续的验证。从TGT中提取读写器的相关信息,并使用该信息创建访问相应标签的服务会话密钥Sskey。之后,KDC用Lskey加密Sskey,得到

ELskey(Sskey);用相应标签的公钥加密服务票证ST,得到ETpubkey(ST)。

响应消息Response2=ELskey(Sskey)||ETpubkey(ST)

(5)读写器向特定标签发送访问请求

读写器接收Response2后,先用Lskey解密ELskey(Sskey),得到服务会话密钥Sskey,该密钥用于后续读写器与标签之间通信时加密数据。接着,读写器向标签发送访问请求Request,Request中包含用Sskey和ST加密的身份认证信息,以及从KDC处接收到的ETpubkey(ST)。

即Request=EST(ESskey(Rinfo|Timestamp))||ETpubkey(ST)

(6)读写器与标签进行相互认证

标签先用自己的私钥解密ETpubkey(ST)(非对称密码体制中的私钥解密的过程非常简单,都是与、或、非、异或、移位之类,易于硬件实现,在查阅资料的过程中,已经有人将RSA、椭圆曲线等非对称加密算法应用于RFID读写器标签通信的过程中,因此私钥解密应用于RFID系统身份认证这种操作频度不高的行为上是可行的),得到ST;再从ST中分离出服务会话密钥Sskey,利用ST和Sskey解密EST(ESskey(Rinfo||Timestamp)),从而得到时间戳Timestamp。再将解密认证符得到的读写器信息Rinfo与ST中分离出的做比较,若相同,则该读写器就是合法的,认证通过。

接着,标签利用Sskey加密Timestamp后得到ESskey(Timestamp),(此处的TimeStamp是上一步中从读写器发来的信息中分离出来的,相当于随机数的作用,加入时间因素后随机性相应增强,安全性提高)并传回给读写器。读写器使用Sskey解密后获取时间戳。若此时间戳与其初始发送的相同,则该标签正是读写器想访问的,认证通过。

Kerberos认证协议的作用在于身份认证,如同登录一些系统需要输入用户名密码,在确认身份无误之后,而身份认证过程操作频度不大、实时性不强、但安全要求非常高,所以效率并非考虑的主要因素,Kerberos协议主要应用于计算机局域网组网时网内主机认证,抽象来看,应用环境类似RFID系统,改进之后的认证过程并没有延续原始协议复杂的消息加密体制,而是常用公钥加密、私钥解密,附加简单逻辑操作,适合RFID这种计算资源有限的环境,效率也是可以保证的。

3 结论

通过以上的改进协议应用于配送物资跟踪系统的测试环节中,取得了预计的效果。说明用公钥密码的理念来改进Kerberos协议,就能有效克服传统的Kerberos协议的4点缺陷。具有一定的价值。

参考文献

[1]林责彬,王永华,詹宜巨.一种基于随机序列的RFID安全协议[J].计算机工程.2008.

[2]陈克力,郭春生.一种双层/双向认证的随机Hash锁RFID安全协议[J].电子技术应用.2008.

[3]李章林,卢桂章,辛运帏.重加密技术在RFID安全中的应用[J].计算机工程.2008.

身份认证协议 篇6

关键词:数字图书馆,LDAP,统一身份认证

随着计算机网络与存储技术的飞速发展以及图书馆信息化建设的推进,高校图书馆已基本建成了以资源存储数字化、信息服务网络化、业务管理自动化为特征的数字图书馆服务平台。在经历自动化系统建设和数字资源建设阶段后,高校图书馆发生了前所未有的变化,馆藏结构改变了、数字资源丰富了、服务手段多元了、服务空间拓展了。但是当读者面对图书馆丰富的资源和多元化的服务时,却经常觉得无从下手,海量的数字资源给读者带来了沉重的信息筛选负担,未经整合的多元化的服务项目并没有缩短读者的信息获取响应时间。这时,能给读者带来一站式服务的门户资源整合系统就显得尤为重要。

高校数字图书馆门户是以资源和服务整合为基础,通过现代化的网络技术手段,向读者提供一站式、个性化、快捷方便的信息服务。门户的建成,能为读者提供一个集中的、关联性强的应用环境,使读者能够比较快捷准确地找到所需的信息和资源。门户建设中统一身份认证又是不可缺少的,它是数字图书馆开展个性化服务和实现门户内容动态管理的必要条件。通过统一身份认证服务系统,可以把原来分散的用户信息集中起来,采用唯一的用户信息数据库系统对这些信息进行统一管理,用户只需一次登录就可以访问数字图书馆网络中各应用系统相应的资源。

实现统一身份认证的方式有多种,其中通过轻量级的目录服务协议LDAP来完成不失为一种很好的方式,利用LDAP服务可以设计出跨平台的、安全易用的统一身份认证系统。

1 LDAP基本概念及主要优点

LDAP(Lightweight Directory Access Protocol)是由美国Michigan大学研发的一个轻量级目录访问协议。它的典型应用是将网络环境中的各种资源作为目录信息,在目录树结构中分层存储,对这些信息进行访问和管理。它是基于X.500标准的,但是简单多了并且可以根据需要定制,主要用于从服务器上检索信息。

LDAP协议自1993年产生LDAP V1版本,又于1997年发布了LDAP V3,发展成为由一系列协议族定义组成。在这些协议中,定义了LDAP的内容,主要包括它的四种基本模型:

1)定义了信息模型,确定了LDAP目录中信息的格式和字符集,如何表示目录信息(定义对象类、属性、匹配规则和语法等模式);

2)定义了命名模型,确定信息的组织方式--目录信息树DIT,以DN和RDN为基础的命名方式,以及LDAP信息的Internet表示方式;

3)定义了功能模型,确定了可以执行的四类10种操作及API。

4)定义了安全模型,保证目录中信息的安全,定义匿名、用户名/密码、SASL等多种认证方式,以及与TLS结合的通讯保护框架。

由于LDAP所具有的查询效率高、树状的信息管理模式、分布式的部署框架以及灵活而细腻的访问控制,使LDAP广泛地应用于基础性、关键性信息的管理,如用户信息、网络资源信息等。事实上LDAP已经成为目录信息的标准方式,目前包括Sun Netscape,Microsoft等公司都已支持该协议并推出了相应的产品。

LDAP最大的优势在于它是跨平台和标准的协议,可以在任何计算机平台上很容易获得LDAP的客户端程序,从而灵活扩充数据分布规模,也就不用为LDAP目录放在什么样的服务器上操心了。

与关系数据库相比,LDAP的检索性能更加迅速,它对读、浏览和搜索进行了优化,主要是面向数据的查询服务(查询和修改操作比一般是大于10:1),它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。

LDAP还是一个安全的协议,它使用SASL(简单证明安全层)协议提供访问控制,具备完善的安全控制机制,可以用来保存描述性的、基于属性的信息,并且具有支持复杂的过滤搜索能力。

2 基于LDAP的数字图书馆统一身份认证模型

基于LDAP目录服务的统一认证系统是一个集中的用户认证管理集成环境,用来管理和分发用户的权限和身份,并为不同的应用系统提供用户和权限管理服务。使用统一身份认证平台来管理各个应用中的认证模块,可以将原先独立的应用系统有机地整合在一起。对于用户而言,只要登录统一身份认证服务后,即可使用所有支持统一身份认证服务的应用系统,比如OPAC查询系统、参考咨询系统、期刊数据库系统等,如图1所示。

3 LDAP统一身份认证的思想及工作流程

统一身份认证的主要思想是由一个唯一的认证服务系统替代各应用系统各自的认证模块,各应用系统只需要遵循统一认证服务平台系统的调用接口,即可实现用户身份的认证过程。当用户登录统一身份认证系统后,即可使用所有支持统一身份认证系统的应用系统,认证过程如图2所示。

统一身份认证的工作流程可描述如下:

1)用户通过输入用户名和密码,登录统一身份认证系统,向认证系统发出认证请求;

2)认证服务器验证用户提供的信息,如果匹配成功,它将返回令牌给客户端;

3)客户端向应用系统发出服务请求,同时向数字图书馆的应用系统传送该令牌;

4)应用系统在收到请求后,将令牌传递给认证服务器;

5)认证服务器验证令牌是否存在,如果验证成功,将授权允许指令返回给应用系统;

6)应用系统接收到授权指令后处理用户的请求,并将用户请求的结果返回给客户端。

4 LDAP目录树存储结构的规划

LDAP中目录是按照树型结构组织存储的,目录由条目(entry)组成,条目相当于关系数据库中表的记录,条目是具有区别名DN(Distinguished Name)的属性(attribute)集合。LDAP协议集中规定了DN的命名方法、存取控制方法、搜索格式、复制方法等。

目录树的各个节点分别用不同的关键字出现,如有“dc”、“ou”、“cn”等关键字,它们分别代表不同的概念:

dc:域名的部分,其格式是将完整的域名分成几部分,如dc=hunnu,dc=edu,dc=cn;

ou:组织单元,类似于文件系统中的子目录,它是一个容器对象,组织单位可以包含其他各种对象;

uid:用户ID;

cn:公共名称;

dn:唯一辨别名,类似于文件系统中的绝对路径,每个对象都有一个惟一的名称,如“uid=Mary,ou=teacher,dc=hunnu,dc=edu,dc=cn”,在一个目录树中DN总是惟一的;

rdn:相对辨别名,类似于文件系统中的相对路径。

要将LDAP应用于高校数字图书馆,首先要规划符合本馆实际的目录树,一个灵活且易于扩展的目录树对数字图书馆而言是非常重要的,当图书馆推出一项新的基于网络的服务时,目录树更新的工作量就不会太大。

比如,单位域名为hunnu.edu.cn,读者按类型分为教师(teacher)和学生(student),学生中再分本科生(undergraduate)和研究生(graduate),其组织结构图如图3所示。

该组织的目录树含义如下:

1)目录树的根(root),即目录树的最顶层,按照LDAP信息模型的构成单位,将表示为域名的不同部分,即:dc=hunnu,dc=edu,dc=cn。

2)组织单元ou。这里以读者类型作为ou,如ou=teacher,ou=student。ou是目录树的分枝节点,它还可以包含其他的分枝节点或叶子节点。

3)叶子节点,也即组织中的用户。目录树中的用户可以使用uid或cn来描述,根据用户所在的部门将其放置在不同的ou中。

5 LDAP服务平台的部署与实现

LDAP统一认证服务平台的部署需要考虑如下几个因素:1)成本因素。指开发系统需要部署产品的许可费用、购买开发工具的费用及其他开发费用。2)时间因素。可以从学习时间和开发时间来衡量。3)安全性因素。顾名思义,就是指信息在保存处理传递过程中的安全性因素。综合以上几种因素及目录服务自身的特点考虑,该系统的开发平台采用Linux操作系统,目录服务产品选用Open LDAP,数据库系统采用支持Open LDAP的Berkeley DB,编程语言采用JAVA语言和Java Script脚本,Web服务器采用Apache Web服务器。因为这几种技术都有免费开源的特点,而且功能强大、互相集成。在降低了开发费用的同时,Linux操作系统比起Windows来具有稳定性高、免受病毒侵袭等优点。

5.1 LDAP目录服务器的安装

目录服务器的安装主要是LDAP产品及其后台数据库的安装,首先编译安装Berkeley DB数据库并编辑文件/etc/ld.so.conf以配置好系统动态链接库的路径,然后安装Open LDAP软件。按照linux源码安装的三步曲即可完成它们的安装。

5.2 LDAP目录服务器的配置

Open LDAP配置文件在软件安装目录的etc/openldap下,也即/usr/local/openldap/etc/openldap目录,主要有两个文件,分别是slapd.conf和ldap.conf文件,用来设置服务端和客户端的配置。

客户端配置文档ldap.conf相当简单,不配置也能正常操作。

服务端配置文档slapd.conf的配置主要包括设置LDAP使用的schema模式、定义后台数据库、指定数据库文件所在的目录以及设置LDAP数据库管理员的用户名和密码等。服务器配置完成后,就可以启动Open LDAP服务了。

5.3 LDAP目录服务器的管理

Open LDAP服务正常运作后,就可以对其进行管理,主要包括ldif文件数据的导入,条目信息的录入、删除及信息搜索等。Open LDAP目录服务的这些管理工作都可以通过命令行方式来操作完成,另外也可以使用各种功能强大、易于操作的图形界面工具来管理Open LDAP的目录树。常见的LDAP图形管理工具有:php LDAPadmin、ldapadministrator、gq、LDAP Browser/Editor、KLDAP等。其中尤以php LDAPadmin的使用方便,可以方便地完成LDAP中的各类数据操作,包括:查询类操作(搜索、比较)、更新类操作(添加条目、删除条目、修改条目和修改条目名)、认证类操作(绑定、解绑定)、其他操作(如放弃和扩展操作)。

6 结束语

数字图书馆门户建设中引入基于LDAP的统一身份认证服务,能够通过安全易用和跨平台的模型方案来解决多个应用系统之间因多次登录带来的不便,实现对数字图书馆平台中不同应用系统用户的统一管理,完成单点登录的统一身份认证,为广大读者利用数字资源提供一站式服务,也能为用户提供包括信息定制、消息推送在内的各种个性化信息服务。统一身份认证系统在数字图书馆建设中不仅提高了门户的安全性、可靠性,也给用户提供了极大的方便,同时又方便了用户的管理。

参考文献

[1]陆昌辉,文龙.网络服务器组建、配置和管理(Linux篇)[M].北京:电子工业出版社,2008.

[2]刘永亮,张卫红,周骏.基于LDAP的校园网统一身份认证的设计[J].计算机与数字工程,2008(4):116-118.

[3]李翔,晁爱农,刘孟强.LDAP的研究及其在统一身份认证系统中的应用[J].计算机应用,2008(6):98-100.

[4]薛骥,马自卫.数字图书馆信息门户中的相关机制和技术的分析与实现[J].现代图书情报技术,2006(6):6-10.

[5]钟新革.公共图书馆异构检索与用户统一管理平台的实现[J].图书馆杂志,2006(8):52-57.

用户认证协议的安全分析 篇7

关键词:Needham-Schroeder协议,规范化,Casper和FDR2

1 概述

当今, 企业、政府或个人每天都需要通过网络进行信息交换。随着网络的普及, 安全问题也日益突出。认证是安全通信的基础, 也是网络安全中最重要的一个安全目标, 所有其他的安全属性例如完整性、不可否认性、可信性等都依赖于通信双方的认证。因此, 很多安全认证协议被提出。但协议的设计极其容易出错, 使之不能正常工作。在实现和使用这些协议前, 他们声称的安全属性应该被验证, 而普通的常用的方法是模拟。模拟只能证明模拟的协议在特定的模拟环境下可以达到的安全目标。而对于正常的各种情况无法真实反应。需要一个更有效的方法来完成这个功能。模型检测就是其中之一。通过模型检测协议的安全属性可以在系统能达到的任何状态被验证。常用的工具是Ban logic[5,6], CAPl-es[2]和SPIN[3,4], 安全协议的正式验证仍然是一个新的领域。文献1和文献7采用BAN逻辑对特定协议进行了验证和分析。但由于BAN逻辑存在着初始假设没有明确依据的方法、协议理想化、语义定义不明确、对协议的攻击探测能力较弱等问题, 使得协议分析的结果还有待进一步验证。在这篇论文中, 我们采用Casper和FDR2工具对一种经典的用户认证协议进行了模型检测和验证。这种方法不是新的, 只是将这种方法应用在用户认证中是之前没有的。

2 协议描述

经典的Needham-Schroeder用户认证协议是基于对称加密和第三方仲裁机构的。整个系统的结构包括申请发起用户、第三方仲裁机构和目标用户三个部分。每个用户都有与第三方仲裁机构共享的秘密密钥。当用户之间要进行通信时, 需先通过第三方仲裁机构完成用户之间的认证。认证过程如图1所示:

A、B是用户的身份, S是第三方仲裁机构的身份, Na是用户A产生的随机数, Nb是用户B产生的随机数。Kas是用户A与第三方机构S的共享密钥, Kbs是用户B与第三方机构的共享密钥, Kab是第三方机构为用户A和B通信产生的会话密钥。我们给出对应的协议描述如下:

第一步中, 用户A向第三方第三方仲裁机构S发出申请自己想和用户B通信的请求, 第二步:收到消息的第三方仲裁机构查找与用户的共享密钥Kas, 并产生用户A、B之间通信的会话密钥Kab, 用与用户B的共享密钥Kbs加密信息Kab, A即{Kab, A}Kbs, 然后将Na, B, Kab, {Kab, A}Kbs信息用Kas加密之后发送给用户A, 在第三步中, 用户A用Kas解密收到的信息, 得到与用户B的会话密钥Kab, 将{Kab, A}Kbs发送给用户B。第四步:用户B用与第三方仲裁机构的共享密钥解密收到的信息得到Kab, A, 然后生成一个随机数Nb, 用得到的会话密钥Kab加密之后发送给用户A。第五步:用户A收到B的信息后, 用Kab解密得到随机数Nb, 计算Nb-1, 并用会话密钥加密后发给用户B, 用户B收到信息后, 得到A是合法用户, 从而认证A的身份, 认证过程结束。

3 协议的形式化验证

根据协议中用户的工作方式, 我们选择模型检查器FDR2来验证模型的安全性, 这是一个基于并发理论和CSP的模型检测器。它主要用来检查系统的安全属性例如访问控制、认证、电子商务、移动代理、web服务、AXML文档等。FDR2中的规范化语言是CSP。但使用这种语言来模型化系统是耗时的并且易于出错。所以我们使用Casper产生CSP模型。Casper传递安全协议的规范给CSP以便于被FDR2分析。它也可以用于传递输出消息到可读格式。

验证认证协议的第一步是用Casper模型化协议。协议的模型化包括两部分:带有形式变量的模板参数的协议描述和协议实际使用的场景描述。形式变量最终会被实际变量所替代。

关于用户认证协议的模板如下:

协议的描述用来规范化消息交换。第1步对应协议中的第1步, 用户将自己的身份A、用户B的身份B和随机数Na发给第三方机构。第2步对应协议第2步, 第三方机构回复信息给用户A, 用户A用密钥Kas解密消息得到Na, B, Kab, {Kab, A}Kbs, 与自己存储的Na比较看是否相等, 若相等证实信息是第三方机构发来的。第3步对应协议第3步, 用户A将{Kab, A}Kbs发送给用户B, 用户B解密信息, 得到Kab, A, 从而知道是用户A要与自己通信。第4步对应协议第4步, 用户B生成一个随机数Nb并用Kab加密之后发送给用户A来验证A的身份的真实性。用户A解密得到Nb。第5步对应协议第5步, 用户A将得到的随机数减一, 用Kab加密之后发送给用户B, 用户B比较自己存储的随机数与收到随机数之间是否差一, 若是, 认证通过。

我们只给出了一对用户之间认证的模型, 事实上, 所有用户之间的通信都是相同的, 因此检测一对用户结点的安全属性是足够的。如果对一对用户结点有效, 那么对所有用户节点都有效。这对FDR2的验证也是非常有益的。如果有很多个用户结点同时验证的话, 机器的内存会全部耗尽, 检查无法终止。

定义了协议的模板后, 需要检测的安全属性也就规范化了。在用户认证协议中, 安全属性是用户之间的认证。相应的输入文件是#specification。这个认证规范可以用下面的声明来完成:Agreement[A, B, [Nb]]协议规定A被B认证, Agreement[B, A, [Nb]]协议规定B被A认证。

正如我们之前提到的, 协议的安全验证不是在协议的模板上来完成, 而是在一个特定的场景中。对用户认证协议来说, 场景包括二个部分:协议的初始方 (想去被认证的用户) 和响应方 (第三方仲裁机构和执行认证的用户) 。场景的定义使用真实变量来给出:

在模型化协议的最后一步是关于恶意分子的规范说明, 恶意分子可以破坏协议, 它知道所有用户和第三方的身份, 由于本协议是建立在第三方仲裁机构是可信的、公平的基础上的。如果第三方机构与恶意分子勾结来产生对应的会话密钥Kis, 并产生一个随机数am, 那相应的恶意分子的场景描述如下:

完成输入文件后, Casper用来生成协议的CSP规范, 这个规范用作FDR2的输入。完成协议的模型化之后, 在linux环境中采用FDR2进行验证, FDR2验证的第一步是构造模型化系统的状态。然后指定的属性在每种状态下被验证。如果在每个状态下都可以通过验证, 则协议的属性是安全的。否则被认为是无效的。在正常的状态下即只有用户和第三方仲裁机构的情况下, 协议运行正常, 认证安全属性得到验证。在有恶意分子存在情况下或者第三方仲裁机构与恶意分子勾结情况下, 协议的认证安全属性验证错误。由此可以分析出Needham-Schroeder协议的安全性有待改进, 可以对第三方仲裁机构设置可信值来评估他的真实可信性或者采用公钥基础设施来进一步完善协议, 从而提高协议的认证安全。

4 总结

在这篇论文中, 我们演示了如何用规范化验证技术来检测一个安全协议的有效性。使用的工具是Casper和FDR2。这个方法也可以适用于任何模型检测。首先, 使用验证工具的规范化语言明确规定协议的各个部分。转换成一个验证执行的实际协议。这步很重要, 如果模型错误或者与实际协议比较缺少相关限制条件的话, 验证结果将会出错。接下来制定需要验证的安全属性。在这里我们只验证了认证属性, 其他的属性也可以被验证。最后一步是实际执行的验证情况。FDR2证明了该协议的安全性有待提高, 没有达到安全目标。接下来我们可以完成对称密钥的建立或者公钥基础设施的改进等工作, 协议的使用范围可以进一步扩展。

参考文献

[1]田建波, 王育民.认证协议的形式分析[J].通信保密, 1998, 76 (4) :8-12.

[2]John D.Aprshall, an analysis of the secure routing protocol for mobile ad hoc network route discovery:using intuitive.reasoning and formal verification to identify flaws, Msc thesis, Florida State University, 2003.

[3]Davor Obradovic, Formal Analysis of convergence of routing protocols, PH.D thesis, university of pensylvania, 2000.

[4]Todd R.Andel, Formal Security Evaluation of ad hoc routing protocols, PH.D thesis, , Florida State University, 2007.

[5]张玉清, 李继红, 肖国镇.密码协议分析工具—BAN逻辑及其缺陷[J].西安电子科技大学学报, 1999, 26 (3) :376-378.

[6]张玉清, 吴建平, 李星.BAN类逻辑的由来与发展[J].清华大学学报, 2002, 42 (1) :96-99.

论3G认证和密钥协商协议 篇8

1 3G的认证与密钥分发协议

在用户接入网络时, 需要验证用户标识的正确性, 这就是对用户进行认证。并同时完成上下文的分配、设置加密和加密算法、用户对网络的认证等功能。

在GSM中, 身份认证是单向的, 基站能够验证用户的身份是否合法, 而用户无法确认他连接的服务网络是否可靠。3G AKA协议借鉴了GSM身份认证的询问——应答机制, 结合ISO/IEC 9798-4基于“知识证明”和使用顺序号的一次性密钥建立协议, 实现了双向认证, 并确保通信双方的认证信息和密钥是非重用的。

1.1 协议过程

有三个实体参与3G认证与密钥分配协议过程:MS (移动台) 、VLR/SGSN (访问位置寄存器/支持GPRS服务节点和HE/HLR (归属环境/归属位置寄存器) , AV是认证向量, IMSI是用户永久身份标识。具体步骤如下:

(1) 当MS第一次入网或由于某种原因VLR/SGSN需要MS的永久身份认证时, MS向VLR/SGSN发送用户永久身份标识 (IMSI) , 请求注册。在平时的认证中这一步骤并不存在。

(2) VLR/SGSN把IMSI转发到HE/HLR, 申请认证向量 (AV) 以对MS进行认证。

(3) HE/HLR生成n组AV发送给VLR/SGSN。

其中, AV=n (RAND||XRES||CK||IK||AUTN) , 这5个参数分别为随机数 (RAND) 、期望响应值 (XRES) 、加密密钥 (CK) 、完整性密钥 (Ⅸ) 和认证令牌 (AUTN) 。它们由如下的方法产生:

RAND由f0产生

XRES=f2k (RAND)

CK=f3k (RAND)

IK=f4k (RAND)

AUTN=SQN+ (AAK||AMF||MAC

其中, SQN是序列号;AK是匿名密钥, 用于隐藏SQN;AMF是认证管理域;MAC是消息认证码。

AK=f5k (RAND)

MAC=flk (SQN||RAND||AMF)

f0~f5是3G安全结构定义的密码算法。f0算法只用在认证中产生随机数, f1算法用于产生消息认证码, f2算法用于在消息认证中计算期望响应值, f3算法用于产生加密密钥, f4算法用于产生完整性密钥, f5算法用于产生匿名密钥。K是MS和HE/HLR之间共享的密钥。

(4) VLR/SGSN接收到认证向量后, 将其中的RAND和AUTN发送给MS进行认证。

(5) MS收到RAND和AUTN后, 计算期望消息认证码 (XMAC) 的值 (XMAC=f1K (SQN||RAND||AMF) ) , 并把计算结果和AUTN中的MAC比较, 如不等, 则发送拒绝认证消息, 放弃该过程。如果二者相等, MS验证SQN是否在正确的范围内, 若不在正确的范围内, 则MS向VLR/SGSN发送同步失败消息, 并放弃该过程。若上面的两项验证都通过, 则MS分别计算响应值 (RES, RES=f2k (RAND) ) 以及CK、IK的值, 并将RES发送给VLR/SGSN。

最后, VLR/SGSN收到应答信息后, 比较RES和XRES, 相等则认证成功, 否则认证失败。

1.2 安全性分析

该协议通过MS和HE/HLR共享的密钥K, 实现了以下目标。

(1) MS和HE/HLR之间的相互认证。

VLR/SGSN接收到来自HE/HLR的认证向量中包括了期望MS产生应答的XRES (XRES=f2k (RAND) ) , 如果MS是合法用户, 则RES=XRES。而MS对HE/HLR的认证是通过MAC实现的。MS接收到VLR/SGSN发过来的MAC, 计算XMAC=f1k (SQN, RAND, AMF) , 如果MAC=XMAC, 则认证成功。

(2) MS和VLR/SGSN之间的密钥分配。

VLR/SGSN接收到来自HE/HLR的认证向量中包含的CK1和IK1, 合法用户接收到正确的RAND之后, 在MS中计算得到CK2=f3k (RAND) 和IK2=f4k (RAND) , 并且CK1=CK2, IK1=IK2。由于通信中的密钥并没有在空中传输, 确保了密钥的安全。

1.3 可能的攻击

通过上面的分析可以发现, 3G安全机制完全建立在MS和HE/HLR之间共享密钥K的基础之上, 若该密钥K泄漏, 那么通信中的安全将无从谈起, 攻击者可以轻而易举地在空中截获RAND, 并用相关算法取得相互认证且计算出CK和IK, 从而通信中的所有数据都可以被攻击者截获。由于这个密钥K是长期不变的, 所以一旦泄漏, 将对用户和网络运营商造成不可估量的损失。

2 3G认证协议的一种改进

对上面3G认证和密钥分配协议提出一个改进办法。认证和密钥分配过程如下:

其中, {……}K表示单钥精密计运算, RI为一个由MS产生的随机数。

在上述改进方案中, VLR/SGSN收到移动用户的注册请求中包括了MS对随机数RI用与HE/HLR共享的密钥加密后的信息。VLR/SGSN向用户的HE/HLR发送该用户的永久用户身份标识以及收到的加密消息, 请求该用户进行认证。

HE/HLR收到VLR/SGSN的认证请求后, 出计算认证向量AV外, 还将{RI}K解密, 再用与VLR/SGSN共享的密钥KHV重新加密, 与认证向量一同发送给VLR/SGSN。

VLR/SGSN接收到{AV, RI}KHV后, 对加密消息解密恢复出RI, 并将RI连同RAND||AUTN发送给MS, 请求用户产生认证数据。

MS接到认证请求后, 首先验证随机数RI的正确性, 正确则产生应答消息RES, 否则放弃该过程。

VLR/SGSN接收到来自MS的RES后, 将RES与认证向量AV中的XRES进行比较, 相同则认证成功, 否则认证失败。

3 结语

3G认证和密钥协商在整个3G安全体系结构中有着重要的地位, 相信在未来的不久, 随着我国3G的全面应用, 3G的规范会更加完善, 必将出现近乎完美的安全解决方案。

参考文献

[1]Bruce Schneier.应用密码学[M].北京:机械工业出版社, 2000.15-47.

[2]张鹏.第三代移动通信接入认证研究[D].重庆:西南交通大学硕士学位论文, 2004.

身份认证协议 篇9

数据的安全性问题始终是数据传输系统中受到重点关注的问题,在空间数据系统与航天器测控系统设计和任务实施过程,数据安全更是占有举足轻重的地位。在航天技术发展的初期,保障数据安全依靠的是纯粹的机要手段。空间数据系统与航天器测控系统中所使用的频率、调制体制、指令码表等被列入绝密级,由专人负责保管。空间数据系统产品的研制、测试、试验和使用要严格遵守有关的保密规定和程序。这些措施在当时条件下是非常有效的。然而,现代电子侦察和电子对抗技术使空间数据系统具有本质上的开放性,这种开放性对依靠机要手段保障空间数据系统安全的传统方法形成了严重的威胁。敌方可以通过技术手段通过开放的空间链路截获所发送的遥测遥控信号,分析和窃取信息内容,并通过伪造遥控信息对正常工作中的航天器进行攻击和破坏。因此,必须也只可能依靠数学及其物理实现来保证空间数据系统的安全性。

空间数据系统咨询委员会(CCSDS)是空间数据系统技术权威的国际组织,采用CCSDS标准是空间通信领域技术发展的必然方向。

CCSDS的Security Working Groups一直致力于针对空间任务的安全需求研究。2006年,CCSDS制定了Security Threats Against Space Missions[1]和The Application of CCSDS to Secure Systems[2]建议书,描述了空间任务所面临的安全威胁并提出了基于CCSDS标准的各类航天任务安全框架。虽然不同性质的航天任务有不同级别的安全需求,但CCSDS建议对遥控信息进行认证保护是最基本的要求;而且,针对军用通信等安全需求较高的航天任务,对遥控信息进行加密和认证的双重保护是必要的。将不同密码学算法应用到CCSDS分包遥控系统中成为CCSDS近两年的研究重点之一[3]。其中,意大利的S.Susanna等人在文献[4]中首先提出了在ESA分包遥控系统的分段层中采用EAX认证加密算法(Authenticated Encryption with Associated Data,AEAD),对遥控信息进行加密和认证的联合数据保护;文献[5]中,ZHANG L等人提出在CCSDS分包遥控系统中采用GCM认证加密算法进行数据保护的具体方法,并针对空间链路的特点对消息认证码的长度进行了分析,提出了一种根据传输帧数据域长度计算消息鉴别码最佳长度的算法;德国的Daniel Fischer等人在文献[6,7]分析了数据保护机制在分包遥控系统中的实现位置,并提出了在传统的分段层实现数据保护的局限性和在数据链路层实现数据保护机制可能产生认证循环与分包遥控系统中的COP-1闭环之间的冲突。

本文通过分析CCSDS分包遥控系统的数据操作流程,基于不同级别的安全需求,以及认证算法能够保证传输信息的认证性和完整性的特点,总结了在CCSDS分包遥控协议中应用认证算法的各种方法,并结合CCSDS Security Working Group的最新研究进展,对分包遥控协议数据中的保护机制研究进行了展望。

2 CCSDS分包遥控系统及其安全需求

分包遥控是由空间数据系统咨询委员会(CCSDS)的建议书所规定的空间数据系统数据传输体制。在分包遥控系统中,不同信源、不同速率的数据通过动态管理形成统一的数据流,通过上行信道传输,包括航天器平台和有效载荷在内的各种应用过程通过这种方式获得灵活、透明和高效的数据传输业务。由于分包遥控标准已被各主要空间国家(地区)采用,因而可以实现各国家(地区)地球站之间的交互支持[8]。

2.1 分包遥控系统

分包遥控采用分层体制,可以将复杂的航天器控制过程简化为由各层一系列简单的标准操作同等实现,层与层之间按照一定的协议由标准的数据格式接口,其层次模型如图1所示。分包遥控传输帧结构如图2所示,“控制命令标志”字段将遥控帧分为装载遥控数据的“D模式”帧和装载控制命令的“C模式”帧。传统的分包遥控安全保护机制只对“D模式”帧进行加密和认证操作,而“C模式”帧则保持明文状态,以保证正常的星地操作。由于“C模式”帧装载了遥控系统的控制命令,如果受到攻击,对遥控系统所造成的影响会更加严重,因此,在安全级别较高的航天任务中,例如军用卫星通信等特殊环境下,对“C模式”帧进行保护也是必要的。

为了保证星地操作中上行数据链路的可靠性,分包遥控在传送层定义了命令操作步骤(COP-1),他负责数据在对等层之间进行无差错、按序、无遗漏及无重复的闭环操作,是CCSDS分包遥控中的重要组成部分[9]。

COP-1是CCSDS建议书中实现遥控闭环控制的关键。在传送层内由一对同步操作步骤构成:发送端的帧操作步骤(FOP-1)和接收端的帧接收和汇报机制(FARM-1)。发送端的FOP将遥控帧发送给接收端的FARM,FARM通过遥测下行信道返回命令链路控制字(CLCW)给FOP-1,完成对遥控帧接收状态的闭环报告。COP-1保证遥控数据在有噪信道中正确、完整、顺序的传输。

COP-1基于GO-BACK-N ARQ策略的滑动窗口流控制机制使用帧序列计数的接收和重传,FOP-1组织遥控帧时同时启动一个向上的序列计数器,FARM-1只接收到达帧序列计数与星上的帧序列计数相符合的传输帧,如果计数不匹配,FARM-1将拒收后续到达的一系列帧,并通过下行链路返回CLCW要求FOP-1重传。FOP-1检测CLCW是否有帧被拒收,如果有,则从FARM-1所期待的帧序列号开始重新发送。

2.2 CCSDS体制分包遥控系统安全需求

CCSDS分包遥控系统的安全需求主要包括遥控数据信息的机密性、完整性和认证性。

机密性 保证入侵者不能获得协议执行过程中的协议数据内容。

数据完整性 在协议执行过程中,消息的接收者应该能够验证协议数据没有被修改;入侵者不能伪造消息代替合法协议数据。

认证性 在协议的执行过程中,消息的接收者应该能够确认协议数据的来源;入侵者也不可能伪装成他人。认证性不仅适用于协议通信双方,也适用于协议数据本身。通信双方应该能够互相证明自己身份的合法性,经过信道传送到接收方的数据应该可以被验证与消息来源所发送的数据是完全一致的。

在空间任务中,为了保证入侵者不能对遥控系统数据进行恶意修改或破坏,遥控系统的数据完整性和认证性非常重要。在民用任务中,一般不需要保证上行控制链路的机密性,但是在军用任务或者其他关键任务中,保证上行控制链路的机密性则是必须的。

3 认证算法的实施

3.1 概述

由于空间通信环境具有链路带宽窄、时延大和上下行信道非对称的特点,在分包遥控系统中广泛采用对称密码学算法来进行数据保护操作,与非对称密码学算法相比,对称密码学算法执行过程更为简单、速度更快,引起的系统开销也远小于非对称密码学算法。

为了保证信息的完整性和来源合法性,通常在原有的消息上附加一个数字签名的数据单元来进行身份认证,数字签名用于保证所接受到的信息确实是签名者所发送的。

由于空间通信不同于地面网络的一些特点,必须设计高效的数字签名算法来满足空间通信的要求,另外必须建立公钥基础设施PKI、密钥管理基础设施KMI、授权管理基础设施PMI以提供身份认证服务、授权服务和密钥管理服务。

通过调研发现,大多数采用CCSDS标准的各国遥控、遥测系统中,协议身份认证机制均采用基于对称加密的报文鉴别码(MAC)进行认证或采用基于散列函数的报文鉴别码进行认证。

为了进行认证操作,也需要在原有的数据结构中添加一些数据域。其中最重要的部分是数字签名域,数字签名域中包含了用于协议认证的数字签名,该数字签名是由MAC算法计算得出。为了保证加密消息的新鲜性以及抵抗重放攻击,需要另外的数据域来存放新鲜性信息。常见的一种做法是增加时间戳或重放计数器。图3描述了协议数据认证机制数据结构。协议数据认证机制也会产生大量的数据负载。通常的数字签名长度是16 B以上,这对于本身长度较短的控制命令数据来说,安全机制所带来的负载是相当大的。因此采用不同的压缩算法对数字签名进行压缩和修正,从而尽可能在保证协议数据认证机制可靠的前提下,减小数字签名所带来的数据负载。

3.2 分包遥控数据认证保护的实现

传统研究认为,TC协议栈传送层是遥控系统中最适合进行数据认证保护的位置[2]。分包遥控系统的传送层向上提供最多64个虚拟信道(VC),而分段层向上提供相对于每个虚拟信道64个多工器入口点(MAP),他们都是相互独立的。为了保持这种独立性,在传送层实现数据保护是对64个虚拟信道分别进行,而在分段层以上的各层要对64×64个MAP分别进行,这对数据保护过程中的密钥管理、使用等环节带来了更大的困难。然而,在分包遥控系统传送层中,数据保护机制不能保护命令操作步骤中的COP标志(“通过标志”与“控制命令标志”),这就给入侵者提供了发起拒绝服务攻击的可能。

而在分包遥控系统的数据链路层实现数据保护机制主要是针对整个传输帧进行数据保护,而且由于数据链路层位于传送层与信道编码层之间,在数据链路层进行数据保护同样具有操作简单的优点,但是在数据链路层的帧汇报和接收检查机制操作前(FARM)进行认证操作时会引起分包遥控系统中COP-1循环与认证循环的冲突,有可能造成通信进程的死锁[7]。

并且,由于遥控帧结构中的帧序列信息过于短小(B类遥控帧中完全没有帧序列信息,A类遥控帧中帧序列信息长度仅为一字节),单单进行认证操作时,消息认证码抵抗重放攻击的能力非常有限[10]。

在认证算法的具体应用时,认证操作应位于虚拟信道多路复用与COP命令操作步骤之间进行。如图4所示,这样就避免了认证循环机制与COP的检错重发循环之间存在的冲突。因此,在数据链路层采用认证算法不但能够充分保证遥控帧数据的完整性和数据来源的认证及抵抗重放攻击,而且由于导头部分未进行加密,能够保证星地间通信不受数据保护操作的影响。同时,由于将认证位置提前到帧检查之后进行,对接收到的数据、命令等进行认证,并通过CLCW向地面控制端汇报帧接收反馈数据,不必在COP中另外增加安全汇报控制操作。对于普通的安全等级的命令、数据等在该处进行认证后即可进入后续操作。

3.3 CCSDS推荐的认证算法

目前国际商业运用中普遍使用的签名算法是安全散列算法-1(SHA-1)。他的安全强度自2004年王晓云教授成功改进了其攻击方法后,从2的80次方减少到2的63次方,这就使攻击成功率提高了2 000倍。对于拥有强大资源的攻击者来说,攻击SHA-1已经变成现实。美国国家标准与技术研究院(NIST)鼓励迅速采用SHA-2算法,同时建议美国联邦机构必须在2010年底前停止使用SHA-1的数字签名。2007年1月,在美国科罗多那州召开的CCSDS安全工作会议对认证运算法进行了讨论[3]。工作组指出在SHA-1的基础上鼓励使用SHA-256、SHA-384和SHA-512等算法以保护遥控数据的完整性及信息来源的合法性。

任何长度增加和签名运算循环轮次增加,都会增加空间处理器的负担,使他对信息处理周期加长。空间系统遥控指令一般是长度较短,重复使用的消息。签名分组长度长,就会使填充字节增加。摘要长会使遥控指令长度增加。SHA-1的安全强度受到严重挑战,SHA-256的分组长度和摘要长度都远小于SHA-384,SHA-512,而其分组长度和SHA-1相等。对已经使用SHA-1的CCSDS体制的分包遥控系统来说,SHA-256的分组长度所增加的运算复杂度最小,在现有硬件基础上采用SHA-256算法对系统所造成的影响也最小。综合多方面,运用SHA-256在分包遥控的数据链路层进行认证算法的实施是理想的。

4 结 语

卫星遥控系统安全级别的高低与保护措施的强度是由航天任务的性质所决定的,在实际应用时需要综合考虑各种相关问题,以最小的开销满足安全需求。由于空间链路资源的匮乏及星上处理能力的限制,要尽可能在不影响有效数据吞吐量的前提下对遥控数据实施安全保护。

与在传送层进行认证操作相比,在数据链路层的帧接收与检查机制后应用认证加密算法避免了与COP-1之间的冲突。并且能够通过虚拟信道的多路复用机制降低签名或消息认证码所带来的性能消耗。由于SHA-1面临新的攻击方法已不再具备无条件安全性,按照CCSDS Security Working Group的建议,在CCSDS分包遥控协议中采用SHA-256算法对遥控数据信息进行认证保护能够以最小的代价获得安全性能的提高。

由于分包遥控系统的数据处理过程较为复杂,空间传输链路性质较为特殊,通过理论分析很难给出具体的解决方法,在今后的研究中需要通过仿真工具搭建仿真平台进行测试,以获得认证算法在分包遥控系统中的最佳应用方案。

参考文献

[1]CCSDS 350.1-G-1,Security Threats Against Space Missions[S].

[2]CCSDS 350.0-G-2,The Application of CCSDS to SecureSystems[S].

[3]Recommended Practice for Authentication.Draft Recom-mended Practice,2007(available at:http://cwe.ccsds.org/sea/docs/).

[4]Spinsante S,Chiaraluce F,Gambi E.New Perspectives inTelecommand Security:The Application of EAX to TC Seg-ments[C].Proc.Data Systems in Aerospace DASIA,Na-ples,Italy,2007.

[5]Zhang Lei,Tang Chaojing,Zhang Quan.A New Method ofEnhancing Telecommand Security:The Application of GCMin TC Protocol[C].Proc.Second International Conferenceon Space Information Technology,Wuhan,China,2007.

[6]Daniel Fischer,Mario Merri,Thomas Engel.Introducing aGeneric Security Extension for The Packet TM/TC ProtocolStack[C].4th ESA International Workshop on Tracking,Telemetry and Command Systems for Space Applications,2007.

[7]Fischer D,Engle T,Merri M.Application of the Integrationof Data Security in the CCSDS Packet TM/TC Standards[C].Ninth International Conference on Space Operations(Spaceops 2006),Rome,Italy,2006.

[8]CCSDS 232.0-B-1,TC Space Data Link Protocol[S].

[9]CCSDS 232.1-B-1,Command Operation Procedures-1[S].

[10]陈宜元.卫星无线电测控技术(上册)[M].北京:宇航出版社,2007.

[11]谭维炽,顾莹琦.空间数据系统[M].北京:中国科学技术出版社,2004.

上一篇:实践技能大赛下一篇:安全防范意识