编辑: QQ215851406 2019-09-18
收稿日期: 2005- 07- 20;

修返日期: 2005- 08-

29 基金项目: 甘肃省自然科学基金资助项目( ZS021-A25- 018- G) 一种新的基于PKI 的动态身份认证系统的设计*张秋余

1 , 梁爽1,王怀江

2 ( 1.

兰州 理工 大学 计 算机 与通 信学 院, 甘肃兰州 730050;

2. 沈 阳铁 路信 号工 厂 开发 部, 辽宁沈阳 110025) 摘要: 针 对现 有身 份认 证技 术存 在的 缺点,将PKI 技术与挑战/应 答认证机制相结合, 提出了一种新的基于PKI 的 动态 身份 认证 系统 , 并 具体 论述 了该 系统的结构和认 证协议,同时对此 身份认证系统的安全 性进行了分析, 指出 了优 点和 不足 . 关键 词: 动 态身 份认 证;

认 证令 牌;

PKI;

挑战/应答 认证 机制 ;

网络 安全 中图 法分 类号 : TP309.

08 文 献标 识码 : A 文 章编 号: 1001- 3695( 2006) 10- 0116-

03 New Design of Dynamic Authentication Based on PKI ZHANG Qiu-yu

1 , LIANG Shuang

1 , WANG Huai-jiang

2 ( 1. College of Computer &

Communication, Lanzhou University of Technology, Lanzhou Gansu 730050, China;

2. Developing Department, Shenyang Railway Signal Factory, Shenyang Liaoning 110025, China) Abstract: This paper analyzes the disadvantage of current authentication, draws the thoughts from PKI and challenge/re- sponse scheme, and puts forward a new design schem e, which is a scheme of dynamic authentication based on PKI. And it discusses the system architecture and authentication protocol in detail. At the same time, it analyzes security of the system and points out the excellences and disadvantages. Key words: Dynamic Authentication;

Authentication Token;

PKI( Public Key Infrastructure) ;

Challenge/Response Authen- tication Scheme;

Network Security 身份认证是实现网络安全的第一步, 其他的安全服务都要 依赖于它, 一旦身份认证 系统被 攻破, 那么系 统的所 有其他 安 全措施将形同虚设.身份认证从某种意义上来说是一种机制, 这种机制用来实现安全连 接建立 前通信 双方身 份的识 别.身 份认证机制 [ 1] 大致可以分为两类: ①信 任第三 方的认 证机制, 如基于 PKI 的公钥证书认证机制;

②待认证双方交互认证对方 身份的认证机制, 即动态认证机制, 如挑战 /应答认证机制.本 文在充分了解公钥证书认证机制和挑战 /应答认证机制的基础 上, 将两者结合起来, 扬长避短, 提出一种新的基于 PKI 的动态 身份认证系统.

1 基于 PKI 的公钥证书认证机制 PKI 是一个 采用非 对称密 码算法 原理和 技术来 实现并 提 供安全服务的、 具有通用 性的安 全基础 设施, 它采用 证书管 理 公钥, 通过可信第三方机构把用户的公钥和用户的其他标志信 息绑定在一起, 实现用户在 Internet 上的身份认证, 从而提供安 全可靠的信息处理.它能够为 所有网 络应用 提供加 密和数 字 签名等密码服务及所需的密钥和证书管理体系 [ 2] . PKI 技术充分利用对称 密码 技术和 非对 称密 码技 术的 优势, 采用对称密码技术对 原始明 文加密, 而后 再用非 对称密 码 技术对此密钥加密.这样, 两者取长补短, 相辅相成, 为PKI 提 供方便、 灵活的 安全 服 务奠 定了 坚 实的 理论 基础.使用 基于PKI 的身份认证系统建立安全通信信任 机制, 均 是在公钥基 础 上完成的, 而与公钥成对的私钥只掌握在它们与之通信的另一 方.公钥的管理是采用公 钥证书 的形式 进行的.公钥 证书 就 是把用户的公钥和身份信息相结合, 在结合之前由一个可信任 的第三方权威机构 CA 来证实用户的身 份, 然后 由权威机构 对 该证书进行数字签名, 以证明其证书的有效性.使用公钥证书 建立起一套严密的身份认证系统, 从而保证信息除发送方和接 收方外不被第三者获知, 信 息在传 输过程 中不被 窜改, 发送 方 通过公钥证书验证接收方的身份, 发送方对自己发送信息不可 否认.CA 对数 字证 书的 签名使得 第三者不 能伪造和 窜改证书.PKI/CA 安全体系通过为交易的各方发放数字证书对交易 的各方进行身份标志并且在交 易的过 程中通 过数字 证书对 交 易的双方进行身 份验 证 和签 名验 证, 最 终实 现 交易 的安 全需求. 基于 PKI 的公钥证书认证 机制是 非常安 全的用 户认证 形式, 但这种身份认证方式是 静态的, 这 无疑为 黑客采 用字典 式 攻击提供了便利, 因此需要一种经常变化、 无法预测、 一次性使 用的动态口令来确保身份认 证的可 靠性, 尤其 是在网 上银行、 网上证券、 电子商务等数据 敏感性 行业, 采用 安全性 极高的 动 态口令就显得更为重要.

2 挑战/应答认证机制 挑战 /应答认 证机 制[3] 是一 种一 次性口令 认证机制. 每个用户都持有相 应的挑战 /应答令牌、 令牌内置 种子密钥和 加 密算法.用户要求登录时, 服务器随机生 成一个挑战 数( Chal- ・

6 1

1 ・ 计算机应用研究

2006 年lenge) , 用户将该挑 战 数手 工输 入 到挑 战 /应 答令 牌中, 挑战 / 应答令牌利用内置的种子密钥 和加密 算法对 其计算 出相应 的 应答数( Response) .用户将 该应 答数手 工输 入到 主机 再上 传 给服务器, 服务器根据该用户存储的种子密钥和加密算法计算 出应答数并与用户上传的 应答数 进行比 较.该方法 可以保 证 很高的安全性, 是一种非常可靠有效的认证方法.但该方案直 接应用在网络环 境下还 存在 一些 缺陷: 需要 特 殊硬 件(挑战 / 应答令牌) 的支持, 增加 了该 方案 的 实现 成本;

用户 需多 次手工输入数据, 易造成较多的输入失误, 使用起来十分不便;

用户 的身份标志直接 在网 络 上明 文传 输, 攻 击者 可 很容 易地 截获它, 留下了安全隐患. 采用基于 PKI 的数字证书 结合数 字签名 代替用 户名口 令 机制实现认证, 可以有效 保护用 户名和 口令不 被窃取, 且抗 抵赖, 但不能防止重放 攻击;

如果采 用挑战 /应答认 证机制, 可以防止重放攻击, 但不能防止假冒.为了弥补单一的认证机制存 在的不足, 本文将 PKI 证 书技术 与动态 口令机 制相结 合, 提出了一种基于 PKI 的动态的双因素强身份认证系统.

3 基于 PKI 的动态身份认证系统结构和工作协议设计 3.

1 基于 PKI 的动态身份认证系统结构( 图1) ( 1) 认证服务器 认证服务器主要包括控 制代理 模块和 认证服 务器.控制代理模块主要完成截获用户发向资源服务器认证的请求连接, 将其转发到认证服务模块进行用户的身份认证, 它是实现客户 端和认证服务模块认证连接转发的中间环节, 当用户认证成功 后为用户建立访问资源服 务器的 透明代 理.使用控 制代理 模 块的主要目的是保证在正常传输信息时, 实现用户信息数据库 与认证服务器的分离, 充分保证用户信息的安全.认证服务器 主要完成与客户端的认证 工作.各种 用户的 身份认 证信息 和 本地的一些 安全 参 数信 息, 都存 放 在用 户信 息 数据 库中. 同时, 为保护用户与认证服务器之间的通信以及实现用户对服务 器的身份认证, 认证 服务 器和 用户 分别拥 有一 对RSA 公私 密 钥对和 CA 机构颁发的证书, 用户可以通过使 用认证服务 器的 公钥加密信息来验证服务器的身份是否合法, 从而达到双向验 证的目的.认证服务器在实际 使用环 境中将 放置于 企事业 单 位网络的内部网络, 受到防火墙的访问控制保护. ( 2) 认证客户端 认证客户端位于内部网络 和公共 网络任 何待认 证的用 户 主机中.认证客户端主要实现系统和客户的管理, 为终端用户 提供一个简洁、 方便的操作界面. ( 3) 认证令牌 每一个用户拥有一个认证令牌, 认证令牌主要用于认证服 务器发送的挑战随机动态数字和种子值, 通过一个随机函数生 成算法, 计算出相应的动态口令, 每个挑战随机数都是唯一的, 并且决不重复使用.这样就保 证了每 次认证 过程均 生成一 个 唯一的与认证令牌对应的不可预测的令牌码, 提供给认证客户 端.认证客户端将此码与用户码一起提交给认证服务器端, 验 证用户的身份. 3.

2 初始注册过程 假定认证服务器 和客户 端均 获得 由证 书发 放机 构CA 发 放的用户证书和私钥, 在用户入网认证之前首先在认证服务器 端进行注册, 管理员在认证令牌中写入唯一的 ID 号、 用户客 户 端认证信息以及认证服务器的公钥, 同时认证服务器在本地的 用户信息数据库中为用户生成 注册信 息及在 数据库 中保存 用 户证书, 这样用户成为网络资源服务器的合法用户. 3.

3 认证协议设计 该认证协议在传统的动态口令认证机制中请求 /应答认证 方式的基础上, 对该协议在 传输安 全性方 面进行 了改进, 实现了客户端和认证服务器身份的双向认证. 在下面的认证协议 中: E 表 示采 用了 客 户端 的RSA 私钥进行签名, H 表示对产生的认证随机数的 MD5 散列运算, M 为 本次待认证信息, M1 = H( M) . 在初始化完成 之后, 如果 用户 希 望访 问资 源 服务 器的资源, 必须首先通过认证服务器的认证.用户可以利用认证令牌 中的认证信息向系统认证 服务器 证明自 己的身 份. 客户端 与 认证服务器之间需要完成如图

2 所示 的四个 消息的 交互以 完 成两者之间的身份认证. ①( UserID, Psw) 表示客户 端发送 给认证 服务 器待 认证 的 用户名和口令;

②Rand 表示认证服务器生成一 个随机 数Rand, 作为认 证 时的挑战;

③E( ID, Rand, M1) 表示客户端发 给服务 器端的 认证数 据包;

④N3 表示认证服务器发送给用户的认证结果信息. 此认证协议的具体认证过程如下: ( 1) 当用户在客 户端登 录并 向资 源服 务器 发出 资源 访问请求时, 系统提示用户输入用户名和口令, 并将输入结果(UserID, Psw) 发送给控 制代理 模块.其中 客户端 与控 制代 理 之间采用安全传输通道 SSL, 控制代理模块将该 认证请求连 接 转发到认证服务器, 控制代理模块和认证服务器之间采用明文 传输 TCP/IP 协议. ( 2) 认证服务器首先验证用户名和口令 ①如果正确, 认证服务模块和客户端按照基于动态口令机 制的认证协议进行双向的身份认证, 认证服务模块将产生并向 客户端发送一个随机数认证数据包作为挑战, 并保存此随机数 到数据库中. ②如果不正确, 传回提 示用户 重新输 入的信 息, 让 ........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题