CN103853340A - 一种采用国密sm1加密芯片的触摸键盘及其加密方法 - Google Patents
一种采用国密sm1加密芯片的触摸键盘及其加密方法 Download PDFInfo
- Publication number
- CN103853340A CN103853340A CN201410122532.2A CN201410122532A CN103853340A CN 103853340 A CN103853340 A CN 103853340A CN 201410122532 A CN201410122532 A CN 201410122532A CN 103853340 A CN103853340 A CN 103853340A
- Authority
- CN
- China
- Prior art keywords
- data
- chip
- encryption
- piece
- block
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种采用国密SM1加密芯片的触摸键盘及其加密方法。一种采用国密SM1加密芯片的触摸键盘,包括触摸芯片、主控MCU及用于连接主控MCU与触摸芯片的数据导线,所述的数据导线为两线式串行总线的I2C总线,所述的I2C总线还连接有国密SM1加密芯片。本发明采用硬核形式的国密SM1加密芯片,对触摸芯片采集到的采集数据包进行加密,传输至主控MCU之后再进行解密,保证了触摸传感信息在传输过程中不会被窃取,保障数据应用的安全,特别适合用于金融产品的支付终端。
Description
技术领域
本发明涉及一种加密传输的键盘结构,更具体地说是指一种采用国密SM1加密芯片的触摸键盘及其加密方法。
背景技术
在当今的市场上,有不少可供选择的算法来应对数据安全危机,面对数据加密安全的重要性,国家相关管理部门加强了对政府和企业数据安全系统的管理,要求主要部门的安全系统加密算法使用国密算法——国家商用密码(SM)。国家商用密码算法由国家密码管理委员会制定并管理,算法属于国家机密,资料采用不公开形式。在此,采用I2C总线协议和国密SM1算法的结合应用在触摸键盘中,特别给互联网终端支付等金融支付产品带来很大的优异性和安全性。目前,器件之间的传输方式有各种各样的总线方式,其中的I2C总线是一种仅需两根信号线且为双向、串行、多主控接口标准的协议总线,具有总线仲裁机制,非常适合在器件之间进行近距离、非常常性的数据通信,并且可以依靠协议体系中含有目的设备地址的传输数据来实现设备组网。在触摸按键应用中,充分地体现出I2C总线协议的应用性特点。
但目前在触摸键盘中,尚未出现采用国密SM1算法的加密产品。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种采用国密SM1加密芯片的触摸键盘及其加密方法。
为实现上述目的,本发明采用以下技术方案:
一种采用国密SM1加密芯片的触摸键盘,包括触摸芯片、主控MCU及用于连接主控MCU与触摸芯片的数据导线,所述的数据导线为两线式串行总线的I2C总线,所述的I2C总线还连接有国密SM1加密芯片。
其进一步技术方案为:所述的触摸芯片还连接有按键感应盘。
其进一步技术方案为:所述触摸芯片采集到的采集数据包经加密芯片的加密生成密文数据包,传输至主控MCU,主控MCU接收到的密文数据包经由加密芯片的解密生成明文数据包。
其进一步技术方案为:所述的触摸芯片为TS20型芯片。
其进一步技术方案为:所述的主控MCU为STM32F103C8T6型芯片。
触摸键盘的解密方法,其中触摸芯片采集的采集数据包采用ECB进行块操作模式,按照以下步骤对采集数据包进行加密:
1)用Ld(1字节)表示明文数据的长度,在明文数据前加上Ld产生新的数据块;
2)将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n;
3)如果最后(或唯一)的数据块的长度是分组长度,转到第四步;如果不足分组长度,则在其后填充16进制数‘80’,如果达到分组长度,则转到步骤4);否则在其后填充16进制数‘00’直到长度达到分组长度;
4)采用国密SM1加密芯片的加密密钥对每一个数据块进行加密;
5)计算结束后,所有加密后的数据块依照原顺序连接在一起,形成密文数据包;
其中的明文数据是指触摸芯片采集到的采集数据包。
其进一步技术方案为:所述主控MCU接收到密文数据包,对其进行以下步骤的解密:
1)将该密文数据包分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n;
2)采用国密SM1加密芯片的解密密钥对每一个数据块进行解密;
3)计算结束后,所有解密后的数据块依照原顺序连接在一起;
4)第一个字节为Ld,从第二字节起,取前Ld字节数据作为明文数据包输出。
其进一步技术方案为:触摸芯片的采集数据包经过加密成为密文数据包,传输至主控MCU,再解密为明文数据包,在密文数据包中,包含有报文认证码MAC;所述的报文认证码MAC按以下步骤计算:
1)终端GETCHALLENGE命令从SAM获得一个4字节(或8字节)随机数,其后补12字节(或8字节)‘00’作为初始数据;
2)将所有输入数据按指定顺序连接成一个数据块;
3)将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n;
4)在最后的数据块后填充16进制数‘80’,如果此时达到分组长度,则转到第五步;否则在其后填充16进制数‘00’直到长度达到分组长度;
5)采用国密SM1加密芯片的认证密钥逐一对这些数据块进行加密产生MAC;
6)将16字节运算结果按4字节分块做异或运算,生成报文认证码MAC;
其中的终端为主控MCU,SAM为存储有密钥的存储卡,GETCHALLENGE命令为取随机数命令,MAC为校验码。
其进一步技术方案为:计算报文认证码MAC的步骤5)中,块1的数据与初始数据经认证密钥生成认证密文1,认证密文1与块2的数据再经认证密钥生成认证密文2,以此类推,直至认证密文n-1与块n的数据再经认证密钥生成认证密文n;所述的认证密文n为MAC。
本发明与现有技术相比的有益效果是:本发明采用硬核形式的国密SM1加密芯片,对触摸芯片采集到的采集数据包进行加密,传输至主控MCU之后再进行解密,保证了触摸传感信息在传输过程中不会被窃取,保障数据应用的安全,特别适合用于金融产品的支付终端。在I2C总线传输协议过程中有相关保护密钥作保护,并以密文的形式通信传输数据,还可以由硬件实现的SM1算法加密,即使被一些非法设备监听到,因为没有解密密钥和相关算法,基本无法得到数据明文。同时在生成密文中都有随机数的参与,因为每次生成的随机数完全不同,且没有规律可循,即使通过破译手段拿到密钥明文,也无法重现上一次认证或交易的随机数,有效抵抗了数据重放攻击,其中密钥的注入均采用密文加MAC(MessageAuthenticationCode,报文鉴别码)的方式,能在最大限度上避免应用密钥的泄漏,而报文认证码的计算采用分组长度为128位分组计算。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为本发明一种采用国密SM1加密芯片的触摸键盘的方框结构示意图;
图2为本发明加密方法具体实施例的加密过程示意图;
图3为本发明加密方法具体实施例的解密过程示意图;
图4为本发明加密方法具体实施例的生成报文认证码MAC的过程示意图。
附图标记
10 触摸芯片 20 主控MCU
30 加密芯片 40 按键感应盘
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1-图2所示的本发明一种采用国密SM1加密芯片的触摸键盘,包括触摸芯片10、主控MCU20及用于连接主控MCU20与触摸芯片10的数据导线,数据导线为两线式串行总线的I2C总线,I2C总线还连接有国密SM1加密芯片30。触摸芯片10还连接有按键感应盘40。其中,触摸芯片10采集到的采集数据包经加密芯片30的加密生成密文数据包,传输至主控MCU20,主控MCU接收到的密文数据包经由加密芯片的解密生成明文数据包。
本实施例中,触摸芯片为TS20型芯片;主控MCU为STM32F103C8T6型芯片。
于其它实施例中,触摸芯片和主控MCU也可以是采用用其它型号的芯片。
于其它实施例中,
如图2-图4所示,本发明加密方法的具体过程说明如下:
数据(即采集数据包)的加密解密计算采用ECB作为块操作模式。
按照如下步骤对数据进行加密:
第一步:用Ld(1字节)表示明文数据的长度,在明文数据前加上Ld产生新的数据块。
第二步:将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n。
第三步:如果最后(或唯一)的数据块的长度是分组长度,转到第四步;如果不足分组长度,则在其后填充16进制数‘80’,如果达到分组长度,则转到第四步;否则在其后填充16进制数‘00’直到长度达到分组长度。
第四步:按照图2所述的过程使用加密密钥对每一个数据块进行加密。
第五步:计算结束后,所有加密后的数据块依照原顺序连接在一起。
按照如下步骤对数据进行解密:
第一步:将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n。
第二步:按照图3所述的算法使用解密密钥对每一个数据块进行解密。
第三步:计算结束后,所有解密后的数据块依照原顺序连接在一起。
第四步:第一个字节为Ld,从第二字节起,取前Ld字节数据作为明文输出。
关于报文认证码MAC:
报文认证码的计算采用分组长度为128位分组计算,采用CBC分组操作模式。
按照如下步骤计算报文认证码MAC
第一步:终端GETCHALLENGE命令从SAM获得一个4字节(或8字节)随机数,其后补12字节(或8字节)‘00’作为初始数据。
第二步:将所有输入数据按指定顺序连接成一个数据块。
第三步:将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n。
第四步:在最后的数据块后填充16进制数‘80’,如果此时达到分组长度,则转到第五步;否则在其后填充16进制数‘00’直到长度达到分组长度。
第五步:按图4所示的过程对这些数据块使用指定密钥进行加密来产生MAC。
第六步:将16字节运算结果按4字节分块做异或运算,作为报文认证码MAC。
本发明具有以下优点:
通过采用不公开的国密SM1算法,并设计相应的数据加密传输、随机数计算、密钥分散更新以及系统操作员安全认证等安全控制技术,保障数据应用的安全,特别是在用于金融产品的支付终端。I2C总线协议和国密SM1算法的结合应用旨在能够在便捷的总线协议操作中全面保证数据的安全性。合理的设计模式可在实际运用中保证数据传输的安全性。在I2C总线传输协议过程中有相关保护密钥作保护,并以密文的形式通信传输数据,还可以由硬件实现的SM1算法加密,即使被一些非法设备监听到,因为没有解密密钥和相关算法,基本无法得到数据明文。I2C总线协议与国密SM1算法相铺相成,构成了用户的安全信息。同时在生成密文中都有随机数的参与,因为每次生成的随机数完全不同,且没有规律可循,即使通过破译手段拿到密钥明文,也无法重现上一次认证或交易的随机数,有效抵抗了数据重放攻击,其中密钥的注入均采用密文加MAC(MessageAuthenticationCode,报文鉴别码)的方式,能在最大限度上避免应用密钥的泄漏,而报文认证码的计算采用分组长度为128位分组计算。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (9)
1.一种采用国密SM1加密芯片的触摸键盘,其特征在于包括触摸芯片、主控MCU及用于连接主控MCU与触摸芯片的数据导线,所述的数据导线为两线式串行总线的I2C总线,所述的I2C总线还连接有国密SM1加密芯片。
2.根据权利要求1所述的一种采用国密SM1加密芯片的触摸键盘,其特征在于所述的触摸芯片还连接有按键感应盘。
3.根据权利要求2所述的一种采用国密SM1加密芯片的触摸键盘,其特征在于所述触摸芯片采集到的采集数据包经加密芯片的加密生成密文数据包,传输至主控MCU,主控MCU接收到的密文数据包经由加密芯片的解密生成明文数据包。
4.根据权利要求3所述的一种采用国密SM1加密芯片的触摸键盘,其特征在于所述的触摸芯片为TS20型芯片。
5.根据权利要求3所述的一种采用国密SM1加密芯片的触摸键盘,其特征在于所述的主控MCU为STM32F103C8T6型芯片。
6.一种权利要求1所述的触摸键盘的加密方法,其特征在于其中触摸芯片采集的采集数据包采用ECB进行块操作模式,按照以下步骤对采集数据包进行加密:
1)用Ld表示明文数据的长度,在明文数据前加上Ld产生新的数据块;
2)将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n;
3)如果最后或唯一的数据块的长度是分组长度,转到第四步;如果不足分组长度,则在其后填充16进制数‘80’,如果达到分组长度,则转到步骤4);否则在其后填充16进制数‘00’直到长度达到分组长度;
4)采用国密SM1加密芯片的加密密钥对每一个数据块进行加密;
5)计算结束后,所有加密后的数据块依照原顺序连接在一起,形成密文数据包;
其中的明文数据是指触摸芯片采集到的采集数据包。
7.根据权利要求6所述的加密方法,其特征在于所述主控MCU接收到密文数据包,对其进行以下步骤的解密:
1)将该密文数据包分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n;
2)采用国密SM1加密芯片的解密密钥对每一个数据块进行解密;
3)计算结束后,所有解密后的数据块依照原顺序连接在一起;
4)第一个字节为Ld,从第二字节起,取前Ld字节数据作为明文数据包输出。
8.根据权利要求7所述的加密方法,其特征在于触摸芯片的采集数据包经过加密成为密文数据包,传输至主控MCU,再解密为明文数据包,在密文数据包中,包含有报文认证码MAC;所述的报文认证码MAC按以下步骤计算:
1)终端GETCHALLENGE命令从SAM获得一个4字节或8字节随机数,其后补12字节或8字节‘00’作为初始数据;
2)将所有输入数据按指定顺序连接成一个数据块;
3)将该数据块分成以分组长度128位为单位的数据块,表示为块1、块2、…、块n;
4)在最后的数据块后填充16进制数‘80’,如果此时达到分组长度,则转到第五步;否则在其后填充16进制数‘00’直到长度达到分组长度;
5)采用国密SM1加密芯片的认证密钥逐一对这些数据块进行加密产生MAC;
6)将16字节运算结果按4字节分块做异或运算,生成报文认证码MAC;
其中的终端为主控MCU,SAM为存储有密钥的存储卡,GETCHALLENGE命令为取随机数命令,MAC为校验码。
9.根据权利要求8所述的加密方法,其特征在于计算报文认证码MAC的步骤5)中,块1的数据与初始数据经认证密钥生成认证密文1,认证密文1与块2的数据再经认证密钥生成认证密文2,以此类推,直至认证密文n-1与块n的数据再经认证密钥生成认证密文n;所述的认证密文n为MAC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410122532.2A CN103853340A (zh) | 2014-03-28 | 2014-03-28 | 一种采用国密sm1加密芯片的触摸键盘及其加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410122532.2A CN103853340A (zh) | 2014-03-28 | 2014-03-28 | 一种采用国密sm1加密芯片的触摸键盘及其加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103853340A true CN103853340A (zh) | 2014-06-11 |
Family
ID=50861100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410122532.2A Pending CN103853340A (zh) | 2014-03-28 | 2014-03-28 | 一种采用国密sm1加密芯片的触摸键盘及其加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103853340A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209916A (zh) * | 2016-08-31 | 2016-12-07 | 南京普瑶电子科技有限公司 | 工业自动化生产业务数据传输加解密方法及系统 |
CN106790210A (zh) * | 2017-01-05 | 2017-05-31 | 深圳市证通电子股份有限公司 | 数据安全交互方法、终端侧安全装置和服务端侧安全装置 |
CN111355748A (zh) * | 2020-04-13 | 2020-06-30 | 猫岐智能科技(上海)有限公司 | 一种数据提交方法 |
CN111600948A (zh) * | 2020-05-14 | 2020-08-28 | 北京安御道合科技有限公司 | 基于标识密码的云平台应用和数据安全处理方法、系统、存储介质、程序 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098223A (zh) * | 2007-07-05 | 2008-01-02 | 李江 | 一种网络用户密码加密的方法及其装置 |
CN201569701U (zh) * | 2009-12-29 | 2010-09-01 | 中国电力科学研究院 | 一种单相远程费控智能电表 |
CN201639722U (zh) * | 2009-11-13 | 2010-11-17 | 蒋思远 | 一种摄像头测试板 |
CN102377566A (zh) * | 2010-08-11 | 2012-03-14 | 北京融通高科科技发展有限公司 | 一种电表数据的安全处理装置及系统 |
CN202711262U (zh) * | 2011-12-13 | 2013-01-30 | 杭州晟元芯片技术有限公司 | 一种电子签名和高速流加密二合一的芯片 |
CN103576946A (zh) * | 2012-07-19 | 2014-02-12 | 北京汇冠新技术股份有限公司 | 一种显示装置及包含该显示装置的认证系统和认证方法 |
-
2014
- 2014-03-28 CN CN201410122532.2A patent/CN103853340A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098223A (zh) * | 2007-07-05 | 2008-01-02 | 李江 | 一种网络用户密码加密的方法及其装置 |
CN201639722U (zh) * | 2009-11-13 | 2010-11-17 | 蒋思远 | 一种摄像头测试板 |
CN201569701U (zh) * | 2009-12-29 | 2010-09-01 | 中国电力科学研究院 | 一种单相远程费控智能电表 |
CN102377566A (zh) * | 2010-08-11 | 2012-03-14 | 北京融通高科科技发展有限公司 | 一种电表数据的安全处理装置及系统 |
CN202711262U (zh) * | 2011-12-13 | 2013-01-30 | 杭州晟元芯片技术有限公司 | 一种电子签名和高速流加密二合一的芯片 |
CN103576946A (zh) * | 2012-07-19 | 2014-02-12 | 北京汇冠新技术股份有限公司 | 一种显示装置及包含该显示装置的认证系统和认证方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209916A (zh) * | 2016-08-31 | 2016-12-07 | 南京普瑶电子科技有限公司 | 工业自动化生产业务数据传输加解密方法及系统 |
CN106790210A (zh) * | 2017-01-05 | 2017-05-31 | 深圳市证通电子股份有限公司 | 数据安全交互方法、终端侧安全装置和服务端侧安全装置 |
CN111355748A (zh) * | 2020-04-13 | 2020-06-30 | 猫岐智能科技(上海)有限公司 | 一种数据提交方法 |
CN111600948A (zh) * | 2020-05-14 | 2020-08-28 | 北京安御道合科技有限公司 | 基于标识密码的云平台应用和数据安全处理方法、系统、存储介质、程序 |
CN111600948B (zh) * | 2020-05-14 | 2022-11-18 | 北京安御道合科技有限公司 | 基于标识密码的云平台应用和数据安全处理方法、系统、存储介质、程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102082790B (zh) | 一种数字签名的加/解密方法及装置 | |
CN109818741B (zh) | 一种基于椭圆曲线的解密计算方法及装置 | |
CN103401678A (zh) | 一种保障物联网数据传输安全的方法 | |
CN106067874B (zh) | 一种将数据记录至服务器端的方法、终端和服务器 | |
KR101608815B1 (ko) | 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법 | |
CN106603496A (zh) | 一种数据传输的保护方法、智能卡、服务器及通信系统 | |
CN107465665A (zh) | 一种基于指纹识别技术的文件加解密方法 | |
CN106878322B (zh) | 一种基于属性的定长密文与密钥的加密、解密方法 | |
CN110505053B (zh) | 一种量子密钥充注方法、装置及系统 | |
CN102594842A (zh) | 一种基于设备指纹的网管消息认证与加密方案 | |
CN104967693A (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN109005184A (zh) | 文件加密方法及装置、存储介质、终端 | |
CN106506518A (zh) | 大数据安全传输的加解密模块 | |
CN104579679A (zh) | 用于农配网通信设备的无线公网数据转发方法 | |
CN112653719A (zh) | 汽车信息安全存储方法、装置、电子设备和存储介质 | |
CN108199847A (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN101931623B (zh) | 一种适用于受控制端能力有限的远程控制的安全通信方法 | |
CN113726725A (zh) | 一种数据加解密方法、装置、电子设备及存储介质 | |
CN115022102B (zh) | 输电线监测数据传输方法、装置、计算机设备和存储介质 | |
CN107707562A (zh) | 一种非对称动态令牌加、解密算法的方法、装置 | |
WO2015120769A1 (zh) | 密码管理方法及系统 | |
CN103853340A (zh) | 一种采用国密sm1加密芯片的触摸键盘及其加密方法 | |
CN112597523A (zh) | 文件处理方法、文件转换加密机、终端、服务器及介质 | |
CN101697511B (zh) | 一种移动流媒体条件接收方法与系统 | |
CN210955077U (zh) | 一种基于国密算法和puf的总线加解密装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Longgang District of Shenzhen City, Guangdong province 518000 Dragon Street Longgang Tianan cyber Park 4 Building A block 16 layer Applicant after: GUANGDONG HUADA INTEGRATION TECHNOLOGY CO., LTD. Address before: Longgang District of Shenzhen City, Guangdong province 518000 Dragon Street Longgang Tianan cyber Park 4 Building A block 16 layer Applicant before: Guangdong Huada Integration Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140611 |
|
RJ01 | Rejection of invention patent application after publication |