一种适用于rfid安全通信的椭圆曲线加密协处理器的制造方法

文档序号:6542068阅读:147来源:国知局
一种适用于rfid安全通信的椭圆曲线加密协处理器的制造方法
【专利摘要】本发明公开了一种适用于RFID安全通信的椭圆曲线加密协处理器,所述协处理器包括寄存器阵列、模算术逻辑单元和ECC协处理器指令控制器,所述寄存器阵列用于存储椭圆曲线加密计算过程中的椭圆曲线参数、私钥、计算过程数据以及计算结果;所述模算术逻辑单元包括加法电路、乘法电路、平方电路、控制单元和寄存器T,用于完成加法、乘法、平方运算;所述ECC协处理器指令控制器用于对所述模算数逻辑单元发送加法、乘法、平方和移动指令,接收模算术逻辑单元计算得到的结果,并根据所述结果进行点加倍点计算以完成椭圆曲线点乘计算。本发明的椭圆曲线加密协处理器具有面积小、低功耗和高安全性的特点,适用于RFID标签芯片。
【专利说明】—种适用于RFID安全通信的椭圆曲线加密协处理器
【技术领域】
[0001]本发明属于射频通信安全加密【技术领域】,具体涉及一种适用于RFID安全通信的椭圆曲线加密协处理器。
【背景技术】
[0002]射频识别技术RFID (Radio Frequency Identification)作为物联网最重要的组成部分,不仅具有条形码和二维码等识别技术的快速、便捷和低成本性,还具有数据存储容量大、数据可重读写、高效、适于恶劣环境、可识别运动目标等优点,可应用于物品的智能化识别、定位、跟踪、和管理等方面。随着RFID技术的深入发展和推广,数据交互过程的安全性和信息隐私保护等问题逐渐也引发了各界的广泛关注,并成为目前RFID应用中亟待解决的问题。因此在RFID进行数据交互时,保护数据的安全性成为一个必需条件。
[0003]除了机密性、完整性、隐私性、真实性等安全特性外,RFID系统还要求具有便捷的扩展性,能方便地增加标签的数目,如对于大型图书馆和物流仓库此类系统,标签数目可达到成千上万。目前大量RFID的应用群组采取的均是对称加密算法机制,私钥加密算法会有一重大缺点,即密钥分配问题。而且在安全通信之前,所有使用的读写器都必须事先知道密钥,意味着对于对称加密系统而言,密钥管理是一个难以忽视的问题。除此之外,若需要对密钥做出更新或更换,就需要对整个系统的所有密钥点进行更新,不仅造成使用的不便,安全性也得不到保证。因此,为了保证RFID系统的延展性、可靠性和安全性要求,采用公钥加密的方案就成为非常有必要的选择。在RFID中采用公钥加密系统,读写器不需要事先知道标签的私钥,直接用标签的公共密钥对信息进行加密,而且这些加密后的信息只能被标签的私钥解密。不仅如此,如果一个标签用它的私钥对一个消息进行签名的话,则读写器可以通过该标签的公钥进行认证,这样就使得整个RFID系统密钥管理变得简单而高效,还增加了系统的可扩展性。
[0004]在公钥算法中,RSA (Rivest Shauir Adleuan)方法的优点主要是原理简单、易于使用。但随着分解大整数方法的完善、计算机速度的提高以及计算机网络的发展,作为RSA加解密安全保证的大整数要求越来越大。为保证RSA使用的安全性,密钥的位数不断增加,目前一般认为RSA需要1024位以上的字长才具有安全保障。但密钥长度的增加导致加解密的速度大大降低,硬件实现也变得越来越复杂,这给使用RSA的应用带来了极大负担,使其应用范围日益受到制约。
[0005]椭圆曲线加密ECC (Elliptic curve cryptography)算法只需采用较短的密钥就可以达到和RSA算法相同的加密强度,它的数论基础是有限域上的椭圆曲线离散对数问题,现在还没有针对这个难题的亚指数时间算法,因此,ECC算法具有每比特最高的安全强度。由于RFID读写器和标签之间的数据交互受制于标签的资源限制,这意味着标签不能使用太多的资源来保证RFID读写器和标签之间的数据安全,标签必须在尽可能小的资源消耗下实现尽可能高的安全性能。除此之外,RFID读写器和标签之间的速率也不高,这也限制了标签在实现安全性能上的消耗。因此采用一种运算量小同时能提供高加密强度的公钥密码机制对于实现安全应用非常关键。
[0006]在国内外,有不少学者进行椭圆加密协处理器的设计,然而大部分设计都只是片面的强调了点乘的计算和实现,而没有考虑实际的使用环境和资源需求,如RFID标签芯片中的数据传输问题,且现有的椭圆机密协处理芯片面积以及功耗都较大,这在实际的RFID领域并不适用。

【发明内容】

[0007]针对现有技术的以上缺陷或改进需求,本发明的目的在于提供一种适用于FRID安全通信的椭圆曲线加密协处理器,通过改进椭圆曲线加密协处理器的参数分布、改进协处理器中各运算单元的设计、实现部分寄存器的复用,使得该协处理器具有小面积、低功耗和高安全性的特点,可应用于RFID标签芯片中。
[0008]本发明解决其技术问题所采用的技术方案是,一种适用于RFID安全通信的椭圆曲线加密协处理器,所述协处理器包括寄存器阵列、模算术逻辑单元和ECC协处理器指令控制器;
[0009]所述寄存器阵列用于存储椭圆曲线加密计算过程中的椭圆曲线方程参数、私钥、椭圆曲线计算过程数据和计算结果,所述曲线方程参数、私钥在有椭圆曲线加密计算需求时通过总线从RFID标签系统中的EEPROM加载到寄存器中阵列中;
[0010]所述ECC协处理器指令控制器用于产生控制指令,将控制指令发送给模算术逻辑单元的控制模块以控制模算术逻辑单元完成加法、乘法和平方计算,并根据模算术逻辑单元中寄存器T存储的加法、乘法和平方运算结果进行点加、倍点以完成椭圆曲线点乘运算,点乘运算结果返回至寄存器阵列;所述控制指令包括加法、乘法、平方和移动指令;
[0011]所述模算术逻辑单元包括加法电路、乘法电路、平方电路、控制单元和寄存器T,所述加法电路由异或阵列构成;所述乘法电路由串行乘法器构成;所述平方电路由异或阵列构成;所述控制单元用于识别ECC协处理器指令控制器发送的加法、乘法和平方指令,控制寄存器T获取寄存器阵列中的椭圆曲线方程参数和私钥,并根据识别的加法、乘法和平方指令控制加法电路、乘法电路、平方电路运用获取的椭圆曲线方程参数和私钥分别进行椭圆曲线加法、乘法和平方计算,将加法、乘法、平方计算结果和乘法计算过程数据存储在寄存器T中;同时根据识别的移动指令将从总线上加载的数据通过寄存器T转存到寄存器阵列中;寄存器T与寄存器阵列构成循环链路以进行数据互换。
[0012]作为进一步优选地,所述寄存器阵列包括状态指令寄存器、常量寄存器k、C、X、y和多个临时寄存器,所述状态指令寄存器用于存储控制点乘计算的运行状态的指令;所述常量寄存器k为循环移位寄存器,用于存储椭圆曲线计算过程中所需要的私钥;所述常量寄存器C用于存储椭圆曲线方程参数,所述常量寄存器X和常量寄存器y用于存储椭圆曲线基点的坐标点;所述多个临时寄存器用于复用存储点乘计算过程中的临时变量,所述多个临时寄存器通过ECC协处理器指令控制器发送的移动指令与寄存器T构成循环链路结构。
[0013]作为进一步优选地,所述平方电路和乘法电路还用于实现椭圆曲线加密计算过程中的求逆运算,并根据费马小定理,采用构建加法链的方法将求逆计算过程中的乘法计算量减少到O(1gm)次,所述m为椭圆曲线加密算法中的密钥长度。[0014]作为进一步优选地,所述ECC协处理器指令控制器包括依次连接的计数器、点乘控制器和功能单元,所述计数器用于统计寄存器k的循环次数,以标注点乘的开始和结束;所述点乘控制器根据所述状态指令寄存器中的指令,以状态机的方式向功能单元发送控制指令;所述功能单元接收所述控制指令控制相应子单元工作,功能单元包括数据准备子单元、数据互换子单元、点加倍点子单元和返回计算结果子单元,数据准备子单元用于根据Lopez-Dahab投影坐标下的Montgomery梯形点乘算法完成直角坐标向投影坐标的转换,数据互换子单元用于将椭圆曲线上两点的坐标进行互换;点加倍点子单元用于对互换后的点执行点加和倍点计算,点加倍点计算结束后得到的点乘计算结果由返回计算结果子单元返回至寄存器阵列的临时寄存器中。
[0015]作为进一步优选地,所述协处理器外部接口通过低位宽总线的方式进行外部数据交互,寄存器阵列中的数据读写均以Sbits宽度构成的字节形式进行。
[0016]作为进一步优选地,所述加密协处理器通过Schnorr ’ s身份认证协议与RFID标签系统控制器进行通信。
[0017]作为进一步优选地,所述临时寄存器个数为5个。
[0018]因此,本发明可以获得以下的有益效果:
[0019]( I)对ECC参量的存放位置做出了合理的安排,椭圆曲线参数和私有密钥在未使用时存放在EEPROM中,当有ECC计算需求时,才会通过总线加载到寄存器阵列中,并基于此制定了一种精简的总线模型,简化了标签数字部分中数据的传输;在各运算单元的设计中,对于乘法运算采用串行乘法器,在保持良好性能的基础上减小面积,实现少资源、低功耗的应用设计;对于平方运算,本发明采用专门的平方电路来单独处理平方运算,让平方操作在一个单周期内完成,以减少系统的计算时间,且通过对寄存器阵列中的寄存器复用减少了临时寄存器的使用,降低了系统面积;
[0020](2)本发明从系统的构成上合理安排协处理器的结构,将相似的单元进行分解和整合,在此基础上实现对模算术逻辑单元的复用过程,减少了资源消耗;在求逆运算中,本发明采用构建加法链的过程将求逆计算过程中的乘法计算量减少到O(1gm)次,减少资源和时间消耗;在点乘运算中采用L0pez-Dahab投影坐标下的Montgomery梯形点乘算法,使求逆的次数大大降低,从而减少计算时间;
[0021](3)本发明考虑了 RFID安全认证协议,在考虑资源开销而来限制情况下,采用Schnorr, s身份认证协议,该协议模型简单,没有Hash函数和消息等额外的计算开销,而且在离散对数问题上,还是能有效的抵抗被动攻击,该算法的模型非常简单,系统开销非常小,非常适合于RFID低功耗资源限制的应用环境。
[0022]因此本发明不仅实现了 ECC算法计算上的优化,而且考虑了 RFID实际应用中的环境和资源需求,设计出一种具有实用价值的适用于RFID安全通信领域的椭圆曲线加密协处理器。
【专利附图】

【附图说明】
[0023]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0024]图1是本发明适用于RFID安全通信的椭圆曲线加密协处理器的结构示意图;
[0025]图2是本发明椭圆曲线加密协处理器的模算术逻辑单元结构示意图;[0026]图3是本发明模算术逻辑单元中加法电路的结构示意图;
[0027]图4是本发明在二进制域有限域GF(2163)下的平方电路结构示意图;
[0028]图5是本发明在二进制域有限域GF(2163)下的单比特模乘电路图;
[0029]图6是本发明一个实施例的椭圆曲线加密协处理器的寄存器阵列结构示意图;
[0030]图7是本发明椭圆曲线加密协处理器的ECC协处理器指令控制器的结构示意图;
[0031]图8是本发明ECC协处理器指令控制器的点乘控制器的状态转换图;
[0032]图9是本发明椭圆曲线求逆运算中的电路状态转换图。
【具体实施方式】
[0033]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0034]本发明提供一种适用于RFID安全通信的椭圆曲线加密协处理器,在数字基带中以状态机实现的方式对椭圆曲线加密协处理器进行控制,以实现RFID系统安全加密的性倉泛。
[0035]RFID标签系统由模拟前端、真随机数产生器、EEPROM和数字基带构成。模拟前端用于完成RFID协议的物理层实现;真随机数产生器用于实现每一次身份认证的随机性,以保证通信的安全性;EEPROM是标签数据存储的介质,负责存储身份信息、应用数据以及与安全相关的参量,如本发明RFID安全通信过程中将使用到的私钥k、基点的坐标X、y以及椭圆曲线的系数等。
[0036]在本发明中,数字基带采用精简的总线结构,将构成数字基带的前端处理电路、随机数处理单元、RAM块、系统控制器、EEPROM控制单元和ECC协处理器连接起来。其中,ECC协处理器在外部接口上采用了低位宽接口模型,通过该接口模型,RFID的系统控制器能够方便地对ECC协处理器的内部数据和指令进行配置和管理,以实现ECC上不同层次的运算加密。
[0037]前端处理电路接收到模拟前端解调出来的数据信号时,对解调的信号按照相应的格式,识别出其中的有效数据,并通过总线将有效的数据存储在RAM块中,当整个接收数据阶段完成,并且判定完成整个数据帧是合法的后,根据相应的指令启动系统控制器。系统控制器通过总线,指示EEPROM控制单元将存储在EEPROM中相应位置的参数读入到ECC协处理器的参量存储寄存器中,与此同时,系统控制器启动随机数处理单元,将处理得到的合法的随机数通过总线方式写入到ECC协处理器中的相关寄存器当中。在完成以上ECC协处理器参量的初始化准备工作后,系统控制器通过总线向ECC协处理器阵列寄存器中的指令寄存器写入指定数据,开启ECC协处理器的计算操作,ECC协处理器完成整个加密计算过程后,立即通知系统控制器,系统控制器启动应答过程,并通过总线方式将ECC协处理器中计算出来的加密数据通过前端处理电路按照一定的协议标准编码格式进行编码,并通过模拟前端进行调制,通过磁场耦合返回给RFID读写器。
[0038]图1是本发明适用于RFID安全通信的椭圆曲线加密协处理器的结构示意图。EEC协处理器主要由三大部分组成,包括相互连接的寄存器阵列101、EEC协处理器指令控制器102和模算术逻辑单元(MALU) 103。ECC协处理器负责完成标量乘法、求逆等的计算,并通过低位宽总线的方式与外部进行数据交互,涉及的寄存器当中的数据读写均以Sbits宽度构成的字节形式进行。同时系统控制器通过向寄存器阵列101中的指令寄存器写入特定的值来控制ECC协处理器的启动和运行,将计算的坐标结果存储在寄存器阵列中,并在计算结束的时候向系统控制器发送指示信号,以便进行进一步的数据处理。在设计中,采用Schnorr’s身份认证协议,系统控制器从寄存器阵列中读出计算过的坐标值,并按照一定的协议标准编码格式进行编码返回。Schnorr’ s身份认证协议模型简单,没有Hash函数和消息等额外的计算开销,而且在离散对数问题上,还是能有效的抵抗被动攻击,该算法的模型非常简单,系统开销非常小,非常适合于RFID低功耗资源限制的应用环境。
[0039]本发明ECC协处理器的接口信号如表1所示。
[0040]表1ECC协处理器接口信号列表
【权利要求】
1.一种适用于RFID安全通信的椭圆曲线加密协处理器,其特征在于,所述协处理器包括寄存器阵列、模算术逻辑单元和ECC协处理器指令控制器; 所述寄存器阵列用于存储椭圆曲线加密计算过程中的椭圆曲线方程参数、私钥、椭圆曲线计算过程数据和计算结果,所述曲线方程参数、私钥在有椭圆曲线加密计算需求时通过总线从RFID标签系统中的EEPROM加载到寄存器中阵列中; 所述ECC协处理器指令控制器用于产生控制指令,将控制指令发送给模算术逻辑单元的控制模块以控制模算术逻辑单元完成加法、乘法和平方计算,并根据模算术逻辑单元中寄存器T存储的加法、乘法和平方运算结果进行点加、倍点以完成椭圆曲线点乘运算,点乘运算结果返回至寄存器阵列;所述控制指令包括加法、乘法、平方和移动指令; 所述模算术逻辑单元包括加法电路、乘法电路、平方电路、控制单元和寄存器T,所述加法电路由异或阵列构成;所述乘法电路由串行乘法器构成;所述平方电路由异或阵列构成;所述控制单元用于识别ECC协处理器指令控制器发送的加法、乘法和平方指令,控制寄存器T获取寄存器阵列中的椭圆曲线方程参数和私钥,并根据识别的加法、乘法和平方指令控制加法电路、乘法电路、平方电路运用获取的椭圆曲线方程参数和私钥分别进行椭圆曲线加法、乘法和平方计算,将加法、乘法、平方计算结果和乘法计算过程数据存储在寄存器T中;同时根据识别的移动指令将从总线上加载的数据通过寄存器T转存到寄存器阵列中;寄存器T与寄存器阵列构成循环链路以进行数据互换。
2.如权利要求1所述的适用于RFID安全通信的椭圆曲线加密协处理器,其特征在于,所述寄存器阵列包括状态指令寄存器、常量寄存器k、C、X、y和多个临时寄存器,所述状态指令寄存器用于存储 控制点乘计算的运行状态的指令;所述常量寄存器k为循环移位寄存器,用于存储椭圆曲线计算过程中所需要的私钥;所述常量寄存器c用于存储椭圆曲线方程参数,所述常量寄存器X和常量寄存器y用于存储椭圆曲线基点的坐标点;所述多个临时寄存器用于复用存储点乘计算过程中的临时变量,所述多个临时寄存器通过ECC协处理器指令控制器发送的移动指令与寄存器T构成循环链路结构。
3.如权利要求2所述的适用于RFID安全通信的椭圆曲线加密协处理器,其特征在于,所述平方电路和乘法电路还用于实现椭圆曲线加密计算过程中的求逆运算,并根据费马小定理,采用构建加法链的方法将求逆计算过程中的乘法计算量减少到O(1gm)次,所述m为椭圆曲线加密算法中的密钥长度。
4.如权利要求2或3所述的适用于RFID安全通信的椭圆曲线加密协处理器,其特征在于,所述ECC协处理器指令控制器包括依次连接的计数器、点乘控制器和功能单元,所述计数器用于统计寄存器k的循环次数,以标注点乘的开始和结束;所述点乘控制器根据所述状态指令寄存器中的指令,以状态机的方式向功能单元发送控制指令;所述功能单元接收所述控制指令控制相应子单元工作,功能单元包括数据准备子单元、数据互换子单元、点加倍点子单元和返回计算结果子单元,数据准备子单元用于根据L0pez-Dahab投影坐标下的Montgomery梯形点乘算法完成直角坐标向投影坐标的转换,数据互换子单元用于将椭圆曲线上两点的坐标进行互换;点加倍点子单元用于对互换后的点执行点加和倍点计算,点加倍点计算结束后得到的点乘计算结果由返回计算结果子单元返回至寄存器阵列的临时寄存器中。
5.如权利要求1或2所述的适用于RFID安全通信的椭圆曲线加密协处理器,其特征在于,所述协处理器外部接口通过低位宽总线的方式进行外部数据交互,寄存器阵列中的数据读写均以Sbits宽度构成的字节形式进行。
6.如权利要求1或2所述的适用于RFID安全通信的椭圆曲线加密协处理器,其特征在于,所述加密协处理器通过Schnorr’ s身份认证协议与RFID标签系统控制器进行通信。
7.如权利要求2所述的适用于RFID安全通信的椭圆曲线加密协处理器,其特征在于,所述临时寄存器个数为5个。
【文档编号】G06K19/077GK103903047SQ201410119582
【公开日】2014年7月2日 申请日期:2014年3月27日 优先权日:2014年3月27日
【发明者】刘冬生, 林焕, 刘胤, 邹雪城, 刘子龙, 雍振强, 程剑 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1