身份认证对称密钥的认证协议公开密钥的认证协议公钥基础设施PKI_...

身份认证对称密钥的认证协议公开密钥的认证协议公钥基础设施PKI_...

2023年6月27日发(作者:)

⾝份认证对称密钥的认证协议公开密钥的认证协议公钥基础设施PKI要点:1:了解⾝份认证的概念及意义;2:了解各种认证协议的基本思想,重点掌握Kerberos⼯作原理;3:了解公钥基础设施PKI的基本思想,重点掌握X.509协议;4.1概述: 随着互联⽹的不断发展,⼈们逐渐开始尝试在⽹络上购物、交易以及各种信息交流。然⽽⿊客、⽊马以及⽹络钓鱼等恶意欺诈⾏为,给互联⽹络的安全性带来了极⼤的挑战。层出不穷的⽹络犯罪,引起了⼈们对⽹络⾝份的信任危机,如何证明“我是谁?”及如何防⽌⾝份冒⽤等问题已经成为⼈们必须解决的焦点问题,解决这些问题的唯⼀途径就是进⾏⾝份认证。 ⾝份认证是证实⽤户的真实⾝份与其所声称的⾝份是否相符的过程。⾝份认证的依据应包含只有该⽤户所特有的并可以验证的特定信息。主要包括三个⽅⾯。 (1)⽤户所知道的或所掌握的信息,如密码、⼝令等。 (2)⽤户所拥有的特定东西,如⾝份证、护照、密钥盘等。 (3)⽤户所具有的个⼈特征,如指纹、笔迹、声纹、虹膜、DNA等。 ⽬前,实现⾝份认证的技术主要包括基于⼝令的认证技术、基于密码学的认证技术和⽣物特征的认证技术。基于⼝令的认证原理是通过⽐较⽤户输⼊的⼝令与系统内部存储的⼝令是否⼀致来判断其⾝份,基于⼝令的认证简单灵活,是⽬前最常使⽤的⼀种认证⽅式,但由于⼝令容易泄漏,其安全性相对较差。基于⽣物特征的认证是指通过计算机利⽤⼈体固有的⽣理特征或⾏为特征来识别⽤户的真实⾝份,⽣理特征与⽣俱来,多为先天性;⾏为特征则是习惯使然,多为后天性。⽣理和⾏为特征被统称为⽣物特征,常⽤的⽣物特征包括脸像、虹膜、指纹、声⾳、笔迹等。⽣物特征认证与传统的密码、证件等认证⽅式相⽐,具有依附于⼈体、不易伪造、不易模仿等优势。基于密码学的认证主要包括基于对称密钥的认证和基于公开密钥的认证,这部分会在后⾯的内容中详细介绍。 考虑到认证数据的多种特征,⾝份认证可以进⾏不同的分类。根据认证条件的数⽬分类,仅通过⼀个条件的相符来证明⼀个⼈的⾝份,称为单因⼦认证;通过两种不同条件来证明⼀个⼈的⾝份,称为双因⼦认证;通过组合多种不同条件来证明⼀个⼈的⾝份,称为多因⼦认证。根据认证数据的状态来看,可以分为静态数据认证(Static Data Authentication,SDA)和动态数据认证(Dynamic Data Authentication,DDA)。静态数据认证是指⽤于识别⽤户⾝份的认证数据事先已产⽣并保存在特定的存储介质上,认证时提取该数据进⾏核实认证;⽽动态数据认证是指⽤于识别⽤户⾝份的认证数据不断动态变化,每次认证使⽤不同的认证数据,即动态密码。动态密码是由⼀种称为动态令牌的专⽤设备产⽣,可以是硬件也可以是软件,其产⽣动态密码的算法与认证服务器采⽤的算法相同.⾝份认证还有其他的分类⽅法,这⾥不再⼀⼀说明。作为信息安全必不可少的技术⼿段,⾝份认证在整个安全体系中占有⼗分重要的位置。4.2认证协议: 以⽹络为背景的认证技术的核⼼基础是密码学,对称密码和公开密码是实现⽤户⾝份识别的主要技术,虽然⾝份认证⽅式有很多,但归根结底都是以密码学思想为理论基础。实现认证必须要求⽰证⽅和验证⽅遵循⼀个特定的规则来实施认证,这个规则被称为认证协议,认证过程的安全取决于认证协议的完整性和健壮性。4.2.1基于对称密钥的认证协议: 基于对称密码体制下的认证要求⽰证⽅和验证⽅共享密钥,通过共享密钥来维系彼此的信任关系,实际上认证就是建⽴某种信任关系的过程.在⼀个只有少量⽤户的封闭式⽹络系统中,各⽤户之间的双⼈共享密钥的数量有限,可以采⽤挑战-应答⽅式来实现认证;对于规模较⼤的⽹络系统,⼀般采⽤密钥服务器的⽅式来实现认证,即依靠可信的第三⽅完成认证。 为了更⽅便地进⾏协议描述,规定⼀些描述符号,具体如下: ◇A→B表⽰A向B发送信息; ◇Ek(x)表⽰使⽤共享密钥k对信息串x进⾏加密; ◇x||y表⽰信息串x和y相连接. 1)基于挑战-应答⽅式的认证协议 基于挑战-应答⽅式的认证协议实际上是由验证⽅⽣成⼀个⼤的随机数据串,即挑战,将挑战发送给⽰证⽅,⽰证⽅使⽤共享密钥加密挑战,然后回送给验证⽅,验证⽅通过解密密⽂得到挑战,通过验证挑战的正确与否,来认证⽰证⽅的⾝份。 如图4.1所⽰,A和B通信为了核实对⽅的⾝份,B发送给A⼀个挑战Nb,A收到后使⽤A和B之间的共享密钥k对Nb进⾏加密,然后将密⽂发送给B,B使⽤k还原密⽂判断还原的内容与挑战Nb是否⼀致.在这个过程中B可以核实A的⾝份,因为只有A才能够使⽤k加密Nb。 图4.1基于挑战-应答⽅式的认证协议 2)Needham-Schroeder认证协议 Needham-Schroeder协议是由Needham及Schroeder在1978年所设计的,是早期较有影响的依靠可信第三⽅的认证协议。在Needham-Schroeder认证协议中,所有的使⽤者共同信任⼀个公正的第三⽅,此第三⽅被称为认证服务。每个使⽤者需要在认证服务器(Authentication Server,AS)上完成注册,AS保存每⼀个⽤户的信息并与每⼀个⽤户共享⼀个对称密钥。实际上⽤户和AS之间的信任关系依靠它们的共享密钥来维系。 Needham-Schroeder协议的具体描述如下。 其中,KDC为AS的密钥分配中⼼,主要功能为⽤户⽣成并分发通信密钥Ks,Ka和Kb分别是⽤户A、B与AS之间的共享密钥,Needham-Schroeder协议的⽬的就是要安全地分发⼀个会话密钥Ks给A和B,A、B和KDC可以通过对称加密信息及挑战值来核实对⽅的⾝份,并取得信任。 Needham-Schroeder协议虽然设计⽐较严密,但也存在漏洞。协议的第4、第5步⽬的是为了防⽌某种类型的重放攻击,特别是如果敌⽅能够在第3步捕获该消息,并重放,将在某种程度上⼲扰破坏B的运⾏操作.但假定攻击⽅C已经掌握A和B之间通信的⼀个⽼的会话密钥,C可以在第3步冒充A利⽤⽼的会话密钥欺骗B,除⾮B记住所有以前使⽤的与A通信的会话密钥,否则B⽆法判断这是⼀个重放攻击.如果C可以中途阻⽌第4步的握⼿信息,则可以冒充A在第5步响应,从这⼀点起C就可以向B发送伪造的消息,⽽对B来说,会认为是⽤认证的会话密钥与A进⾏的正常通信。 3)Kerberos Kerberos是希腊神话中的⼀个拥有三个头和⼀个蛇形尾巴的狗,是地狱之门的守卫。20世纪80年代,美国⿇省理⼯学院MIT启动了⼀个被称为Athena的⽹络安全计划,⽹络认证是该计划的重要组成部分,被命名为Kerberos,⽤来⽐喻是⽹络之门的保卫者,“三个头”分别指认证(Authentication)、簿记(Accounting)和审计(Audit)。 Kerberos的设计⽬标是通过对称密钥系统为客户机/服务器应⽤程序提供强⼤的第三⽅认证服务。Kerberos的认证过程不依赖于主机操作系统的认证,⽆须基于主机地址的信任,不要求⽹络上所有主机的物理安全,并假定⽹络上传送的数据包可以被任意地读取、修改和插⼊数据。Kerberos作为⼀种可信任的第三⽅认证服务,是通过传统的共享密码技术来执⾏认证服务的,每个⽤户或应⽤服务器均与Kerberos分享⼀个对称密钥。Kerberos由两个部分组成,分别是⼀个AS和⼀个票据授予服务器(Ticket Granting Server,TGS)。Kerberos提供的认证服务,允许⼀个⽤户通过交换加密消息在整个⽹络上与另⼀个⽤户或应⽤服务器互相证明⾝份,⼀旦⾝份得以验证,Kerberos给通信双⽅提供对称密钥,双⽅进⾏安全通信对话。在Kerberos体系中,票据Ticket是客户端访问服务器时,提交的⽤于证明⾃⼰⾝份,并可传递通信会话密钥的认证资料。AS负贵签发访问TGS服务器的票据,TGS负责签发访问其他应⽤服务器的票据。 Kerberos协议的认证过程分为三个阶段,共六个步骤,如图4.2所⽰。 图4.2 Kerberos 协议的认证过程 4)Windows系统的安全认证: Windows 2000 Server作为⽹络操作系统,其⽤户登录时的⾝份认证过程也是采⽤对称密钥加密来完成的。每⼀个试图登录到Windows 2000 Server管理的⽹络上的⽤户必须是已经在主域控制器上进⾏了有效注册的合法⽤户,⽤户与主域控制器共享⼝令,在域控制器的安全⽤户管理(Security Accounts Manager,SAM)数据库(Database)中保存注册⽤户的⽤户名、⼝令的散列以及其他信息。 图4.3为Windows⽤户登录认证具体过程,⽤户⾸先激活Winlogon窗⼝,并且输⼊⽤户名和⼝令,然后向域控制器发送登录请求,同时计算出⼝令的散列,⼝令及其散列不包含在登录请求信息中。域控制器收到登录请求后产⽣⼀个8字节的质询(挑战)并发送给客户端,同时取出给⽤户的⼝令散列,⽤此⼝令散列对质询进⾏散列计算(也称加密),得到质询散列。客户端收到8字节的质询后,⾸先使⽤前边计算得到的⼝令散列对质询进⾏散列计算,得到质询散列,随后将计算出的质询散列作为应答发送给域控制器。域控制器⽐对其计算出的质询散列和⽤户应答回送的质询散列,如果相同则登录认证通过,否则登录认证失败,同时向⽤户发送登录认证结果。在Windows 2000登录认证过程中,⽆需通过⽹络传输⼝令或⼝令散列,很好地保证了⼝令的安全。 图4.3 Windows⽤户登录认证过程4.2.2基于公开密钥的认证协议: 基于公开密钥体制下的认证协议通常有两种认证⽅式,⽅式⼀是实体A需要认证实体B,A发送⼀个明⽂挑战消息(也称挑战因⼦,通常是随机数)给B,B接收到挑战后,⽤⾃⼰的私钥对挑战明⽂消息加密,称为签名;B将签名信息发送给A,A使⽤B的公钥来解密签名消息,称为验证签名,以此来确定B是否具有合法⾝份。⽅式⼆是实体A将挑战因⼦⽤实体B的公钥加密后发送给B,B收到后是⽤⾃⼰的私钥解密还原出挑战因⼦,并将挑战因⼦明⽂发还给A,A可以根据挑战因⼦内容的真伪来核实B的⾝份。 1)Needham-Schroeder公钥认证协议 Needham和Schroeder在1978年所设计的Needham-Schroeder公钥认证协议,是⼀个双向认证协议,具体内容如下。 2)基于CA数字证书的认证协议 基于CA数字证书的认证协议也属于基于公开密钥的认证协议范畴,只是引⼊了⼀个可信的第三⽅来管理公钥并提供仲裁,在实际的⽹络环境中公钥是采⽤数字证书(Certificate)的形式来完成发布的.数字证书是⼀个经过权威的、可信赖的、公正的第三⽅机构(即CA认证中⼼,CA是Certificate Authority的缩写)签名的包含拥有者信息及公开密钥的⽂件。 数宇证书绑定了公钥及其持有者的真实⾝份,它类似于现实⽣活中的居民⾝份证,所不同的是数字证书不再是纸质的证书,⽽是⼀段含有证书持有者⾝份信息并经过CA认证中⼼审核签发的电⼦数据,可以更加⽅便灵活地运⽤在电⼦商务和电⼦政务中。 ⽬前数字证书的格式普遍采⽤的是X.509V3国际标准,如图4.4所⽰,证书的内容包括证书版本、序列号、签名算法、签发者、有效期、主体唯⼀标识、公钥、证书颁发者的数字签名等。 基于数字证书进⾏⾝份认证的过程如图4.5所⽰,共包括如下五个基本环节。 图4.4 X.509 V3的证书 图4.5 基于数字证书的⾝份认证过程 (1)⽰证⽅A⾸先需要向CA提交相关注册资料,进⾏数字证书申请。 (2)CA对A提供的资料进⾏审核,通过后向其颁发使⽤CA私钥签过名的数字证书,数字证书包含了A的⾝份信息和A的公钥,由于使⽤了CA的私钥签名,因此其他⼈⽆法伪造。 (3)A使⽤私钥对特定信息进⾏签名,连同数字证书⼀起发送给B,B为验证⽅。 (4)B为了能够核实A的数字证书的真伪,必须先获得CA的公钥。 (5)B使⽤CA的公钥对A的数字证书进⾏合法性验证,通过后获得A的公钥,对A签过名的特定信息进⾏认证.通过这五个环节,B可以确认A的⾝份以及其签名的信息。4.3 公钥基础设施PKI: 为了解决Internet上电⼦商务等应⽤的安全问题,世界各国经过多年的研究,初步形成了⼀套完整的Internet安全解决⽅案,即⽬前被⼴泛采⽤的公钥基础设施(Public Key Infrastructure,PKI)。PKI是⼀种遵循⼀定标准的密钥管理基础平台,它能够为所有⽹络应⽤提供加密和数字签名等密码服务所必需的密钥和证书管理。简单来说,PKI就是利⽤公钥理论和技术建⽴的提供安全服务的基础设施。⽤户可利⽤PKI平台提供的服务进⾏安全的电⼦交易、通信和互联⽹上的各种活动。4.3.1 PKI体系结构: PKI采⽤数字证书技术来管理公钥,通过第三⽅的可信任机构—CA认证中⼼把⽤户的公钥和⽤户的其他标识信息捆绑在⼀起,在互联⽹上验证⽤户的⾝份。如图4.6所⽰,在PKI的组成结构中,处在中⼼位置的是构建PKI的核⼼技术,即公钥算法和数字证书技术,在此技术基础上实现的PKI平台包括四个基本功能模块和⼀个应⽤接⼝模块。 图4.6 PKI组成结构 1)认证机构CA CA是PKI的核⼼执⾏机构,也称为认证中⼼。其主要功能包括数字证书的申请注册、证书签发和管理。其⼯作内容包括验证并标识证书申请者的⾝份,对证书申请者的信⽤度、申请证书的⽬的、⾝份的真实可靠性等问题进⾏审查,确保证书与⾝份绑定的正确性。确保CA⽤于签名证书的⾮对称密钥的质量和安全性。当服务范围较⼤时,CA还可以拆分出证书申请注册机构(Registration Authority,RA),专门负责证书的注册申请和撤销申请等管理⼯作。 2)证书库 证书库(Repository)是CA颁发证书和撤销证书的集中存放地,它像⽹上的“⽩页”⼀样,是⽹上的公共信息库,可供公众进⾏开放式查询.⼀般来说,查询的⽬的有两个:其⼀是想得到与之通信实体的公钥,其⼆是要验证通信对⽅的证书是否已进⼊“⿊名单”。证书库的构造⼀般采⽤LDAP(Lightweight Directory Access Protocol 轻型⽬录访问协议)协议,搭建分布式的⽬录系统。 3)密钥备份及恢复 密钥备份及恢复是密钥管理的主要内容,⽤户由于某些原因将解密数据的密钥丢失,从⽽使已被加密的密⽂⽆法解开。为避免这种情况的发⽣,PKI提供了密钥备份与密钥恢复机制,即当⽤户证书⽣成时,密钥被CA备份存储,当需要恢复时,⽤户只需向CA提出申请,CA就会为⽤户⾃动进⾏密钥恢复。 4)证书撤销处理 证书撤销处理是PKI平台的另⼀重要⼯作,证书和密钥都有⼀定的⽣存期限。当⽤户的私钥泄漏或公司的某职员离职时,都需要撤销原CA证书。被撤销的CA证书将进⼊证书库的“⿊名单”,⽤于公众来核实证书的有效性。 5)PKI应⽤接⼝ PKI应⽤接⼝是使⽤者与PKI交互的唯⼀途径,其重要性不⾔⽽喻。PKI应⽤接⼝也可以看成是PKI的客户端软件,使⽤者在其计算机中安装PKI的客户端软件,以实现数字签名、加密传输数据等功能。此外,客户端软件还负责在认证过程中,查询证书和相关证书的撤销信息以及进⾏证书路径处理、对特定⽂档提供时间戳请求等。4.3.2基于X.509的PKI系统: X.509是国际电信联盟-电信(ITU-T)部分标准和国际标准化组织的证书格式标准。1988年X.509⾸次发布,1993年和1996年两次修订,当前使⽤的版本是X.509 V3,它加⼊了扩展字段⽀持,极⼤地增进了证书的灵活性。作为ITU-ISO⽬录服务系列标准的⼀部分,X.509的主要作⽤是确定了公钥证书结构的基准,X.509 V3证书包括⼀组按预定义顺序排列的强制字段,还有可选扩展字段,即使在强制字段中,X.509证书也具有很⼤的灵活性,因为它为⼤多数字段提供了多种编码⽅案。X.509标准在PKI中具有极其重要的地位,PKI由⼩变⼤,由原来的⽹络封闭环境到今天的分布式开放环境,X.509起了巨⼤的作⽤,可以说X.509标准是PKI的雏形。 X.509的CA⽬录是⼀个层次结构,如图4.7所⽰,如果某⽤户x希望验证⽤户a的证书,⽽⽤户a的CA证书⼜是认证机构D签发的,则⽤户x只要得到认证机构D的公钥,就可以验证⽤户a的证书中D的签名,即完成对⽤户a的证书的认证,从⽽得到⽤户a的公钥。假如⽤户x不能确定D的公钥,就必须查看D的证书,由于D的证书是由认证机构C签发的,因此,⽤户x需要使⽤C的公钥验证D的证书并得到其公钥;以此类推,最坏的情况是⽤户x需要使⽤认证机构A的公钥,⽽A是此认证机构的根,A的证书也叫根证书,是使⽤其私钥⾃签名产⽣的,⽤户在使⽤CA证书之前必须先下载安装A的证书,同时系统会⾃动加载保存认证机构A的公钥。这个证书的认证路径构成了⼀个证书链,起点是根证书,终点为⽤户a的证书。⽤户a的证书链可以使⽤下⾯的形式表达: 图4.7基于X.509的层次型认证机构分布 图4.8是⼀个典型的PKI模型,从图中可以看出⼀个CA认证机构主要包括RA服务器、CA服务器、安全服务器、LDAP服务器和数据库服务器,其中,RA是CA重要的组成部分,很多系统将它从CA服务器中分离出来,作为独⽴的功能单元。 图4.8 典型的PKI模型 CA服务器是整个PKI系统的核⼼,负责证书的签发管理。CA⾸先产⽣⾃⼰的公私密钥对,⽣成⾃签名的根证书。然后需要为认证中⼼操作员、安全服务器、注册服务器RA等⽣成数字证书。完成了CA的初始建设,接下来就是为⼦CA认证机构和⽤户提供数字证书的签发、更新和撤销等服务。 RA服务器主要⾯向业务受理操作员,负责登记、审核⽤户申请信息,包括注册申请和证书撤销申请,并将相关信息传给CA服务器和LDAP。 安全服务器主要负贵RA服务器和CA服务器的安全,⽤户的各种请求操作都在其监管下进⾏,这些操作包括证书申请、浏览请求、证书撤销及证书下载等服务。 LDAP是轻量⽬录访问协议的英⽂缩写,它是基于X.500标准的设计实现的,同时⽀持TCP/IP协议,便于Internet⽤户访问。LDAP是⼀个⽤来发布不同资源的⽬录信息的协议。通常它都作为⼀个集中的地址薄使⽤,不过根据组织者的需要,它可以做得更加强⼤.⼀般在LDAP⽬录中可以存储各种类型的数据:电⼦邮件地址、邮件路由信息、⼈⼒资源数据、公⽤密匙、联系⼈列表等信息.在PKI系统中,LDAP服务器负责将CA发送过来的⽤户信息、数字证和证书撤销列表等信息公布到⽹络上,提供给⽤户查询下载。 数据库服务器主要⽤于存储认证机构中的数据(如密钥、⽤户信息等)、⽇志和统计信息,以便⽤户下载以及重要的数据备份。 ⼀个典型的PKI系统应该提供如下功能。 (1)接收验证⽤户数字证书的申请。 (2)确定是否接受⽤户数字证书的申请,即证书的审批。 (3)向申请者颁发(或拒绝颁发)数字证书。 (4)接收、处理⽤户的数字证书更新请求。 (5)接收⽤户数字证书的查询、撤销。 (6)产⽣和发布证书的有效期。 (7)数字证书的归档。 (8)密钥归档。 (9)历史数据归档。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687803513a46430.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信