分析信息安全身份认证中的动态口令电子令牌技术

发表时间:2020/4/24   来源:《中国电业》2020年第1期   作者: 胡美慧、肖万幸、运凯、高阳
[导读] 随着计算机网络化的发展, 信息系统的安全及其实现技术受到越来越多
        摘要:随着计算机网络化的发展, 信息系统的安全及其实现技术受到越来越多的关注。身份认证作为OSI 网络安全体系结构所提供的基本服务, 是信息安全领域的一个重要方面, 它根据用户ID、口令、网络地址及其他信息对用户所声称的身份进行认证。任何用户要登录系统都必须先通过认证, 获得许可, 方可进入计算机。
        关键词:信息安全身份认证;动态口令电子令牌技术;
        身份认证是网络安全技术的一个重要组成部分, 而动态口令认证系统可以有效地避免因用户密码被盗而带来的巨大损失。
        一、传统的身份认证方式
        传统的身份认证方式就是用户名口令核对法: 系统为每一个合法用户建立一个ID/PW 对,当用户登录系统时,提示用户输入自己的用户名和口令,系统通过核对用户输入的用户名,口令与系统内已有的合法用户的ID/PW 是否匹配,来验证用户的身份。这种静态口令认证方式存在很多问题, 最常见的是网络数据流窃听、截取/重放、暴力破解、窥探等攻击方式。静态口令的不安全因素是信息系统普遍存在的隐患。基于口令认证的身份鉴别的安全性成为信息安全中迫切需要解决的一个问题, 动态口令认证方式应运而生。
        二、动态口令认证的常用技术
        20 世纪80 年代初,根据动态因素的不同,动态口令认证技术主要分为两种,即同步认证技术和异步认证技术。其中同步认证技术又分为基于时间同步认证技术和基于事件同步认证技术异步认证技术即为挑战/应答认证技术。(1)基于事件同步技术,这种方法的原理是通过某一事件的序列及种子密钥作为输入值,通过散列算法运算出密码。也就是说,用户输入一次ID就会产生一个密码,变化单位是用户的使用次数,如果客户端和服务器所算出的密码一致,就认证了用户的合法身份。(2)基于时间同步技术,以用户登录时间作为随机因素, 选择单向散列函数作为口令的生成算法,这种方式对时间准确度要求较高,一般采取分钟为变化单位。这样可以保证散列函数算出的口令是在不断变化的,又减少了认证双方的交互过程。(3)基于挑战/应答技术,用户要求登录时,系统产生一个挑战码(随机数)发送给用户,客户端通过单向散列函数将用户的密钥和随机数进行运算,把结果(应答数)发送给系统,系统用同样的方法做验算即可验证用户身份。由于每个用户的密钥不同,不同的用户对同样的挑战值能算出不同的应答数, 只有某一用户用指定的令牌才能算出正确的应答数,并且这个应答数只使用一次,所以能保证很高的安全性。(4)S/Key 技术,目前在实际应用中, 使用最广泛的动态口令是S/Key 方式,它也是挑战/应答技术的一种。每个用户都有一个账号,每个账号配有种子、迭代值和秘密通行短语。使用秘密通行短语、种子以及变化的迭代值就能够产生一系列口令,每个口令用户只能使用一次。用户用口令登录时,系统用用户的合法性,用户登录N 次后必须重新初始化口令序列。
        三、信息安全身份认证中的动态口令电子令牌技术
        1.身份认证系统的基本要求。( 1) 机密性。任何未授权者都无法理解经过加密的消息。( 2) 完整性 。可以检测存储介质或传输过程中对加密消息的任何更改或讹误。( 3) 不可抵赖性。发送方不能抵赖先前生成或发送了的加密消息。( 4) 身份验证 。发送方和接收方能够彼此确认对方的身份以及消息的起源地和目的地。
        2.系统设计思想。( 1) 基于ID、动态口令机制对用户身份进行验证, 将用户输入的信息与系统自动产生的动态数据比较, 作为是否允许其登陆的依据。( 2) 动态口令基于Schnorr 身份认证协议产生, 使得用户每次登陆产生的动态口令不会重复。( 3) 动态口令在AS 端用相应程序生成; 在客户端由AS 分发的客户端动态口令生成程序产生, 且保证动态口令在AS 端和客户端的秘密密钥和算法完全相同。

( 4) 可抵抗截取/重放攻击, 攻击者不能用侦听到的数据来冒充用户再次登陆。( 5) 支持分布式认证方式。
        3.电子令牌产品是动态口令技术的典型应用产品,它把服务器和台式机具体化,把重点集中于对网络口令确认的第一线防御,使它保护的网络上没有不应当进入的用户出现。电子令牌是一张信用卡大小的装置,其厚度大约如同普通信用卡。其表面只有一个显示若干位数字的液晶显示屏,这个液晶显示屏上的数字每分钟变化一次,这些数字看上去是完全随机的,彼此看不出任何关联。用户登录网络资源和应用程序时,除输入常规的用户名与预选口令外,还要输入令牌上显示的这个数字。特殊情况下,可能需要用户输入下一个显示的数字。令牌的设计是为方便用户随身在钱包口袋内携带。由于用户程序会倾向于绕开系统本身的简单口令功能而完全依靠令牌服务,所以需要提供一个全面的口令管理功能。令牌的简单有效性是建立在服务器与应用软件接口配合的基础上的。服务器要记住各用户所持的令牌,并根据时问就能够验证用户输入的数字确实来自相应的令牌。一般提供一个服务程序来实现这个功能,用户一般都通过其它应用程序来接触令牌确认。所以厂商需要提供广泛的接口工具,使软件厂家或者内部开发人员可以以其习惯的方式来结合我们提供的令牌验证功能。最起码,需要简单的函数库通过SOCKET接口、DLL接口、ACTIVEX接口、EJB接口等。
        4.身份认证系统的实现。身份认证系统的结构主要由三部分组成: 认证服务器端, 客户端和用户信息数据库。服务器端: 服务器由初始化模块、用户管理模块和动态口令认证模块构成。初始化模块主要负责系统的维护、参数设置等功能; 用户管理模块用于添加新的用户、删除用户及对用户的口令、权限、密钥进行设置等操作; 动态口令认证模块用于对用户的身份进行验证。客户端的作用主要是对挑战码做出相应的响应, 即需要配置挑战/应答器, 本系统用软件来实现挑战应答器的功能, 该软件以AS 端产生的挑战码为输入, 连同客户端保存的用户的秘密密钥计算出一个相应的响应码。用户信息数据库中存储有用户认证信息表, 该表的主要字段为用户的ID 号、用户的公共密钥、秘密密钥及其他一些重要的信息。这些信息为响应码的生成提供了数据源。动态密码依据安全算法程序每登录一次变化一次, 且任何人都无法预知, 保证一次一密。不断变化着的密码即使被泄露和截获也无法使用, 所以可以完全公开, 用户再也不用遮遮掩掩地当众输入密码了, 彻底解除了密码失窃的顾虑。动态密码认证系统采用双因素认证机制。用户登录时, 除开机输入码外, 还需输入产生的响应码, 之后动态密码才能登录系统。在传统的认证机制下, 用户密码往往是在不知情时丢失、被盗, 危害发生后才有所察觉, 只能亡羊补牢。本系统特点要求密码一旦丢失会马上被用户发现并及时挂失, 防患于未然。在动态密码认证系统把密钥生成和管理完全交给系统自动完成, 最大限度地减少了人为因素, 有效地防止了内部人员作案, 使系统安全防范对内对外同样坚固。
        结束语:基于动态口令的身份认证系统解决了静态口令认证的诸多弊端, 用户秘密密钥内置于客户端软件, 大大减少了口令泄露的概率, 使信息系统获得了很高的安全性, 为用户提供了一个更为安全的屏障。因此, 该系统有着广阔的应用前景。
        参考文献:
        [1]吴世忠等.Bruce Schneier.应用密码学协议算法与C 源程序( 第2版) [M].北京:机械工业出版社, 2018.
        [2]李忠献, 詹榜华.认证理论与技术的发展[J].电子学报, 2017.
        [3]王宏健, 邵佩英, 张籍.一次性口令身份验证系统的设计与实现[J].计算机应用研究, 2017.
        [4]卿斯汉, 冯登国.信息系统的安全[M].北京: 科学出版社, 2018.  “国家电网有限公司科技项目《电力业务动态身份安全认证与风险控制关键技术研究》支持”
       
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: