第07章 身份认证与PKI技术_第1页
第07章 身份认证与PKI技术_第2页
第07章 身份认证与PKI技术_第3页
第07章 身份认证与PKI技术_第4页
第07章 身份认证与PKI技术_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章身份认证与PKI技术身份认证的方法

可归结为4类:根据用户知道什么、拥有什么、是什么,以及使用数字证书来进行认证。用户知道什么,一般就是口令、用户标识码(PersonalIdentificationNumber,PIN)以及对预先设置的问题的答案;用户拥有什么,可以是IC卡、USBkey、令牌等硬件;用户是什么,基于生物识别技术的身份认证,分为静态生物认证和动态生物认证,静态生物认证包括:指纹识别、虹膜识别及人脸识别,动态生物认证包括:语音识别及笔迹特征识别。数字证书则由一个可信的第三方签发。第7章

PKI技术NetworkandInformationSecurity第7章身份认证与PKI技术在网络通信中,需要确定通信双方的身份。身份认证要用到非对称密码技术,要用到公/私钥对。关键的问题是如何确定通信方公钥的真实性,也就是说,如何将公钥与一个实体绑定在一起?这就需要公钥基础设施PKI(PublicKeyInfrastructure

)。PKI通过一个可信的第三方对实体进行身份认证,并向其签发证书,将该实体与一个公钥绑定在一起。第7章

PKI技术NetworkandInformationSecurityNetworkandInformationSecurity7.1身份认证在有安全需求的应用系统中,识别用户的身份是系统的基本要求,身份认证是安全系统中不可缺少的一部分,也是防范入侵的第一道防线。传统的身份认证方法多种多样,其安全强度也各不相同,具体方法可归结为3类:用户知道什么,拥有什么,是什么来进行认证。NetworkandInformationSecurity7.1.1用户名和口令认证

通过用户名和口令进行身份认证是最简单,也是最常见的认证方式,但是认证的安全强度不高。所有的多用户系统、网络服务器、Web的电子商务等系统都要求提供用户名或标识符(ID),还要求提供口令。系统将用户输入的口令与以前保存在系统中的该用户的口令进行比较,若完全一致则认为认证通过,否则不能通过认证。根据处理方式的不同,有3种方式:口令的明文传送、利用单向散列函数处理口令、利用单向散列函数和随机数处理口令,这3种方式的安全强度依次增高,处理复杂度也依次增大。NetworkandInformationSecurity1口令以明文形式传送时,没有任何保护NetworkandInformationSecurity2为防止口令被窃听,可用单向散列函数处理口令,传输口令的散列值,而不传输口令本身。传输口令的散列值也存在不安全因素,黑客虽然不知道口令的原文,但是他可以截获口令的散列值,直接把散列值发送给验证服务器,也能验证通过,这是一种重放攻击。NetworkandInformationSecurity3为解决重放攻击,服务器首先生成一个随机数并发给用户,用户把口令散列值与该随机数连接或异或后再用单向散列函数处理一遍,把最后的散列值发给服务器.验证码的作用是什么?只使用一次散列函数能保证安全性吗?NetworkandInformationSecurity7.1.2令牌和USBkey认证令牌实际上就是一种智能卡,私钥存储在令牌中,对私钥的访问用口令进行控制。令牌没有物理接口,无法与计算机连接,使用总是不方便.

可以用USBkey代替。USBkey通过USB接口直接连接在计算机上,不需要用户手动键入数据,比令牌方便得多。NetworkandInformationSecurity7.1.3生物识别认证

使用生物识别技术的身份认证方法,主要是根据用户的图像、指纹、气味、声音等作为认证数据。在安全性要求很高的系统中,可以把这3种认证方法结合起来,达到最高的安全性。4种身份认证方式的比较身份认证方式实现难易程度安全性使用难易程度根据用户知道什么容易低容易根据用户拥有什么中等中等中等根据用户是什么困难高困难数字证书困难高困难每一种认证方式都存在这样或那样的缺陷。如:攻击者可以猜测、盗取或者伪造用户的口令;用户可能丢失USBkey或者忘记口令;生物特征的误报、漏报、使用成本高和易用性低等;数字证书成本较高、使用复杂。在安全性要求很高的系统中,可以把几种认证方法结合起来,达到最高的安全性。PKI实际上也是身份认证的一种,它是对公钥真实性的认证。网络上传输机密信息,需要采用安全措施,无论用什么样的安全解决方案,一般都用到公钥密码,就是说要用到公/私钥对。在双方甚至多方的通信过程中,通信的一方要使用其他通信方的公钥。张三在一份电子文件上进行了数字签名,他将文件和签名通过网络传给李四。李四要验证这个签名,就需要张三的公钥。这时有个关键问题必须要解决:如何保证公钥的真实性?7.1PKI概述

第7章

PKI技术NetworkandInformationSecurity7.2.1公钥密码系统的问题在李四用张三的公钥验证张三的数字签名的时候,有一个关键问题必须要解决。李四怎样得到张三的公钥?李四又怎能确定这个公钥的确是张三的,而不是王五冒充的?我们需要一个可信的第三方,它负责验证所有人的身份,包括某些计算机设备的身份。可信第三方称为CA(CertificateAuthority),CA首先认真检查所有人的身份,然后给他们颁发证书,当然这是数字证书。证书包括持有人的信息和他的公钥等。关键的一点是证书不可被篡改,这由数字签名技术来保证。7.3

PKI概述

第7章

PKI技术NetworkandInformationSecurityPKI是利用公钥密码技术提供一套安全基础平台的技术和规范。从定义可以看出,PKI的目的是给用户提供安全服务的。

第7章

PKI技术NetworkandInformationSecurity7.2.2PKI的概念、目的、实体构成和服务PKI的运作过程李四需要证书,他要先选择一个合适的CA。CA是营利机构,而且其影响力和信誉度也是不一样的。CA收费。李四可以先去他选定CA的网站,输入有关信息。公/私钥对可以委托CA生成,也可以在李四自己的计算机上生成,这取决于李四对公/私钥对的安全要求。然后他到CA的办公地点或代理机构提交他的相关证件验证身份,信誉好的CA的验证过程是很严格的。证书中保存着李四的身份与公钥,而这个公钥对应的私钥则需要李四另外保存,为安全计,私钥通常保存在密码硬件中。这个过程很多情况下被代办了比如网上银行用的证书,银行替用户去CA申请了,从银行直接就可以得到证书。而且很多银行本身就拥有自己的CA,它直接向用户发放证书。有了证书,李四就可以和张三安全地通信了。如果需要,张三也要申请证书。在证书的使用过程中,如果不小心私钥泄密了,李四可以请CA将证书撤销。证书有一个有效期,过期后要申请新的证书。PKI相关标准主要3个组织(1)美国RSA公司RSA公司2006年并入美国EMC公司。EMC-RSA公司的研究机构是RSA实验室,制订了很多规范,都已成为事实上的国际标准。统称为PKCS(Public-KeyCryptographyStandards)。(2)互联网工程任务组互联网工程任务组(theInternetEngineeringTaskForce)是互联网标准化的主要力量,它制订的标准都以RFC的形式出现,关于PKI和密码的RFC有很多。(3)国际电信联盟国际电信联盟(InternationalTelecommunicationUnion,ITU)是电信界最权威的标准制订机构。以X开头的标准是关于网络和开放系统通信的,其中X.509标准的名称为TheDirectory:Public-keyandattributecertificateframeworks。它定义了数字证书的格式,因而成为PKI的基础标准,数字证书通常也称为X.509证书。数字证书(简称证书,也可称作公钥证书,电子证书)类似于现实生活中的个人身份证。身份证将个人的身份信息(姓名、出生年月日、地址和其他信息)同个人的可识别特征(照片或/和指纹)绑定在一起。个人身份证是由国家权威机关(公安部)签发的。因此身份证可以用来验证持有者的合法身份信息。公钥证书是将证书持有者的身份信息和其所拥有的公钥进行绑定的文件。证书文件还包含签发该证书的权威机构认证中心CA对该证书的签名。

7.3数字证书

第7章

PKI技术NetworkandInformationSecurity目前定义和使用的证书有很多种类,例如X.509证书、WTLS(WAP)证书和PGP证书等。但是大多数证书是X.509证书。ASN.1(AbstractSyntaxNotationOne)意为抽象语法符号一号,由ITU的X.208标准定义。理解ASN.1对于理解PKCS等密码标准起着至关重要的作用。它主要讨论如何将高层协议安排好的数据以二进制形式写到磁盘上,或者送到网络上。其主要目的是描述一种数据结构,而这种数据结构是高度抽象的,与任何软件、硬件都没有关系;然后再用某种编码方法将其编为二进制串。

第7章

PKI技术NetworkandInformationSecurity7.3.1ASN.1概述7.3.2X.509证书X.509证书基本结构Certificate::=SEQUENCE{tbsCertificateTBSCertificate,signatureAlgorithmAlgorithmIdentifier,signatureBITSTRING}TBSCertificate::=SEQUENCE{version[0]VersionDEFAULTv1(0),serialNumberCertificateSerialNumber,signatureAlgorithmIdentifier,issuerName,validityValidity,subjectName,subjectPublicKeyInfoSubjectPublicKeyInfo,issuerUniqueID[1]IMPLICITUniqueIdentifierOPTIONAL,subjectUniqueID[2]IMPLICITUniqueIdentifierOPTIONAL,extensions[3]ExtensionsOPTIONAL}Version::=INTEGER{v1(0),v2(1),v3(2)}第7章

PKI技术NetworkandInformationSecurityCertificateSerialNumber::=INTEGERValidity::=SEQUENCE{notBefore Time,notAfter Time}Time::=CHOICE{utcTimeUTCTime, generalTimeGeneralizedTime}UniqueIdentifier::=BITSTRINGSubjectPublicKeyInfo::=SEQUENCE{algorithm AlgorithmIdentifier,subjectPublicKey BITSTRING}Extensions::=SEQUENCEOFExtensionExtension::=SEQUENCE{extnID OBJECTIDENTIFIER,critical BOOLEANDEFAULTFALSE,extnValue OCTETSTRING}第7章

PKI技术NetworkandInformationSecurity7.3.3在线证书状态协议

在线证书状态协议(OnlineCertificateStatusProtocol,OCSP)通过OCSP,我们能实时地获取某个证书的状态,这在涉及大量金钱的场合特别重要,如股票交易、签订大金额合同。1999年发布的RFC2560定义了OCSP。用户向CA的OCSP服务器发送一个OCSP请求,指明要验证的证书,OCSP服务器则回复一个OCSP响应,指出该证书的状态。

7.3.4密码操作开发工具编制程序进行证书及其他密码操作是非常复杂的。以制作证书为例,得到用户相关数据后,先需要调用DER(DistinguishedEncodingRules)编码规则编码器编码,然后对编码后的证书签名。签名过程同样复杂,首先要确定签名算法,再用CA私钥,运行签名程序。签名程序用软件实现不安全;应该用硬件实现,密码硬件设备多种多样,如何提高通用性和可移植性是复杂的问题。程序员调用函数SignCertificate对一张证书签名即可。密码操作实现体系结构密码函数接口现在主流的密码函数接口有PKCS#11、MSCSP、JCE等。1.PKCS#11PKCS#11接口是在RSA公司的PKCS#11标准中定义的,它具有以下特点:(1)使用时不需任何机构签名。(2)由于用标准C语言编写,可跨平台使用(支持:Windows、UNIX、Linux、Aix等)。(3)不需要在系统中注册。签名函数和签名验证函数的定义:C_Sign( /*签名函数*/g_hSession, /*thesession'shandle*/signMsg, /*thedatatosign*/strlen(signMsg),

/*countofbytestosign*/signature,

/*getsthesignature*/&ulSignatureLen /*getssignaturelength*/);C_Verify( /*签名验证函数*/g_hSession,

/*thesession'shandle*/signMsg, /*signeddata*/strlen(signMsg),

/*lengthofsigneddata*/signature,

/*signature*/ulSignatureLen

/*signaturelength*/);PKCS#11、MSCSP、JCE的比较接口运行平台编写语言是否需提供商签名应用范围PKCS#11各平台通用标准C不需要不限MSCSPWindows系统C/C++需要微软签名微软产品JCE各平台通用Java需要SUN签名不限数字证书就是用户的身份与之所持有的公钥的结合。在结合之前,由一个可信任的认证机构——证书权威(CA)来证实用户的身份。然后由可信任的CA对该用户身份及对应公钥相结合的证书进行数字签名,用来证明证书的有效性。7.3证书权威(CA)

第7章

PKI技术NetworkandInformationSecurity(1)接收最终用户数字证书的申请。(2)确定是否接受最终用户数字证书的申请——证书的审批。(3)向申请者颁发或者拒绝颁发数字证书——证书的发放。(4)接收、处理最终用户的数字证书更新请求——证书的更新。(5)接收最终用户数字证书的查询、撤销。(6)产生和发布证书撤销列表(CRL)。(7)数字证书的归档。(8)密钥归档。(9)历史数据归档。第7章

PKI技术NetworkandInformationSecurity7.3.1CA的功能和组成CA构成图目录服务器CA服务器管理控制台加密机Web服务器NetworkandInformationSecurity以网页形式提供证书申请、证书更新、证书撤销、证书/CRL的查询/下载等功能。各种查询/下载从目录服务器中读取数据。对系统进行日常的配置和管理。提供各种证书请求的审核、CA策略设定、系统监控、操作员管理、日志管理、统计报表以及各种查询功能。这是CA的核心,由管理控制台调用。对各种证书请求进行处理,如证书的签发、更新、撤销、CRL的生成等。其中的密码操作调用加密机处理。

目录服务器存储了用户证书和CRL等公开信息,供所有用户下载使用。在CA中,目录服务器一般使用LDAP服务器。

由CA服务器调用。执行产生用户公私钥对、对证书及CRL签名及验证签名、对称密钥加密解密等密码操作。LDAP的优势(1)LDAP(lightweightdirectoryaccessprotocol)服务器是用来处理LDAP目录的,是一类数据库,但不是关系型数据库。LDAP目录以树状的层次结构来存储数据。LDAP可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP客户端程序访问LDAP目录。它是Internet的标准。

大多数的LDAP服务器安装起来很简单,也容易维护和优化。而且现在有自由软件OpenLDAP,使用时完全免费。LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据。复制技术是内置在LDAP服务器中的,而且很容易配置

大多数的LDAP服务器都为读密集型的操作进行专门优化,

比从关系型数据库中读取数据快一个数量级。大多数的LDAP目录服务器并不适合存储需要经常改变的数据。

CA用LDAP服务器来存储用户证书显然也是一个好的选择。LDAP的优势(2)实际使用的CA,特别是一些大型的CA其结构是极其复杂的。大型CA除自身外,还有许多远程的代理机构—注册中心(RegistryAuthority,RA)。比如,CA设于A地,为了拓展业务,在C地、D地等外地城市设立了多个RA。RA系统是CA的延伸。它负责证书申请者的信息录入、审核等工作;同时,对发放的证书完成相应的管理功能。RA系统是整个CA得以正常运营不可缺少的一部分。但有的小型系统中,将RA合并在CA中。RA仅是CA的代理机构,是依附于CA的。只有CA才可以颁发证书,RA只能以CA的名义发放证书,而不能以自己的名义发放证书。一般地,用户公/私钥对有两大类用途:1.用于数字签名:用户用私钥对消息进行数字签名,而消息的接收者使用用户的公钥对消息的数字签名进行验证。2.用于加密信息:消息发送者使用接收者的公钥加密机密数据,接收者使用私钥解密数据。第7章

PKI技术NetworkandInformationSecurity7.3.2CA对用户证书的管理

1.用户公/私钥对的分类和产生签名密钥对和加密密钥对不同管理要求(1)签名密钥对:签名密钥对由签名私钥和验证公钥组成。签名私钥具有日常生活中公章、私章、手写签名的作用,为了保证其唯一性,签名私钥绝对不能在CA做备份和存档。如果丢失或泄露只需重新生成新的密钥对,原来的签名仍可以使用旧公钥来进行验证。验证公钥则是需要存档的。用来做数字签名的这一对密钥一般可以有较长时间的生命期。(2)加密密钥对:加密密钥对由加密公钥和解密私钥组成。为了防止私钥丢失时无法解密数据,解密私钥应该在CA进行备份和存档,以便在任何时候解密历史密文数据。根据法律规定,需要时警方可以申请从CA取得用户私钥解密相关数据。用户的密钥对可有两种产生方式(1)CA替用户生成密钥对,将公钥制作进证书,然后将私钥以秘密的方式传送给用户。

对CA的可信性有很高的要求。CA必须在事后销毁用户的私钥,或做密钥备份。称为密钥托管,适用于加密密钥对,对签名密钥对不适合。多数情况下,签名私钥比加密私钥重要得多。(2)用户自己生成密钥对,然后自己保存私钥,将公钥以安全的方式传给CA,CA将这个公钥制作进证书里。这种方法适用于签名密钥对,CA不会知道用户的签名私钥。CA如何确定公钥与用户私钥是对应的?

2.证书签发证书签发前RA必须对用户进行身份认证。一种机制是使用完全手工过程,就像办理身份证、驾驶证、护照等证件一样,要求申请者向注册管理员提供所有关于他们身份的物理证据。注册管理员将检查申请者所提供的证据,满意时会初始化一个注册请求来输入数据,并由注册管理员进行数字签名后发给CA。

身份验证后,证书的发放分为两种方式:一是离线方式发放,即面对面发放,

这非常安全;二是在线方式,通过Internet使用LDAP目录服务器下载证书。现在,一般利用浏览器申请证书,用户利用浏览器申请证书的具体过程为:1.访问CA的网站,打开一个Web页面。2.填写信息时重要的一项是选择密钥生成方式。用户可以选择密钥托管或不托管。3.RA检查申请信息并且开始验证用户提供的身份信息。4.当CA接收到RA的申请时,它根据证书操作管理规范定义的颁发规则制作证书。5.生成的证书返还给用户。6.如果用户自己生成密钥对,他还需将返回的证书和先前生成的私钥对应起来。这需要运行一个程序将证书和私钥建立起关联?第7章

PKI技术NetworkandInformationSecurity申请证书的具体过程用户提出证书撤销的一般原因如下:1.密钥泄密:证书对应的私钥泄密。2.从属变更:某些关于证书的信息变更,如机构从属变更等。3.终止使用:该密钥对已不再用于原用途。第7章

PKI技术NetworkandInformationSecurity证书撤销原因撤销证书CA根据与证书持有人的协议,可由于以下原因主动撤销证书:1.知道或者有理由怀疑证书持有人私钥已经被破坏,或者证书细节不真实、不可信。2.证书持有者没有履行其职责。3.证书持有者死亡、违反电子交易规则或者已经被判定犯罪。4.CA本身原因:由于CA系统私钥泄密。4.证书更新如果与证书相关的密钥已经到达它有效生命的终点,或证书已经过期

,或证书中已经证明的一些属性可能已经改变,并且对于这些新属性值必须重新证明,这时就要发放新证书。但只要证书没有撤销,先前的密钥和证书仍然有效。证书更新时,CA要签发新的证书,其过程与证书签发类似,只不过简化了身份审核过程。如果旧证书仍在有效期内,可以撤销,也可以不撤销。密码硬件可以分为三类:一是智能卡、USBKey等小型设备;二是加密卡等中型设备;三是加密机等大型设备。这三类硬件设备的共同特点有两个:一是防篡改,如果丢失或被盗,恶意攻击者无法读出里面的敏感信息,如密钥;二是在正常使用过程中,里面存储的密钥等机密信息不被读出,操作时需将数据输入硬件设备,硬件设备加密或签名后再输出。第7章

PKI技术NetworkandInformationSecurity7.3.3密码硬件简介

7.3.4商用CA产品国内外投入商用的CA产品很多。我国的CA只能使用我国企业研发的CA产品(包括全部的软件、硬件)

,我国政府颁布的《商用密码管理条例》这是出于国家安全的考虑。实际上,不仅我国,其他国家都有类似规定,比如美国对密码产品的出口有极为严格的规定。

比如PGP,8.1以下允许在北美以外的地区使用。

Windows服务器版中安装证书Windows2000服务器版及以后的各类Windows服务器版操作系统中就有一个小型的CA,默认不安装,需要手工安装,功能较为简单。7.4.1证书验证方法证书验证是确定证书在某一时刻是否有效以及确认它能否符合用户意图的过程。包括内容:1.证书是否包含一个有效的数字签名。2.颁发者(CA)的公开密钥是否有效,是否可以用来验证证书上的数字签名。3.当前使用证书的时间是否在证书的有效期内。4.证书(或其对应的密钥)是否用于最初签发它的目的。5.检查证书撤销列表CRL或利用OCSP协议,验证证书是否被撤销。7.4信任模型第7章

PKI技术NetworkandInformationSecurity在线证书状态协议注意第二条,CA的公开密钥是否有效,CA的公钥在哪里呢?在CA的证书里。首先要验证CA的证书是否有效,然后再验证本证书是否有效,因此这是一个递归的过程。CA证书也许是另一个较大的CA签发的,那就要验证较大CA的证书,较大CA的证书也许是另一个更大CA签发的,那就要验证更大CA的证书,一直进行下去,直到最后一个CA,它的证书是自己给自己签发的。这种CA称为根CA,它的证书称为自颁发或自签名证书。这样会形成一个证书链。顶端是根CA的自签名证书,中间是中级CA的证书,最后才是一般用户的证书。要验证证书链中的全部证书。一般用户的身份由中级CA保证,中级CA的身份由根CA来保证,但是谁保证根CA的身份?仅用网络是无法解决这个问题的。你无法确定从网上传来的根CA证书的真伪。不过,在现实生活中还是有办法的。你可以去根CA的办公地点或其代理机构,拷贝它的证书。根CA都是实力雄厚的大公司,有很多可靠的途径来分发它的根证书,而且其证书的有效期长达几十年。最简单的办法是,根CA的证书已经预装在很多软件(特别是操作系统)中,安装了这个软件的同时也就拥有了根CA的证书。比如,Windows里预装了很多著名根CA的证书查看Windows中的证书Windows系统中都有证书,打开IE浏览器,单击“工具”→“Internet选项”→“内容”→“证书”,即可打开证书管理器。证书管理器将显示系统证书存储区中所有的证书。“个人”指本计算机用户的证书,“其他人”指非本计算机用户的证书,“中级证书颁发机构”指中级CA的证书,“受信任的根证书颁发机构”指根CA的证书,而且这些根CA的证书均受到信任。“导出”可将证书从证书存储区中导出为文件,“导入”可将证书文件导入证书存储区。如果将根CA的证书导入证书存储区,则意味着它受到了用户的信任。查看Windows中的证书第7章

PKI技术NetworkandInformationSecurity选择某一证书,单击“查看”按钮,即可查看其详细信息。“详细信息”选项卡中显示证书所有字段的信息,“证书路径”选项卡则显示这个证书所在的证书链。如果这个证书有一个对应的私钥,那么将显示“您有一个与该证书对应的私钥”。7.4.2信任模型1层次模型第7章

PKI技术NetworkandInformationSecurity层次结构按如下规则建立:(1)根CA认证直接在它下面的CA。(2)这些CA中的每个都认证零个或多个直接在它下面的CA。(3)倒数第二层的CA认证终端实体。在层次结构中的每个实体都必须拥有根CA的公钥(证书)。根CA公钥的安装是所有通信实体进行证书处理的基础,因此必须通过安全的离线方式来完成。2.对等模型和网状模型第7章

PKI技术NetworkandInformationSecurity两个不同信任域孤立CA建立联系使用交叉认证。交叉认证把以前无关的CA连接在一起,使得在它们各自主体群之间的安全通信成为可能。交叉认证分为域内交叉认证和域间交叉认证:(1)如果两个CA同属于相同的域(一个组织某层的一个CA认证某层的另一个CA),这种处理被称作域内交叉认证。(2)如果两个CA属于不同的域(一家公司中的CA认证了另一家的CA),这种处理被称作域间交叉认证。交叉认证可以是单向的,也可以是双向的。两个互相交叉认证的CA便构成了对等模型网状模型李四(他只信任CA4)如何验证张三的证书?可以构造一条验证路径:CA4->CA1->CA2->CA3->张三。张三(他只信任CA3)可利用如下路径来验证李四的证书:CA3->CA6->CA5->CA4->李四。

CA1CA4CA2CA5CA3CA6张三李四第7章

PKI技术NetworkandInformationSecurity注意方向,箭头方向是颁发证书的方向3混合模型根CA1及其子CA构成一个信任域,根CA2及其子CA构成另一个信任域,它们都是层次信任模型。根CA1和根CA2进行交叉认证,二者构成对等模型。根CA1子CA子CA终端用户终端用户终端用户终端用户根CA2第7章

PKI技术NetworkandInformationSecurity7.5PKI技术应用案例有了PKI之后,凡是使用公钥的地方,都要从数字证书中获取公钥

。两个案例

7.5.1软件防篡改第7章

PKI技术NetworkandInformationSecurity从网上下载可执行的软件后,由于可执行的软件可以在用户的计算机上做任何事情,用户如何相信它是无害的呢?首先要看它的生产商,大公司的软件可以信赖。可是如果黑客用自己的软件冒充大公司的软件,或者篡改大公司的软件,企图危害用户时怎么办?软件生产商对软件数字签名可以解决这个问题。迅雷软件为了保证安全和让用户放心使用,迅雷公司首先要申请证书,完成软件后,用与该证书中公钥对应的私钥对软件进行数字签名,最后将软件本身、签名值、自己的证书打成一个包供用户下载。签名和打包都由专门的工具软件来完成,微软就有这样工具,并可免费下载使用。

在Windows8中,如果要查看一个软件的数字签名,可以右击该软件,在弹出的关联菜单中选择“属性”菜单项,在属性对话框中选择“数字签名”选项卡,如左图。选择签名后,再单击“详细信息”按钮,可以查看签名的详细信息,如右图

。7.5.2网上银行

1.网上银行概述

网上银行使用了SSL协议。SSL协议对用户与银行间的所有数据进行加密等多种操作,既可以防窃听,也可以抵御重放攻击。

在网上银行的整个操作过程中,有一处用到银行服务器的公钥(证书),有两处用到用户的公钥(证书)。USBkey中保存着用户的私钥与证书网上银行安全:证书,

安全的另一核心元素—私钥

。USBkey中保存着用户的私钥与证书,真正需要保密的是私钥,而不是证书,证书是完全公开的。用户直接使用的也是自己的私钥,自己的证书是由银行来使用的。三代USBkey不同银行的USBkey有不同叫法:U盾、K宝等。第一代USBkey只有口令保护,使用其中的私钥时,必须输入口令,口令多次输入错误后USBkey会被锁定。这种USBkey有安全隐患,只要USBkey插在计算机上,病毒如果暗中记录了USBkey口令,就可以悄悄使用USBkey签名了,而用户毫无察觉。第二代USBkey增加了一个按键,使用USBkey时,必须人工按一下此按键,病毒就无机可乘了,但仍然存在另一安全隐患。用户要支付100元,可是发往USBkey的数据却被病毒篡改为1000元,而用户无法发现。第三代USBkey增设了一个小屏幕,会显示需要私钥签名的内容,用户确认无误后按确认键才能生效。第一代USBkey第二代USBkey第三代USBkey网银操作过程(1)用户浏览器利用SSL协议连接银行服务器时,需要认证银行服务器,这个过程需要银行服务器的公钥(证书)。这个过程自动进行,完全对用户透明。(2)用户登录银行服务器时,有多种登录方法,如用户名口令、一次性口令,以及证书登录。其中安全性最高的就是证书登录,证书登录是利用USBkey进行的,银行利用用户的证书进行验证。(3)用户通过网上银行支付或转账时,必须用自己的私钥进行数字签名,这也是利用USBkey进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论