基于FPGA的身份认证智能卡设计
引言
身份认证是保密通信和信息安全的基础。通过身份认证机制可以鉴别网络事务中涉及到的各种身份,防止身份欺诈, 保证通信参与各方身份的真实性, 从而确保网络活动的正常进行。因此, 身份认证一直是网络安全研究领域的前沿技术。
目前使用的身份认证技术可以分为三种类型: 基于所知、所有以及基于个人生物特征的认证。认证方式包括口令认证、智能卡认证以及指纹、虹膜等生物认证方式。
口令认证是最为广泛的一种认证方式, 从普通的计算机登录系统到网络邮件系统都采用这种方式。但是, 口令认证的安全性比较低, 容易被他人盗用。基于指纹、虹膜的生物身份认证方式是生物技术在信息安全领域的应用, 具有普遍性和唯一性的特点, 但基于生物识别设备成本和识别技术水平的考虑, 目前还难以得到大规模普及。基于智能卡的身份认证方式结合了硬件技术和身份认证技术的优点, 提供安全可靠的认证手段, 是目前迅速发展的一种认证方式。
本文提出了一种基于FPGA 的身份认证智能卡的设计方案。在FPGA 内部实现身份认证相关的数据加密运算, 加密算法采用128 bit Rijndael 算法。相关的身份信息和加密运算所需要的常量数据均存放在FLASH 存储器中, 加密后的数据通过PCI 总线传给计算机系统。
1 身份认证系统概述
身份认证是指通信双方可靠地验证对方的身份。参与身份认证的双方根据功能的不同分别被称为认证方和被认证方。被认证方向认证方发起认证请求,同时提交自己的身份信息。认证方响应认证请求, 检验被认证方提交的身份信息, 并将认证结果返回被认证方。在这个过程中身份信息一般是通过网络传递。
由于网络开放性的特点, 使得身份信息可能在传递的过程中被泄露。因此一般不直接传递被认证方的身份信息, 而将身份信息加密后再传递, 这样即使加密信息被攻击者截获, 攻击者也无法解密信息获得被认证方的身份信息。这就要求在身份认证中所使用的密码算法具有足够高的安全强度。
Rijndael 算法是美国国家标准和技术研究所(NIST) 推荐的高级数据加密标准(Advanced Encryp-tion Standard), 是一种分组密码算法, 可以根据加密等级的不同采用128 bit、192 bit 和 256 bit 三种不同的分组长度, 具有易于软硬件实现、安全性能好、效率高和灵活等优点。
Rijndael 算法中主要运算模块都是规则的逻辑运算, 如置换, 循环移位, 多轮迭代和模2 加等, 适合在逻辑资源丰富的FPGA 中实现。以ByteSub 置换为例,该模块是Rijndael 算法中唯一的非线性变换部件, 是决定算法安全性的关键。利用软件实现要进行大量矩阵运算, 而在FPGA 中可以用地址线译码直接在FP-GA 内部的LUT(Look Up Table)逻辑中查表完成。
相关文章
- 2024-07-24变焦距镜头的凸轮优化设计
- 2022-12-15轻轨精整PLC智能控制系统
- 2023-08-18KXP84型加速度计在空中风测量中的应用
- 2022-05-26底吹氩钢包内钢液流动和混合数值模拟的应用
- 2023-01-05冷态汽轮机及余热锅炉快速启动方案的优化



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。