1 / 55

身份认证与密钥协商

计算机安全与保密. 身份认证与密钥协商. 杭州电子科技大学. 身份认证- 引言. 从对计算机系统或网络的一般访问过程来看,身份认证是用户获得访问权限的第一步。如果用户身份得不到系统的认可,即授权,他就无法进入该系统并进而访问系统资源。从这个意义来讲,身份认证是安全防御的第一道防线,它是防止非授权用户或进程进入计算机系统的有效安全保障措施。. 例子. • 263 的邮件登录 • sina 的邮件登录 • Telnet 远程登录 • Ftp 服务. 身份认证的方法. 用来验证用户身份的方法有:

arin
Download Presentation

身份认证与密钥协商

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机安全与保密 身份认证与密钥协商 杭州电子科技大学

  2. 身份认证-引言 • 从对计算机系统或网络的一般访问过程来看,身份认证是用户获得访问权限的第一步。如果用户身份得不到系统的认可,即授权,他就无法进入该系统并进而访问系统资源。从这个意义来讲,身份认证是安全防御的第一道防线,它是防止非授权用户或进程进入计算机系统的有效安全保障措施。

  3. 例子 • 263的邮件登录 • sina的邮件登录 • Telnet远程登录 • Ftp服务

  4. 身份认证的方法 用来验证用户身份的方法有: ● 用户知道什么(Something the User Knows)(秘密,如口令、个人身份号码(PIN)、密钥等) ● 用户拥有什么(Something the User Possesses)(令牌,如ATM卡或智能卡等) ● 用户是谁(Something the User is)(生物特征,如声音识别、手写识别或指纹识别等)

  5. 基于用户知道什么的身份认证 • 最普通的身份认证形式是用户标识(ID)和口令(Password)的组合。这种技术仅仅依赖于用户知道什么的事实。通常采用的是基于知识的传统口令技术,但也有其它技术,如密钥。

  6. 基于用户拥有什么的身份认证 • 基于用户拥有什么的身份认证技术使用的是令牌,这里介绍两种令牌:记忆令牌和智能卡。

  7. 记忆令牌只存储信息,不对信息进行处理,令牌上信息的读取和写入是用专门的读/写设备来完成的。记忆令牌的最通用形式是磁卡(就像信用卡背面一样有一条磁条)。通常,用于计算机认证的记忆令牌是ATM卡,它是采用用户拥有什么(卡)和用户知道什么(身份识别码)的组合。记忆令牌只存储信息,不对信息进行处理,令牌上信息的读取和写入是用专门的读/写设备来完成的。记忆令牌的最通用形式是磁卡(就像信用卡背面一样有一条磁条)。通常,用于计算机认证的记忆令牌是ATM卡,它是采用用户拥有什么(卡)和用户知道什么(身份识别码)的组合。

  8. 智能卡通过在令牌中采用集成电路以增加其功能。智能卡通过在令牌中采用集成电路以增加其功能。 • 智能卡分为信用卡型智能卡(内嵌微处理器)和类似计算器、钥匙、便携式物体的智能卡。

  9. 基于用户是谁的身份认证 • 这种机制采用的是生物特征识别技术,它采用的是用户独特的生理特征来认证用户的身份。这些生理特征包括生理属性(如指纹、视网膜识别等)和行为属性(如声音识别、手写签名识别等)。这些技术已经应用到了计算机的登录程序中。

  10. 口令机制 • 口令或通行字机制是最广泛研究和使用的身份鉴别法。通常为长度为5~8的字符串。选择原则:易记、难猜、抗分析能力强 • 口令系统有许多脆弱点: 外部泄露 口令猜测 线路窃听 重放

  11. 对付线路窃听的措施

  12. 对付重放攻击的措施

  13. 一次性口令机制 • 一次性口令机制确保在每次鉴别中所使用的口令不同,以对付重放攻击。

  14. 询问—应答机制

  15. 询问—应答机制

  16. 口令认证采用单向函数实现,在验证者的计算机存储识别对象的单向函数值,这种技术在某种程序上避免了他人假冒,但或多或少还存在一些安全问题,只能通过密码技术设计出更安全的识别协议。口令认证采用单向函数实现,在验证者的计算机存储识别对象的单向函数值,这种技术在某种程序上避免了他人假冒,但或多或少还存在一些安全问题,只能通过密码技术设计出更安全的识别协议。

  17. 安全身份识别协议 • 一个安全的识别协议至少满足以下两个条件 1)证明者P能向验证者V证实他的确是P 2)当证明者P向验证者B出示证明自己的身份后,验证者V无法获取有关P的任何有用信息

  18. Schnorr身份识别方案 • Schnorr识别方案是1988年提出的一种比较实用的方案,它具有的计算量和通信量比较少,特别适用于智能卡上的用户认证方法。

  19. Schnorr方案需要一个密钥认证中心KAC,负责管理一切用户,KAC预先选定下面参数:Schnorr方案需要一个密钥认证中心KAC,负责管理一切用户,KAC预先选定下面参数: 1)P是一个大素数,p>2512 2)q是一个大素数,p>2140,q|(p-1) 3)a是Zp*中阶为q的元素 4)KAC选择一安全的签名方案,签名算法:SigKAC,验证算法VerKAC • KAC给申请用户颁发证书

  20. 用户申请证书过程: 1)用户到KAC注册其公开密钥,KAC验明用户身份后,对每位用户指定ID(U) 2)每位用户随机选定一个密钥w,且计算公开密钥v=a-wmodp,并将v发送给KAC 3)KAC对(ID(U),v)签名,s=SigKAC (ID(U),v) C(U)=(ID(U),v,s)

  21. 假设证明者为A,验证者为B,Schnorr用户身份认证过程:假设证明者为A,验证者为B,Schnorr用户身份认证过程: 1)A随机选择一个数k,0<k<q-1,计算x=ak modp; 2)A把自己证书C(A)=(ID(A),v,s)和x发送给B 3)B通过VerKAC检查证书 4)B随机选择一整数r,1<r<2t,并将r发送给A 5)A计算y=(k+wr)modq,并将y发送给B 6)B验证x=ayvrmodp是否成立来识别A,

  22. P=88667,q=1031,a=70322,a的阶等于q, A向KAC申请证书,A的秘密密钥w=755, v=a-w=70322-755mod88667=13136 1)A选择k=543,x=akmodp=70322543=84109 2)B选择r=1000, 3)A计算y=(k+wr)modq=543+755×1000mod1031=851 4)B验证 x=ayvrmodp 84109= 70322851 131361000mod 88667

  23. t是一个安全参数,目的是预防冒充者OSCAR通过猜测B的询问r来伪装A,如果OSCAR猜测了正确的r值,他能选择任意一个y值并计算x=ayvrmodp,在第1步中他将给B发送x,然后他接到B的询问r时,他将提供已选择好的y值,而第6步B证实OSCAR是At是一个安全参数,目的是预防冒充者OSCAR通过猜测B的询问r来伪装A,如果OSCAR猜测了正确的r值,他能选择任意一个y值并计算x=ayvrmodp,在第1步中他将给B发送x,然后他接到B的询问r时,他将提供已选择好的y值,而第6步B证实OSCAR是A

  24. 协议中基本上做两件事: 1)验证A的证书的有效性 2)验证A知道其秘密密钥w,在身份识别协议中,值w不会暴露,这个技术称为知识证明

  25. 考虑OSCAR如何冒充A 1)伪造证书 2)使用A的证书 • 安全性基于解离散对数问题的困难性

  26. Kerberos概述 • Kerberos是为TCP/IP网络设计的可信第三方认证协议。Kerberos可提供安全的网络鉴别,允许个人访问网络中不同的机器。Kerberos基于对称密码学(采用的是DES,但也可用其它算法替代),它与网络上的每个实体分别共享一个不同的秘密密钥,是否知道该秘密密钥便是身份的证明。

  27. Kerberos最初是在麻省理工学院(MIT) 开发的。Kerberos的设计目标就是提供一种安全、可靠、透明、可伸缩的认证服务。在Kerberos模型中,主要包括以下几个部分:客户机、服务器、认证服务器(Authentication Server)和票据授予服务器(Ticket-Granting Server)。

  28. Kerberos有一个所有客户和自己安全通信所需的秘密密钥数据库(KDC),也就是说,Kerberos知道每个人的秘密密钥,故而它能产生消息,向每个实体证实另一个实体的身份。Kerberos还能产生会话密钥,只供一个客户机和一个服务器(或两个客户机之间)使用,会话密钥用来加密双方的通信消息,通信完毕,会话密钥即被销毁。Kerberos有一个所有客户和自己安全通信所需的秘密密钥数据库(KDC),也就是说,Kerberos知道每个人的秘密密钥,故而它能产生消息,向每个实体证实另一个实体的身份。Kerberos还能产生会话密钥,只供一个客户机和一个服务器(或两个客户机之间)使用,会话密钥用来加密双方的通信消息,通信完毕,会话密钥即被销毁。

  29. 密钥协商-引言 • 公钥密码体制与秘密密钥密码体制相比,优点是它不需要一个安全信道来交换秘密密钥,但公钥密码体制比秘密密钥体制运行速度慢,在实际中还有很多情况要使用秘密密钥密码体制。 • 在使用秘密密钥密码体制时,通信双方建立秘密密钥的方法:密钥分配和密钥协商

  30. 密钥分配和密钥协商区别 • 密钥分配定义为一种机制,利用这个机制,一方选择秘密密钥,然后把它发送给另一方或许多方 • 密钥协商是两方或多方通过公开信道的通信来共同形成秘密密钥。

  31. 密钥预分配 • 网络中每一对用户{U,V}预先设定一个密钥。可信中心TA选择一个密钥Ku,v通过一个安全信道传送给U,V,这样需要TA和网络中每个用户之间有一个安全信道,假定网络中有n个用户,每个用户必须储存n-1个密钥,TA要传送n(n-1)/2个密钥。 • TA负责验证用户的身份,选择和传送用户间的秘密密钥给用户,每个用户与TA之间有个秘密密钥用于加密用户间的秘密密钥。

  32. Blom密钥预分配 • Blom密钥预分配可以使用网络中的用户储存的秘密信息总数减少,TA传送的信息量减少。

  33. Blom密钥预分配 1、一个素数P是公开的,且对每个用户U,元素rU属于Zp是公开的,元素rU各不相同。 2、TA选择三个随机元素a,b,c属于Zp,构造多项式 f(x,y)=a+b(x+y)+cxy mod p 3、对每个用户U,TA计算多项式 gU(x)=f(x,rU) mod p gU(x)=au+bux,au=a+bru modp bu=b+cru modp 在安全信道上传送gU(x)给U

  34. Blom密钥预分配 4、如果U和V想通信,计算通信会话密钥 U计算 KU,V=gU(rV) V计算 KV,U=gV(rU) KU,V=KV,U是双方通信会话密钥

  35. U、V、W三个用户,p=17,rU=12,rV=7,rW=1 TA选择a=8,b=7,c=2 f(x,y)=8+7(x+y)+2xy mod 17 gU(x)= f(x,rU)=7+14x mod 17 gV(x)= f(x,rV)=6+4x mod 17 gW(x)= f(x,rW)=15+9x mod 17 U、V通信会话秘密密钥 U计算 KU,V=gU(rV)=7+14×7 mod 17=3 V计算 KV,U=gV(rU)=6+4×12 mod 17=3

  36. 考虑这个方案的关键点在哪里? • 可以证明任何用户利用自己的已知信息都不可能确定另外两个用户的会话密钥。 • 任何两个用户联合,可以确定TA的a,b,c,从而可以计算出其他用户间的密钥。例如:U知道gU(x)= 7+14x mod 17 V知道gV(x)= 6+4x mod 17 7=a+12b mod17 14=b+12cmod17 6=a+7bmod17 4=b+7cmod17

  37. 可以对f(x,y)改进,防止k个人联合攻击

  38. 密钥协商 • 如果不打算使用在线TA,那可用密钥共识协议来得到一个通信秘密密钥。在密钥共识协议中,U和V通过一个公开信道上的通信来共同选择一个密钥,这个著名的想法归功于Diffie-Hellman

  39. Diffie-Hellman密钥共识协议

  40. 密钥交换

  41. 安全性分析 • 安全性基于求离散对数问题的困难性 • 存在着中间人攻击法

  42. 中间人攻击

  43. STS协议

  44. 安全性分析

More Related