加密认证方法(精选6篇)
加密认证方法 篇1
摘要:文件夹作为计算机操作系统组织电子信息文件的一种载体,其安全性越来越受到人们的重视。针对基于传统密码或单纯生物特征在身份认证中存在的安全问题,设计了一种基于人脸特征与密码技术相结合的双重身份认证方案,并实现了由基于Eigenface人脸识别、DES密码认证和用户接口组成的原型系统。通过实验表明,该方法能够快速有效地实现对文件夹的认证和加解密,并能提高文件夹的安全性。
关键词:文件夹加密,Eigenface人脸识别,DES密码认证,双重身份认证
0 引言
当今信息社会,计算机文件已成为当前人们保存日常信息的重要载体,而文件夹又是计算机系统进行文件组织和管理的重要形式。如何控制、保护文件夹信息资源成为一个极其复杂而且富有挑战性的问题。身份认证是安全信息系统的第一道屏障,由于目前广泛使用的密码认证等方式自身存在固有的弱点[1]导致该技术面临着严峻的挑战,已显得越来越不适应现代科技的发展和社会的进步,需要一种更加方便可靠的方法进行身份认证。
在不同的身份认证方法中,人脸识别有其自身特殊的优势[2],在身份认证系统中有着重要的地位:
(1)非侵扰性。人脸识别无需干扰人们的正常行为就能较好地达到识别效果,无需担心被识别者惧怕麻烦的预定使用规范。
(2)采集设备简单,使用快捷。
(3)人脸识别身份认证,人和机器都可以使用人脸图片进行识别,使得人和机器可以配合工作。
但是,单纯的人脸识别认证,仍然存在一些隐患。为了解决传统密码或单纯生物特征在身份认证中存在的安全问题,本文针对文件夹设计了基于人脸识别和密码双重身份认证的文件夹加密方法。旨在利用传统密码认证和人脸识别双重身份认证来提高加密强度,有效保证用户的文件夹信息安全。
1 基于人脸识别和密码认证的文件夹加密方法
基于人脸识别和密码认证的文件夹加密方法主要包括人脸识别和口令加解密两部分。
人脸识别技术就是利用计算机分析人脸图像,从中提取有效的识别信息,用来辨认身份的一种技术。本方法中人脸识别认证部分作为先于密码的第一层认证,主要通过四个功能依次完成。
(1)图像的采集:采用摄像头实时抓取图像。
(2)人脸检测:采用Adaboost实时人脸检测算法从输入图像中检测出人脸。
(3)人脸化简和特征提取:主要包括子图像的灰度化和大小的归一化。
(4)人脸识别:采用Eigenface算法,根据已知的人脸信息判断待识别的人脸是否属于系统中的已知用户。
口令加解密采用传统口令加密技术对文件夹进行手动加解密,其优点是软件容易实现,并且操作简单。人脸识别认证作为文件夹加解密的第一道安全屏障,在通过人脸识别认证的情况下,才能进入下一步的加解密认证。本方法的结构如图1 所示。
1.1 人脸识别
1.1.1 图像实时采集和化简
Open CV[3]是Intel®开源计算机视觉库。它由一系列C函数和少量C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。Open CV对Adaboost人脸检测算法、Eigenface本征脸人脸识别算法都有比较完整的实现[4,5]。
利用Open CV摄像头驱动程序,实时驱动摄像头采集用户上半身的正面图像,将采集到的图像保存起来作为后续人脸检测和识别的源图像。
为了给人脸识别提供归一化的人脸图像,需要对人脸检测到的人脸图像进行化简。归一化主要包括直方图均衡化、图像的灰度化和尺寸的归一化。直方图均衡化主要是为了增强图像以初步消除光照的影响。灰度化和尺寸归一化则是为了计算的速度和方便。
1.1.2 基于Adaboost的人脸检测
人脸检测是指在输入图像中确定所有存在的人脸的位置、大小、姿势的过程。近年来出现了大量的人脸检测方法,但是各种方法都有一定的不足。本方法采用的是一种基于Adaboost的人脸检测算法[6],该算法建立了第一个真正实时的人脸检测系统,从根本上解决了检测速度的问题,同时也有较好的检测效果。
Adaboost人脸检测方法是基于Harr_Like特征、积分图、Adaboost算法的实现方法[7,8]。算法的基本思想是:给定一个弱学习算法和一个训练集,其中,Xi是输入的训练样本向量,Yi是分类的类别标志。由于人脸检测的任务是判断某幅图像是否是人脸图像,因而可以视为二分类问题。初始化时,对所有训练样本均赋予一个相同的权重,然后用该弱学习算法对训练样本集进行T轮训练。在每一轮训练结束后,对训练失败的样本赋予较大的权重,以便让学习算法在后来的学习中主要对比较难的训练样本进行学习。这样,就可以得到一个预测函数序列,其中,预测效果比较好的预测函数的权重较大。最终的预测函数 β 采用一种有权重的投票方式产生。
Adaboost方法基于弱学习模型(Weak Leaning Model),它假设存在弱学习算法,这些算法获得分类器的预测能力只比随机预测好一些,通过推进弱学习算法,从而得到任意高精度的分类器。Adaboost训练强分类器的算法描述如下。
(1)给定训练样本集:
式中:xi表示样本特征向量;yi表示训练结果,yi= 0 表示样本为负样本,yi= 1 表示样本为正样本;n为训练样本的总量。
(2)初始化样本权重wl,i,即训练样本的初始概率分布。样本的权重初始化为。
(3)对于t=1,2,⋯,T(T为迭代次数)。
①归一化样本的权值公式为:
② 对于每一个特征j,调用弱学习算法,训练一个弱分类器hj,计算该分类器的错误率gf。
③ 选择拥有最小错误率的最佳弱分类器。
④ 按最佳弱分类器,重新调整样本的权重。
式中:ei= 0 表示x被正确地分类;ei= 1 表示x被错误地分类。这样就可以增大分类错误样本的权重,降低分类正确样本的权重,下一次迭代时弱分类器的选择就会重视上一次分类错误的样本。
(4)最后生成强分类器。
最后在确定人脸的具体位置时,将循环遍历图像得到的由预测函数判断为人脸图像的各个图像子区域求均值,所得到的区域便是人脸所在的具体位置。
1.1.3 Eigenface人脸识别
目前,对于人脸识别学者已经提出了相当多的识别算法[9]。其中基于PCA主成分分析方法的Eigenface[10⁃11]人脸识别方法识别原理简单、识别速度快,适用于对识别准确度要求不是很严格的实时环境下的人脸识别场合。
Eigenface特征脸是从PCA主成分分析方法导出的一种人脸识别技术。它将包含人脸的图像区域看作一个随机向量,将所有的训练样本图像组合起来形成一个生成矩阵,然后采用KL变换得到正交KL基,对应其中较大特征值的基具有与人脸相似的形状,因此又被称为特征脸。
利用这些正交KL基的线性组合可以描述、表达和逼近人脸图像,可进行人脸识别与合成。识别过程就是将人脸图像映射到由特征脸组成的子空间上,并比较其在特征脸空间中的位置,然后利用对图像的这种投影间的某种度量确定图像间的相似度,最常见的就是选择各种距离函数进行度量分类实现人脸识别,采用欧几里德距离计算。为了提高识别速度,在选择正交KL基时,可根据生成矩阵特征值的大小将对应的正交KL基排序。选取能代表训练样本基本信息的前面若干个正交KL基作为特征脸子空间。这样在不明显损失信息量的情况下进一步达到降低维度的目的,减少运算复杂度,其算法流程如图2 所示。
1.2 口令加解密
采用著名的对称密钥加密算法——DES数据加密算法[12]。递归遍历待加密文件夹的每个文件,针对各种类型的文件,统一采用字符串读取方式加载到内存中,经过DES加密后的文件信息写入到另外一个和原文件路径和名称相同但类型不同的(利用MFC的文档注册机制指定的类型)文件中,加密成功后将原文件删除。为了解密时能够正确恢复原文件,系统采用统一的格式将原文件的完整路径信息、类型信息和密码保存在加密后的文件的头部。
为了避免对文件夹重复加密,需要将已加密文件夹的路径统一保存起来。每当系统开始运行,就加载已加密文件夹的路径信息到内存中,将当前路径信息和内存中的路径信息比较,如果前者和后者的某一项相等,或者后者某一项是前者的子字符串(当前路径是某个已加密文件夹路径的子路径,也即子文件夹或者子文件),则说明当前路径已经加密,不再提供加密服务。每当系统退出时就将加密路径记录持久化到特定文件中。
解密时首先解析文件头信息,得到原文件路径、类型信息和原密码,然后递归解密每个文件。
2 实验和分析
2.1 实验平台
在Windows XP平台上,以Visual Studio 6.0 为开发工具,用C++开发语言结合Open CV 1.0 视觉开源库,利用MFC框架实现具有文档视图结构的原型系统[4]。
2.2 实验数据
原型系统采用的是ORL人脸库。该库是目前使用最广泛的标准数据库,它含有大量的比较结果。在此基础上,在网上收集并整理了16 个具有代表性的人脸,每个人有10 张图片,作为备用人脸库。其中人脸部分表情和细节均有变化,例如笑与不笑、眼睛睁着或闭着,戴或不戴眼镜等,人脸姿态也有变化,其人脸尺寸也有变化。这些图片通过编写的人脸图片预处理程序统一来实现图片的归一化。归一化的步骤包括人脸的检测。这是为了在尺寸固定(92×112)的图片上保存更多的人脸信息,避免那种背景区域很多人脸很小的情况。检测出来的人脸经过尺寸归一化和灰度化,最后还要进行直方图均衡化以便尽量消除光照的影响。
2.3 实验结果及分析
运行原型系统,对于文件夹E:Test图片,解密时进行人脸识别认证的效果如图3 所示。
对于文件夹E:Test图片,文件夹解密处理时的效果如图4 所示。
对于文件夹E:Test图片,加密前后的效果如图5所示。
实验结果表明:人脸识别认证准确率要比Eigenface用在人脸识别静态测试[5]时的准确率要低。其原因是在实时获取人脸图像时,由于用户的运动特性,抓取到的图像难免因位移现象而导致图像模糊,影响识别效果;文件夹的合法用户能够容易的通过人脸识别验证,非法用户不易通过验证;最后,就系统整体来说,人脸识别的漏检率高于错检率。口令认证阶段还可以弥补漏检率偏高的缺陷,使系统总体上安全性比较高。
3 结语
本文提出了一种基于人脸识别和密码认证的文件夹加密方法,并实现了基于Eigenface人脸识别、DES密码认证和用户接口组成的原型系统。经过系统测试和运行,证明该方法安全性较高,是一个安全可信的文件夹加解密方案。
另外,为了进一步提高其安全性和实用性,可作适当改进。首先,可考虑加入光照消除算法来改善人脸检测和人脸识别的效果,或者也可以考虑其他更好的识别算法。其次,加解密时,DES算法针对所有的文件字符信息速度比较慢,可考虑采用基于文件夹的整体加密,在文件夹层次上实现消息拦截从而实现加解密。
参考文献
[1]向元平,宁子岚.基于人脸识别的双因素身份认证系统的设计与实现[J].计算机测量与控制,2009,17(5):959-961.
[2]肖冰,王映辉.人脸识别研究综述[J].计算机应用研究,2005(8):1-5.
[3]于仕琪.Open CV中文网站[EB/OL].[2006-01-27].http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5.2009.10.
[4]HEWITT R.Seeing with Open CV,part 2:finding faces in images[EB/OL].[2007-04-11].http://www.cognotics.com/opencv/servo_2007_series/part_2/index.html.
[5]HEWITT R.Seeing with Open CV,part 5:implementing Eigenface[EB/OL].[2007-05-23].http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html.
[6]VIOLA P,JONES M.Rapid object detection using a boosted cascade of simple features[C]//Proceedings of 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.[S.l.]:IEEE,2001:511-518.
[7]梁路宏,艾海舟,徐光档,等.人脸检测研究综述[J].计算机学报,2002,25(5):449-458.
[8]VIOLA P,JONES M.Robust real-time face detection[J].International Journal of Computer Vision,2004,57(2):137-154.
[9]严严,章毓晋.基于视频的人脸识别研究进展[J].计算机学报,2009,32(5):878-886.
[10]TURK M A,PENTLAND A P.Face recognition using Eigenfaces[C]//Proceedings of 1991 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Shanghai,China:IEEE,1991:586-591.
[11]ZHOU S H,RAMA C.From sample similarity to ensemble similarity:probabilistic distance measures in reproducing kernel Hilbert space[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2006,28(6):917-929.
[12]STINSON D R.密码学原理与实践[M].冯登国,译.北京:电子工业出版社,2003.
加密认证方法 篇2
RFID技术, 也称无线射频识别技术, 它是一种无需人为干预、无需通信双方直接接触便可达到信息的传递、识别、操作的目的。它作为物联网范畴内的重要技术之一, 随着物联网技术的快速兴起, RFID技术也越来越多的得到人们的关注, 从居民的身份证、超市管理, 到金融、国防等领域。然而, 随着RFID技术的快速兴起, RFID技术中所存在的一些问题也日益凸显出来, 其中最引发人们关注的是RFID技术的安全隐私保护问题, 因为RFID技术已经深入到人们的日常工作、学习、生活中, 安全隐私问题不容小觑。
考虑到RFID标签固有的内部资源有限、能量有限和快速读取的要求, 在设计基于加密方案的安全协议时, 所采用的加密算法既要简单方便, 又不能占用较多的系统存储资源, 因此传统的加密算法不太适合于RFID标签中, 必须寻求一种既简单又具有高安全性的加密算法。
混沌是一种非线性动力学规律控制的行为, 表现为对初始值和系统参数的敏感性、白噪声的统计特性和混沌序列的遍历特性, 其吸引子的维数, 有十分复杂的分形结构, 具有不可预测性, 可用于随机密钥的计算。混沌信号的隐蔽性、不可预测性、高复杂度和易于实现等特性都特别适用于保密通信, 因此可以考虑将混沌加密应用于RFID安全机制中。
本文主要研究了混沌加密技术在RFID系统应用中的安全隐私保护问题, 所做的工作有:
(1) 对国内外已有的RFID安全认证协议研究进行了研究, 提出了两种基于混沌加密算法的安全性较高的RFID安全认证协议, 主要特点是, 应用了基于混沌哈希的安全技术、隐私保护技术, 提出了具有混沌特点的RFID动态密钥协议。对其安全性能进行了对比分析, 并进行了BAN逻辑验证, 结果表明改进的认证协议满足安全性的目标。
(2) 为了强化基于混沌的RFID认证协议本身的安全性能, 对混沌序列的周期性进行了大量实验研究。总结了实验数据, 提出了相关理论模型, 对今后RFID认证协议的实际应用, 提供了坚实的理论基础。
(3) 为了强化RFID安全认证协议的实际应用, 提出了双混沌实验模型, 对推进基于混沌加密技术的RFID的安全认证协议的应用, 提供了一个更为具体的方法, 并对构造的双混沌性能和安全性进行了实验分析, 结果表明, 该加密算法具有大周期性、随机性良好、安全性高的特性。
(4) 分析了现有的RFID身份认证中的隐私安全隐患, 引入了零知识证明协议, 提出了一种基于零知识的身份动态认证机制, 并进行了数据验证和安全性分析, 结果表明混沌加密算法可应用于该零知识身份认证协议, 且具有很好的安全性。
2 国内外研究现状
RFID技术最早在国外应用, Harry Stockman可以称为RFID技术发展的奠基人, 他的“利用反射功率的通讯”为RFID技术的发展提供了理论支撑[1], 此后, 越来越多的科学家们开始投入了对RFID技术的研究[2]。
在80年代之前, 由于RFID技术发展水平低, 而且研发成本比较昂贵, 导致它的应用范围较局限, 大都应用于军事领域, 而随着科技的发展, RFID技术也得到了迅猛的发展, 其应用也越发广泛。就美国来说, 美国政府一直把对RFID技术的发展应用作为重中之重的研究[3], US国防部规定, 零五年以后国内的军用物资全部要贴上射频标签, 美国FDA也推荐2006年起在药品上使用射频标签, 用以防止假药的流通。在政府大力推动下, 已经形成了一整套的独特特色的射频识别体系, 建立了RFID标准, 在硬件和软件研发方面均走在行业前列。欧洲大部分国家对RFID应用的研究也比较早, 比如Nokia、PHILIPS、SAP等在电子标签芯片上都研制了具有各自特色的成品。中国在对RFID技术的研究起步较晚, 主要在80年代后逐渐兴起, 最典型的运用是我国居民二代身份证在身份认证方面对RFID技术的利用。目前, RFID技术主要应用在物流管理系统、停车场管理系统、高速公路收费系统、超市货物跟踪系统等领域中[3]。
RFID技术应用的普及性也让人们越发关注系统的安全隐私保护的问题, 至今为止, 已有相当多的安全策略被提出, 有些专家提出了在物理层面上对其进行保护, 比如Auto-ID组织设计的“杀死”标签机制, 若是内嵌RFID标签的商品被售出, 就启动该命令, 这样就可以防止非法用户对物品的恶意跟踪, 但一旦启动了该命令, 标签便不能够再次利用, 浪费了资源;利用静电屏蔽原理, 把标签放置于一个封闭的金属容器中, 阻挡外界信号的进入, 但这也阻挡了合法读写器对其进行读写, 实用性不强。考虑到物理方法所隐含的缺陷, 专家学者们又提出了基于密码加密机制的通信协议, 比如Sarma、Engels等人提出的Hash-Lock协议[9], Weis等人提出的随机化Hash-Lock协议, Henrici等提出的哈希ID变化协议, 薛佳楣等人设计的RFID反追踪安全机制等等, 其他的关于加密机制的认证方案可查询文献。以上这些安全协议数量众多, 但却存在各种各样的安全缺陷, 不能满足RFID系统的安全性和实用性要求[4]。
3 现有的RFID安全认证协议分析
Sarma等人于2003年设计提出了基于哈希函数的Hash-Lock认证机制, 在起始状态, 对每个标签生成一随机数Key, 得到meta ID=Hash (Key) , 标签中存放自身ID和相应的meta ID, 利用meta ID取代标签ID进行通信, 防止了标识信息被非法窃取, 后台数据库中存放相应的meta ID, Key, ID。该协议的具体过程如图1所示。
协议工作步骤如下:
(1) 标签Reader向Tag发Query查询请求。
(2) Tag收到请求后, 把自身meta ID发送至Reader。
(3) Reader接收meta ID, 并将其发送至后台数据库。
(4) 后台将收到的meta ID与数据库中数据进行查找对比, 若找到与meta ID相同的数据, 则把与该数据相配套的 (key, ID) 传送至Reader;若不存在, 则认证失败。
(5) Reader将得到的key数据传送至Tag。
(6) Tag把收到的key进行哈希运算, 对比H (key) 与meta ID是否相等, 若相等, 则发送自身ID至Reader, Reader将其与步骤4中得到的ID对比, 若相同, 则双方认证完成;否则, Tag不合法。
该认证机制将通信中的数据用哈希函数进行隐藏, 由于哈希函数的单向性, 该协议在保护数据隐私方面起到一定作用, 而且整个通信过程只需要进行一次哈希运算, 计算量也较小。但是, 该协议也有较多的安全漏洞, 步骤2中Tag每次响应Reader时都是固定的meta ID, 很难抵挡位置跟踪;步骤6中ID以明文方式在无线信道中传送, 易于被非法用户窃取, 难以抵抗假冒和重传攻击;Tag的ID固定不变, 很有可能被别人克隆。因此, Hash-Lock协议并不能满足系统安全性要求。
4 基于混沌加密的RFID认证方案
通过前述对射频识别技术面临的隐私问题分析, 以及对攻击者常用的攻击手段的介绍, 可以看出RFID技术存在的安全威胁不可忽视, 亟需需求相应对策来保证系统的安全。我们对现有的几种RFID认证协议进行的分析、对比, 看出这些协议各有各的优势和不足, 本文借鉴它们的思想, 在哈希锁协议的基础上提出了改进方案。
考虑到RFID标签固有的内部资源有限、能量有限和快速读取的要求, 在设计基于加密方案的安全协议时, 所采用的密码算法在保证安全的情况下应该是越简单越好。复杂度高的算法在计算时间和计算量上都比较耗费, 不适合应用于低成本的电子标签中, 因此很少采用公钥加密算法。现有的认证协议大都是基于哈希函数加密技术实现的。
一般情况下, 我们假定标签是被动式标签, 也即是无源标签, 它的低成本使得它的存储容量非常小, 只能存储少量的数据信息, 而且它计算能力很低。所以, 在初始化时, 标签Tag中只限于存储自己的唯一的标识符ID经过运算后的哈希值H (ID) , 本方案采用的是第三章构造的双混沌加密算法产生的哈希值。后台数据库系统中存储的是与Tag的ID相对应的H (ID’) , 这样做的目的是防止后台数据库被非法入侵者入侵后造成标签ID泄露。协议流程图如下图2所示。
4.1 协议的描述
协议认证过程如下:
(1) RFID读写器生成一随机数Rr, 然后把Rr和请求Query一起发送给标签。
(2) 标签接收读写器发送过来的Rr, 对Rr进行Hash运算, 然后把加密后的结果进行异或H1=H (ID) ⊕H (Rr) , 发送给读写器。
(3) 读写器接收标签发送过来的H1数据后, 将H1和Rr发送至后台系统中。
(4) 后台系统接收H1和Rr后, 运算得到如图示数据。随后在数据库中查找是否存在。若存在, 则证明该标签是合法的, 否则是不合法。
(5) 后台数据库生成一随机数Rd, 然后把H2=H (ID’) ⊕H (Rd) 和Rd一起发送到阅读器, 阅读器接收数据后, 再发送至标签。
(6) 标签接收数据H2和Rd后, 首先进行验证, 看是否存在ID使得H (ID) =H2⊕H (Rd) , 若存在, 则证明读写器合法, 否则, 则证明读写器不合法。至此, 双方认证结束。
4.2 对协议的安全性分析
(1) 隐私保护。
在本方案中, 标签与数据库中存放的都是经过Hash运算后的128位的比特值, 这样, 标签在没有提供任何能够危及自己的信息的前提下即可完成读写器对自身合法性的认证。而且即使数据信息遭到泄露, 攻击者得到的只是Hash值, 由Hash的单向性不可能推导出ID。
(2) 有效抵挡位置跟踪。
每次标签传送到H (ID) ⊕H (Rr) 动态变化, 攻击者不能根据固定输出对标签进行跟踪。
(3) 数据安全。
本方案采用的是混沌Hash, 一般的Hash算法, 比如MD5, SHA-1等算法已被王小云等人成功破解, 它们的安全性面临严重威胁, 攻击者可以对其进行破解, 而在混沌Hash中, Hash值和具体采用的混沌映射、迭代次数、参数、初始值等等都有很大关系, 其序列轨迹极其复杂, 对其进行破解比较困难。
(4) 存在的隐患。
目前该协议仍缺乏ID动态刷新机制, 存在不能抵挡标签复制的隐患。
5 结论
综上所述, 基于Hash的认证协议在计算量和存储空间上相比方案1有一定的优势, 但它没有动态更新ID的机制, 在一些安全性要求较高的应用环境中, 比如军事和金融领域内, 会出现标签被复制的危险, 而且标签内存储的是经过Hash加密后的密文, 由于Hash函数的单向性, 不能反向推出其标识, 在一些要求认证合法后进行数据修改的应用中, 比如一卡通系统, 不能对其中的余额进行更新操作。因此在一些安全性要求不太高的环境, 例如一些门禁系统中, 就可以采取基于Hash的认证方案, 而对于安全性要求比较高的应用中, 虽然在计算速度和存储容量上花了一些代价, 但最主要的还是其在安全方面的优势, 因为衡量一个好的安全认证协议不仅仅要看其在计算量和存储方面的优势, 更主要的是能够有效抵挡各种攻击。本节在对传统的Hash-Lock认证协议的不足的基础上进行研究、改进, 提出了独具特色的两种安全性较高的RFID安全认证协议, 主要特色是, 应用了基于混沌哈希的安全技术、数据保护技术, 提出了具有混沌特点的RFID动态密钥协议, 并对其性能进行了分析、对比。简要介绍了BAN逻辑的概念, 阐述了如何利用BAN逻辑对协议的安全性进行证明, 并给出了对改进协议安全性进行证明的过程, 结果表明, 协议满足安全性目标的要求。
参考文献
[1]雷吉成.物联网安全技术[M].电子工业出版社, 2012.6:66-67.
[2]RFID世界网, RFID技术的发展历程及应用现状, http://www.rfidworld.com.cn, 2005.
[3]ISO/IEC 18000-3.Information Technology AIDC TechniquesRFID for Item Management-Air Interface, part 1:Generic parameters for air interface communication for globally accepted frequencies.International Organization for standardization, 2003.
加密认证方法 篇3
随着计算机网络技术的快速发展和大量的敏感信息在网络上传输,信息的安全性包括图像、语音、视频以及文本等信息的安全已经引起了更多的关注。由于数字图像的信息数据量大,相邻像素相关性强,而传统的加密技术如DES,IDEA,RSA等加密技术不能完全满足安全性高的图像加密需要[1],特别是涉及到彩色图像的加密使得这些加密方法更是力不从心。自1989年英国数学家Matthews提出基于混沌加密的思想以来,混沌系统的对初始条件敏感和类随机行为等特性而涌现出了大量基于混沌的加密方案[2,3,4,5,6,7],包括灰度图像的算法[2,3,4]和彩色图像的算法[5,6,7]。由于彩色图像比灰度图像提供更多的信息,他们已经吸引了越来越多的关注[5,6,7,8]。但是,部分彩色图像的算法还使用灰度图像加密相似的方法,这意味着彩色图像的R,G,B分量需要三次独立的图像加密。从而忽略了R,G,B组分之间的相关性,并且容易受到攻击。
提出一种基于多混沌系统(Logistic混沌系统和统一混沌系统)的彩色图像加密算法。该算法在分别对图像像素值进行、列全局位置置换的同时,对彩色图像的R、G、B分量进行混合加密。使得相邻像素之间的相关性更小,置乱距离更大,提高了系统的复杂性,增加了破译难度。
1混沌系统
混沌现象是非线性动力系统中出现的确定性的、类似随机的过程,这种过程既非周期,又不收敛,并且对初始值有及其敏感的依赖性。本论文中用到的两种混沌动力学模型如下。
1.1Logistic系统
Logistic系统是一个源于人口统计的动力学系统[9], 也是目前广泛研究的混沌系统。其定义形式如式(1)。
式(1)中,μ∈(0,4),xk∈(0,1)。当3.569 945 6<μ≤4时,Logistic系统工作于混沌状态。也就是说,由初始条件x0在Logistic系统的作用下所产生的序列{xk;k=1,2,3,…}是非周期、不收敛的, 并对初始值非常敏感。在本方案中,Logistic系统用于在行和列全局位置置乱中确定各行或各列的交换次序。
1.2统一混沌系统
2002年,Lü Jin-hu等提出了统一混沌系统[10],该系统将Lorenz系统和Chen系统连接起来,而Liu系统仅为其一个特例。其数学模型为
式(2)中: 系统参数α∈[0,1],在此范围内系统具有全域性混沌特性。当α∈[0,0.8]时,系统属于广义Lorenz系统;当α=0.8时,系统属于广义Liu系统;当α∈[0.8,1]时,系统属于广义Chen’s系统。在本方案中,使用统一混沌系统的x、y和z序列分别对三基色图像像素进行逐点替代加密。主要利用混沌序列产生的实值混沌序列值的小数点后7,8和9这3位数字组成正整数与256取模运算后将得到的整数,然后将整数作为该像素点的加密密钥与像素值进行与运算。
2图像加密方案
2.1Hash序列生成阶段
由混沌系统生成的Hash序列主要作为部分密钥参数,并可以根据这些参数对图像进行身份验证。Hash序列生成过程为:首先,对需要加密的彩色图像的R、G、B分量值利用公式(3)进行预处理,生成与图像大小相同的二维矩阵。然后,随机选择四个在0和1之间的初始值x0、x1、x2 和x3。最后,根据文献[11]的方法生成一个128位的Hash值。
C(i,j)=(R(i,j)♁G(i,j)♁B(i,j))mod 256 (3)
式(3)中:C为处理后的矩阵,用于Hash序列的生成。R(i,j),G(i,j),B(i,j)分别为彩色图像的R、G、B分量在(i,j)的像素值。
2.2像素置乱和像素值替代算法
在加密方案中,主要的加密过程是行之间的像素置乱和每行像素的替代过程及列之间的像素置乱和每列像素的替代过程。那么,行之间的像素置乱和每行像素的替代过程为[假设对一个大小为M×N的彩色图像(A)进行加密]:首先,根据给定的Logistic系统产生与图像行大小相同的数组,并根据数值大小生成从1开始的正整数的序列M1并与图像行号组成的有序数列M一一对应;然后,将所产生的混沌序列M1的M个值由小到大按次序排列为正整数的有序序列M'1,由于M1与M中的元素一一对应,则M被置换成M'。最后,依次取图像的M'1(i)(i=1,2,…,M)行的像素值再经过像素替代后放入与之对应M'元素所在的行中(该行为另一个与图像同样大小的图像矩阵B)。
所选取行的像素替代过程为:首先,根据1.2节所讲方法,利用统一混沌系统生成的3个为N大小的自然数数组X1、Y1、Z1分别与所选取行AM'1×N的R、G、B像素值进行与运算生成新数组X'1,Y'1,Z'1;然后,根据2.1节方法所生成的Hash序列值与RGB值交换生成新的A1M'1×N(A1M'1×N即为行AM'1×N经过像素替代的新像素值)。Hash序列值与RGB值交换关系如表1。如A(i,j)的序列为{H[(i+j-1)mod 128]到H[(i+j+2)mod 128]的值为010},根据表1可得A(i,j)新RGB值把分量R和G的值互相交换,而分量B中的像素值不改变。
以上即为行之间的像素置乱和每行像素的替代过程,列之间的像素置乱和每列像素的替代过程同理可得。采用这种像素置乱和像素值替代结合的方法,不仅可以把像素置乱和像素值替代同时完成,还能提高加密图像的速度和安全性。
3图像的加密和解密过程
3.1加密过程
加密步骤描述如下:
Step 1:输入彩色图像A;
Step 2:根据2.1节的方法,输入密钥x0、x1、x2和x3后产生128位Hash值;
Step 3:根据步骤2所生成的Hash值生成sw(sw←Bin2Dec{mod[(h1+h128),1]}决定行、列交换次序。如果sw为1,则先进行列交换,执行步骤4。否则先进行行交换,执行步骤5;
Step 4:根据2.2节的像素置乱和像素值替代方法,对图像像素进行列交换和像素值的修改。然后,判断是否已经完成二次像素置乱和像素值替代,若已完成,执行6,否则执行5;
Step 5:根据2.2节的像素置乱和像素值替代方法,对图像像素进行行交换和像素值的修改。然后,判断是否已经完成二次像素置乱和像素值替代,若已完成,执行6,否则执行4;
Step 6:输出彩色图像B。合成置乱后的三基色图,即得到加密后的图像。
3.2解密过程
用户输入正确的密钥后,将加密算法逆向运算,即可获得解密图像。
4模拟实验及性能分析
实验平台为MatlabR2011b,选取512×512的Lena彩色图像进行实验。取密钥x0=0.432 511 112 3; x1= 0.457 832 412 3;x2=0.134 561 823 4和x3= 0.324 565 332 3经过计算可得Hash值为“3e66f5383f00c6533ebbbbb53f668bbf”。取Logistic系统的在行和列的像素置乱中,密钥μ值分别是3.95和3.98,而初值也分别为μ1←0.(b1b2…b32)和μ2←0.(b33b34…b64)。在统一混沌系统在行像素替代中,密钥α=0.562 1, x,y,z的初值分别为x'1←0.(b65b66…b96),y'1←0.(b97b98…b128),z'1←0.(b17b18…b48);在列像素替代中α=0.845 6,x,y,z的初值分别为x'2←0.(b15b16…b46),y'2←0.(b47b48…b78),z'2←0.(b79b80…b110),经过10次迭代,其加、解密效果图如图1。
图1(a)为原图 图1(b)为加密后的图像,图1(c)是在输入正确密钥情况下的解密图,而图1(d)是在把密钥x'1=0.(b65b66…b96)+0.0000000001的情况下获得的。可见,密钥的微小改变也会导致解密的失败,该算法对密钥非常敏感。
4.1密钥空间分析
加密系统的密钥可以这样描述:
4.2灰度直方图
图2(a)~(c)是原图像R、G、B分量直方图,图2(d)~(f)为加密后图像R、G、B分量直方图。根据显示,加密前后的直方图区别很大,加密后直方图分布均匀,表明该方案能够有效抵御基于像素值统计的攻击。
4.3相邻像素的相关性
可以借助概率论的相关系数来衡量相邻像素的相关性[12],相关系数定义为
为计算相关性,分别随机地从原图和密图的水平,垂直和对角线分别随机取1 500个相邻像素对,图3显示的是原图和加密后图像在R分量的水平相关分布图。同时,对彩色图像的B层和G层做了相同的测试,结果均与图3相似。所有相关数如表2。
图3显示了图像加密前后图像R分量在水平方向的相关性显示结果,可看出明文相邻像素的相关性很强,密文有效地掩盖了图像的突击特征。同时,表2还显示了加密前后各分量在垂直、水平和对角线方向的相关性计算结果,表明了加密后的图像像素之间的相关性大大降低了。
5结语
提出了一种基于图像认证的彩色图像加密算法。该算法用图像生成的Hash值作为部分图像加密的密钥来实现图像的认证,同时把像素置乱和像素替代同时进行并选用统一混沌系统和Hash值实现对RGB分量的混合加密,从而实现对整个彩色图像的加密。实验证明该算法不仅实现简单,安全性强,具有良好的像素值混淆、扩散性能和较大抵抗强力攻击的密钥空间,而且加密图像像素值具有类随机均匀分布特性且相邻像素的值具有零相关特性。
参考文献
[1]颜世银,钱海峰,李志斌.基于混沌系统的对称图像加密方案.计算机工程,2008;34(14):155—160
[2]曹建秋,肖华荣,蓝章礼.像素位置与像素值双重置换的混沌加密算法.计算机工程与应用,2010;46(28):192—195
[3]潘禄生.基于Arnold变换和混沌序列的灰度图像置乱算法.科学技术与工程,2011;19(11):4618—4621
[4]Wang X Y,Yang L,Liu R,et al.A chaotic image encryption algorithm based on perceptron model.Nonlinear Dynamics,2010;62(3):615—621
[5]Liu Hongjun,Wang Xingyuan.Color image encryption based on onetime keys and robust chaotic maps.Computers and Mathematics with Applications,2010;(59):3320—3327
[6]Banerjee S,Rondoni L,Mukhopadhyay S,et al.Synchronization of spatiotemporal semiconductor lasers and its application in color image encryption.Optics Communications,2011;(284):2278—2291
[7]Wang Xingyuan,Teng Lin,Qin Xue.A novel colour image encryptionalgorithm based on chaos.Signal Processing,2012;(92):1101—1108
[8]贾伟尧,潘宇,简远鸣.基于TD-ERCS混沌系统的图像加密方案.西南师范大学学报(自然科学版),2012;37(3):36—39
[9]黄润生.混沌及其应用.武汉:武汉大学出版社,2005
[10]LüJinhu,Chen Guanrong,Zhang Suochun.The compound structure of a new chaotic attractor.Chaos,Solitons and Fraetals,2002;14(5):669—672
[11]Yang Huaqian,Wong Kwokwo,Liao Xiaofeng,et a1.A fast image encryption and authentication scheme based on chaotic maps.Commun Nonlinear Sci Numer Simulat,2010;15:3507—3517
加密认证方法 篇4
信息安全已成为电力信息化能否健康发展的关键因素之一,也是保障电网信息系统正常、高效运行的重要措施。为了贯彻国家电力监管委员会第5号令精神,按照国家电网公司电力二次系统安全防护工作“安全分区、网络专用、横向隔离、纵向认证”的原则要求,青海省电力公司统一部署实施了纵向加密认证装置。
青海电网纵向加密认证装置的建设是随同青海电网运行控制与安全防御系统一同建设的,项目覆盖了青海电网省、地、县三级调度机构和所辖2个750 kV变电站、18个330 kV变电站、77个110 kV变电站。2009年年底通过工程验收。
青海电网二次系统纵向加密认证装置的实施,可以有效抵御黑客、病毒、恶意代码等各种形式的攻击和破坏,特别是抵御集团式攻击,防止电力二次系统的崩溃或瘫痪,以及由此造成的电力系统大面积停电事故。
青海电网二次系统纵向加密认证装置的实施,彻底解决了青海电网二次系统长期以来没有纵向安全防护的问题,切实保障了调度中心、发电厂、变电站等生产控制大区系统在纵向链接方面的安全。
具体介绍青海电网二次系统纵向加密认证装置的实施方案、原理及工程中对实际问题的解决过程。
1 技术原理及接入方案
1.1 技术原理
1.1.1 采用专有的加密协议
电力专用纵向加密认证网关采用基于公钥体制的工作密钥的自动协商和交换机制。
1.1.2 证书
采用电力调度证书服务系统签发的电力专用符合标准的证书文件。
1.1.3 加密算法
电力专用纵向加密认证网关的密钥生成、数据加密都是由专用高速数据加密卡完成,该加密卡为国调、国密局共同指定的厂家研制开发,对称加密基于专用加密算法芯片,非对称加密遵循国际标准,加密速度快,抗攻击能力强。
1.1.4 安全隧道
彼此通信的加密装置之间建立的连接隧道。
1.1.5 安全策略
基于安全隧道的彼此通信的主机之间的安全规则,称为安全策略。
1.2 接入方案
1.2.1 部署区域
青海二次安全系统细化了电力二次系统安全防护总体原则,定义了通用和专用的安全防护技术与设备。制定了省调、地调、发电厂、变电站的安全防御方案。
青海电网运行控制与安全防御系统的纵向加密认证装置与西北网调、所辖地调以及各发电厂、变电站的纵向安全防护设备包括为安全I区、安全II区的边界设置的IP认证加密装置。设备包括电力专用纵向加密认证装置、纵向装置管理中心系统、纵向装置管理系统配置界面程序、装置配置程序等。作为青海电网运行控制与安全防御系统的配套设备,纵向加密认证网关分别安装在青海省调主站端和西宁、海北、海南、海东、黄化、海西地调主站端及青海电网所辖110 kV及以上变电站、发电厂。
1.2.2 部署方案
由于网络拓扑结构不同,可以根据实际情况,确定部署电力专用纵向加密认证装置的位置。纵向加密认证装置的接入方法主要有以下3种方式。
方式1:交换机内侧式。如图1所示,将装置部署在PE设备(路由器)和CE设备(交换机)之间,装置管理中心部署在上级调度中心路由器侧。
方式2:交换机外侧式。如图2所示,将装置部署在CE设备(交换机)和业务通信网关机之间,装置管理中心部署在路由器和交换机上均可。
方式3:一内一外式(见图3)。
2 工程中遇到的问题及解决方案
每增加一台装置并不意味着可以立即解决一个实际的安全需求。在纵向加密认证网关的调试过程中遇到了管理中心与设备之间的管理、以及不同厂家的设备之间的兼容互通问题,最终通过深入的分析研究和与各方的沟通协调使问题得以解决。
2.1 接入调度数据网时出现数据通信中断的问题
当装置接入调度数据网时,部分地调和厂站发生数据通信中断的现象。经分析、比较,发现是主站端纵向加密认证装置对厂站端纵向加密装置发送隧道协商探测包周期太短及厂站端应用程序发送的数据包流量过大造成的。
在多次反复试验后,将地调端纵向加密认证装置基本配置探测周期由20 s改为100 s。将两端通信业务主机系统的MTU值由1 500修改为1 400。通过以上2种方式的处理解决了数据通信中断的问题。
2.2 管理中心与不同厂家设备之间的管理
电力专用纵向加密认证装置管理中心(以下简称“管理中心”)是电力调度纵向加密认证系统的重要组成部分,是远程管理纵向加密认证装置的监测与控制平台。纵向加密认证装置在管理中心的管理下才会发挥更大的效果。管理中心部署在省调系统侧,通过使用可靠的安全管理协议,对管辖多厂商的纵向加密认证装置进行统一管理。
在管理过程中,管理中心先将安全管理报文发送给纵向加密认证装置,再由纵向加密认证装置自动处理来自管理中心的监控请求,并将执行结果以安全响应报文的形式返回管理中心。管理中心通过在线方式直接对纵向加密认证装置进行监控管理,通过离线方式获得调度证书系统为本管辖范围的纵向加密认证装置签发的设备证书。
青海电网目前接入的纵向加密认证网关有北京科东公司的PSTunnel-2000型、南瑞信息所的NetKeeper-2000型、珠海鸿瑞的SJW07-A增强型,管理中心为科东公司的PSTunnel-2000型。
与南瑞、珠海鸿瑞等厂家的纵向加密认证装置在接入管理中心时出现不能从管理中心远程管理厂站端装置的问题。通过与厂家技术人员的沟通和协调,对南瑞及珠海鸿瑞的纵向加密认证装置的配置、程序进行修改及升级后解决了这一问题。
2.2.1 与南瑞装置联调时出现的问题及解决办法
青海省调纵向加密装置管理中心部署在路由器的管理VLAN段,跨区同时完成对实时业务和非实时业务纵向加密装置的管理。管理中心在远程查询厂站端(南瑞)的纵向加密装置的隧道和策略时出现返回隧道和策略条目数为0的问题。
经检查分析,得知出现此问题的原因是管理中心在查询纵向加密装置的隧道和策略时是将报文发送给加密装置配置的管理VLAN段IP地址。装置返回的相关信息是建立隧道的加密装置地址的关联信息,而在实际环境中加密装置并没有使用管理VLAN段IP地址建立隧道,所以在回应查询隧道、策略报文时会显示没有隧道、策略。
根据青海的实际管理模式,南瑞技术人员修改相关的程序,厂站端装置在接收到主站管理中心查询装置隧道、策略报文时不再做匹配加密装置IP地址的操作,直接将本装置的隧道信息返回。
目前在管理中心方面仍存在无法对隧道下的策略进行修改的缺陷,但此缺陷可通过删除添加策略来替代。
2.2.2 与珠海红瑞装置联调时出现的问题及解决办法
管理中心存在无法判断珠海红瑞装置是否在线的缺陷。珠海红瑞的装置借用业务段的第一个地址作为与主站的协商地址,但要从管理中心能够远程管理到厂站设备必须再给其分配一个管理VLAN段的IP,然而管理VLAN段只有2个IP地址,作为路由器和交换机之间的管理地址已经被占用。
对于这种情况只能再将现有交换机的管理地址同时作为纵向的管理地址,让其将交换机的MAC地址与纵向绑定,根据青海现场的实际情况厂家技术人员升级修改了相关程序来实现管理中心对其的远程管理。目前可以从管理中心远程管理到厂站设备,但无法实现SPING的功能。
3 结语
目前,青海电网纵向加密认证装置已稳定运行8个月,在运行期间,青海省调与西北网调、各地调及发电厂、变电站之间的纵向数据传输正常,同时维护了数据的保密性。
2010年年初,在国家电网公司进行的信息安全检查中,青海电网纵向加密认证装置成功地防御了由电监会组织的模拟攻击破坏实验,验证了装置的安全性。
在2010年8月国家电网公司组织的“电网调度系统安全生产保障能力评估”工作中,青海二次系统安全防护工作得到了国网评估专家的好评,为青海省电力公司的“电网调度系统安全生产保障能力评估”圆满完成做出了贡献。
摘要:纵向加密认证装置是抵御黑客、病毒、恶意代码等各种形式的恶意攻击和破坏,防止电力二次系统的崩溃或瘫痪,保障青海电网省、地调自动化系统及变电站监控系统等生产控制大区安全的重要手段。介绍了青海电网运行控制与安全防御系统纵向加密认证装置的部署方式和原理,分析了其应用的特点,着重阐述了在工程实施中遇到的具体问题和解决办法,可为今后实施类似的工程提供宝贵经验。
加密认证方法 篇5
1 加密认证系统结构及原理
1.1 系统硬件设计
本加密认证系统的硬件电路结构简洁,其原理如图1所示,由Microchip公司的PIC18F25K80单片机和Maxim公司的DS28E01-100加密芯(以下简称安全器件)组成。单片机与安全器件之间采用单总线连接,由一个10 kΩ的上拉电阻接5 V电源供电[1,2]。
PIC18F25K80作为被加密的主机与安全器件间的数据通信遵循1-Wire协议,通讯速率可达125 kbit·s-1。通信数据及定时同步由单线完成,仅需占用主机的一个I/O口,可最大限度节约主机的硬件资源[3,4,5]。
1.2 DS28E01-100芯片加密原理
DS28E01-100芯片内部包含512 位 SHA-1(Secure Hash Algorithm-1)引擎、CRC16(Cyclical Redundancy Check,循环冗余码校验)发生器、64位光刻 ROM、一个全功能的1-Wire接口和4个存储区。4个存储区主要由数据存储器、密钥存储器、含有特定功能和用户字节的寄存器页和暂存器构成。数据存储器每页32 Byte。密钥存储器、寄存器页和暂存器均为8 Byte。在向数据存储器写数据,装载初始密钥或向寄存器页写入数据时,暂存器作为缓存器使用。
安全器件的加密认证过程采用符合ISO/IEC110118-3安全散列算法(SHA-1)的随机质询-响应机制,原理如图2所示。单片机系统每次上电或复位后,主机首先发送5 Byte的随机质询数给安全器件,安全器件启动SHA-1引擎:基于随机数、主机指定页的存储器数据、56位序列号、64位密钥计算出160位的信息认证码(Message Authentication Codes,MAC)。
同时,主机内部将根据相同的数据采用SHA-1算法计算出一个期望的MAC,然后与安全器件发送的MAC进行比较,若两者匹配,则认证成功,主机进入正常工作状态;否则认证失败,主机进入非正常工作状态。
1.3 DS28E01-100功能命令
主机要进行上述质询-响应认证过程,必须遵循安全器件的存储器操作命令协议向其发送功能命令。安全器件收到功能命令后才可执行相应的功能。系统主要使用的功能命令如表1所示[6,7,8]。
2 系统程序设计
2.1 SHA-1算法模块程序设计
由于质询-响应认证过程中主机也采用SHA-1算法计算MAC,为此设计了符合SHA-1算法要求的MAC计算程序模块。SHA-1算法主要使用:逻辑反或1的补码(“-”)、异或(“⊕”)、逻辑或(“∨”)、逻辑与(“∧”)、赋值(“:=”)等运算符。文中所采用的安全散列算法计算流程如图3所示。
在图3中,输入数据Mt由随机数、主机指定页的存储器数据、56位序列号和64位密钥组成。
常数序列Kt(0≤t≤79)定义为:Kt:=5A827999h,0≤t≤19;6ED9EBA1h,20≤t≤39;8F1BBCDCh,40≤t≤59;CA62C1D6h,60≤t≤79。
变量A、B、C、D、E初始化如下:A:=67452301h;B:=EFCDAB89h;C:=98BADCFEh;D:=10325476h;E:=C3D2E1F0h。
布尔运算函数为
主机即可根据以上数据及图3所示的流程计算出160位的MAC[8]。
2.2 质询-响应认证程序设计
若芯片订购者无特定要求,DS28E01-100芯片在出厂时存储器内数据均为0x00,因此在系统使用前需先向安全器件的密钥存储器中写入自定义的64位数据。
而主机首先必须使用密钥存储器起始地址(80h)将新的密钥数据写入暂存器,发出首次装载密钥命令(5Ah)后,主机将提供一个3 Byte的授权码(依次为TA1,TA2,E/S),此数据通过上一条读暂存器命令获得,这3 Byte数据必须与3个地址寄存器中的数据完全匹配,若数据匹配,则安全器件开始将暂存器中的数据复制到密钥存储器中,复制成功置位AAh标志。
待写完密钥存储器后,需向数据存储器的4页1 024位数据存储单元中写入自定义数据,写数据存储器由复制暂存器(55h)功能命令完成。其过程与首次装载密钥命令过程类似,授权码匹配后安全器件将启动SHA引擎:基于当前密钥、暂存器中的所有数据、所寻址暂存器的前28 Byte数据以及身份寄存器的前7 Byte计算一个160位的MAC,同时主机也可利用相同的数据采设计的SHA-1计算模块计算一个160位MAC。若两者数据匹配,安全器件开始将暂存器中的数据复制到数据存储器。由于暂存器每次只能写入8 Byte数据,而每页存储器含有32 Byte,因此上述过程要执行4次,才可更新一页数据存储器。
最终质询-响应认证过程将基于写入的密钥和存储器页数据而进行,该程序流程如图4所示。
系统主程序代码示例:进入主程序首先进行质询-响应认证,其中Authenticate_DS28E01(Page_num)即为质询-响应认证函数,Page_num为指定数据存储器的起始地址。若认证成功,则函数返回1,主循环中进入正常工作状态;反之则返回0,并进入非正常工作状态,通过相应的程序设计,可以按照系统开发者的意图,执行部分系统功能或完全关闭系统。
在认证过程中需注意:由于质询-响应数据采用1-Wire通信协议传送,而该通信协议对时间有一定的要求,即:位通信时隙内应禁止中断,避免破坏严格定时的位时隙。所以认证过程应在开机时进行或暂时关闭系统中断服务后,再进行认证。
同时,在上述数据复制操作过程中,1-Wire总线上的电平不能低于2.8 V,否则将有可能发生数据丢包的情况。
3 结束语
文中设计的PIC18F25K80单片机加密认证系统,在实际项目应用中取得了良好的效果。该设计方法同样适用于其他微控制器及嵌入式系统。通过此措施,可大幅提高单片机系统防复制的安全等级。同时通过添加相关程序模块,开发者可进行产品不同功能的授权,从而满足不同客户需求[9]。
摘要:为防止单片机程序被非法复制,设计了一种基于1-Wire安全器件DS28E01-100的单片机加密认证系统,并阐述了加密认证系统的结构原理;分析了SHA-1安全散列算法、写密钥存储器数据、写存储器数据、质询响应认证等模块的单片机程序设计方法。实际应用表明,采用此加密认证系统,可有效防止单片机程序的非法复制。
关键词:安全器件,单片机加密认证,1-Wire,DS28E01-100
参考文献
[1]裴瞳.从安全存储器到安全处理器Maxim提供全面的安全性支持[J].电子技术应用,2009,35(1):6.
[2]杨洪亮.单片机应用系统加密策略探究[J].微计算机信息,2008,24(5):85-87.
[3]Maxim Conpration.1-Wirecommunication through soft-ware[EB/OL].(2002-05-30)[2009-11-23]http://pdfserv.max-im-ic.com/en/an/AN126.pdf.
[4]Maxim Conpration.1-Wirecommunication with a micro-chip PICmicro Microcontroller[EB/OL].(2003-09-16)[2011-12-30]http://pdfserv.maxim-ic.com/en/an/AN2420.pdf.
[5]刘和平.PIC18Fxxx单片机程序设计及应用[M].北京:北京航空航天大学出版社,2005.
[6]Maxim Conpration.保护您的研发成果——双向认证及软件功能保护[EB/OL].(2006-06-23)[2011-08-13]http://china.m-axim-ic.com/app-notes/index.mvp/id/3675.
[7]Maxim Conpration.Challenge and Response with1-WireSHADevices[EB/OL].(2002-03-12)[2009-08-11]http://pdfserv.maxim-ic.com/en/an/AN190.pdf.
[8]Maxim Conpration.DS28E01-100data sheets[EB/OL].(2010-07-05)[2012-09-15]http://datasheets.max-im-ic.com/cn/ds/DS28E01-100_cn.pdf.
加密认证方法 篇6
无线射频身份识别 (Radio Frequency Identification, RFID) 又称为电子标签, 是一种通过无线电信号来达到识别目的之技术。通常地, 一个无线射频身份识别系统包括阅读器和电子标签两部分。阅读器通过对电子标签发送无线射频信号来获取其身份信息。
随着互联网、大数据等信息技术的快速发展, 无线射频身份识别技术有着广阔的前景, 常见的应用领域包括门禁系统、安全追踪等。在其快捷方便的同时, 电子标签的应用却带来了相应的安全性问题。例如标签可以被追踪, 被伪造等。
为解决上述安全的办法通常是通过对称加密算法, 设计相应的安全协议来实现。传统的对称加密算法有3DES、AES以及国产加密算法SM4等, 这些加密算法虽然安全性能较高, 但由于需要耗费不菲的运算时间和硬件资源, 不适宜应用于电子标签系统。故, 目前主要采用轻量级对称加密算法来实现安全认证, 尤其是使用分组加密算法或哈希算法, 较少使用流密码算法。
众所周知地, 一个流密码算法通常包含初始化部分和生成密钥流部分。初始化部分将一个初始向量 (IV) 与密钥加载到内部状态寄存器, 然后运行若干次钟控, 完成初始化过程。初始化完毕后, 每运行一次钟控, 可以生成固定比特的密钥流。相比分组密码和哈希算法, 流密码的运算速度更快, 实现更简单, 占用资源更小。
目前, 现实应用中对阅读器和电子标签进行双向认证的协议较少, 一般是阅读器对电子标签进行安全认证, 而电子标签对阅读器不进行安全认证, 这就使得攻击者可以伪造阅读器, 对电子标签进行非法读取, 从而可以跟踪电子标签。
故针对现有技术存在的问题, 本文基于上海爱信诺航芯公司生产的AC5加密芯片, 设计了一种面向无线射频身份识别系统的流密码双向认证方法。
1 电子标签与阅读器认证模型
本文是针对现有技术中, 现实应用中对阅读器和电子标签进行双向认证的协议较少, 一般是阅读器对电子标签进行安全认证, 而电子标签对阅读器不进行安全认证, 这就使得攻击者可以伪造阅读器, 对电子标签进行非法读取, 从而可以跟踪电子标签等缺陷提供一种面向无线射频身份识别系统的流密码双向认证方法。
为了解决上述问题, 本文提供一种面向无线射频身份识别系统的流密码双向认证方法, 所述面向无线射频身份识别系统包含阅读器和电子标签, 所述面向无线射频身份识别系统的流密码双向认证方法, 包括:
执行步骤S1:阅读器随机选取一个80 bit的R1, 并向电子标签发送请求和R1;
执行步骤S2:当电子标签收到请求和R1后, 采取如下操作:
(1) 生成一个80bit长度的随机数R2;
(2) 计算M1=ID○+R2, ○+表示逐比特异或操作;
(3) 将R1作为初始向量IV, R2○+K作为密钥来初始化流密码的初始状态, 若流密码的初始向量或密钥长度超过80bit, 则将超过的比特位用1填充;
(4) 完成流密码的初始化过程, 生成80bit的密钥流M2;
(5) 向阅读器发送M1和M2。
执行步骤S3:当阅读器接收到M1和M2后, 对数据库中存储的每一个身份-密钥对 (IDi, Ki) 对进行如下操作:
(1) 计算R2i=M1○+IDi;
(2) 将R1作为初始向量IV, R2i○+K作为密钥来初始化流密码的初始状态, 若流密码的初始向量或密钥长度超过80bit, 则将超过的比特位用1填充;
(3) 完成流密码的初始化过程, 生成80bit的密钥流M2i;
(4) 验证M2i与M2是否相等, 如果是,
a) 则认证该电子标签的身份;
b) 继续运行该流密码算法, 生成80bit密钥流M3;
c) 向该电子标签发送密钥流M3。
执行步骤S4:电子标签接收到M3后, 进行下述操作:
(1) 继续运行流密码算法, 生成80bit的密钥流M3i;
(2) 验证M3i与M3是否相等, 若相等, 则认证该阅读器。
所述电子标签均至少具有80bit长度的身份识别码, 且所述电子标签与所述各阅读器之间均至少共享80bit长度之密钥K, 所述阅读器存储各电子标签之身份识别码。
所述流密码的初始向量和密钥长度均至少为80bit。
若流密码算法的密钥长度或者初始向量 (IV) 大于80bit, 则将多余的bit用1填充。
在步骤S2中, M1=ID○+R2, M2为流密码的前80位比特密钥流输出。
在步骤S3中, 阅读器对所存储的身份-密钥对 (IDi, Ki) 对进行穷举操作以认证电子标签, 在成功认证电子标签的身份后, 继续运行流密码算法, 生成80位比特密钥流。
在步骤S4中, 电子标签继续运行流密码算法, 生成80位比特密钥流, 以认证阅读器。
综上所述, 本发明面向无线射频身份识别系统的流密码双向认证方法使得只有经过授权的阅读器才能够得到电子标签的身份识别码, 这就使得电子标签具有不可追踪性;且电子标签和阅读器均不可伪造, 难度较高;同时, 采用一次加密, 双向认证节省了运算时间。
2 具体实施方式
为详细说明本文的技术内容、构造特征、所达成目的及功效, 下面将结合实施例并配合附图予以详细说明。
请参阅图1, 图1所示为本发明面向无线射频身份识别系统的流密码双向认证方法之流程图。所述面向无线射频身份识别系统的流密码双向认证方法基于轻量级流密码算法, 安全高效、易于实现。
在文中, 所述面向无线射频身份识别系统1, 包含:阅读器11和电子标签12, 所述电子标签12均具有80bit长度的身份识别码, 且所述电子标签12与所述阅读器11之间均至少共享80bit长度之密钥K, 所述阅读器11存储各电子标签12之身份识别码。流密码的初始向量和密钥长度均至少为80bit。若流密码算法的密钥长度或者初始向量 (IV) 大于80bit, 则将多余的bit用1填充, 所述面向无线射频身份识别系统的流密码双向认证方法, 包括以下步骤:
执行步骤S1:阅读器11随机选取一个80bit的R1, 并向电子标签12发送请求和R1;
执行步骤S2:当电子标签12收到请求和R1后, 采取如下操作:
(1) 生成一个80bit长度的随机数R2;
(2) 计算M1=ID○+R2, ○+表示逐比特异或操作;
(3) 将R1作为初始向量IV, R2○+K作为密钥来初始化流密码的初始状态, 若流密码的初始向量或密钥长度超过80bit, 则将超过的比特位用1填充;
(4) 完成流密码的初始化过程, 生成80bit的密钥流M2;
(5) 向阅读器11发送M1和M2。
执行步骤S3:当阅读器11接收到M1和M2后, 对数据库中存储的每一个身份-密钥对 (IDi, Ki) 对进行如下操作:
(1) 计算R2i=M1○+IDi;
(2) 将R1作为初始向量IV, R2i○+K作为密钥来初始化流密码的初始状态, 若流密码的初始向量或密钥长度超过80bit, 则将超过的比特位用1填充;
(3) 完成流密码的初始化过程, 生成80bit的密钥流M2i;
(4) 验证M2i与M2是否相等, 如果是,
a) 则认证该电子标签的身份;
b) 继续运行该流密码算法, 生成80bit密钥流M3;
c) 向该电子标签发送密钥流M3。
执行步骤S4:电子标签接收到M3后, 进行下述操作:
(1) 继续运行流密码算法, 生成80bit的密钥流M3i;
(2) 验证M3i与M3是否相等, 若相等, 则认证该阅读器。
为了更直观的揭露本发明之技术方案, 凸显本发明之有益效果, 现结合具体的实施方式进行阐述。所述具体实施方式以流密码算法ISO/IEC29192-3Trivium为例, 详述该双向认证过程。
Tribvium使用80bit的密钥和80bit的初始向量, 阅读器11与电子标签12均使用Trivium进行加密, 所述面向无线射频身份识别系统的流密码双向认证方法, 包括以下步骤:
执行步骤S1:阅读器11随机选取一个80bit的R1, 并向电子标签12发送请求和R1;
执行步骤S2:当电子标签12收到请求和R1后, 采取如下操作:
(1) 生成一个80bit长度的随机数R2;
(2) 计算M1=ID○+R2, ○+表示逐比特异或操作;
(3) 将R1作为初始向量IV, R2○+K作为密钥来初始化流密码的初始状态, 若流密码的初始向量或密钥长度超过80bit, 则将超过的比特位用1填充;
(4) 完成流密码的初始化过程, 生成80bit的密钥流M2;
(5) 向阅读器11发送M1和M2。
执行步骤S3:当阅读器11接收到M1和M2后, 对数据库中存储的每一个身份-密钥对 (IDi, Ki) 对进行如下操作:
(1) 计算R2i=M1○+IDi;
(2) 将R1作为初始向量IV, R2i○+K作为密钥来初始化流密码的初始状态, 若流密码的初始向量或密钥长度超过80bit, 则将超过的比特位用1填充;
(3) 完成流密码的初始化过程, 生成80bit的密钥流M2i;
(4) 验证M2i与M2是否相等, 如果是,
a) 则认证该电子标签的身份;
b) 继续运行该流密码算法, 生成80bit密钥流M3;
c) 向该电子标签发送密钥流M3。
执行步骤S4:电子标签接收到M3后, 进行下述操作:
(1) 继续运行流密码算法, 生成80bit的密钥流M3i;
(2) 验证M3i与M3是否相等, 若相等, 则认证该阅读器。
明显地, 与现有技术相比, 本发明面向无线射频身份识别系统的流密码双向认证方法具有以下优点:
(1) 对阅读器和电子标签同时进行认证, 使得只有经过授权的阅读器才能够得到电子标签的身份识别码, 这就使得电子标签具有不可追踪性;
(2) 电子标签不可伪造性。基于流密码算法的安全, 使得攻击者在身份-密钥对 (IDi, Ki) 不知情的前提下, 伪造合法的 (M1, M2) 难度较大;
(3) 阅读器不可伪造性。为了使电子标签能够认证阅读器, 阅读器必须响应一个正确的M3。在身份-密钥对 (IDi, Ki) 不知情的前提下, 攻击者不能够产生合法的M3, 这就使得攻击者伪造合法的阅读器难度更高;
(4) 一次加密, 双向认证。由于该方法基于流密码算法, 流密码运算耗时的部分是初始化阶段, 一次双向认证过程只需要经过流密码的一次初始化过程, 后续生成的密钥流不需要再次进行初始化, 节省了运算时间。
综上所述, 本文中的面向无线射频身份识别系统的流密码双向认证方法使得只有经过授权的阅读器才能够得到电子标签的身份识别码, 这就使得电子标签具有不可追踪性;且电子标签和阅读器均不可伪造, 难度较高;同时, 采用一次加密, 双向认证节省了运算时间。
3 结束语
本文基于上海爱信诺公司生产的航芯AC5加密芯片, 设计了一种面向无线射频身份识别系统的流密码双向认证方法。该身份识别系统包含阅读器和电子标签, 使得阅读器和电子标签能够同时进行认证, 使得只有经过授权的阅读器才能够得到电子标签的身份识别码, 这就使得电子标签具有不可追踪性, 电子标签不可伪造性, 阅读器不可伪造性, 一次加密, 双向认证。
摘要:目前, 现实应用中对阅读器和电子标签进行双向认证的协议较少, 一般是阅读器对电子标签进行安全认证, 而电子标签对阅读器不进行安全认证, 这就使得攻击者可以伪造阅读器, 对电子标签进行非法读取, 从而可以跟踪电子标签。故针对现有技术存在的问题, 本文基于爱信诺航芯AC5加密芯片, 讨论了一种面向无线射频身份识别系统的流密码双向认证方法。
关键词:加密芯片,身份认证
参考文献
[1]张盛, 鹿洁.RFID在中小型图书馆的应用[A];福建省图书馆学会2009年学术年会论文集[C];2009年.
[2]谢红燕.基于RFID技术的商品防伪系统[A];中国商品学会第十三届学术研讨会论文集[C];2010年
[3]张勇.基于RFID技术的油漆车身跟踪系统设计及应用[A], 2010全国机械装备先进制造技术 (广州) 高峰论坛论文汇编[C], 2010年.
【加密认证方法】推荐阅读:
数据加密方法11-11
计量认证方法09-16
企业公众微信号认证条件及方法10-21
加密不可盲目,有关无线加密协议兼容疑问06-13
加密通信07-15
信息加密07-18
程序加密10-18
文档加密06-22
视频加密07-25
加密算法08-06