物联网安全:身份认证

微信公众号:计算机与网络安全

ID:Computer-network

在物联网系统中,信任是实施身份认证的关键。当一个物联网实体信任另一个实体时,可以通过身份认证许可双方进行通信并传输数据。在物联网系统中,实施身份认证的方式有多种,其中,RFID是一种典型的身份认证手段。

身份认证技术是指通信双方可靠地验证对方身份的技术。身份认证包括用户向系统出示自己的身份证明和系统查核用户的身份证明,这是判明和确定通信双方真实身份的两个重要环节。

1、身份认证的概念

身份认证在网络安全中占据着十分重要的位置。身份认证是安全系统中的第一道防线,用户在访问安全系统之前,首先利用身份认证系统识别身份,然后访问监控器,根据用户的身份和授权数据库决定用户是否能够访问某个资源。

在单机环境下,身份认证技术可以分为3类,即通过用户所知道的秘密(如口令等),或所拥有的物理设备(如智能卡等),或所具有的生理特征(如用户的指纹等)进行验证,同时可根据不同的需求同时采用以上多种认证技术。

在网络环境下,由于任何认证信息都是在网上传输的,因此身份认证较为复杂,不能依靠简单的口令或是主机的网络地址。因为大量的黑客随时随地都有可能尝试向网络渗透,对认证信息进行攻击,所以,网络身份认证必须防止认证信息在传输或存储过程中被截获、窜改和冒名顶替,同时也必须防止用户对身份的抵赖。在这种条件下,应利用以密码学理论为基础的身份认证协议来实现通信双方在网络中的可靠互相认证。身份认证协议规定了通信双方之间为了进行身份认证,同时建立会话密钥所需要的进行交换的消息格式和次序。

认证(authentication)是证实一个实体声称的身份是否真实的过程,又称为鉴别。认证主要包括身份认证和信息认证两个方面。前者用于鉴别用户身份,后者用于保证通信双方信息的完整性和抗否认性。身份认证的本质是被认证方有一些信息(无论是一些秘密的信息,还是一些个人持有的特殊硬件或个人特有的生物学信息),除被认证方自己认证外,任何第三方(在有些需要认证权威的方案中,认证权威除外)不能伪造,被认证方能够使认证方相信他确实拥有那些秘密,这样,他的身份就可以得到认证。

身份认证技术在信息安全中占有极其重要的地位,是安全系统中的第一道关卡。两个物联网实体在交互通信和传输数据之前,必须首先向身份认证系统表明自己的身份。身份认证系统首先验证用户的真实性,然后根据授权数据库中用户的权限设置确定其是否有权访问所申请的资源。身份认证是物联网系统中最基本的安全服务,其他的安全服务都要依赖于它。一旦身份认证系统被攻破,那么系统的所有安全措施都将形同虚设。黑客攻击的目标往往也就是身份认证系统。由于物联网连接的开放性和复杂性,物联网环境下的身份认证更为复杂。

事实上,每一个身份认证系统都具有自己的应用范围。在不同的应用范围中,安全风险的情况可能完全不同。针对具体环境采用不同特征的认证协议,可以用较小的代价将安全风险的某一方面降到可接受的范围。

2、身份认证的基本功能和要求

身份认证系统的基本功能介绍如下。

可信性:确保信息的来源是可信的,即信息接收者能够确认所获得的信息是可靠的、安全的,而不是冒充者所发出的。

完整性:保证信息在传输过程中是完整的,即信息接收者能够确认获得的信息在传输过程中没有被修改、延迟和替换。

不可抵赖性:要求信息的发送方不能否认他所发出的信息,同样,信息的接收方不能否认他已收到了信息;网络中通常采用基于数字签名和公开加密技术的不可否认机制。

访问控制:确保非法用户不能够访问系统资源,合法用户只能访问控制表确定的资源,并根据访问控制级别(如浏览、读、写和执行)访问系统授权的资源。

在复杂开放的网络环境下,所设计的网络身份认证系统至少应该满足以下几个方面的功能要求。

1)抵抗重放攻击

重放攻击是一种相当普遍的攻击方式,如果身份认证系统不能抵抗重放攻击,则系统基本无法投入实际应用。防止重放攻击主要是保证认证信息的可信性,其基本方法包括:为认证消息增加一个时间戳,为认证消息增加实时信息,动态实施认证消息等。

2)抵抗密码分析攻击

身份认证系统的认证过程应具有密码安全性。这种安全性可通过对称密码体制的保护、非对称密码体制的保护或者Hash函数的单向性来实现。

3)双向身份认证功能

如果在设计身份认证系统时仅实现服务器对客户端的身份认证,则说明系统是不完善的,特别是客户端具有敏感信息上传的时候,因此也应该实现客户端对服务器的身份认证。以自动取款机(ATM)为例,客户必须防止来自服务端的欺骗,因为如果存在欺骗,那么客户将会泄露自己的帐户信息。

4)多因子身份认证

为了提高身份认证服务的安全强度,一种身份认证机制最好不要仅仅依赖于某一项秘密或者持有物。如果身份认证系统仅仅依赖于用户所有,则拥有物一旦丢失,身份冒充将成为可能;如果身份认证系统仅仅依赖于用户生物特征,则一旦这个特征被模仿,身份冒充将成为可能;如果系统仅仅依赖用户所知实现对用户身份的认证,则用户所知一旦泄露,身份冒充将成为可能。

5)良好的认证同步机制

如果身份认证信息是动态推进的,则存在认证的同步问题。有许多因素可能会导致认证的不同步:确认消息的丢失、重复收到某个认证消息、中间人攻击等。身份认证系统应该具有良好的同步机制,以保证在认证不同步的情况下,能自动恢复认证同步。

6)保护身份认证者的身份信息

在身份认证过程中保护身份信息具有十分重要的意义。身份信息保护分为以下几个层次:身份信息在认证过程中不被泄露给第三方,可以通过加密进行传输;甚至连身份认证服务器也不知道认证者的身份,可以通过匿名服务进行传输。

7)提高身份认证协议的效率

一个安全的认证协议可以减少认证通信的次数,保证可靠性,降低被攻击的可能性,这是身份认证系统设计所追求的目标。

8)减少认证服务器的敏感信息

一个良好的身份认证系统应该在服务器中存放尽可能少的认证敏感信息,这样,服务器即使被攻破,也可以将损失降到最低。

3、身份认证的主要方式

随着物联网的不断发展,越来越多的人开始尝试基于物联网进行在线交易,如公交卡、微信、支付宝、Apple Pay等。这些支付的核心是RFID和二维码。然而病毒、黑客、网络钓鱼、网页仿冒、诈骗等恶意威胁,给在线交易的安全性带来了极大的挑战。各种各样的网络犯罪和层出不穷的攻击方法引起了人们对网络身份的信任危机。在物联网系统中,如何证明“我是谁”以及如何防止身份冒用等问题又一次成为人们关注的焦点。

目前,物联网系统中常用的身份认证方式主要有以下6种。

(1)RFID智能卡认证

RFID智能卡是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据。智能卡由专门的厂商通过专门的设备生产,是不可复制的硬件。智能卡由合法用户随身携带,用户登录时必须将智能卡插入专用的读卡器读取其中的信息,以验证用户的身份。智能卡认证基于“what you have”的手段,通过智能卡硬件的不可复制性来保证用户身份不会被仿冒。然而,由于每次从智能卡中读取的数据均是静态的,通过内存扫描或网络监听等技术很容易截取用户的身份验证信息,因此,智能卡也存在安全隐患。

(2)用户名/密码方式

用户名/密码是最简单也是最常用的身份认证方法,是基于“what you know”的验证手段。每个用户的密码均是由用户自己设定的,只有用户自己知道。只要用户能够正确输入密码,计算机就认为操作者是合法用户。实际上,许多用户为了防止忘记密码,经常将诸如生日、电话号码等容易被猜测的字符串作为密码,或者把密码抄在纸上,存放在一个自认为安全的地方,这样很容易造成密码泄露。即使能保证用户密码不被泄露,由于密码是静态的数据,在验证过程中需要在计算机内存和网络中传输,而每次验证使用的验证信息都是相同的,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获,因此,从安全性上讲,用户名/密码方式是一种极不安全的身份认证方式。

(3)动态口令

动态口令技术是一种让用户密码按照时间或使用次数不断变化、每个密码只能使用一次的技术。它采用一种叫作动态令牌的专用硬件,内置电源、密码生成芯片和显示屏,密码生成芯片运行专门的密码算法,可根据当前时间或使用次数生成当前密码并将其显示在显示屏上。认证服务器采用相同的算法认证当前的有效密码。用户使用时只需要将动态令牌上显示的当前密码输入客户端计算机,即可实现身份认证。由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件,因此只要通过密码验证就可以认为该用户的身份是可靠的。而用户每次使用的密码都不相同,即使黑客截获了一次密码,也无法利用这个密码来仿冒合法用户的身份。

动态口令技术采用一次一密的方法,有效保证了用户身份的安全性。但是如果客户端与服务器端的时间或次数不能保持良好的同步,就可能发生合法用户无法登录的问题。并且用户每次登录时需要通过键盘输入一长串无规律的密码,一旦输错就要重新操作,使用起来非常不方便。国内目前应用的较为典型的动态口令技术有VeriSign VIP动态口令技术和RSA动态口令,而VeriSign依托本土的数字认证厂商iTrusChina,对国内的密码技术进行了改良。

(4)USB Key认证

基于USB Key的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术。它采用软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。USB Key是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USB Key内置的密码算法即可实现对用户身份的认证。基于USB Key的身份认证系统主要有两种应用模式:一种是基于冲击/响应的认证模式,另一种是基于PKI体系的认证模式。

(5)生物识别

传统的身份认证技术一直游离于人类体外,有关身份验证的技术手段一直在兜圈子,而且兜得越来越大,越来越复杂。以“用户名+口令”方式过渡到智能卡方式为例,首先需要随时携带智能卡,其次智能卡容易丢失或失窃,补办手续繁琐冗长,并且需要出具能够证明身份的其他文件,使用很不方便。直到生物识别技术得到成功的应用,这个圈子才终于又兜了回来。它真正回归到了对人类最原始生理性的贴和,并且通过这种终极贴和,给了人类“绝对个性化”的心理感受;与此同时,还最大限度地释放了这种“绝对个性化”原本具有的,在引导人类自身安全、简约生活上的巨大能量。

生物识别技术主要是指通过可测量的身体或行为等生物特征进行身份认证的一种技术。生物特征是指唯一的、可以测量或可自动识别和验证的生理特征或行为方式。生物特征分为身体特征和行为特征两类。身体特征包括指纹、掌型、视网膜、虹膜、人体气味、脸型、血管和DNA等;行为特征包括签名、语音、行走步态等。目前部分学者将视网膜识别、虹膜识别和指纹识别等归为高级生物识别技术,将掌型识别、脸型识别、语音识别和签名识别等归为次级生物识别技术,将血管纹理识别、人体气味识别、DNA识别等归为“深奥的”生物识别技术。

与传统身份认证技术相比,生物识别技术具有以下特点。

① 随身性:生物特征是人体固有的特征,与人体是绑定的,具有随身性。

② 安全性:生物特征本身就是个人身份的最好证明,可以满足更高的安全需求。

③ 唯一性:每个人拥有的生物特征各不相同。

④ 稳定性:生物特征(如指纹、虹膜等)不会随时间等条件的变化而变化。

⑤ 广泛性:每个人都具有生物特征。

⑥ 方便性:生物识别技术不须记忆密码,不须携带、使用特殊工具(如钥匙等),不会遗失。

⑦ 可采集性:选择的生物特征易于测量。

⑧ 可接受性:使用者对所选择的个人生物特征及其应用愿意接受。

基于以上特点,生物识别技术具有传统的身份认证手段无法比拟的优点。采用生物识别技术可不必再记忆和设置密码,使用更加方便。

(6)步态识别

步态识别作为一种新兴的行为特征识别技术,旨在根据人们走路的姿势进行身份识别。步态特征是在远距离情况下唯一可提取的生物特征,早期的医学研究证明了步态具有唯一性,因此,可以通过对步态的分析来进行人的身份识别。它与其他的生物特征识别方法(如指纹、虹膜、人脸等)相比有以下独特的特点。

1)采集方便

传统的生物特征识别对所捕捉的图像质量要求较高,然而,步态特征受视频质量的影响较小,即使在低分辨率或图像模糊的情况下也可以被获取。

2)远距离性

传统的指纹和人脸识别只能在接触或近距离情况下才能进行,而步态识别可以在远距离情况下进行,对用户要求较低,甚至不需要用户进行专门配合,可应用在非受控环境中进行身份识别。

3)冒犯性

在信息采集过程中,其他的生物特征识别技术需要在与用户的协同合作(如接触指纹仪、注视虹膜捕捉器等)下完成,交互性很强,而步态特征却能够在用户并不知情的条件下进行获取。

4)难于隐藏和伪装

在安全监控中,作案对象通常会采取一些措施(如戴上手套、眼镜和头盔等)来掩饰自己,以逃避监控系统的监视,此时,人脸和指纹等特征已不能发挥它们的作用。然而,步态难以隐藏和伪装,在安全监控中,隐藏和伪装步态的行为可疑,更加容易引起注意。

目前有关步态识别的研究尚处于理论探索阶段,还没有应用于实际当中。但基于步态的身份识别技术具有广泛的应用前景,会重点应用在智能监控中,适合应用于对安全敏感的场合,如银行、军事基地、国家重要安全部门、高级社区等。在这些敏感场合,出于管理和安全的需要,人们可以采用步态识别方法,实时监控该区域内发生的事件,帮助人们更有效地进行人员身份鉴别,从而快速检测危险,并为不同人员提供不同的进入权限级别。因此,开发实时稳定的基于步态识别的智能身份认证系统具有重要的理论和实际意义。

4、身份认证面临的安全威胁

在物联网系统中,最常见且简单的访问控制方法是通过静态口令的匹配来确认用户的真实性。但是,绝大部分计算机系统在使用普通的静态口令系统进行身份认证时,用户可以长时间多次利用同一口令进行登录,这种方式会带来许多安全隐患。例如,很多用户为了方便,在设定的口令中加入了自己的个人信息(如姓名、生日等),这种口令在有经验的黑客面前不堪一击。用户长期使用同一口令,其泄露和被破解的危险性会与日俱增。大多数应用系统的口令通过明文传输,容易被监听者获取并滥用;操作人员的口令可能会不经意地泄露(如敲键顺序被他人看见等)。事实证明,建立在静态口令之上的安全机制非常容易被黑客攻破。综合目前比较常见的信息安全问题,针对网络环境下的身份认证的威胁主要有以下6种。

1)中间人攻击

非法用户截获并替换或修改信息后再将其传送给接收者,或者冒充合法用户发送信息,其目的在于盗取系统的可用性,阻止系统资源的合法管理和使用。产生此类威胁的主要原因是认证系统设计结构存在问题:一个典型的问题是很多身份认证协议只实现了单向身份认证,其身份信息与认证信息可以相互分离。

2)重放攻击

网络认证还须防止认证信息在网络传输过程中被第三方获取,并记载下来,然后再传送给接收者,这就是重放攻击。重放攻击的主要目的在于实现身份伪造,或者破坏合法用户的身份认证同步性。

3)密码分析攻击

攻击者通过分析密码,破译用户口令/身份信息或猜测下一次用户身份认证信息。系统实现上的简化可能会为密码分析提供条件,系统设计原理上的缺陷可能会为密码分析创造条件。

4)口令猜测攻击

侦听者在知道了认证算法后,可以对用户的口令字进行猜测:使用计算机猜测口令字,利用得到的报文进行验证。这种攻击方法直接、有效,特别是当用户的口令字有缺陷时,如口令字短、将名字作为口令字、使用一个字(word)的口令字(可以使用字典攻击)等。非法用户获得合法用户身份的口令后,就可以访问对自身而言并未获得授权的系统资源。

5)身份信息的暴露

认证时暴露身份信息是不可取的。某些信息尽管算不上秘密,但大多数用户仍然不希望隐私资料被任意扩散。例如,在网上报案系统中,需要身份认证以确认信息的来源是真实的,但如果认证过程暴露了参与者的身份,则报案者完全可能会受到打击报复,从而会影响公民举报犯罪的积极性。

6)对认证服务器的攻击

认证服务器是身份认证系统的安全关键所在。在认证服务器中存放了大量的认证信息和配置数据,如果认证服务器被攻破,后果将会是灾难性的。

(0)

相关推荐