1、第第3章章 身份认证技术身份认证技术.v(1 1)保密性)保密性v(2)真实性)真实性信息的真实性:对信息的来源进行验证;信息的真实性:对信息的来源进行验证;身身份份的的真真实实性性:对对信信息息发发送送方方的的身身份份进进行行验验证证,以以确确保保信信息息由合法的用户发出;由合法的用户发出;v(3)完整性)完整性v防防止止非非法法用用户户对对信信息息进进行行无无意意或或恶恶意意的的修修改改、插插入入,防防止止信信息丢失等。息丢失等。v(4)不可否认性)不可否认性v防止信息发送方在发出信息后又加以否认;防止接收方在收防止信息发送方在发出信息后又加以否认;防止接收方在收到信息后又否认曾收到过此信
2、息及篡改信息。到信息后又否认曾收到过此信息及篡改信息。安全需求分析安全需求分析2.(1 1)保密性)保密性 (2)真实性)真实性身份的真实性身份的真实性信息的真实性信息的真实性(3)完整性)完整性 (4)不可否认性)不可否认性 安全需求分析安全需求分析n加密技术加密技术n信息认证信息认证身份认证身份认证n数字签名数字签名认证技术认证技术n数字证书数字证书3.3.1 身份认证的方法身份认证的方法3.1.1 身份认证的定义身份认证的定义证实客户的真实身份与其所声称的身份是否相符的过程。证实客户的真实身份与其所声称的身份是否相符的过程。身份认证的依据:身份认证的依据:(1)根据用户知道什么来判断(所
3、知)根据用户知道什么来判断(所知)口令、密码等口令、密码等(2)根据用户拥有什么来判断(拥有)根据用户拥有什么来判断(拥有)身份证、护照、门钥匙、磁卡钥匙等身份证、护照、门钥匙、磁卡钥匙等(3)根据用户是什么来判断(特征)根据用户是什么来判断(特征)指纹、声音、视网膜、签名、指纹、声音、视网膜、签名、DNA等等4.3.1.2 口令认证口令认证口令识别是应用最为广泛的身份认证技术。口令识别是应用最为广泛的身份认证技术。口令长度:口令长度:通常为长度为通常为长度为58的字符串。的字符串。选择原则:选择原则:易记、难猜、抗分析能力强。易记、难猜、抗分析能力强。5.不安全口令的分析不安全口令的分析使用
4、用户名(账号)作为口令使用用户名(账号)作为口令 使用用户名(账号)的变换形式作为口令使用用户名(账号)的变换形式作为口令 使用自己或者亲友的生日作为口令使用自己或者亲友的生日作为口令 使用学号、身份证号、单位内的员工号码等作为口令使用学号、身份证号、单位内的员工号码等作为口令 使用常用的英文单词作为口令使用常用的英文单词作为口令 6.安全口令的建议安全口令的建议口令长度至少要有口令长度至少要有8位位 口令应包括大小写字母、数字或控制符等口令应包括大小写字母、数字或控制符等 不要将口令写在纸上不要将口令写在纸上要养成定期更换口令的习惯要养成定期更换口令的习惯 尽量不要在电脑上保存口令尽量不要在
5、电脑上保存口令7.典型的安全口令:一次性口令典型的安全口令:一次性口令一次性口令(一次性口令(OTP,One Time Password):):一次性的主要思路是:在登录过程中加入不确定因素,使每次登录过程中传一次性的主要思路是:在登录过程中加入不确定因素,使每次登录过程中传送的口令都不相同,以提高登录过程安全性。送的口令都不相同,以提高登录过程安全性。一次性口令的特点:一次性口令的特点:概念简单,易于使用:基于一个被记忆的密码,不需要任何附加的硬件;概念简单,易于使用:基于一个被记忆的密码,不需要任何附加的硬件;算法安全:不需要存储诸如密钥、口令等敏感信息。算法安全:不需要存储诸如密钥、口令
6、等敏感信息。8.一次性口令的原理一次性口令的原理基于客户端基于客户端/服务器模式服务器模式 客户端:每次登录生成一次性口令;客户端:每次登录生成一次性口令;服务器:验证客户端的一次性口令。服务器:验证客户端的一次性口令。一次性口令的安全原理一次性口令的安全原理 使用一次性口令序列使用一次性口令序列 n次次 第一个口令第一个口令使用单向函数使用单向函数n次次 p(1)=f(f(f(f(s)第二个口令第二个口令使用单向函数使用单向函数n-1次次 p(2)=f(f(f(s)依次类推依次类推9.一次性口令的产生和验证过程一次性口令的产生和验证过程 用户输入登录名和相关身份信息用户输入登录名和相关身份信
7、息IDID。如如果果系系统统接接受受用用户户的的访访问问,则则给给用用户户传传送送建建立立一一次次性性口口令令所所使使用用的单向函数的单向函数f f及一次性密钥及一次性密钥k k,这种传送通常采用加密方式。这种传送通常采用加密方式。用用户户选选择择“种种子子”密密钥钥x x,并并计计算算第第一一次次访访问问系系统统的的口口令令z=fz=fn n(x x)。)。第一次正式访问系统所传送的数据为(第一次正式访问系统所传送的数据为(k k,z z)。)。系统核对系统核对k k,若正确,则将(若正确,则将(IDID,f fn n(x x)保存。保存。当当用用户户第第二二次次访访问问系系统统时时,将将(
8、IDID,f fn-1n-1(x x)送送系系统统。系系统统计计算算f f(f fn-1n-1(x x),将将其其与与存存储储的的数数据据对对照照,如如果果一一致致,则则接接受受用用户户的访问,并将(的访问,并将(IDID,f fn-1n-1(x x)保存。保存。当当用用户户第第三三次次访访问问系系统统时时,将将(IDID,f fn-2n-2(x x)送送系系统统。系系统统计计算算f f(f fn-2n-2(x x),将将其其与与存存储储的的数数据据对对照照,如如果果一一致致,则则接接受受用用户户的访问,并保存新计算的数据。的访问,并保存新计算的数据。当用户每一次想要登录时,函数运算的次数只需
9、当用户每一次想要登录时,函数运算的次数只需-1。10.一次性口令系统实例一次性口令系统实例19911991年,贝尔通信研究中心(年,贝尔通信研究中心(BellcoreBellcore)首次研制出了基于一次性口令思首次研制出了基于一次性口令思想的身份认证系统想的身份认证系统S/KEYS/KEY。S/KEYS/KEY最初使用最初使用DESDES算法,后因安全问题改用算法,后因安全问题改用MD4MD4作为其加密作为其加密算法。算法。FreeBSDFreeBSD操作系统下的一次性口令系统操作系统下的一次性口令系统OPIE(One-time Passwords In OPIE(One-time Pass
10、words In Everything)Everything)OPIEOPIE使用比使用比S/KEYS/KEY的的MD4MD4更为强壮的更为强壮的MD5MD5算法,因此一般认为算法,因此一般认为OPIEOPIE更为安全。更为安全。11.3.1.3 持证认证持证认证主要类型主要类型条码卡条码卡磁卡磁卡IC卡卡l存储卡存储卡l智能卡智能卡12.3.1.4 生物识别认证生物识别认证一、签名认证一、签名认证不是能识别出被鉴别的签名是什么字,而是要能不是能识别出被鉴别的签名是什么字,而是要能识别出签名的人。识别出签名的人。签名认证的使用签名认证的使用首先提供一定数量的签名首先提供一定数量的签名系统分析签
11、名,提取特征系统分析签名,提取特征通过比较签名,进行身份识别通过比较签名,进行身份识别13.二、二、指纹指纹识别技术识别技术指纹识别指纹识别基于每个人指纹的唯一性和稳定性。基于每个人指纹的唯一性和稳定性。指纹识别的主要技术:指纹识别的主要技术:现代电子集成制造技术现代电子集成制造技术 可靠的匹配算法可靠的匹配算法14.指纹指纹取像的几种技术和特点取像的几种技术和特点目前指纹取像主要有三种技术:目前指纹取像主要有三种技术:光学全反射技术、晶体传感器技术和超声波扫描技术。光学全反射技术、晶体传感器技术和超声波扫描技术。光学全反射技术:光学全反射技术:利用光的全反射原理利用光的全反射原理 晶体传感器
12、技术:晶体传感器技术:硅电容传感器硅电容传感器 超声波扫描技术:超声波扫描技术:利用超声波扫描反射原理利用超声波扫描反射原理15.指纹取像常用技术的比较指纹取像常用技术的比较 比较项目比较项目光学全反射光学全反射硅晶体电容传感硅晶体电容传感超声波扫描超声波扫描体积体积大大小小中中耐用性耐用性非常耐用非常耐用容易损坏容易损坏一般一般成像能力成像能力干干手手指指差差,汗汗多多的的和和稍稍胀胀的的手指成像模糊手指成像模糊干干手手指指好好,但但汗汗多多的的和和稍稍胀胀的的手手指不能成像指不能成像非常好非常好耗电耗电较多较多较少较少较多较多成本成本低低低低很高很高16.指纹识别技术的优缺点指纹识别技术的
13、优缺点 优点:优点:(1 1)是独一无二的特征,并且它们的复杂度足以提供用于鉴别的足够特征;)是独一无二的特征,并且它们的复杂度足以提供用于鉴别的足够特征;(2 2)指纹识别的速度很快,使用非常方便;)指纹识别的速度很快,使用非常方便;(3 3)识识别别指指纹纹时时,用用户户的的手手指指与与指指纹纹采采集集头头直直接接接接触触,这这是是读读取取人人体体生生物物特特征征最最可可靠的方法。靠的方法。(4 4)采集头会更小型化,并且价格会更低廉。)采集头会更小型化,并且价格会更低廉。缺点:缺点:(1 1)某些群体的指纹因为指纹特征很少,故而很难成像;)某些群体的指纹因为指纹特征很少,故而很难成像;(
14、2 2)在犯罪记录中使用指纹,使得某些人害怕)在犯罪记录中使用指纹,使得某些人害怕“将指纹记录在案将指纹记录在案”。(3 3)每每一一次次使使用用指指纹纹时时都都会会在在指指纹纹采采集集头头上上留留下下用用的的指指纹纹印印痕痕,这这些些指指纹纹有有可可能能被他人复制。被他人复制。17.三、语音识别技术三、语音识别技术语音识别的要求:语音识别的要求:创造一个良好的环境创造一个良好的环境 规定用户朗读的单词规定用户朗读的单词语音识别语音识别不是能识别出用户说的是什么,而是要能识别出是不是能识别出用户说的是什么,而是要能识别出是谁说的。谁说的。18.语音识别的过程语音识别的过程首先对用户的语音进行采
15、样;首先对用户的语音进行采样;系统提取语音特征,得到参考样本;系统提取语音特征,得到参考样本;通过比较参考样本和语音结果,判别真伪。通过比较参考样本和语音结果,判别真伪。语音识别技术的弱点语音识别技术的弱点要求受测者多次重复语音,分析过程较长;要求受测者多次重复语音,分析过程较长;语音受人的身体状况和精神状态的影响。语音受人的身体状况和精神状态的影响。19.四、虹膜识别技术四、虹膜识别技术虹膜识别虹膜识别基于每个人眼睛虹膜的唯一性和稳定性。基于每个人眼睛虹膜的唯一性和稳定性。虹膜识别的主要技术:虹膜识别的主要技术:虹膜图像获取虹膜图像获取 虹膜识别算法虹膜识别算法20.从实用角度而言,一个安全
16、的身份认证协议至少应满足以下从实用角度而言,一个安全的身份认证协议至少应满足以下两个条件:两个条件:1.A能向验证者能向验证者B证明他的确是证明他的确是A;2.在在A向验证者向验证者B证明他的身份后,验证者证明他的身份后,验证者B不能获得不能获得A的任何的任何有用信息,有用信息,B不能模仿不能模仿A向第三方证明他是向第三方证明他是A。3 3.2.2 身份认证协议身份认证协议目前已经设计出四类身份认证协议目前已经设计出四类身份认证协议一次一密机制一次一密机制、公钥认证体系、公钥认证体系、Kerberos认证体系、零知识身份识别认证体系、零知识身份识别协议。协议。网络通信中主要通过认证协议对有关实
17、体的身份进行验证。网络通信中主要通过认证协议对有关实体的身份进行验证。21.3 3.2.1.2.1 一次一密机制一次一密机制1 1、请求、请求/应答方式应答方式:方法方法1:用户登录时系统随机提示一条信息,用户根据这一信息连同其个人化数:用户登录时系统随机提示一条信息,用户根据这一信息连同其个人化数据共同产生一个口令字,用户输入此口令字完成一次登录过程;或者用户对此信息据共同产生一个口令字,用户输入此口令字完成一次登录过程;或者用户对此信息进行数字签名发送给验证方进行鉴别。进行数字签名发送给验证方进行鉴别。方法方法2:用户根据系统提供的同步时钟信息连同其个人化数据共同产生一个口令:用户根据系统
18、提供的同步时钟信息连同其个人化数据共同产生一个口令字字。2 2、询问、询问/应答方式:应答方式:验证者随机提出问题由用户回答,以验证用户的真实性验证者随机提出问题由用户回答,以验证用户的真实性。22.3 3.2.2.2.2 X.509X.509公钥认证协议公钥认证协议 X.509X.509协议是利用公钥密码技术提供身份认证协议是利用公钥密码技术提供身份认证服务的标准。协议对每个用户的公钥以证书的方式服务的标准。协议对每个用户的公钥以证书的方式存储,并用于身份的认证。存储,并用于身份的认证。数字证书数字证书(digital certificate,digital ID)digital certi
19、ficate,digital ID)又称又称数字凭证,是一个经证书授权中心数字签名的包含公数字凭证,是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字书包含一个公开密钥、名称以及证书授权中心的数字签名。签名。23.数字证书是由大家共同信任的第三方认证中心数字证书是由大家共同信任的第三方认证中心 (CA)CA)颁发的,颁发的,CACA有权利签发并废除证书并且对证书的有权利签发并废除证书并且对证书的真实性负责真实性负责。CA CA的数字签名提供了三个重要的保证的数字签名提供了
20、三个重要的保证:第一,认证中有效的数字签名保证了认证信息的真第一,认证中有效的数字签名保证了认证信息的真实性、完整性实性、完整性;第二,因为第二,因为CACA是唯一有权使用它私钥的实体,任何是唯一有权使用它私钥的实体,任何验证数字证书的用户都可以信任验证数字证书的用户都可以信任CACA的签名,从而保的签名,从而保证了证书的权威性证了证书的权威性;第三,由于第三,由于CACA签名的唯一性,签名的唯一性,CACA不能否认自己所签不能否认自己所签发的证书,并承担相应的责任。发的证书,并承担相应的责任。24.v数字证书的内容数字证书的内容v为了保证为了保证CACA所签发证书的通用性,目前数字证书格所签
21、发证书的通用性,目前数字证书格式一般采用式一般采用X.509X.509国际标准。国际标准。X.509X.509的核心是建立存的核心是建立存放每个用户的公钥证书的目录放每个用户的公钥证书的目录(仓库仓库)。用户公钥证书。用户公钥证书由可信赖的由可信赖的CACA创建,并由创建,并由CACA或用户存放于目录中。或用户存放于目录中。v一个标准的一个标准的X.509X.509数字证书包含以下一些内容数字证书包含以下一些内容:(1):(1)证书证书的版本信息;的版本信息;(2)(2)证书的序列号;证书的序列号;(3)(3)证书所使用的签证书所使用的签名算法;名算法;(4)(4)证书的发行机构;证书的发行机
22、构;(5)(5)证书的有效期;证书的有效期;(6)(6)证书所有人的名称;证书所有人的名称;(7)(7)证书所有人的公开密钥;证书所有人的公开密钥;(8)(8)证书发行者对证书的签名。证书发行者对证书的签名。25.标准的标准的X.509X.509数字证书包含以下一些内容:数字证书包含以下一些内容:版本号:标示证书的版本版本号:标示证书的版本(v1,v2,或是或是v3);序列号:由证书颁发者分配的本证书的唯一标识符;序列号:由证书颁发者分配的本证书的唯一标识符;签名算法:签名算法标识符;签名算法:签名算法标识符;颁发者:证书颁发者的可识别名颁发者:证书颁发者的可识别名(DN),这是必须说明的;,
23、这是必须说明的;有有效效期期:证证书书有有效效的的时时间间段段,本本字字段段由由”Not Valid Before”和和”Not Valid After”两项组成;两项组成;主主体体:证证书书拥拥有有者者的的可可识识别别名名,此此字字段段必必须须是是非非空空的的,除除非非使使用了其它的名字形式;用了其它的名字形式;主主体体公公钥钥信信息息:主主体体的的公公钥钥(以以及及算算法法标标识识符符)这这是是必必须须说说明明的;的;颁发者唯一标识符:证书颁发者的唯一标识符;颁发者唯一标识符:证书颁发者的唯一标识符;主体唯一标识符:证书拥有者的唯一标识符;主体唯一标识符:证书拥有者的唯一标识符;扩展:可选
24、的标准和专用扩展扩展:可选的标准和专用扩展(仅在版本仅在版本3中使用中使用)数字证书的信息数字证书的信息数字证书的信息数字证书的信息数字证书数字证书-证书格式证书格式.用户证书用户证书的结构实例的结构实例 版本号(版本号(versionversion)证书序列号(证书序列号(serialNumberserialNumber)签名算法标识符(签名算法标识符(signaturesignature)颁发者名称(颁发者名称(issuerissuer)有效期有效期(validityvalidity)起始有效期起始有效期终止有效期终止有效期主主 体体 名名 称称(subjectsubject)国家(国家(
25、countryNamecountryName)省份(省份(stateOrProvinceNamestateOrProvinceName)地市(地市(localityNamelocalityName)组织名称(组织名称(organizationNameorganizationName)机构名称(机构名称(organizationalUnitNameorganizationalUnitName)用户名称(用户名称(CommanNameCommanName)主体公钥信息(主体公钥信息(subjectPublicKeyInfosubjectPublicKeyInfo)颁发机构的密钥标识(颁发机构的密钥
26、标识(authorityKeyIdentifierauthorityKeyIdentifier)主体密钥标识符(主体密钥标识符(subjiectKeyIdentifiersubjiectKeyIdentifier)CRLCRL分分发发点(点(CRLDistributionPointsCRLDistributionPoints)27.版本号(版本号(versionversion)证书序列号(证书序列号(serialNumberserialNumber)签名算法标识符(签名算法标识符(signaturesignature)颁发者名称(颁发者名称(issuerissuer)有效期有效期(validi
27、tyvalidity)起始有效期起始有效期终止有效期终止有效期主主 体体 名名 称称(subjectsubject)国家(国家(countryNamecountryName)省份(省份(stateOrProvinceNamestateOrProvinceName)地市(地市(localityNamelocalityName)组织名称(组织名称(organizationNameorganizationName)机构名称(机构名称(organizationalUnitNameorganizationalUnitName)服务器名称(服务器名称(CommanNameCommanName)主体公钥信息
28、(主体公钥信息(subjectPublicKeyInfosubjectPublicKeyInfo)颁发机构的密钥标识(颁发机构的密钥标识(authorityKeyIdentifierauthorityKeyIdentifier)主体密钥标识符(主体密钥标识符(subjiectKeyIdentifiersubjiectKeyIdentifier)CRLCRL分分发发点(点(CRLDistributionPointsCRLDistributionPoints)服务器证书服务器证书的结构实例的结构实例 28.X.509认证过程:认证过程:假设通信双方都知道对方的公钥,或者双假设通信双方都知道对方的公
29、钥,或者双方都从目录服务器获得对方的公钥证书。方都从目录服务器获得对方的公钥证书。认证过程有三种:认证过程有三种:1)单向身份认证:用户)单向身份认证:用户A将消息发往将消息发往B,以向,以向B证明:证明:A的身份、消息是由的身份、消息是由A产生的;产生的;消息的意欲接收者是消息的意欲接收者是B;消息的完整性和新鲜性。消息的完整性和新鲜性。29.AB:IDA|EKRa(TA|RA|IDB|EKUb(KAB)说明:说明:IDA、IDB:A和和B的身份标识。的身份标识。EKRa:用用A的私钥加密的私钥加密 EKUb:用用B的公钥加密的公钥加密TA:A产生消息的时戳,包括产生时间、截止时间产生消息的
30、时戳,包括产生时间、截止时间RA:A产生的不会重复的随机数,防止重放、伪造;产生的不会重复的随机数,防止重放、伪造;B在收到在收到的消息截止时间内要一直保存的消息截止时间内要一直保存RA。KAB:双方欲建立的会话密钥:双方欲建立的会话密钥B要验证:要验证:A的证书的有效性;的证书的有效性;A的签名;消息完整性;接收者的签名;消息完整性;接收者是否为是否为B;时戳是否是当前时间;时戳是否是当前时间;RA有无重复有无重复AB单向身份认证单向身份认证1)单向身份认证)单向身份认证30.在单向认证基础上,在单向认证基础上,B向向A做出应答,以证明:做出应答,以证明:B的身份、应答是的身份、应答是B产生
31、的;产生的;应答的意欲接收者是应答的意欲接收者是A;应答消息是完整的和新鲜的。应答消息是完整的和新鲜的。AB:IDA|EKRa(TA|RA|IDB|EKUb(KAB)BA:EKRb(TB|RB|RA|IDA|EKUa(KBA)应答消息包含由应答消息包含由A发来的一次性随机数发来的一次性随机数RA,以使应答消息,以使应答消息有效。有效。TB、RB是是B的时戳和随机数的时戳和随机数KBA:双方的会话密钥双方的会话密钥AB双向身份认证双向身份认证2)双向身份认证)双向身份认证31.在双向认证基础上,在双向认证基础上,A再向再向B做出应答,即构成三向身份认证。做出应答,即构成三向身份认证。AB:IDA
32、|EKRa(TA|RA|IDB|EKUb(KAB)BA:EKRb(TB|RB|RA|IDA|EKUa(KBA)AB:EKRa(RB|IDB)三向身份认证的目的是将收到的对方发来的一次性随机数又返回三向身份认证的目的是将收到的对方发来的一次性随机数又返回给对方,因此双方不需要检查时戳只要检查对方的一次性随机数给对方,因此双方不需要检查时戳只要检查对方的一次性随机数即可判断出即可判断出重放攻击。在通信双方无法建立时钟同步时重放攻击。在通信双方无法建立时钟同步时,就要用,就要用此方法。此方法。AB三向身份认证三向身份认证3)三向身份认证)三向身份认证32.3 3.2.3.2.3 KerberosKe
33、rberos认证协议认证协议 KerberosKerberos:为网络通信提供可信第三方服务的为网络通信提供可信第三方服务的面向开放系统的身份认证机制。面向开放系统的身份认证机制。Kerberos Kerberos协议是以认证服务器、协议是以认证服务器、TicketTicket散发服散发服务器、客户机及应用服务器的服务等四方模型为基务器、客户机及应用服务器的服务等四方模型为基础,并假设服务器都是在安全的环境下进行工作。础,并假设服务器都是在安全的环境下进行工作。33.Kerberos V4 的认证过程的认证过程ASTGS请求请求tickettgsTickettgs+会话密钥会话密钥请求请求ti
34、cketvTicketv+会话密钥会话密钥请求服务提供服务器认证符(1)(2)(3)(4)(5)(6)应用服务器.Kerberos的本质的本质v是一个身份认证系统,鉴别用户的身份是一个身份认证系统,鉴别用户的身份v是一个密钥分发系统,向用户分发服务器的是一个密钥分发系统,向用户分发服务器的“密钥密钥”v是一个单点登录系统,允许用户输入一次口令是一个单点登录系统,允许用户输入一次口令访问很多台应用服务器访问很多台应用服务器35.KerberosKerberos协议的三个功能:身份认证、记账、审核。协议的三个功能:身份认证、记账、审核。KerberosKerberos针针对对分分布布式式环环境境,
35、一一些些计计算算机机可可能能安安装装于于不不安全场所,而且用户也并非是完全可信的。安全场所,而且用户也并非是完全可信的。客客户户在在登登录录时时,需需要要认认证证。用用户户必必须须获获得得由由认认证证服服务务器器发发行行的的许许可可证证,才才能能使使用用目目标标服服务务器器上上的的服服务务。许许可证可提供被认证用户访问某服务时所需的授权资格。可证可提供被认证用户访问某服务时所需的授权资格。所有客户和服务器间的会话都是暂时的。所有客户和服务器间的会话都是暂时的。36.Kerberos的组成的组成Kerberos应应用用程程序序库库:应应用用程程序序接接口口,包包括括创创建建和和读读取取 认认 证
36、证 请请 求求,以以 及及 创创 建建 safe message 和和 private message的子程序。的子程序。加密加密/解密库:解密库:DES等。等。Kerberos数数据据库库:记记载载了了每每个个Kerberos 用用户户的的名名字字,私私有有密密钥钥,截截止止信信息息(记记录录的的有有效效时时间间,通通常常为为几几年年)等信息。等信息。数据库管理程序:管理数据库管理程序:管理Kerberos数据库数据库37.KDBM服服务务器器(数数据据库库管管理理服服务务器器):接接受受客客户户端端的的请请求对数据库进行操作。求对数据库进行操作。认认证证服服务务器器(AS):存存放放一一个
37、个Kerberos数数据据库库的的只只读读的的副本,用来完成认证,并生成会话密钥副本,用来完成认证,并生成会话密钥数数据据库库复复制制软软件件:管管理理数数据据库库从从KDBM服服务务所所在在的的机机器器,到到认认证证服服务务器器所所在在的的机机器器的的复复制制工工作作,为为保保持持数数据据库库的的一一致致性性,每每隔隔一一段段时时间间就就需需要要进进行行复复制制工作工作用用户户程程序序:登登录录Kerberos,改改变变Kerberos密密码码,显显示和破坏示和破坏Kerberos标签(标签(ticket)等工作。等工作。应用程序:应用程序:38.ServerServerServerServ
38、erKerberosKerberosDatabaseDatabaseTicket GrantingTicket Granting Server ServerAuthenticationAuthentication Server ServerWorkstationKerberos Key Distribution Service39.KerberosKerberos提供三种安全等级:提供三种安全等级:1)1)只只在在网网络络开开始始连连接接时时进进行行认认证证,认认为为连连接接建建立立起起来来后后的的通通信信是是可可靠靠的的。认认证证式式网网络络文文件件系系统统使使用用此此种安全等级。种安全等级
39、。2)2)安安全全消消息息传传递递:对对每每次次消消息息都都进进行行认认证证工工作作,但但是不保证每条消息不被泄露。是不保证每条消息不被泄露。3)3)私私有有消消息息传传递递:不不仅仅对对每每条条消消息息进进行行认认证证,而而且且对对每每条条消消息息进进行行加加密密。KerberosKerberos在在发发送送密密码码时时就就采采用私有消息模式。用私有消息模式。40.通过认证操作,用户通过认证操作,用户C和服务器和服务器V互相验证彼此互相验证彼此的身份,并且拥有只有的身份,并且拥有只有C和和V两者知道的会话密钥两者知道的会话密钥Kc,v,以后的通信都可以通过会话密钥得到保护。以后的通信都可以通
40、过会话密钥得到保护。ASTGSDB用户C服务器VKerberos41.3 3.2.4.2.4 零知识身份识别协议零知识身份识别协议 其基本思想是:被认证方其基本思想是:被认证方P P掌握某些秘密信息,掌握某些秘密信息,P P希望让认证方希望让认证方V V相信他确实掌握那些信息,但又不相信他确实掌握那些信息,但又不想让想让V V知道那些信息。知道那些信息。被认证方被认证方P P掌握的秘密信息可以是某些长期没有掌握的秘密信息可以是某些长期没有解决的猜想问题的证明,也可以是缺乏有效算法的解决的猜想问题的证明,也可以是缺乏有效算法的难题解法。信息的本质是可以验证的,可以通过具难题解法。信息的本质是可以
41、验证的,可以通过具体的步骤来检测它的正确性。体的步骤来检测它的正确性。零知识证明条件包括:零知识证明条件包括:最小泄露证明最小泄露证明(Minimum(Minimum Disclosure proof)Disclosure proof)和和零知识证明零知识证明(Zero Knowledge(Zero Knowledge proof)proof)。42.零知识证明的概念零知识证明的概念在最小泄露协议中满足下述两个性质:在最小泄露协议中满足下述两个性质:V无法欺骗无法欺骗P。换言之,若。换言之,若P知道一个定理的证明方法,知道一个定理的证明方法,则则P使使V以绝对优势的概率相信他能证明。(以绝对优
42、势的概率相信他能证明。(完备性完备性);P无法欺骗无法欺骗V。换言之,若。换言之,若P不知道一个定理的证明方法,不知道一个定理的证明方法,则则P使使V相信他会证明定理的概率很低。(相信他会证明定理的概率很低。(正确性正确性)在零知识协议中,除满足上述两个条件以外,还满在零知识协议中,除满足上述两个条件以外,还满足下述性质:足下述性质:零零知识性知识性(Zero-knowledge):无论:无论V采取任何手段,当采取任何手段,当P的声明是真的,的声明是真的,P不违背协议时,不违背协议时,V除了接受除了接受P的结论以外,的结论以外,得不到其他额外的信息。得不到其他额外的信息。43.零知识证明的基本
43、协议假设零知识证明的基本协议假设P知道咒语,可打开知道咒语,可打开C和和D之之间的密门,不知道者都将走向死胡同。下面的协议间的密门,不知道者都将走向死胡同。下面的协议就是就是P向向V证明他知道这个秘密(证明他知道这个秘密(钥匙钥匙),但又不让但又不让V知道这个秘密。知道这个秘密。(如蒙眼认人如蒙眼认人)验证协议为:验证协议为:1、V站在站在A点;点;2、P进入洞中任一点进入洞中任一点C或或D;3、P进入洞之后,进入洞之后,V走到走到B点;点;4、V叫叫P:(a)从左边出来或从左边出来或(b)从右边出来;从右边出来;5、P按照按照V的要求实现(因为的要求实现(因为P知道该咒语);知道该咒语);6
44、、P和和V重复执行上面的过程重复执行上面的过程N次。次。如果每次如果每次P都走正确,则认为都走正确,则认为P知道这个咒语。知道这个咒语。P的确可的确可以使以使V确信他知道该咒语,但确信他知道该咒语,但V在这个证明过程中的确没有获在这个证明过程中的确没有获得任何关于咒语的信息得任何关于咒语的信息。该协议是一个完全的零知识证明。该协议是一个完全的零知识证明。如果将关于零知识洞穴的协议中如果将关于零知识洞穴的协议中P掌握的咒语换为一个掌握的咒语换为一个数学难数学难题,题,而而P知道如何解这个难题,就可以设计实用的零知识证明知道如何解这个难题,就可以设计实用的零知识证明协议。协议。44.案例案例案例案
45、例北京大学信息平台下的统一北京大学信息平台下的统一北京大学信息平台下的统一北京大学信息平台下的统一用户管理和身份认证用户管理和身份认证用户管理和身份认证用户管理和身份认证45.身份认证系统建设目标身份认证系统建设目标身份认证系统建设目标身份认证系统建设目标实现全校统一的用户管理实现全校统一的用户管理实现全校统一的用户管理实现全校统一的用户管理为校园网各应用提供统一的、安全的身为校园网各应用提供统一的、安全的身为校园网各应用提供统一的、安全的身为校园网各应用提供统一的、安全的身份认证服务份认证服务份认证服务份认证服务为门户提供认证与票据服务,实现单点为门户提供认证与票据服务,实现单点为门户提供认
46、证与票据服务,实现单点为门户提供认证与票据服务,实现单点登录、应用漫游登录、应用漫游登录、应用漫游登录、应用漫游支持基于角色的应用级权限管理支持基于角色的应用级权限管理支持基于角色的应用级权限管理支持基于角色的应用级权限管理支持多种主流的开发平台支持多种主流的开发平台支持多种主流的开发平台支持多种主流的开发平台支持第三方软件的集成支持第三方软件的集成支持第三方软件的集成支持第三方软件的集成46.设计思想设计思想设计思想设计思想统一用户管理统一用户管理统一用户管理统一用户管理基于分级角色的权限管理基于分级角色的权限管理基于分级角色的权限管理基于分级角色的权限管理应用级的安全管理应用级的安全管理应
47、用级的安全管理应用级的安全管理统一证书管理统一证书管理统一证书管理统一证书管理统一资源管理统一资源管理统一资源管理统一资源管理47.48.例如:例如:例如:例如:49.50.51.统一的认证服务器系统组成与结构统一的认证服务器系统组成与结构52.53.54.用户认证流程用户认证流程用户认证流程用户认证流程55.用户漫游流程用户漫游流程用户漫游流程用户漫游流程56.%if session(user_name)=then if session(user_name)=then user_name=trim(request(user_name)user_name=trim(request(user_n
48、ame)user_pass=trim(request(user_pass)user_pass=trim(request(user_pass)if user_name=or user_pass=then if user_name=or user_pass=then errmsg=errmsg+errmsg=errmsg+用户名和用户用户名和用户用户名和用户用户名和用户密码不能为空密码不能为空密码不能为空密码不能为空!end if end if 认证实现示例:认证实现示例:认证实现示例:认证实现示例:57.sql=select*from user where sql=select*from use
49、r where user_name=&user_name&user_name=&user_name&rs.open sql,conn,3,3 rs.open sql,conn,3,3 if rs.eof then if rs.eof then errmsg=errmsg+errmsg=errmsg+你输入的用你输入的用你输入的用你输入的用户不存在户不存在户不存在户不存在!58.elseif user_pass=rs(user_pass)thenelseif user_pass=rs(user_pass)then session(user_name)=rs(user_name)session(u
50、ser_name)=rs(user_name)rs(user_lasttime)=now()rs(user_lasttime)=now()rs(user_lastip)=request.servervariables(remote_addr)rs(user_lastip)=request.servervariables(remote_addr)rs.update rs.update else else errmsg=errmsg+errmsg=errmsg+你输入的密码错误你输入的密码错误你输入的密码错误你输入的密码错误!end ifend if rs.close rs.close%59.60
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100