网络安全之身份认证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络安全之身份认证相关的知识,希望对你有一定的参考价值。

在网络环境下的信息世界,身份是区别于其他个体的一种标识。为了与其他个体有所区别,身份必须具有唯一性。当然,唯一性也是有范围的,如电话号码,在一个区域内是唯一的,如果考虑多个区域,可能会有相同的号码,但只要再添加区域号段,又能唯一区分开来。网络环境下的身份不仅仅用于标识一个人,也可以用于标识一个机器、一个物体,甚至一个虚拟的东西(如进程、会话过程等)。因此,网络环境下的身份是只在一定范围内用于标识事、物、人的字符串。
一、身份认证概述

网络环境下的认证不是对某个事物的资质审查,而是对事物真实性的确认。结合起来考虑,身份认证就是要确认通信过程中另一端的个体是谁(人、物、虚拟过程)。

那么,怎么知道通信的另一端是谁呢?通常,通信协议都要求通信者把身份信息传输过来,但这种身份信息仅用于识别,不能保证该信息是真实的,因为这个身份信息在传输过程中是可以被恶意篡改的。那么,怎样才能防止身份信息在传输过程中被恶意篡改呢?事实上要完全杜绝恶意篡改是不可能的,特别是在公共网络(如互联网)上传输的信息,而能做的,就是在身份信息被恶意篡改后,接收端可以很容易检测出来。

要识别真伪,首先要“认识”真实的身份。通过网络传递的身份可能是陌生人的身份,如何判断真伪?这里需要阐述一个观点:要识别真伪,必须先有信任。在网络环境下,信任不是对一个人的可靠性认可,而是表明已经掌握了被验证身份者的重要秘密信息,如密钥信息。假设A与B之间有一个得到确信的共享密钥,不管这个共享密钥是怎么建立的,他们之间就建立了相互信任。如果A确信掌握B的公开密钥,也可以说A对B建立了信任,但还不能说明B对A建立了信任。从上述讨论不难看到,在完全没有信任基础的情况下,新的信任是不能通过网络建立的,否则是不可靠的。

二、身份认证机制

身份认证的目的是鉴别通信中另一端的真实身份,防止伪造和假冒等情况发生。进行身份认证的技术方法主要是密码学方法,包括使用对称加密算法、公开密钥密码算法、数字签名算法等。

对称加密算法是根据Shannon理论建立的一种变换过程,该过程将一个密钥和一个数据充分混淆和置乱,使非法用户在不知密钥的情况下无法获得原始数据信息。当然一个加密算法几乎总伴随着一个对应的解密算法,并在对称密钥的参与下执行。典型的对称加密算法包括DES和AES。

公钥密码算法需要2个密钥和2个算法:一个是公开密钥,用于对消息的加密;一个是私钥(私有密钥),用于对加密消息的解密。根据名称可以理解,公开密钥是一个能公开的密钥,而私钥只能由合法用户掌握。典型的公钥密码算法包括RSA公钥密码算法和数字签名标准DSS。

数字签名实际是公钥密码的一种应用,其工作原理是,用户使用自己的私钥对某个消息进行签名,验证者使用签名者的公开密钥进行验证,这样就实现了只有拥有合法私钥的人才能产生数字签名(不可伪造性)和得到用户公钥的公众才可以进行验证(可验证性)的功能。

根据身份认证的对象不同,认证手段也不同,但针对每种身份的认证都有很多种不同的方法。如果被认证的对象是人,则有三类信息可以用于认证:(1)你所知道的(what you know),这类信息通常理解为口令;(2)你所拥有的(what you have),这类信息包括密码本、密码卡、动态密码生产器、U盾等;(3)你自身带来的(what you are),这类信息包括指纹、虹膜、笔迹、语音特征等。一般情况下,对人的认证只需要一种类型的信息即可,如口令(常用于登录网站)、指纹(常用语登录电脑和门禁设备)、U盾(常用于网络金融业务),而用户的身份信息就是该用户的账户名。在一些特殊应用领域,如涉及资金交易时,认证还可能通过更多方法,如使用口令的同时也使用U盾,这类认证称为多因子认证。

如果被认证的对象是一般的设备,则通常使用“挑战—应答”机制,即认证者发起一个挑战,被认证者进行应答,认证者对应答进行检验,如果符合要求,则通过认证;否则拒绝。移动通信系统中的认证就是一个典型的对设备的认证,这里设备标识是电话卡(SIM卡或USIM卡),认证过程则根据不同的网络有不同的方法,例如,GSM网络和3G网络就有很大区别,LTE网络又与前2种网络有很大不同,但都使用了“挑战—应答”机制。

在物联网应用环境下,一些感知终端节点的资源有限,包括计算资源、存储资源和通信资源,实现“挑战—应答”机制可能需要付出很大代价,这种情况下需要轻量级认证。为了区分对人的认证和对设备的认证,把这种轻量级认证称为对物的认证。其实,对物的认证不是很严格的说法,因为在具体技术上是对数据来源的认证。

三、对“人”的认证

人在网络上进行一些活动时通常需要登录到某个业务平台,这时需要进行身份认证。身份认证主要通过下面3种基本途径之一或其组合来实现:所知(what you know),个人所知道的或掌握的知识,如口令;所有(what you have),个人所拥有的东西,如×××、护照、信用卡、钥匙或证书等;个人特征(what you are),个人所具有的生物特性,如指纹、掌纹、声纹、脸形、DNA、视网膜等。

以上是关于网络安全之身份认证的主要内容,如果未能解决你的问题,请参考以下文章

CDH| 安全之Kerberos安全认证

哈希表 之 接入与身份认证技术概述

FlinkFlink 源码之 安全认证

Web安全之认证机制

网络安全之等保2.0测评

MongoDB管理之安全性