一种采用国密sm1加密芯片的触摸键盘及其加密方法

文档序号:7800156阅读:322来源:国知局
一种采用国密sm1加密芯片的触摸键盘及其加密方法
【专利摘要】本发明公开了一种采用国密SM1加密芯片的触摸键盘及其加密方法。一种采用国密SM1加密芯片的触摸键盘,包括触摸芯片、主控MCU及用于连接主控MCU与触摸芯片的数据导线,所述的数据导线为两线式串行总线的I2C总线,所述的I2C总线还连接有国密SM1加密芯片。本发明采用硬核形式的国密SM1加密芯片,对触摸芯片采集到的采集数据包进行加密,传输至主控MCU之后再进行解密,保证了触摸传感信息在传输过程中不会被窃取,保障数据应用的安全,特别适合用于金融产品的支付终端。
【专利说明】—种采用国密SM1加密芯片的触摸键盘及其加密方法
【技术领域】
[0001]本发明涉及一种加密传输的键盘结构,更具体地说是指一种采用国密SMl加密芯片的触摸键盘及其加密方法。
【背景技术】
[0002]在当今的市场上,有不少可供选择的算法来应对数据安全危机,面对数据加密安全的重要性,国家相关管理部门加强了对政府和企业数据安全系统的管理,要求主要部门的安全系统加密算法使用国密算法——国家商用密码(SM)。国家商用密码算法由国家密码管理委员会制定并管理,算法属于国家机密,资料采用不公开形式。在此,采用I2C总线协议和国密SMl算法的结合应用在触摸键盘中,特别给互联网终端支付等金融支付产品带来很大的优异性和安全性。目前,器件之间的传输方式有各种各样的总线方式,其中的I2C总线是一种仅需两根信号线且为双向、串行、多主控接口标准的协议总线,具有总线仲裁机制,非常适合在器件之间进行近距离、非常常性的数据通信,并且可以依靠协议体系中含有目的设备地址的传输数据来实现设备组网。在触摸按键应用中,充分地体现出I2C总线协议的应用性特点。
[0003]但目前在触摸键盘中,尚未出现采用国密SMl算法的加密产品。

【发明内容】

[0004]本发明的目的在于克服现有技术的缺陷,提供一种采用国密SMl加密芯片的触摸键盘及其加密方法。
[0005]为实现上述目的,本发明采用以下技术方案:
[0006]一种采用国密SMl加密芯片的触摸键盘,包括触摸芯片、主控MCU及用于连接主控MCU与触摸芯片的数据导线,所述的数据导线为两线式串行总线的I2C总线,所述的I2C总线还连接有国密SMl加密芯片。
[0007]其进一步技术方案为:所述的触摸芯片还连接有按键感应盘。
[0008]其进一步技术方案为:所述触摸芯片采集到的采集数据包经加密芯片的加密生成密文数据包,传输至主控MCU,主控MCU接收到的密文数据包经由加密芯片的解密生成明文数据包。
[0009]其进一步技术方案为:所述的触摸芯片为TS20型芯片。
[0010]其进一步技术方案为:所述的主控MCU为STM32F103C8T6型芯片。
[0011]触摸键盘的解密方法,其中触摸芯片采集的采集数据包采用ECB进行块操作模式,按照以下步骤对采集数据包进行加密:
[0012]I)用Ld (I字节)表示明文数据的长度,在明文数据前加上Ld产生新的数据块;
[0013]2)将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η ;
[0014]3)如果最后(或唯一)的数据块的长度是分组长度,转到第四步;如果不足分组长度,则在其后填充16进制数‘80’,如果达到分组长度,则转到步骤4);否则在其后填充16进制数‘00’直到长度达到分组长度;
[0015]4)采用国密SMl加密芯片的加密密钥对每一个数据块进行加密;
[0016]5)计算结束后,所有加密后的数据块依照原顺序连接在一起,形成密文数据包;
[0017]其中的明文数据是指触摸芯片采集到的采集数据包。
[0018]其进一步技术方案为:所述主控MCU接收到密文数据包,对其进行以下步骤的解密:
[0019]I)将该密文数据包分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η ;
[0020]2)采用国密SMl加密芯片的解密密钥对每一个数据块进行解密;
[0021]3)计算结束后,所有解密后的数据块依照原顺序连接在一起;
[0022]4)第一个字节为Ld,从第二字节起,取前Ld字节数据作为明文数据包输出。
[0023]其进一步技术方案为:触摸芯片的采集数据包经过加密成为密文数据包,传输至主控MCU,再解密为明文数据包,在密文数据包中,包含有报文认证码MAC ;所述的报文认证码MAC按以下步骤计算:
[0024]I)终端GETCHALLENGE命令从SAM获得一个4字节(或8字节)随机数,其后补12字节(或8字节)‘00’作为初始数据;
`[0025]2)将所有输入数据按指定顺序连接成一个数据块;
[0026]3)将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η ;
[0027]4)在最后的数据块后填充16进制数‘80’,如果此时达到分组长度,则转到第五步;否则在其后填充16进制数‘00’直到长度达到分组长度;
[0028]5)采用国密SMl加密芯片的认证密钥逐一对这些数据块进行加密产生MAC ;
[0029]6)将16字节运算结果按4字节分块做异或运算,生成报文认证码MAC ;
[0030]其中的终端为主控MCU,SAM为存储有密钥的存储卡,GETCHALLENGE命令为取随机数命令,MAC为校验码。
[0031]其进一步技术方案为:计算报文认证码MAC的步骤5)中,块I的数据与初始数据经认证密钥生成认证密文1,认证密文I与块2的数据再经认证密钥生成认证密文2,以此类推,直至认证密文η-1与块η的数据再经认证密钥生成认证密文η ;所述的认证密文η为MAC0
[0032]本发明与现有技术相比的有益效果是:本发明采用硬核形式的国密SMl加密芯片,对触摸芯片采集到的采集数据包进行加密,传输至主控MCU之后再进行解密,保证了触摸传感信息在传输过程中不会被窃取,保障数据应用的安全,特别适合用于金融产品的支付终端。在I2C总线传输协议过程中有相关保护密钥作保护,并以密文的形式通信传输数据,还可以由硬件实现的SMl算法加密,即使被一些非法设备监听到,因为没有解密密钥和相关算法,基本无法得到数据明文。同时在生成密文中都有随机数的参与,因为每次生成的随机数完全不同,且没有规律可循,即使通过破译手段拿到密钥明文,也无法重现上一次认证或交易的随机数,有效抵抗了数据重放攻击,其中密钥的注入均采用密文加MACXMessageAuthenticationCode,报文鉴别码)的方式,能在最大限度上避免应用密钥的泄漏,而报文认证码的计算采用分组长度为128位分组计算。
[0033]下面结合附图和具体实施例对本发明作进一步描述。
【专利附图】

【附图说明】
[0034]图1为本发明一种采用国密SMl加密芯片的触摸键盘的方框结构示意图;
[0035]图2为本发明加密方法具体实施例的加密过程示意图;
[0036]图3为本发明加密方法具体实施例的解密过程示意图;
[0037]图4为本发明加密方法具体实施例的生成报文认证码MAC的过程示意图。
[0038]附图标记
[0039]10触摸芯片 20主控MCU
[0040]30加密芯片 40按键感应盘
【具体实施方式】
[0041]为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不 局限于此。
[0042]如图1-图2所示的本发明一种采用国密SMl加密芯片的触摸键盘,包括触摸芯片
10、主控MCU20及用于连接主控MCU20与触摸芯片10的数据导线,数据导线为两线式串行总线的I2C总线,I2C总线还连接有国密SMl加密芯片30。触摸芯片10还连接有按键感应盘40。其中,触摸芯片10采集到的采集数据包经加密芯片30的加密生成密文数据包,传输至主控MCU20,主控MCU接收到的密文数据包经由加密芯片的解密生成明文数据包。
[0043]本实施例中,触摸芯片为TS20型芯片;主控MCU为STM32F103C8T6型芯片。
[0044]于其它实施例中,触摸芯片和主控MCU也可以是采用用其它型号的芯片。
[0045]于其它实施例中,
[0046]如图2-图4所示,本发明加密方法的具体过程说明如下:
[0047]数据(即采集数据包)的加密解密计算采用ECB作为块操作模式。
[0048]按照如下步骤对数据进行加密:
[0049]第一步:用Ld (I字节)表示明文数据的长度,在明文数据前加上Ld产生新的数据块。
[0050]第二步:将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η。
[0051]第三步:如果最后(或唯一)的数据块的长度是分组长度,转到第四步;如果不足分组长度,则在其后填充16进制数‘80’,如果达到分组长度,则转到第四步;否则在其后填充16进制数‘00’直到长度达到分组长度。
[0052]第四步:按照图2所述的过程使用加密密钥对每一个数据块进行加密。
[0053]第五步:计算结束后,所有加密后的数据块依照原顺序连接在一起。
[0054]按照如下步骤对数据进行解密:
[0055]第一步:将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η。
[0056]第二步:按照图3所述的算法使用解密密钥对每一个数据块进行解密。[0057]第三步:计算结束后,所有解密后的数据块依照原顺序连接在一起。
[0058]第四步:第一个字节为Ld,从第二字节起,取前Ld字节数据作为明文输出。
[0059]关于报文认证码MAC:
[0060]报文认证码的计算采用分组长度为128位分组计算,采用CBC分组操作模式。
[0061 ] 按照如下步骤计算报文认证码MAC
[0062]第一步:终端GETCHALLENGE命令从SAM获得一个4字节(或8字节)随机数,其后补12字节(或8字节)‘00’作为初始数据。
[0063]第二步:将所有输入数据按指定顺序连接成一个数据块。
[0064]第三步:将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η。[0065]第四步:在最后的数据块后填充16进制数‘80’,如果此时达到分组长度,则转到第五步;否则在其后填充16进制数‘00’直到长度达到分组长度。
[0066]第五步:按图4所示的过程对这些数据块使用指定密钥进行加密来产生MAC。
[0067]第六步:将16字节运算结果按4字节分块做异或运算,作为报文认证码MAC。
[0068]本发明具有以下优点:
[0069]通过采用不公开的国密SMl算法,并设计相应的数据加密传输、随机数计算、密钥分散更新以及系统操作员安全认证等安全控制技术,保障数据应用的安全,特别是在用于金融产品的支付终端。I2C总线协议和国密SMl算法的结合应用旨在能够在便捷的总线协议操作中全面保证数据的安全性。合理的设计模式可在实际运用中保证数据传输的安全性。在I2C总线传输协议过程中有相关保护密钥作保护,并以密文的形式通信传输数据,还可以由硬件实现的SMl算法加密,即使被一些非法设备监听到,因为没有解密密钥和相关算法,基本无法得到数据明文。I2C总线协议与国密SMl算法相铺相成,构成了用户的安全信息。同时在生成密文中都有随机数的参与,因为每次生成的随机数完全不同,且没有规律可循,即使通过破译手段拿到密钥明文,也无法重现上一次认证或交易的随机数,有效抵抗了数据重放攻击,其中密钥的注入均采用密文加MAC(MessageAuthenticationCode,报文鉴别码)的方式,能在最大限度上避免应用密钥的泄漏,而报文认证码的计算采用分组长度为128位分组计算。
[0070]上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
【权利要求】
1.一种采用国密SMl加密芯片的触摸键盘,其特征在于包括触摸芯片、主控MCU及用于连接主控MCU与触摸芯片的数据导线,所述的数据导线为两线式串行总线的I2C总线,所述的I2C总线还连接有国密SMl加密芯片。
2.根据权利要求1所述的一种采用国密SMl加密芯片的触摸键盘,其特征在于所述的触摸芯片还连接有按键感应盘。
3.根据权利要求2所述的一种采用国密SMl加密芯片的触摸键盘,其特征在于所述触摸芯片采集到的采集数据包经加密芯片的加密生成密文数据包,传输至主控MCU,主控MCU接收到的密文数据包经由加密芯片的解密生成明文数据包。
4.根据权利要求3所述的一种采用国密SMl加密芯片的触摸键盘,其特征在于所述的触摸芯片为TS20型芯片。
5.根据权利要求3所述的一种采用国密SMl加密芯片的触摸键盘,其特征在于所述的主控MCU为STM32F103C8T6型芯片。
6.一种权利要求1所述的触摸键盘的加密方法,其特征在于其中触摸芯片采集的采集数据包采用ECB进行块操作模式,按照以下步骤对采集数据包进行加密: 1)用Ld表示明文数据的长度,在明文数据前加上Ld产生新的数据块; 2)将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η; 3)如果最后或唯一的数据块的长度是分组长度,转到第四步;如果不足分组长度,则在其后填充16进制数‘80’,如果达到分组长度,则转到步骤4);否则在其后填充16进制数‘00’直到长度达到分组长度;· 4)采用国密SMl加密芯片的加密密钥对每一个数据块进行加密; 5)计算结束后,所有加密后的数据块依照原顺序连接在一起,形成密文数据包; 其中的明文数据是指触摸芯片采集到的采集数据包。
7.根据权利要求6所述的加密方法,其特征在于所述主控MCU接收到密文数据包,对其进行以下步骤的解密: 1)将该密文数据包分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η ; 2)采用国密SMl加密芯片的解密密钥对每一个数据块进行解密; 3)计算结束后,所有解密后的数据块依照原顺序连接在一起; 4)第一个字节为Ld,从第二字节起,取前Ld字节数据作为明文数据包输出。
8.根据权利要求7所述的加密方法,其特征在于触摸芯片的采集数据包经过加密成为密文数据包,传输至主控MCU,再解密为明文数据包,在密文数据包中,包含有报文认证码MAC ;所述的报文认证码MAC按以下步骤计算: 1)终端GETCHALLENGE命令从SAM获得一个4字节或8字节随机数,其后补12字节或8字节‘00’作为初始数据; 2)将所有输入数据按指定顺序连接成一个数据块; 3)将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块η; 4)在最后的数据块后填充16进制数‘80’,如果此时达到分组长度,则转到第五步;否则在其后填充16进制数‘00’直到长度达到分组长度; 5)采用国密SMl加密芯片的认证密钥逐一对这些数据块进行加密产生MAC;6)将16字节运算结果按4字节分块做异或运算,生成报文认证码MAC ; 其中的终端为主控MCU,SAM为存储有密钥的存储卡,GETCHALLENGE命令为取随机数命令,MAC为校验码。
9.根据权利要求8所述的加密方法,其特征在于计算报文认证码MAC的步骤5)中,块I的数据与初始数据经认证密钥生成认证密文1,认证密文I与块2的数据再经认证密钥生成认证密文2,以此类推,直至认证密文η-1与块η的数据再经认证密钥生成认证密文η ;所述的认证密文η为MAC。`
【文档编号】H04L9/32GK103853340SQ201410122532
【公开日】2014年6月11日 申请日期:2014年3月28日 优先权日:2014年3月28日
【发明者】张亚军, 欧阳俊, 丘祖国 申请人:广东华大集成技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1