CN101882994B - 基于分组密码算法的三重认证方法 - Google Patents
基于分组密码算法的三重认证方法 Download PDFInfo
- Publication number
- CN101882994B CN101882994B CN200910057179A CN200910057179A CN101882994B CN 101882994 B CN101882994 B CN 101882994B CN 200910057179 A CN200910057179 A CN 200910057179A CN 200910057179 A CN200910057179 A CN 200910057179A CN 101882994 B CN101882994 B CN 101882994B
- Authority
- CN
- China
- Prior art keywords
- data
- random number
- authentication terminal
- block cipher
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于分组密码算法的三重认证方法,被认证终端收到认证指令后产生随机数RB,并将RB分为RB1和RB2,根据RB得到TokenRB,并将TokenRB返回认证终端;认证终端收到TokenRB,得到RB和RB1及RB2,加上认证终端的随机数RA,经分组密码算法运算后形成TokenAB并发送给被认证终端;被认证终端收到TokenAB进行分组密码算法运算,获得随机数RA和部分或全部RB1数据,经比较若一致,将形成TokenBA并发送给认证终端;认证终端再次通过分组密码算法运算后恢复部分或全部RA和部分或全部RB2,经比较如果相一致,则三重认证通过。本发明能够提高两个通讯终端进行身份合法性的鉴别,并能保证通讯过程中数据的安全性。
Description
技术领域
本发明涉及一种两个通讯终端之间三重认证校验方法,特别是涉及一种用于非接触式逻辑加密卡和读卡机之间通讯的,基于分组密码算法的三重认证方法。
背景技术
随着非接触式逻辑加密卡应用范围的不断扩展,对于非接触式逻辑加密卡安全性需求也越来越高。从应用的角度来说,非接触式逻辑加密卡不仅仅需要完成指令执行、数据读写、逻辑运算等基本操作,而且从安全性角度来说,还需与读卡机进行身份合法性鉴别以及保证通讯过程中数据的安全性。为了满足这些需求,非接触式逻辑加密卡必须具有认证功能,以满足和读卡机之间的身份识别应用需求;同时,还需具有通讯数据加密功能,以满足通讯过程中的安全性需求。
认证和通讯加密都将涉及数据加密的应用,在非接触式逻辑加密卡内需要使用加密算法来支持认证流程和通讯数据加密。
随着非接触式逻辑加密卡技术及应用的发展,其数据安全或通讯安全的要求也越来越高。目前在通讯安全上,大部分的非接触式逻辑加密卡采用了符合ISO9798-2国际标准的三重认证校验技术,对卡和读卡器的合法性进行相互校验。但是在认证校验过程和通讯加密过程中,大部分非接触式逻辑加密卡均采用了基于序列密码的流加密算法,在目前的安全需求下,这种安全强度的非接触式逻辑加密卡已不适应应用需求,需要有更高安全强度的非接触式逻辑加密卡来填补目前的安全需求。
发明内容
本发明要解决的技术问题是提供一种基于分组密码算法的三重认证方法,能够提高两个通讯终端进行身份合法性的鉴别,并能保证通讯过程中数据的安全性。
为解决上述技术问题,本发明的基于分组密码算法的三重认证方法包括如下步骤:
步骤一、被认证终端收到认证指令后产生随机数RB,并将随机数RB分成两个固定字长的部分RB1和RB2,根据随机数RB通过数据处理得到被认证终端返回给认证终端的数据TokenRB,并将TokenRB返回给认证终端;
步骤二、认证终端接收到TokenRB,恢复得到随机数RB和两个固定字长的RB1及RB2数据,再加上认证终端内部产生的随机数RA,通过一个数据处理函数f1(RA,RB1),将RB1数据及认证终端产生的随机数RA组合成一个一次分组密码算法所需字长的数据,该数据经分组密码算法运算后形成认证终端向被认证终端发出的令牌数据TokenAB并发送给被认证终端;
步骤三、被认证终端接收到TokenAB后进行分组密码算法运算,恢复获得的随机数RA和部分或全部RB1数据,比较对应部分或全部RB1信息,如果相一致,则再通过另一个数据处理函数f2(RA,RB2),组合成另一个一次分组密码算法所需字长的数据,该数据经分组密码算法运算后形成被认证终端向认证终端发出的令牌数据TokenBA并发送给认证终端;如果比较后不一致,则被认证终端无响应并返回到起始状态;
步骤四、认证终端接收到TokenBA,再次通过分组密码算法运算后,恢复获得部分或全部随机数RA和部分或全部RB2数据,并与认证终端内已有的对应的部分或全部RB2数据和部分或全部随机数RA进行比较,如果相一致,则确认三重认证通过;如果不一致,则中断与该被认证终端的进一步通讯。
所述随机数RB字长为32位以上,且两个固定字长的部分中RB1的字长也为32位或32位以上。
所述TokenRB为随机数RB本身,或通过数据处理函数g(RB)得到分组密码算法所需的数据字长并经分组密码算法运算得到;其中,数据处理函数g(RB)的输入输出一一对应,运算可逆。
所述随机数RA的字长为32位以上。
所述数据处理函数f1(RA,RB1)使用全部随机数RA,并使用部分或全部RB1数据,且数据处理函数f1(RA,RB1)的字长为分组密码算法的数据字长。
所述TokenAB为数据处理函数f1(RA,RB1)的结果再通过分组密码算法运算后的数据。
所述数据处理函数f2(RA,RB2)使用部分或全部随机数RA,并使用部分或全部RB2数据,且数据处理函数f2(RA,RB2)的字长为分组密码算法的数据字长。
与传统的基于序列密码的流加密相比(比如在应用广泛的Mifare卡中就是采用基于序列密码的流加密作为加密算法),分组密码算法(如DES算法、AES算法等)具有更强的特性。由于进行多轮的分组运算,最终加密输出的密文相对于明文来说具有“雪崩效应”,即使在同一密钥下,两次明文只具有简单的变化(比如64位明文中只有其中的1个位发生了改变,或者64位明文中只有两个位之间交换了一下位置等),其最终加密后对应的两次密文也将发生剧烈变化从而不会具有某些特殊的特征,这样,对于基于对称算法来设计的上层认证协议的安全性就提供了充分的便利性和保障。
本发明在两个通讯终端的通讯过程中,特别是非接触式逻辑加密卡与读卡机之间的身份识别中,将三重认证技术与具有更高安全性能的分组密码算法相结合,提升了非接触式逻辑加密卡与读卡机身份识别的安全性能,增加两个通讯终端之间通讯的安全强度,也提高了非接触式逻辑加密卡的安全强度。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明的方法控制流程图;
图2是在非接触式逻辑加密卡中应用本发明的一实施例示意图;
图3是数据处理函数方框图。
具体实施方式
参见图1并结合图2所示,本发明的具体实施细节将通过采用DES(Data Encryption Standard)算法的非接触式逻辑加密卡的三重认证流程来说明。
DES算法是美国联邦政府的联邦信息处理标准所选用的一种公开分组密码算法。DES算法的入口参数有三个Key、Data和Mode。其中,Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或解密的数据;Mode为DES的工作方式,分为加密或解密两种。
图2是非接触式逻辑加密卡使用本发明的一实施例,该非接触式逻辑加密卡100包括:
RF部件110,用于接收发送具有数据信息的射频(RF)信号;
编解码器120,用于对接收的RF信号按照通讯协议解码得到数据信号,以及对要发送的数据进行编码以便通过RF信号返回到读卡机;
逻辑控制模块130,用于非接触式逻辑加密卡的状态控制、分组加解密模块(如图中DES算法模块150)的调用、随机数发生器的调用、及其他逻辑功能;
DES算法模块150,用于完成数据加解密,主要用于三重认证过程中数据加解密;
随机数发生器140,用于产生在三重认证过程中使用的32位随机数。
参见图1,在上述实施例中,非接触式逻辑加密卡与读卡机的三重认证过程用于非接触式逻辑加密卡与读卡机进行身份合法性鉴别,分为两次通讯。
在上述实施例中,非接触式逻辑加密卡认证通讯流程中采用的随机数RB,以及认证终端向被认证终端发出的令牌数据TokenAB和被认证终端向认证终端发出的令牌数据TokenBA的组成结构如图3所示。其中:
分组密码算法为DES算法;
RB1、RB2和RA均为32位随机数;RB1和RB2为非接触式逻辑加密卡产生的32位随机数,RA为读卡机产生的32位随机数;
TokenRB=RB={RB1,RB2},为64位数据,其中{}为位拼接运算符,本实施例中,将两个32位随机数拼接成一个64位数据,下同;
数据处理函数f1(RA,RB1)={RB1,RA},为64位数据,即f1(RA,RB1)仅实现位拼接功能;
数据处理函数f2(RA,RB2)={RA,RB2},为64位数据,即f2(RA,RB2)也仅实现位拼接功能;
TokenAB为对64位数据{RB1,RA}进行一次加密的密文;
TokenBA为对64位数据{RA,RB2}进行一次加密的密文。
图3中描述了本实施例中与认证有关的所有数据组成情况,也给出了认证有关的数据处理函数和分组密码算法运算情况。图中MSB(MostSignificant Bit)表示最高有效位;LSB(Least Significant Bit)表示最低有效位。
数据在空间传输时,均为低字节低位先发送,在非接触式逻辑加密卡或读卡机内部使用明文、密文和密钥时的排列顺序均为最高位在左,最低位在右。
第一次通讯,读卡机发送认证指令、密钥地址,非接触式逻辑加密卡返回64位随机数RB。
第二次通讯,读卡机利用接收到的64位随机数RB,和读卡机上产生的32位随机数RA,按图3格式加密生成密文TokenAB,读卡机发送64位密文TokenAB;非接触式逻辑加密卡接收到密文TokenAB,解密后比较RB1,比较正确后,按图3格式生成密文TokenBA,发送64位密文TokenBA;读卡机接收到密文TokenBA,解密后比较RA和RB2,比较正确后,认证完成。认证过程中读卡机生成的随机数RA始终隐含在通讯密文中,避免了以明文模式通讯时在通讯通道中的泄露。
详细三重认证流程如下:
第1步,读卡机发送认证指令以及指令参数(密钥块地址)。
第2步,非接触式逻辑加密卡接收指令进行译码。非接触式逻辑加密卡接收指令完毕后,从指定地址的非易挥发性存储器中读出分组密码算法的密钥,并存入分组密码算法模块的密钥寄存器组中。
第3步,非接触式逻辑加密卡发送由随机数发生器产生的64位随机数RB,结合图3所示,该随机数RB由两个32位数据组成,即RB1(左半部分)和RB2(右半部分),同时存入64位随机数暂存寄存器。
第4步,读卡机收到随机数RB后,由读卡机的随机数发生器产生32位随机数RA,之后进行第一次加密,加密的明文为RB1(左半部分)RA
(右半部分),形成64位密文TokenAB;加密结束后发送64位密文TokenAB(低位先发)。
第5步,非接触式逻辑加密卡接收密文TokenAB的同时将密文TokenAB存入64位移位寄存器中,之后非接触式逻辑加密卡上分组加解密模块进行第一次解密,解密后的明文左半部分与非接触式逻辑加密卡的随机数暂存寄存器中的RB1比较。
第6步,比较RB1正确后,在非接触式逻辑加密卡上进行第一次加密,加密的明文为接收到的RA(左半部分)和RB2(右半部分),得到密文TokenBA。如果比较后RB1不同,则非接触式逻辑加密卡无响应并返回到起始状态。
第7步,非接触式逻辑加密卡加密完成后,发送密文TokenBA(低位先发)。在发送完成后,非接触式逻辑加密卡进入认证后状态,等待读卡机发送的认证后状态下的命令。同时分组加解密模块以密文TokenBA为明文进行加密运算,得到的密文并行存入64位流密钥移位寄存器,作为之后通讯的密钥流的起始64位密钥。
第8步,读卡机接收到密文TokenBA后,解密密文TokenBA并比较RA和RB2,如果RA和RB2比较正确,认证完成。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,如采用不同的分组密码算法(AES算法或其他组织制定的特殊分组密码算法等),RB/TokenRB/TokenAB/TokenBA的位数、TokenRB的产生方式、TokenAB/TokenBA中RA和RB的组成[即数据处理函数f1(RA,RB1)和数据处理函数f2(RA,RB2)]等均可以作出改变,这些改变也应视为本发明的保护范围。
Claims (7)
1.一种基于分组密码算法的三重认证方法,其特征在于:包括如下步骤,
步骤一、被认证终端收到认证指令后产生随机数RB,并将随机数RB分成两个固定字长的部分RB1和RB2,根据随机数RB通过数据处理得到被认证终端返回给认证终端的数据TokenRB,并将TokenRB返回给认证终端;
步骤二、认证终端接收到TokenRB,恢复得到随机数RB和两个固定字长的RB1及RB2数据,再加上认证终端内部产生的随机数RA,通过一个数据处理函数f1(RA,RB1),将RB1数据及认证终端产生的随机数RA组合成一个一次分组密码算法所需字长的数据,该数据经分组密码算法运算后形成认证终端向被认证终端发出的令牌数据TokenAB,并发送给被认证终端;
步骤三、被认证终端接收到TokenAB后进行分组密码算法运算,恢复获得的随机数RA和部分或全部RB1数据,比较对应部分或全部RB1信息,如果相一致,则再通过另一个数据处理函数f2(RA,RB2),组合成另一个一次分组密码算法所需字长的数据,该数据经分组密码算法运算后形成被认证终端向认证终端发出的令牌数据TokenBA并发送给认证终端;如果比较后不一致,则被认证终端无响应并返回到起始状态;
步骤四、认证终端接收到TokenBA,再次通过分组密码算法运算后,恢复获得部分或全部随机数RA和部分或全部RB2数据,并与认证终端内已有的对应部分或全部RB2数据和部分或全部随机数RA进行比较,如果相一致,则确认三重认证通过;如果不一致,则中断与该被认证终端的进一步通讯。
2.如权利要求1所述的方法,其特征在于:所述随机数RB字长为32位以上,且两个固定字长的部分中RB1的字长也为32位或32位以上。
3.如权利要求1所述的方法,其特征在于:所述TokenRB为随机数RB本身,或通过数据处理函数g(RB)得到分组密码算法所需的数据字长并经分组密码算法运算得到;其中,数据处理函数g(RB)的输入输出一一对应,运算可逆。
4.如权利要求1所述的方法,其特征在于:所述随机数RA的字长为32位以上。
5.如权利要求1所述的方法,其特征在于:所述数据处理函数f1(RA,RB1)使用全部随机数RA,并使用部分或全部RB1数据,且数据处理函数f1(RA,RB1)的字长为分组密码算法的数据字长。
6.如权利要求1所述的方法,其特征在于:所述TokenAB为数据处理函数f1(RA,RB1)的结果再通过分组密码算法运算后的数据。
7.如权利要求1所述的方法,其特征在于:所述数据处理函数f2(RA,RB2)使用部分或全部随机数RA,并使用部分或全部RB2数据,且数据处理函数f2(RA,RB2)的字长为分组密码算法的数据字长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910057179A CN101882994B (zh) | 2009-05-06 | 2009-05-06 | 基于分组密码算法的三重认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910057179A CN101882994B (zh) | 2009-05-06 | 2009-05-06 | 基于分组密码算法的三重认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101882994A CN101882994A (zh) | 2010-11-10 |
CN101882994B true CN101882994B (zh) | 2012-09-12 |
Family
ID=43054896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910057179A Active CN101882994B (zh) | 2009-05-06 | 2009-05-06 | 基于分组密码算法的三重认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101882994B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136798B (zh) * | 2012-12-16 | 2016-04-27 | 四川久远新方向智能科技有限公司 | 轨道交通自动售检票系统单程票卡的安全控制方法 |
CN103929308B (zh) * | 2014-04-01 | 2017-07-18 | 嘉兴市辰翔信息科技有限公司 | 应用于rfid卡的信息验证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170995A (zh) * | 1996-05-22 | 1998-01-21 | 松下电器产业株式会社 | 保证设备之间通信安全的加密装置 |
CN101114901A (zh) * | 2006-07-26 | 2008-01-30 | 联想(北京)有限公司 | 非接触式无线数据传输的安全认证系统、设备及方法 |
CN101131720A (zh) * | 2006-08-23 | 2008-02-27 | 联想(北京)有限公司 | 一种射频识别的计算机安全锁定认证系统和方法 |
-
2009
- 2009-05-06 CN CN200910057179A patent/CN101882994B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170995A (zh) * | 1996-05-22 | 1998-01-21 | 松下电器产业株式会社 | 保证设备之间通信安全的加密装置 |
CN101114901A (zh) * | 2006-07-26 | 2008-01-30 | 联想(北京)有限公司 | 非接触式无线数据传输的安全认证系统、设备及方法 |
CN101131720A (zh) * | 2006-08-23 | 2008-02-27 | 联想(北京)有限公司 | 一种射频识别的计算机安全锁定认证系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101882994A (zh) | 2010-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Engels et al. | The Hummingbird-2 lightweight authenticated encryption algorithm | |
CN102317904B (zh) | 带有验证完整性的加密系统和方法 | |
US7571320B2 (en) | Circuit and method for providing secure communications between devices | |
CN101753292B (zh) | 用于链接式加密模式的方法和设备 | |
CN105530263B (zh) | 一种基于标签id的超轻量级rfid双向认证方法 | |
CN106973056B (zh) | 一种面向对象的安全芯片及其加密方法 | |
US11699361B2 (en) | Data security apparatus and method using constant optical signal input to analog component | |
CN1323507C (zh) | 分组加密算法中对短分组的处理方法 | |
CN101502040A (zh) | 减少通过无线链路的低数据率应用中的安全协议开销 | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
CN103684794A (zh) | 一种基于des、rsa、sha-1加密算法的通信数据加解密方法 | |
CN106533656B (zh) | 一种基于wsn的密钥多层混合加/解密方法 | |
CN107534558B (zh) | 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统 | |
CN103916842A (zh) | 一种用户id和外接设备进行绑定和校验的方法 | |
CN102598575B (zh) | 用于对密码保护的有效数据单元加速解密的方法和系统 | |
CN101923654A (zh) | 一种适合不同用户远程安全控制的超高频读写器 | |
Wu et al. | JAMBU lightweight authenticated encryption mode and AES-JAMBU | |
CN103916840A (zh) | 一种移动设备和外接设备进行绑定和校验的方法 | |
CN103427981B (zh) | 一种实现加密、解密的方法以及装置 | |
US6542607B1 (en) | Device and method for the cryptographic processing of a digital data stream presenting any number of data | |
CN103905197A (zh) | 一种sim卡和外接设备进行绑定和校验的方法 | |
CN101882991B (zh) | 基于分组密码算法的通讯数据流加密方法 | |
CN101515853B (zh) | 信息终端及其信息安全装置 | |
CN101882994B (zh) | 基于分组密码算法的三重认证方法 | |
CN107463977B (zh) | 通过无接触式读取对卡进行认证的电路和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |