保障与安全身份认证.ppt

上传人:牧羊曲112 文档编号:6040503 上传时间:2023-09-17 格式:PPT 页数:68 大小:276KB
返回 下载 相关 举报
保障与安全身份认证.ppt_第1页
第1页 / 共68页
保障与安全身份认证.ppt_第2页
第2页 / 共68页
保障与安全身份认证.ppt_第3页
第3页 / 共68页
保障与安全身份认证.ppt_第4页
第4页 / 共68页
保障与安全身份认证.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《保障与安全身份认证.ppt》由会员分享,可在线阅读,更多相关《保障与安全身份认证.ppt(68页珍藏版)》请在三一办公上搜索。

1、信息保障与安全11身份认证 及其应用,1 引 言,从对计算机系统或网络的一般访问过程来看,身份认证是用户获得访问权限的第一步。如果用户身份得不到系统的认可,即授权,他就无法进入该系统并进而访问系统资源。从这个意义来讲,身份认证是安全防御的第一道防线,它是防止非授权用户或进程进入计算机系统的有效安全保障措施。认证机制是网络安全的基本机制,网络设备之间应互相认证对方身份,以保证赋予正确的操作权力和数据的存取控制。网络也必须认证用户的身份,以保证正确的用户进行正确的操作并进行正确的审计。,1 引 言,在现实生活中,我们个人的身份主要是通过各种证件来确认的,比如:身份证、户口本等。认证(authent

2、ication)是证明一个对象的身份的过程。与决定把什么特权附加给该身份的授权(authorization)不同。在网络中认证是对网络中的主体进行验证的过程,用户必须提供他是谁的证明,他是某个雇员,某个组织的代理、某个软件过程(如交易过程)。,2 身份认证的方法,识别是用户向系统提供声明身份的方法;验证则是建立这种声明有效性的手段。计算机系统识别用户依赖的是系统接收到的验证数据。这样验证就面临着这些考验:收集验证数据问题、安全地传输数据问题以及怎样知道使用计算机系统的用户就是当初验证通过的用户问题。目前用来验证用户身份的方法有:,用户知道什么(Something the User Knows)

3、(秘密,如口令、个人身份号码(PIN)、密钥等)用户拥有什么(Something the User Possesses)(令牌,如ATM卡或智能卡等)用户是谁(Something the User is)(生物特征,如声音识别、手写识别或指纹识别等),2.1 基于用户知道什么的身份认证 最普通的身份认证形式是用户标识(ID)和口令(Password)的组合,如图1所示。这种技术仅仅依赖于用户知道什么的事实。通常采用的是基于知识的传统口令技术,但也有其它技术,如密钥。,图1 基于用户名和口令的身份认证,通常,口令系统的运作需要用户输入用户标识和口令(或PIN码)。系统对输入的口令与此前为该用户标

4、识存储的口令进行比较。如果匹配,该用户就可得到授权并获得访问权。口令的优点:口令作为安全措施已经很长时间并成功地为计算机系统提供了安全保护。它已经集成到很多操作系统中,用户和系统管理员对它非常熟悉。在可控环境下管理适当的话,口令系统可提供有效的安全保护。,口令存在的问题:口令系统的安全依赖于口令的保密性,而用户为了方便记忆而在设置口令时常使用姓名拼音、生日、电话号码等,这样口令就会很容易地被猜出。另外只要用户访问一个新的服务器,都必须提供新口令。,(1)安全与不安全的口令 UNIX系统口令密码都是用8位(新的是13位)DES算法进行加密的,即有效密码只有前8位,所以一味靠密码的长度是不可以的。

5、安全的口令要求:1)位数6位。2)大小写字母混合。3)字母与数字混合。4)口令有字母、数字以外的符号。,第七讲 认证,不安全的口令则有如下几种情况:(1)使用用户名(帐号)作为口令。(2)使用用户名(帐号)的变换形式作为口令。将用户名颠倒或者加前后缀作为口令,比如说著名的黑客软件John,如果你的用户名是fool,那么它在尝试使用fool作为口令之后,还会试着使用诸如fool123、loof、loof123、lofo等作为口令,只要是你想得到的变换方法,John也会想得到。,第七讲 认证,(3)使用自己或者亲友的生日作为口令。这种口令很脆弱,因为这样往往可以得到一个6位或者8位的口令,但实际上

6、可能的表达方式只有1001231=37200种。(4)使用常用的英文单词作为口令。这种方法比前几种方法要安全一些。一般用户选择的英文单词几乎都落在黑客的字典库里。(5)使用5位或5位以下的字符作为口令。加强口令安全的措施:A、禁止使用缺省口令。B、定期更换口令。C、保持口令历史记录,使用户不能循环使用旧口令。D、用口令破解程序测试口令。,第七讲 认证,(2)口令攻击的种类 计算资源依靠口令的方式来保护的脆弱性:网络数据流窃听。由于认证信息要通过网络传递,并且很多认证系统的口令是未经加密的明文,攻击者通过窃听网络数据,就很容易分辨出某种特定系统的认证数据,并提取出用户名和口令。口令被盗也就是用户

7、在这台机器上的一切信息将全部丧失,并且危及他人信息安全,计算机只认口令不认人。最常见的是电子邮件被非法截获。,第七讲 认证,认证信息截取/重放(Record/Replay)有的系统会将认证信息进行简单加密后进行传输,如果攻击者无法用第一种方式推算出密码,可以使用截取/重放方式。攻击者仍可以采用离线方式对口令密文实施字典攻击;对付重放的方法有:1在认证交换中使用一个序数来给每一个消息报文编号,仅当收到的消息序号合法时才接受之;2使用时间戳(A接受一个新消息仅当该消息包含一个 A认为是足够接近 A所知道的时间戳);3询问/应答方式(A期望从 B获得一个新消息,则先发给 B一个临时值,并要求后续从

8、B收到的消息包含正确的这个临时值),第七讲 认证,字典攻击:由于多数用户习惯使用有意义的单词或数字作为密码,某些攻击者会使用字典中的单词来尝试用户的密码。所以大多数系统都建议用户在口令中加入特殊字符,以增加口令的安全性。穷举尝试(Brute Force):这是一种特殊的字典攻击,它使用字符串的全集作为字典。如果用户的密码较短,很容易被穷举出来,因而很多系统都建议用户使用长口令。窥探:攻击者利用与被攻击系统接近的机会,安装监视器或亲自窥探合法用户输入口令的过程,以得到口令。,第七讲 认证,社交工程:攻击者冒充合法用户发送邮件或打电话给管理人员,以骗取用户口令。比如,在终端上发现如下信息:Plea

9、se enter your user name to logon:Your password:这很可能是一个模仿登录信息的特洛伊木马程序,他会记录口令,然后传给入侵者。垃圾搜索:攻击者通过搜索被攻击者的废弃物,得到与攻击系统有关的信息,如果用户将口令写在纸上又随便丢弃,则很容易成为垃圾搜索的攻击对象。,第七讲 认证,口令猜中概率公式:P=LR/SL:口令生命周期 R:进攻者单位时间内猜测不同口令次数S:所有可能口令的数目。为降低猜中的概率:1减少口令使用寿命,即提高口令更换的频率;2降低进攻者单位时间内猜测尝试口令的次数;3增加可能口令的数目,即提高口令的字符个数。然而,口令的频繁更换增加了用

10、户的负担,也为资深入侵者提供了条件(为了便于记忆,人们往往选择与其个人相关的口令,如某重要的日期),口令字符个数的增加也会增加用户的负担且不会对资深入侵者有更大影响,因此,手段 2应是较为有效的防猜中手段。,第七讲 认证,1.选择很难破译的加密算法,让硬件解密商品不能发挥作用。2.控制用户口令的强度(长度、混合、大小写)3.掺杂口令 先输入口令,然后口令程序取一个 12 位的随机数(通过读取实时时钟)并把它并在用户输入的口令后面。然后加密这个复合串。最后把 64 位的加密结果连同 12 位的随机数(叫做 salt)一起存入口令文件。4.不要暴露账户是否存在的信息 例:打入一个用户名后,不论账户

11、是否存在,都在相同时间里要求输入口令。5.限制口令尝试次数。6.系统中只保存口令的加密形式,第七讲 认证,7.一次性口令(OTP:One Time Password)在登录过程中加入不确定因素,使每次登录过程中传送的信息都不相同,以对付重放攻击。确定口令的方式:1)声称者与验证者两端共同拥有一串随机口令,在该串的某一位置保持同步。用于人工控制环境中。2)两端共同使用一个随机序列生成器,在序列生成器的初态保持同步。3)使用时戳,两端维持同步的时钟。,第七讲 认证,2.2 基于用户拥有什么的身份认证 尽管某些身份认证技术是完全基于用户拥有什么,但是它在一定程度上还是和基于用户知道什么的技术结合在一

12、起的,这种结合比单一地采用一种技术的安全性大大提高了(见图2)。通常,基于用户拥有什么的身份认证技术使用的是令牌,例如:记忆令牌和智能卡。,图2 基于数字证书的身份认证,这种机制采用的是生物特征识别技术,它采用的是用户独特的生理特征来认证用户的身份。这些生理特征包括生理属性(如指纹、视网膜识别等)和行为属性(如声音识别、手写签名识别等)。这些技术已经应用到了计算机的登录程序中。虽然这种技术比前两种认证技术有着更好的安全性,但是这种技术还不是很成熟,而且实际使用过程中的稳定性不是很好,并且费用很高,有待于进一步的研究和开发,以便能广泛地应用于身份认证中。,2.3 基于用户是谁的身份认证,2.3

13、基于用户是谁的身份认证,第七讲 认证,对用户固有的某些特征进行测量,如指纹、声音或签字。这些需要特殊硬件,这就限制了生物技术只能用在比较少的环境中。其吸引人的地方是生物识别不可能丢失和被偷窃。实际上,存在着某些局限性。传统的安全常识认为认证数据应有规则地进行变化。而使用指纹阅读器难于做到这一点。某些方法也遭到了用户的反对。还有,因为生物技术具有极为本质的特点,因此不可能给出准确的答案。,第七讲 认证,没有两个签字是绝对相同的,即使来自一个人,还有一些莫明其妙的影响,例如疲劳程度、心境状况和健康状况等。在匹配算法中必须建立某些公差。假如某个调用者经认证只有93%的可信度,是否让其登录?某些系统使

14、用智能卡存储每个用户的生物技术数据。这避免了需要主机数据库,而是依赖于卡的安全性来防止窜改。在用户和智能卡之间的协议中,结合了来自主机的随机质询,因而避免了重播攻击。,第七讲 认证,优点:绝对无法仿冒的使用者认证技术。缺点:较昂贵。不够稳定(辩识失败率高)。,2.3 基于用户是谁的身份认证,基于零知识证明的识别技术,零知识证明的基本思想:是向别人证明你知道某种事物或具有某种东西,而且别人并不能通过你的证明知道这个事物或这个东西,也就是不泄露你掌握的这些信息。零知识证明条件包括:最小泄露证明(Minimum Disclosure proof)和零知识证明(Zero Knowledge proof

15、)。,基于零知识证明的识别技术,零知识证明的系统原理:用P表示示证者,V表示验证者,要求:(1)示证者P几乎不可能欺骗验证者,若P知道证明,则可使V几乎确信P知道证明;若P不知道证明,则他使V相信他知道证明的概率接近于零。(2)验证者几乎不可能得到证明的信息,特别是他不可能向其他人出示此证明。(3)而零知识证明除了以上两个条件外,还要满足:验证者从示证者那里得不到任何有关证明的知识。,第七讲 认证,解释零知识证明的通俗例子是洞穴问题。如图:有一个洞,设P知道咒语,可打开C和D之间的秘密门,不知道者都将走入死胡同中,那么P如何向V出示证明使其相信他知道这个秘密,但又不告诉V有关咒语。,零知识证明

16、的基本协议假设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、P和V重复执行上面的过程N次。如果每次P都走正确,则认为P知道这个咒语。P的确可以使V确信他知道该咒语,但V在这个证明过程中的确没有获得任何关于咒语的信息。该协议是一个完全的零知识证明。如果将关于零知识洞穴的协议中P掌握的咒语换为一个数学难题,而P知道如何解这个难题,就可以设计实

17、用的零知识证明协议。,单机状态下的身份认证 1)根据人的生理特征进行身份认证 这是较早使用的一种方法,它根据人的生理特征,如指纹、视网膜、声音等来判别身份。目前同时采用几种生理特征来验证身份。当然,这种方法实现起来难度很大。2)根据约定的口令等进行身份认证 双方共同享有某个秘密,如联络暗号、User ID和Password等,根据对方是否知道这个秘密来判断对方的身份。这种方法最常用且简单,但安全性不高,因为秘密一旦泄漏,任何人都可以冒充。此外,目前的操作系统在身份认证方面还存在另一个弊端,被称为“有志者事尽成”系统,操作者可以反复地试猜。3)用硬件设备进行身份认证,网络环境下的身份认证 网络环

18、境下的身份认证较为复杂,主要是考虑靠验证身份的双方一般都是通过网络而非直接交互,想根据指纹等手段就无法实现。同时,大量的黑客随时随地都可以尝试向网络渗透,截获合法用户口令冒名顶替以合法身份入网。所以,目前一般采用的是基于对称密钥加密或公开密钥加密的方法,采用高强度的密码技术来进行身份认证。对TCP/IP网络计算机系统的攻击常常是监听网络信息,获得登陆用的帐号和口令。被俘获的帐号和口令用于以后对系统的攻击。S/Key是一个一次性口令系统,用来对付这种攻击。使用S/Key系统时,传送的口令只使用一次后即无效。用户使用的源口令不会在网络上传输,包括登陆或其他需要口令(如SU等)的时候。,S/KEY口

19、令序列认证方案描述,在S/KEY口令序列认证方案中,有客户和服务器两个实体参与操作。服务器端产生挑战数据,并校验随后客户端送来的一次性口令应答数据,最后将接收的有效的认证数据及相应的序列号存储在数据记录中。服务器产生的挑战数据由两部分构成,即种子Seed和迭代次数Seq组成,迭代次数Seq为一个整数。客户端通过用户口令和服务器发来的挑战数据计算一次性口令。,在使用S/Key系统时有两方面的操作。在客户方面,必须有手段产生正确的一次性口令。在服务主机方面,必须能够验证该一次性口令的有效性,并能够让用户安全地修改源口令。一般的S/Key系统是基于一些不可逆算法的(如MD4和MD5),也就是说这一类

20、算法如果拥有源数据,正向计算出结果速度很快。但如果没有源数据而试图反向计算出源数据,目前来看则基本上是不可能的。,用户在使用S/Key系统时,在计算机上对其口令进行初始化,该源口令按照选定的算法将计算N次的结果由计算机保存。计算N-1次后形成本次口令,当本次口令送给计算机时,计算机将所得的口令通过该算法计算一次,并将结果与计算机保存的上一个结果比较,若相同,则身份验证通过,而且将本次用户的输入保留,作为下一次用于比较的值。用户在下一次计算口令时,自动将计算次数减1(第二次计算N-2次,N为计算的次数)。这样达到连续变换传送口令的目的。而监听者也无法从所监听到的口令中得到用户的源口令,同时他所监

21、听到的信息也不能作为登录信息。此外,在计算机内部也不保存用户的源口令,以达到进一步的口令安全。,S/Key系统的优点是实现原理简单,但缺点是会给使用带来麻烦(如口令使用一定次数后就需重新初始化)。另一个问题是S/Key系统是依赖于某种算法的不可逆性的,所以算法也是公开的。当关于这种算法的研究有了新进展时,系统将被迫重新选用其它更安全的算法。,3 第三方认证,所谓第三方认证就是在相互不认识的实体之间提供安全通信。最早实现第三方认证的是Kerberos认证系统。另一个第三方认证系统是基于X.509数字证书的。,Kerberos 简介,Kerberos:希腊神话“三个头的狗地狱之门守护者”希望有三个

22、功能:身份认证、记账、审核。Kerberos针对分布式环境,一些工作站可能安装于不安全场所,而且用户也并非是完全可信的。客户在登录时,需要认证。用户必须获得由认证服务器发行的许可证,才能使用目标服务器上的服务。许可证提供被认证的用户访问一个服务时所需的授权资格。所有客户和服务器间的会话都是暂时的。,Kerberos是为TCP/IP网络设计的可信第三方认证协议。网络上的Kerberos服务器起着可信仲裁者的作用。Kerberos可提供安全的网络鉴别,允许个人访问网络中不同的机器。Kerberos基于对称密码学(采用的是DES,但也可用其它算法替代),它与网络上的每个实体分别共享一个不同的秘密密钥

23、,是否知道该秘密密钥便是身份的证明。,第七讲 Kerberos认证,Kerberos的产生背景在网络系统中,用户需要从多台计算机得到服务,控制访问的方法有三种:a.)认证工作由用户登录的计算机来管理,服务程序不负责认证,这对于封闭式网络是可行的方案。b.)收到服务请求时,对发来请求的主机进行认证,对每台认证过的主机的用户不进行认证。例:rlogin和rsh 程序。半开放系统可用此方法。每个服务选择自己信任的计算机,在认证时检查主机地址来实现认证。C)在开放式系统中,主机不能控制登录它的每一个用户,另外有来自系统外部的假冒等情况发生,以上两种方法都不能保证用户身份的真实性,必须对每一个服务请求,

24、都要认证用户的身份。,X.509,认证即证明、确认个体的身份。传统的认证方式多采用面对面的方式,或者以一些如笔迹、习惯动作及面貌等生理特征来辨识对方,而在互联网逐渐深入每个人生活之中的今天,每一位网络用户都可以运用网络来进行各种活动,对于认证的需求也更是大大地提高。数字证书包含用户身份信息、用户公钥信息以及证书发行机构对该证书的数字签名信息。证书发行机构的数字签名可以确保证书信息的真实性,用户公钥信息可以保证数字信息传输的完整性,用户的数字签名可以保证数字信息的不可抵赖性。,数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字

25、证书的有效性,从而解决相互间的信任问题。为了在开放网络上实现远程的网络用户身份认证,ITU于1988年制定了认证体系标准:“开放性系统互连目录服务:认证体系X.509”。用户的数字证书是X.509的核心,证书由某个可信的证书发放机构CA建立,并由CA或用户自己将其放入公共目录中,以供其它用户访问。目录服务器本身并不负责为用户创建公钥证书,其作用仅仅是为用户访问公钥证书提供方便。,X.509中,数字证书的一般格式如图所示,(1)版本号:若默认,则为第一版。如果证书中需有发行者惟一识别符(Initiator Unique Identifier)或主体惟一识别符(Subject Unique Ide

26、ntifier),则版本号为2,如果有一个或多个扩充项,则版本号为3。,(2)序列号:为一整数值,由同一CA发放的每个证书的序列号是惟一的。(3)签名算法识别符:签署证书所用的算法及相应的参数。(4)发行者名称:指建立和签署证书的CA名称。(5)有效期:包括证书有效期的起始时间和终止时间。,(6)主体名称:指证书所属用户的名称,即这一证书用来证明私钥用户所对应的公开密钥。(7)主体的公开密钥信息:包括主体的公开密钥、使用这一公开密钥的算法的标识符及相应的参数。(8)发行者惟一识别符:这一数据项是可选的,当发行者(CA)名称被重新用于其它实体时,则用这一识别符来惟一标识发行者。,(9)主体惟一识

27、别符:这一数据项也是可选的,当主体的名称被重新用于其它实体时,则用这一识别符来惟一地识别主体。(10)扩充域:其中包括一个或多个扩充的数据项,仅在第三版中使用。(11)签名:CA用自己的秘密密钥对上述域的哈希值进行数字签名的结果。此外,这个域还包括签名算法标识符。,X.509的证书和证书吊销列表格式,公开密钥基础设施(Public Key Infrastructure,PKI)是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单地说,PKI是一个用公钥密码学技术来实施和提供安全服务的、具有普适性(Pervasive)的安全基础设施

28、。所谓的普适性基础,就是一个大环境的基本框架,一个基础设施可视为一个普适性基础。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。PKI的技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。,PKI(p175),1.PKI技术的信任服务及意义(1)PKI技术的信任服务 在网络通信和网络交易中,特别是在电子政务和电子商务业务中,最需要的安全保证有四个方面:身份标识和认证、保密或隐私、数据完整性和不可否认性。PKI可以完全提供以上四个方面的保障,提供的服务主要包括下述三方面内容。认证。支持密钥管理。完整性与不可否认。,(2)PKI的意义 可以构建一个可管、可控和安全的互连

29、网络。可以在互连网中构建一个完整的授权服务体系。通过PKI可以建设一个普适性好和安全性高的统一平台。,2.PKI的标准及体系结构(1)PKI的标准 从整个PKI体系建立与发展的历程来看,与PKI相关的标准主要包括以下几种:X.209(1988)ASN.1基本编码规则的规范。X.500(1993)信息技术之开放系统互连:概念、模型及服务简述。X.509(1993)信息技术之开放系统互连:鉴别框架。PKCS系列标准。OCSP在线证书状态协议。LDAP轻量级目录访问协议。,(2)PKI的体系结构 完整的PKI系统必须具有权威认证机构、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等

30、基本构成部分,构建PKI也将围绕着这五大系统来着手构建。认证机构。证书和证书库。密钥备份及恢复系统。密钥和证书的更新。证书的历史档案。客户端软件。交叉认证。,3.PKI的应用(1)虚拟专用网络(VPN)(2)安全电子邮件(3)Web安全(4)电子商务的应用,身份认证实例,1.产生背景 伴随着开放式网络系统的飞速发展,认证用户身份和保证用户使用时的安全,正日益受到各方面的挑战。在不与网络连接的个人计算机中,资源和个人信息可以通过物理保护来实现。在分时计算环境中,操作系统需要认证每一个用户,以保证每个用户的权限,操作系统在登录时完成这项工作。2.概念 本例是一种为网络通信提供可信第三方服务的面向开

31、放系统的认证机制。每当用户(Client)申请到某服务程序(Server)的服务时,用户和服务程序会首先向K要求认证对方的身份,认证建立在用户和服务程序对K信任的基础上。在申请认证时,client和server都可看成是K认证服务的用户,为了和其他服务的用户区别,K用户统称为P,P既可以是用户也可以是某项服务。认证双方与K的关系如图所示。,认证双方与K的关系,当用户登录到工作站时,K对用户进行初始认证,通过认证的用户可以在整个登录时间得到相应的服务。K既不依赖用户登录的终端,也不依赖用户所请求的服务的安全机制,它本身提供了认证服务器来完成用户的认证工作。,3.K协议内容和工作原理(1)K的组成

32、 K由下述模块组成:.K应用程序库。.加密/解密库。.数据库程序库。.数据库管理程序。.KDBM服务器。.认证服务器。.数据库复制软件.用户程序。应用程序。,(2)K工作原理 通过下面的三步,用户和服务程序互相验证了彼此的身份,并且拥有只有用户和服务程序两者知道的会话密钥,以后的通信都可以通过会话密钥得到保护。认证服务器检查用户过程。用户重新申请令牌过程。用户利用令牌申请服务过程。,4.K数据库原理 认证工作是由认证服务程序实现的,它们从K数据库中读取用户的信息来完成认证工作,对数据库的操作是只读的。对数据库的更新和管理操作由另外的服务来完成,称做KDBM(KDMS)。(1)KDBM服务程序(

33、KDBM server)KDBM服务用来满足添加P和改变P密码的各种请求。(2)kadmin和kpasswd命令 kadmin命令只能被K超级用户使用,用来添加P和更改P的密码。kpasswd命令被P用来修改K密码,同样要求输入用户原来的密码完成验证工作。,(3)数据库复制 完成数据库复制工作的软件分为两部分,运行在master上的称为kprop,运行在slave上的称为kpropd。首先,kprop发送要发送的数据库的校验和,校验和用只有master和slave知道的密钥加密。然后kprop程序将整个数据库发送给kpropd程序。kpropd接收整个数据库后计算校验和并与收到的校验和进行比较

34、,如果两者相同,则用收到的新数据库更新原来的数据库。,身份认证(2)密钥管理,密钥管理技术,假设Alice和Bob在使用对称密钥进行保密通信时,必然拥有相同的密钥。Kerberos系统中为了避免攻击者通过穷举攻击等方式获得密钥,必须经常更新或是改变密钥,对于更新的密钥也要试图找到合适的传输途径。假设Alice在向Bob发送信息时,始终不更新密钥,那么在攻击者Mallory对信息M的收集量满足一定要求时,其成功破译系统的可能性会增大。两个通信用户Alice和Bob在进行通信时,必须要解决两个问题:必须经常更新或改变密钥和如何能安全地更新或是改变密钥。人为的情况往往比加密系统的设计者所能够想象的还

35、要复杂的多,所以需要有一个专门的机构和系统进行密钥管理。,密钥管理(p148),密钥管理是密码学中最重要的部分。设计安全的密钥算法和协议是困难的工作,对密钥保密难度就更大了。1 密钥生成 算法的安全性依赖于密钥,如果使用一个弱密钥,那么整个体制是弱体制,密码分析者就不需要试图去破译加密算法了。密钥生成应注意以下几个问题。1.减少密钥空间。2.弱密钥选择。3.随机密钥。,2 发送密钥 如果采用对称加密算法进行保密通信,则需要同一密钥。发送者可以通过一个可靠的通信员把密钥传送给接收者,也可以用合格的邮政或传递业务来传送,或者发送者同接收者一起建立另一个希望无人窃听的通信信道。对密钥分发问题的另一个

36、解决方法是将密钥分成许多不同的部分,然后用不同的信道发送出去:有的通过电话,有的通过邮寄,有的还可以通过专递或信鸽等(图1)。即使截获者能收集到密钥,但缺少某一部分,他仍然不知道密钥是什么,所以该方法可以用于除个别特殊情况外的任何场合。,图1 通过并行信道的密钥分发,3 验证密钥 当接收者收到密钥时,需要确定这是发送者传送的,而不是其他人伪装发送者传送的,如果是发送者亲自递给他的,那自然简单;如果发送者通过可靠的信使传送密钥,接收者必须相信信使;如果密钥由密钥加密密钥加密,接收者必须相信只有发送者才拥有那个加密密钥;如果发送者运用数字签名协议来给密钥签名,那么当接收者验证签名时就必须相信公开密

37、钥数据库;如果某个密钥分配中心(KDC)在发送者的公钥上签名,接收者必须相信KDC的公开密钥不被篡改过。(1)密钥传输中的错误检测 最广泛采用的一种方法是用密钥加密一个常量,然后把密文的前24个字节与密钥一起发送.在接收端,做同样的工作,如果接收端加密后的常数能与发送端的常数匹配,则传输无错。,(2)密钥在解密过程中的错误检测 最简单的方法是附加一个验证分组:加密之前给明文加一个已知的报头。在接收端,接收者解密报头,并验证它的正确性。4 使用密钥 用硬件实现加密更安全。如果受到损害,许多加密设备被设计成能够擦除密钥。在一些通信应用中,可以使用会话密钥。会话密钥是指用于一次通信会话,通话完毕就抛

38、弃的密钥。5 更新密钥 如果改变加密的数据链路的密钥,每天进行新的密钥分发的确是一项困难的工作。较容易的解决办法是从旧的密钥中产生新的密钥,又称为密钥更新。更新密钥使用的是单向函数。密钥更新是可行的,但记住新密钥只是与旧密钥一样安全。,6 存储密钥 最简单的密钥存储问题是单用户的密钥存储,发送者加密文件以备以后用。一些系统采用简单的方法:密钥存放于发送者的脑子中,而绝不放在系统中,他只需记住密钥,并在需要对文件加密或解密时输入。可采用类似于密钥加密密钥的方法对难以记忆的密钥进行加密保存。7公开密钥的密钥管理 保证公开密钥的安全性的有效措施:(1)公钥证书 公钥证书是某人的公开密钥,由一个值得信赖的人签发。证书可用来防范用一个密钥替换另一个密钥的攻击。(2)分布式密钥管理 在有些情况,进行集中密钥管理是不可能的,这时发送者和接收者都不相信CA,或者他们只相信他们的朋友,或者他们谁都不相信。,在分布式密钥管理中,通过介绍人解决了此问题。介绍人是系统中对他们朋友的公钥签名的其他用户。此机制的好处是不需要人人都得相信的CA。缺点就是当Y接收到X的密钥时,并不能保证他认识介绍人中的哪一个。因此就不能保证他相信密钥的合法性。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号