CN1337803A - 用于ic卡的数据安全通信的加密方法及电路 - Google Patents

用于ic卡的数据安全通信的加密方法及电路 Download PDF

Info

Publication number
CN1337803A
CN1337803A CN 01113234 CN01113234A CN1337803A CN 1337803 A CN1337803 A CN 1337803A CN 01113234 CN01113234 CN 01113234 CN 01113234 A CN01113234 A CN 01113234A CN 1337803 A CN1337803 A CN 1337803A
Authority
CN
China
Prior art keywords
card
data
card reader
communication
circuit
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.)
Pending
Application number
CN 01113234
Other languages
English (en)
Inventor
钱晓州
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Fudan Microelectronics Co Ltd
Original Assignee
Shanghai Fudan Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Fudan Microelectronics Co Ltd filed Critical Shanghai Fudan Microelectronics Co Ltd
Priority to CN 01113234 priority Critical patent/CN1337803A/zh
Publication of CN1337803A publication Critical patent/CN1337803A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明是用于IC卡的数据安全通信的加密方法及电路。现有技术的IC卡数据通信中使用了多种不同的加密算法,但是算法复杂,对芯片的硬件要求高。本发明提出了一种简单实用的算法实现加密电路,能够应用到有较高安全需求的IC卡和读卡器之间的数据通信之中。电路采用线性反馈移位寄存器组构成伪随机数发生器和加密逻辑单元,其中加密逻辑单元的输出和明码的异或结果即加密后的数据。随机数发生器的作用保证每次加密认证过程中的数据不相同,防止入侵者假冒成有权限的读卡器进行操作。

Description

用于IC卡的数据安全通信的加密方法及电路
技术领域
本发明是一种用于具有很高安全性的IC卡的数据通信加密方法及电路。
背景技术
随着通信技术的发展及其应用领域的拓宽,IC卡的应用越来越广泛,但是IC卡的应用领域对数据安全性要求甚高,所以现有技术中在IC卡的数据通信中使用了各种不同的加密算法,由于这些算法程序复杂,所以对芯片的硬件提出了很高的要求,使IC卡的制作成本提高。
发明内容
本发明的目的是研制一种方法简单、安全性高、芯片的硬件工艺容易实现的IC卡数据安全通信的加密方法及电路。
本发明研究了一种简单实用的算法实现加密电路。本发明在进行数据通信之前,需要进行读卡器对卡片的认证和卡片对读卡器的相互认证,我们称之为三次相互认证。认证的关键是要保持读卡机和卡中的加密单元和随机数发生器的一致,可见图1。三次相互认证和随后的加密/解密的具体操作过程如下所示:
1.装载密钥,即把卡里的密钥K(48比特,读卡机已知)装载到加密单元中。在这里加密单元(以下简称E)的宽度为48比特,随机数发生器(R)的宽度为32比特。
2.产生Rb,卡的随机数发生器产生32比特的随机数Rb,Rb与UID号异或后送到E。同时Rb被发送至读卡器,假设在认证之前,卡已经将自己的身份号码32比特通知读卡器,并且密钥为双方约定,因此在收到Rb后可以完全复制E,同时读卡机把自己的随机数发生器的随机数预置为Rb,这时读卡机的E和R已与卡的E和R完全一致。现在加密单元里的数据是E(Rb,K,UID),随机数发生器的内容是Rb。
3.认证读卡机。读卡机将发回64比特数据到卡,前32比特Ra由读卡机的随机产生,卡收到这32比特将直接送到E中,同样读卡机也把这32比特送到自己的加密单元中以保持与卡里的E一致,在这次加密运算中,送入加密单元的数据实际上是加密单元的本身输出和送入的数据的异或,这时卡与读卡器的加密内容均为E(Rb,Ra,K,UID)。其中随机数Rb,Ra使得每次加密过程不确定,防止通信数据被分析;K为双方约定的密钥,可以认证对方是否合法。之后读卡机把E的输出和R的输出进行异或后送出32比特数据,在这时E的输入是‘0’。卡把后32比特的数据用卡的E的数据(与读卡机的E的数据一致)异或得到读卡机Ra的值,再与自己的R中的即时的值比较,如果一致,则读卡机通过认证。
4.读卡机验证卡,卡发出32比特的数据(E和R输出的异或)到读卡机。读卡机验证这些数据,和自身的加密单元和随机数的输出异或进行比较,如果相同则整个安全认证完成。
上述安全认证完成后,读卡机和卡之间的通信都是加密的。加密的方法是把数据与加密单元的输出相异或得到密文,解密则是把密文与加密单元的输出相异或就得到明文。
整个加密电路是由加密单元和伪随机数发生器构成,两个电路都利用了线性反馈移位寄存器组(LFSR)对数据移位和混乱的作用。对于特定的n次多项式生成的LFSR,可以产生的伪随机数组合为2n-1个。
其中48位线性反馈移位寄存器组的产生多项式为x48+x43+x39+x38+x36+x34+x33+x31+x29+x24+x23+x19+x13+x9+x7+x6+x5+11.伪随机数发生器
随机数发生器中的16位线性反馈移位寄存器组的产生多项式为x16+x14+x13+x11+1,复位值为5555h。在时钟控制下,随机数结果从输出口串行输出。本发明可以从伪随机数发生器的输出口上截取连续的32位数据流,就能够得到32位伪随机数。2.加密单元
由于线路很复杂,但是本领域的技术人员都能实现。本发明提供线路框图,见图7,LFSR和组合电路内容由产生多项式和组合电路的逻辑表达式给出。信号en为低时切断LFSR的内部反馈回路,为高时LFSR工作正常。clk是加密单元的时钟信号,data为加密单元的数据输入。dataout是数据输出,通过它和明文密文进行异或可以完成加解密。
本发明组合电路的逻辑表达式为!{(!A·!B·E)+(!B·!C·E·!D)+(A·D·!E)+(B·C·E)+(A·B·C)+(B·D·!E)}其中A=!{(!Q21·Q19·!Q23)+(!Q19·Q17·Q21)+(Q23·Q17·!Q19)+(Q23·Q21)}B=!{(!Q37·Q33·Q35)+(Q37·Q35·Q39)+(!Q33·!Q35·Q39)+(Q37·!Q35·!Q39)+(Q33·Q35·Q39)}C=!{(Q7·!Q3·Q1)+(Q7·Q5)+(!Q5·Q3·!Q7)+(Q5·!Q3·Q1)}D=!{(Q29·!Q27·Q25)+(!Q31·Q27·!Q29)+(Q29·Q31)+(Q25·!Q27·Q31)}E=!{(Q9·Q15·Q11)+(!Q9·Q15·!Q11)+(Q13·!Q15·!Q11)+(!Q13·Q11·Q9)+(Q13·Q15·Q11)LFSR寄存器组中所有反馈信号和输入信号的异或结果送到第一级寄存器,所有寄存器都没有复位端,在加密过程中通过移位送入48位密钥进行初始化。内部寄存器数据中的所有奇数编号的寄存器输出,送到一个复杂的组合电路产生加密单元的输出。整个加密电路有以下三种工作模式:1.在加密单元的输入数据信号为0时,通过自身的反馈实现内部数据的伪随机化处理过程。这个模式工作在卡和读卡器认证完成之后,对明文加密和对密文解密的过程中。2.可以关掉LFSR的反馈功能,则LFSR等同于一个48位的移位寄存器组。所有输入数据可以通过移位过程,给内部寄存器赋值。这个过程用于给加密单元装载密钥。3.同时进行数据输入和LFSR内部信号的反馈动作。在这个过程结束之后,加密单元的内容是原来的内容和输入序列的函数。这个模式用在卡和读卡器进行相互认证的过程中。
本发明的算法实现加密电路简单实用,电路采用线性反馈移位寄存器组构成伪随机数发生器个加密逻辑单元,其中加密逻辑单元的输出和明码的异或结果即加密后的数据,由此可获得如下的良好效果:1.在相互通信过程中的数据只有传输随机数和密文,可以有效地防止信息泄密;2.只比较加密的数据,不直接传递密钥进行比较,提高了***的安全性;3.数据通信之前对读卡器也进行认证,防止假冒读卡器对卡进行访问;4.***相对简单,硬件实现容易;5.加密速度快;
附图说明
图1是本发明认证过程框图。
图2是本发明装载密钥框图。
图3是本发明随机数发生器产生框图。
图4是本发明验证读卡机的框图。
图5是本发明读卡机再次验证卡的框图。
图6是本发明通信加密框图。
图7是本发明组合电路框图。
图8是实施例电路框图。
具体实施方式
实施例
图8给出了三次相互认证和加密过程的具体电路框架图,我们在复旦微电子公司的1K bytes非接触卡芯片设计中就采用了此方案。图中的加密单元和随机数发生器都是使用我们在前面提供的产生多项式和组合电路的逻辑表达式生成。通过增加控制模块和三个选择开关,我们就能够构成一个完整的加解密***。我们可以看到,在开关S1,S2,S3的控制下,电路实现了装载密钥,送入随机数,认证读卡机,读卡机认证卡和加密/解密的过程。输入数据在认证过程中代表从读卡机发来的数据,而在加解密过程中可以是明文,也可以是密文。输入数据为明文时输出数据为对应的密文,在输入为密文时输出为明文。图中的UID和32bits的密钥都是一位的串行输入数据。控制电路包括加密过程的状态控制,在不同的状态下我们输出不同的选择信号S1,S2,S3。
信号值和状态的过程对应如下表。
    过程     S1     S2     S3
    装载密钥     0     0     2
送入随机数/UID     0     0     3
  认证读卡机(1)     1     0     1
  认证读卡机(2)     0     1     0
    认证卡     0     2     0
  加解密过程     0     1     0
对我们实际的设计芯片而言,控制电路的功能不单单限制在对加密的控制,还包括了命令的接受和译码控制,响应数据的发送控制,和内存的接口控制等等,逻辑相当复杂,但对我们的加密电路来说,我们只需要给出以上几种状态和控制信号。

Claims (5)

1、一种用于IC卡数据安全通信的加密方法,其特征是安全通信的认证是由加密电路完成,其过程是:
1)装载密钥,把所要操作区域密钥,装载到加密单元E中;
2)产生随机数Rb,卡的随机数发生器R产生Rb,Rb被发到读卡机并且与卡的序列UID号异或后送到E;
3)验证读卡机,读卡机发回数据到卡,卡将该数据送到E中,读卡机也把该数据送到自身的E中,读卡机再把E和R的输出数据异或后送出;
4)读卡机再次验证卡,卡发出E和R的异或数据到读卡机,读卡机验证这些数据,完成认证过程。
2、根据权利要求1所述的用于IC卡数据安全通信的加密方法,其特征是读卡机和卡之间的通信加密方法是把数据与E的输出相异或,解密是把密文再与本地的E的输出相异或。
3、根据权利要求1所述的用于IC卡数据安全通信的加密方法,其特征是加密电路由加密单元和伪随机数发生器组成,两个电路均利用了线性反馈移位寄存器组对数据的移位和混乱,其中用于加密单元的48位线性反馈移位寄存器组产生的多项式是:x48+x43+x39+x38+x36+x34+x33+x31+x29+x24+x23+x19+x13+x9+x7+x6+x5+1
4、根据权利要求1所述的用于IC卡数据安全通信的加密方法,其特征是组合电路的逻辑表达式是:!{(!A·!B·E)+(!B·!C·E·!D)+(A·D·!E)+(B·C·E)+(A·B·C)+(B·D·!E)}其中A=!{(!Q21·Q19·!Q23)+(!Q19·Q17·Q21)+(Q23·Q17·!Q19)+(Q23·Q21)}B=!{(!Q37·Q33·Q35)+(Q37·Q35·Q39)+(!Q33·!Q35·Q39)+(Q37·!Q35·!Q
 39)+(Q33·Q35·Q39)}C=!{(Q7·!Q3·Q1)+(Q7·Q5)+(!Q5·Q3·!Q7)+(Q5·!Q3·Q1)}D=!{(Q29·!Q27·Q25)+(!Q31·Q27·!Q29)+(Q29·Q3 1)+(Q25·!Q27·Q31)}E=!{(Q9·Q15·Q11)+(!Q9·Q15·!Q11)+(Q13·!Q15·!Q11)+(!Q13·Q11·Q9)+(Q13·Q15·Q11)
5、根据权利要求3所述的用于IC卡数据安全通信的加密方法,其特征是加密电路的工作模式是:在加密单元的输入信号为零时,通过自身的反馈实现内部数据的伪随机化处理,关掉线形反馈移位寄存器组的反馈功能,则其等同于一个48位的移位寄存器组;是能够同时进行数据输入和线性反馈移位的寄存器组。
CN 01113234 2001-07-03 2001-07-03 用于ic卡的数据安全通信的加密方法及电路 Pending CN1337803A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 01113234 CN1337803A (zh) 2001-07-03 2001-07-03 用于ic卡的数据安全通信的加密方法及电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01113234 CN1337803A (zh) 2001-07-03 2001-07-03 用于ic卡的数据安全通信的加密方法及电路

Publications (1)

Publication Number Publication Date
CN1337803A true CN1337803A (zh) 2002-02-27

Family

ID=4659970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01113234 Pending CN1337803A (zh) 2001-07-03 2001-07-03 用于ic卡的数据安全通信的加密方法及电路

Country Status (1)

Country Link
CN (1) CN1337803A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1309179C (zh) * 2002-04-17 2007-04-04 盛群半导体股份有限公司 识别代码传送方法及电路装置
CN100364261C (zh) * 2004-03-31 2008-01-23 刘学明 基于双动态口令的身份鉴别***
WO2010051710A1 (zh) * 2008-11-10 2010-05-14 中兴通讯股份有限公司 一种智能卡密钥的生成方法
WO2010149041A1 (zh) * 2009-06-23 2010-12-29 北京易恒信认证科技有限公司 一种无线射频***、装置及安全处理方法
CN101937516A (zh) * 2010-09-07 2011-01-05 北京智捷通科技发展有限公司 一种无源超高频射频识别***中认证的方法及***
CN101587614B (zh) * 2008-04-29 2012-05-30 郭建国 网络化家庭银行ic卡及atm***两用结算终端
CN101771533B (zh) * 2008-12-30 2012-10-31 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法
CN101789068B (zh) * 2009-01-22 2012-11-07 深圳市景丰汇达科技有限公司 读卡器安全认证装置及方法
CN103136798A (zh) * 2012-12-16 2013-06-05 四川久远新方向智能科技有限公司 轨道交通自动售检票***单程票卡的安全控制方法
CN105959110A (zh) * 2016-06-30 2016-09-21 苏州众天力信息科技有限公司 多组合动态加密通信认证方法及***

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1309179C (zh) * 2002-04-17 2007-04-04 盛群半导体股份有限公司 识别代码传送方法及电路装置
CN100364261C (zh) * 2004-03-31 2008-01-23 刘学明 基于双动态口令的身份鉴别***
CN101587614B (zh) * 2008-04-29 2012-05-30 郭建国 网络化家庭银行ic卡及atm***两用结算终端
WO2010051710A1 (zh) * 2008-11-10 2010-05-14 中兴通讯股份有限公司 一种智能卡密钥的生成方法
CN101771533B (zh) * 2008-12-30 2012-10-31 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法
CN101789068B (zh) * 2009-01-22 2012-11-07 深圳市景丰汇达科技有限公司 读卡器安全认证装置及方法
WO2010149041A1 (zh) * 2009-06-23 2010-12-29 北京易恒信认证科技有限公司 一种无线射频***、装置及安全处理方法
CN101582123B (zh) * 2009-06-23 2012-08-15 北京易恒信认证科技有限公司 一种无线射频***、装置及安全处理方法
CN101937516A (zh) * 2010-09-07 2011-01-05 北京智捷通科技发展有限公司 一种无源超高频射频识别***中认证的方法及***
CN101937516B (zh) * 2010-09-07 2013-10-30 北京智捷通科技发展有限公司 一种无源超高频射频识别***中认证的方法及***
CN103136798A (zh) * 2012-12-16 2013-06-05 四川久远新方向智能科技有限公司 轨道交通自动售检票***单程票卡的安全控制方法
CN105959110A (zh) * 2016-06-30 2016-09-21 苏州众天力信息科技有限公司 多组合动态加密通信认证方法及***

Similar Documents

Publication Publication Date Title
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
US7659837B2 (en) Operation processing apparatus, operation processing control method, and computer program
CN108073353B (zh) 一种数据处理的方法及装置
US20200106600A1 (en) Progressive key encryption algorithm
EP2907067B1 (en) Method and system for smart card chip personalization
CN104468089A (zh) 数据保护装置及其方法
CN101582109A (zh) 数据加密方法及装置、数据解密方法及装置、固态硬盘
JPH1075240A (ja) データ送信を保護する方法およびデータを暗号化または解読化する装置
CN102640448A (zh) 用于在对称加密***内安全地识别和认证设备的***和方法
CN112906070B (zh) 具有块密码侧信道攻击减轻的集成电路和IoT设备及相关方法
US20110085663A1 (en) Method for the access-related or communication-related random encryption and decryption of data
WO2018141378A1 (en) Methods and devices for protecting data
CN1337803A (zh) 用于ic卡的数据安全通信的加密方法及电路
US10218500B2 (en) Authentication of a card by contactless reading
Brier et al. Fast primitives for internal data scrambling in tamper resistant hardware
US10237071B2 (en) Authentication of a card by contactless reading
Karri et al. Parity-based concurrent error detection in symmetric block ciphers
Liu et al. Improving tag generation for memory data authentication in embedded processor systems
Tezcan Brute force cryptanalysis of MIFARE classic cards on GPU
CN107766725B (zh) 抗模板攻击的数据传输方法及***
Samra et al. PUF Based Cryptographic Key Generation
Liu et al. Legitimate-reader-only attack on MIFARE Classic
CN117411727B (zh) 一种通信传输对称加密的加密方法、装置及存储介质
EP4307155A1 (en) Method and circuit for protecting an electronic device from a side-channel attack
US20220417012A1 (en) Method for performing cryptographic operations in a processing device, corresponding processing device and computer program product

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication