首页 > 代码库 > 计算机身份认证和消息认证的区别

计算机身份认证和消息认证的区别

一、基于秘密信息的身份认证方法 
1、口令核对
口令核对是系统为每一个合法用户建立一个用户名/口令对,当用户登录系统或使用某项功能时,提示用户输入自己的用户名和口令,系统通过核对用户输入的用户名、口令与系统内已有的合法用户的用户名/口令对(这些用户名/口令对在系统内是加密存储的)是否匹配,如与某一项用户名/口令对匹配,则该用户的身份得到了认证。
缺点:其安全性仅仅基于用户口令的保密性,而用户口令一般较短且是静态数据,容易猜测,且易被攻击,采用窥探、字典攻击、穷举尝试、网络数据流窃听、重放攻击等很容易攻破该认证系统。
2、单向认证 
如果通信的双方只需要一方被另一方鉴别身份,这样的认证过程就是一种单向认证,即前面所述口令核对法就算是一种单向认证,只是这咱简单的单向认证还没有与密鈅分发相结合。
与密鈅分发相结合的单向认证主要有两类方案:一类采用对密鈅加密体制,需要一个可信赖的第三方―――通常称为KDC(密鈅分发中心)或AS (认证服务器),同这个第三方来实现通信双方的身份认证和密鈅分发如DES算法,优点运算量小、速度快、安全度高,但其密鈅的秘密分发难度大;另一类采用非对称密鈅加密体制,加密和解密使用不同的密鈅SK,无需第三方参与,典型的公鈅加密算法有RSA。认证优点能适应网络的开放性要求,密鈅管理简单,并且可方便地实现数字签名和身份认证等功能,是目前电子商务等技术的核心基础。其缺点是算法复杂。
3、双向认证
双向认证中,通信双方需要互相鉴别各自的身分,然后交换会话密鈅,典型方案是Needham/Schroeder协议。优点保密性高但会遇到消息重放攻击。
4、身份的零知识证明
通常的身份认证都要求传输口令或身份信息,但如果能够不传输这些信息身份也得到认证就好了。零知识证明就是这样一种技术:被认证方A掌握某些秘密信息,A想设法让认证方B相信他确实掌握那些信息,但又不想让认证方B知道那些信息。
如著名的Feige-Fiat-shamir零知识身份认证协议的一个简化方案。
假设可信赖仲裁选定一个随机模数n,n为两个大素乘积,实际中至少为512位或长达1024位。仲裁方产生随机数V,使X2=V mod n,即V为模n的剩余,且有V-1mod n存在。以V作为证明者的公鈅,而后计算最小的整数s:s=sqrt(v-1)mod n作为被认证方的私鈅。实施身份证明的协议如下:被认证方A取随机数r,这里r<m,计算x=r2 mod m,把X送给认证方B;若b=1,则A将Y=RS送给B;若b=0,则B验证x=r2 mod m,从而证实A知道sqrt(x);若b=1,则B验证x=y2.v mod m,从而证实A知道S。
这是一轮鉴定,A和B可将此协议重复t次,直到A相信B知道S为止。
二、基于物理安全性的身份认证方法
尽管前面提到的身份认证方法在原理上有很多不同,但他们有一个共同的特点,就是只依赖于用户知道的某个秘密的信息。与此对照,另一类身份认证方案是依赖于用户特有的某些生物学信息或用户持有的硬件。
基于生物学的方案包括基于指纹识别的身份认证、基于声音识别身份认证以及基于虹膜识别的身份认证等技术。该技术采用计算机的强大功能和网络技术进行图像处理和模式识别,具有很好的安全性、可靠性和有效性,与传统的身份确认手段相比,无疑产生了质的飞跃。近几年来,全球的生物识别技术已从研究阶段转向应用阶段,对该技术的研究和应用如火如茶,前景十分广阔。
三、身份认证的应用
1、Kerberos是MIT为分布式网络设计的可信第三方认证协议。网络上的Kerberos服务起着可信仲裁者的作用,它可提供安全的网络认证,允许个人访问网络中不同的机器。Kerberos基于对称密码技术(采用DES进行数据加密,但也可用其他算法替代),它与网络上的每个实体分别共享一个不同的密鈅,是否知道该密鈅便是身份的证明。其设计目标是通过密鈅系统为客户/服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。
Kerberos也存在一些问题: Kerberos服务服务器的损坏将使得整个安全系统无法工作;AS在传输用户与TGS间的会话密鈅时是以用户密鈅加密的,而用户密鈅是由用户口令生成的,因此可能受到口令猜测的攻击;Kerberos 使用了时间戳,因此存在时间同步问题;要将Kerberos用于某一应用系统,则该系统的客户端和服务器端软件都要作一定的修改。
2、HTTP中的身份认证
HTTP提供了一个基于口令的基本认证方法,目前,所有的Web服务器都可以通过“基本身份认证”支持访问控制。当用户请求某个页面或运行某个CGI程序时,被访问访问对象所在目录下有访问控制文件(如NCSA用.haaccess文件)规定那些用户可以访问该目录,Web服务器读取该访问控制文件,从中获得访问控制信息并要求客户提交用户名和口令对经过一定的编码(一般是Base64方式),付给服务方,在检验了用户身份和口令后,服务方才发送回所请求的页面或执行EGI程序。所以,HTTP采用的是一种明文传输的口令核对方式(传输过程中尽管进行了编码,但并没有加密),缺少安全性。用户可以先把使用SSI建立加密信道后再采用基本身份认证方式进行身份认证,而是基于IP地址的身份认证。
3、IP中的身份认证
IP协议由于在网络层,无法理解更高层的信息,所以IP协议中的身份认证实际不可能是基于用户的身份认证,而是基于IP地址的身份认证。
四、身份认证技术讨论
在计算机网络中身份认证还有其他实现途径,如数字签名技术。传送的报文用数字签名来证明其真实性,简单实例就是直接利用RSA算法和发送方的秘密密鈅。
由于数字签名有一项功能是保证信息发出者的身份真实性,即信息确实是所声称的签名人签名的,别人不能仿造,这和身份认证的情形有些相似;身份认证的核心是要确认某人确实是他所声称的身份。那么,我想应该能借用数字签名机制实现身份认证,但这可能有一个困难,如果不预先进行密鈅分发(即使是公鈅,也要有一个机制将真实的公鈅信息传递给每一个用户)。可能数字签名也无从实现。

计算机身份认证和消息认证的区别