CN110048856A - 数据传输方法、装置和pos机系统 - Google Patents
数据传输方法、装置和pos机系统 Download PDFInfo
- Publication number
- CN110048856A CN110048856A CN201910337482.2A CN201910337482A CN110048856A CN 110048856 A CN110048856 A CN 110048856A CN 201910337482 A CN201910337482 A CN 201910337482A CN 110048856 A CN110048856 A CN 110048856A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- data packet
- packet
- session key
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/12—Cash registers electronically operated
- G07G1/14—Systems including one or more distant stations co-operating with a central processing unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种数据传输方法、装置和POS机系统。所述数据传输方法,应用于数据发送端,包括:将待传输数据进行分包,得到至少两个数据包;对于每个数据包,采用会话密钥加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同。根据本发明的实施例,可以提高加密数据的复杂性及安全等级,增加了数据的安全性。
Description
技术领域
本发明涉及数据加密技术领域,尤其涉及一种数据传输方法、装置和POS机系统。
背景技术
目前,随着网络日益成为金融交易业快速发展的必要手段和工具,POS(point ofsale,销售终端)机系统采用Internet(因特网)或者GPRS(General Packet RadioService,通用分组无线服务)数据传输方式,方便快捷,如何确保网络基础设施层上承载的各种金融数据的安全,是当今全球金融行业技术的关注点,系统安全问题是POS机系统应用的关键。
进行身份认证、身份鉴别、数字签名防止抵赖和篡改,以及交易数据的加密解密等是保障POS机系统安全的重要手段。如何提高交易数据传输安全,是需要解决的一个技术问题。
发明内容
本发明提供数据传输方法、装置和POS机系统,以解决相关技术中的不足。
根据本发明实施例的第一方面,提供一种数据传输方法,应用于数据发送端,包括:
将待传输数据进行分包,得到至少两个数据包;
对于每个数据包,采用会话密钥加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同。
在一个实施例中,所述会话密钥包括数据密钥和MAC密钥;
所述对于每个数据包,采用会话密钥加密后发送给数据接收端,包括:
采用所述数据密钥对所述数据包进行加密,得到加密数据包;
获取所述数据包的消息摘要;
采用所述MAC密钥对所述消息摘要进行加密计算,得到消息认证码;
将所述加密数据包与所述消息认证码打包为指定格式的数据包,并发送给所述数据接收端;其中,待传输数据中的每个数据包的数据密钥不相同,且每个数据包的MAC密钥不相同。
在一个实施例中,所述数据发送端为POS终端或读卡器。
在一个实施例中,所述数据发送端为POS终端,所述对于每个数据包,采用会话密钥加密后发送给数据接收端之前,还包括:
根据前一个数据包的会话密钥与消息认证码派生出当前数据包的会话密钥;其中,当前数据包为非首个传输的数据包。
根据本发明实施例的第二方面,提供一种数据传输方法,应用于POS机系统,所述POS机系统包括数据发送端与数据接收端,所述数据传输方法,包括:
所述数据发送端将待传输数据进行分包,得到至少两个数据包;
对于每个数据包,所述数据发送端采用本端的会话密钥对数据包加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同;
所述数据接收端对接收的数据包采用对应的所述会话密码进行解密。
在一个实施例中,所述会话密钥包括数据密钥和MAC密钥;
所述对于每个数据包,所述数据发送端采用本端的会话密钥对数据包加密后发送给数据接收端,包括:
所述数据发送端采用所述数据密钥对所述数据包进行加密,得到加密数据包;
所述数据发送端获取所述数据包的消息摘要;
所述数据发送端采用所述MAC密钥对所述消息摘要进行加密计算,得到消息认证码;
所述数据发送端将所述加密数据包与所述消息认证码打包为指定格式的数据包,并发送给所述数据接收端;其中,待传输数据中的每个数据包的数据密钥不相同,且每个数据包的MAC密钥不相同。
在一个实施例中,所述数据发送端为读卡器,所述数据接收端为POS终端;或者
所述数据发送端为POS终端,所述数据接收端为读卡器。
在一个实施例中,所述对于每个数据包,所述数据发送端采用本端的会话密钥对数据包加密后发送给数据接收端之前,还包括:
所述POS终端根据前一个数据包的会话密钥与消息认证码派生出当前数据包的会话密钥;其中,当前数据包为非首个传输的数据包;
所述POS终端将所述当前数据包的会话密钥发送给所述读卡器,并存储在本地。
在一个实施例中,所述数据发送端采用所述数据密钥对所述数据包进行加密,得到加密数据包之前,还包括:
所述POS终端获取所述会话密码;
所述POS终端根据所述会话密码派生出所述数据密钥和所述MAC密钥;
所述POS终端将所述数据密钥和所述MAC密钥发送给所述读卡器,并存储在本地。
根据本发明实施例的第三方面,提供一种数据传输装置,应用于数据发送端,包括:
分包模块,用于将待传输数据进行分包,得到至少两个数据包;
传输模块,用于对每个数据包采用会话密钥加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同。
根据本发明实施例的第四方面,提供一种POS机系统,包括数据发送端与数据接收端;
所述数据发送端,用于将待传输数据进行分包,得到至少两个数据包;
所述数据发送端,用于对每个数据包采用本端的会话密钥对数据包加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同;
所述数据接收端,用于对接收的数据包采用对应的所述会话密码进行解密。
根据上述实施例可知,通过将待传输数据进行分包,得到至少两个数据包,然后,对于每个数据包,采用会话密钥加密后发送给数据接收端,其中,对每个数据包进行加密采用的会话密钥不相同。这样,可以提高加密数据的复杂性及安全等级,增加了数据的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据本发明实施例示出的一种数据传输方法的流程图。
图2是根据本发明实施例示出的另一种数据传输方法的流程图。
图3是根据本发明实施例示出的一种派生会话密钥的方法示意图。
图4是根据本发明实施例示出的另一种数据传输方法的流程图。
图5是根据本发明实施例示出的一种派生加密密钥的方法示意图。
图6是根据本发明实施例示出的另一种数据传输方法的流程图。
图7是根据本发明实施例示出的另一种数据传输方法的流程图。
图8是根据本发明实施例示出的另一种数据传输方法的流程图。
图9是根据本发明实施例示出的一种加解密的示意图。
图10是根据本发明实施例示出的一种数据传输装置的结构示意图。
图11是根据本发明实施例示出的一种POS机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据本发明实施例示出的一种数据传输方法,该数据传输方法可以应用于数据发送端。数据发送端可以是POS机系统的读卡器或POS终端,也可以是加油机终端等。如图1所示,该数据传输方法可以包括以下步骤101~102:
在步骤101中,将待传输数据进行分包,得到至少两个数据包。
在步骤102中,对于每个数据包,采用会话密钥加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同。
在本实施例中,当数据发送端需要将待传输数据传输至数据接收端时,可以将待传输数据进行分包,得到至少两个数据包,然后,对每个数据包分别采用各自的会话密钥加密后发送给数据接收端,其中,对每个数据包进行加密采用的会话密钥不相同。
例如,数据发送端可以将待传输数据ABCDEFSSSSSDDDF进行分包,得到3个数据包:数据包1、数据包2与数据包3。其中,数据包1的数据为ABC,数据包2的数据为DEF,数据包3的数据为SSSSSDDDF。数据发送端可以采用会话密钥key1对数据包1进行加密后发送给数据接收端,然后,采用会话密钥key2对数据包2进行加密后发送给数据接收端,然后,采用会话密钥key3对数据包3进行加密后发送给数据接收端。这样,对于提高了加密待传输数据复杂性及安全等级,增加了数据的安全性。
而且,在数据发送端采用会话密钥key1对数据包1进行加密后发送给数据接收端后,可以利用MERO(Multiple Exponent Reversal Operation,多重指数反转运算)演变算法与会话密钥key1派生出会话密钥key2,在数据发送端采用会话密钥key2对数据包2进行加密后发送给数据接收端后,可以利用MERO演变算法与会话密钥key2派生出会话密钥key3。这样,提高了会话密钥的复杂度,可以使数据传输更加安全。
下面对MERO演变算法进行简单介绍。K和D通过MERO派生的值的推导过程如下:
(1)将64位的值D以模2加到64位的数据元素X上,数据元素X具有十六进制值A5C7B 2 8 2 8 4 7 6A8 2 9;
(2)将64位的值K以模2加到64位的数据元素Y上,数据元素Y具有十六进制值B 5E3 7F C 5D 4F 7A3 9 3;
(3)K和Y之和的值的位的编号从左至右为1,2,3,……,64,位于8、16、64编号位置的位,调整编号位置8、16、64中的比特,使得比特组(1,...,8),(9,...,16),(57,...,64)每个都有奇数奇偶校验;
(4)D和X之和的值被读入DEA(数据加密算法,Data Encryption Algorithm,DEA)的DATA(数据)寄存器。从K获得的调整值被读入DEA的密钥寄存器,该DEA被设置为加密器。
(5)在步骤(4)中从DEA输出的结果被以模2加到从步骤(1)中的D获得的值上,这就是MERO演变算法的计算结果。
本实施例中,通过将待传输数据进行分包,得到至少两个数据包,然后,对于每个数据包,采用会话密钥加密后发送给数据接收端,其中,对每个数据包进行加密采用的会话密钥不相同。这样,可以提高加密数据的复杂性及安全等级,增加了数据的安全性。
本发明的实施例还提出了一种数据传输方法。在本实施例中,会话密钥包括数据密钥和MAC(Message Authentication Code,消息认证码)密钥。本实施例中,在图1所示实施例的基础上,如图2所示,步骤102可以包括如下步骤201~204:
在步骤201中,采用所述数据密钥对所述数据包进行加密,得到加密数据包。
在步骤202中,获取所述数据包的消息摘要。
在步骤203中,采用所述MAC密钥对所述消息摘要进行加密计算,得到消息认证码。
在步骤204中,将所述加密数据包与所述消息认证码打包为指定格式的数据包,并发送给所述数据接收端;其中,待传输数据中的每个数据包的数据密钥不相同,且每个数据包的MAC密钥不相同。
在本实施例中,对于每一个数据包,可以采用数据密钥对数据包进行加密,得到加密数据包,并可以采用消息摘要算法计算数据包的消息摘要,然后,采用MAC密钥对所述消息摘要进行加密计算,得到消息认证码,然后,将所述加密数据包与所述消息认证码打包为指定格式的数据包,并发送给所述数据接收端。其中,待传输数据中的每个数据包的数据密钥不相同,且每个数据包的MAC密钥不相同。在本实施例中,可以将所述加密数据包与所述消息认证码打包为E3格式的数据包,并发送给所述数据接收端。这样,不但可以对传输的数据进行加密传输,还可以进行消息认证,进一步提高数据传输的安全性。
在本实施例中,数据发送端可以为POS终端,数据接收端为读卡器。POS终端可以根据会话密钥与常向量CV1利用MERO函数得到POS终端的数据密钥,计算公式为如下式(1)
HMEDK=MERO(HMSK,CV1) (1)
其中,HMEDK为POS终端的数据密钥,HMSK为POS终端的会话密钥。常向量CV1来源于POS终端的厂商的固化基础密钥,它的作用主要是在当加解密失败的时候,方便POS终端的厂商对失败数据的解密,进而分析出数据失败的主要原因,方便产品后续补丁的改进升级。例如,常向量CV1可以是78787878787878787878787878787878,16进制,16个字节,但不限于此。
在本实施例中,POS终端可以根据会话密钥与常向量CV3利用MERO函数得到POS终端的MAC密钥,计算公式为如下式(2)
HMEMK=MERO(HMSK,CV3) (2)
其中,HMEMK为POS终端的MAC密钥。常向量CV3来源于POS终端的厂商的固化基础密钥,它的作用主要是在当加解密失败的时候,方便POS终端的厂商对失败数据的解密,进而分析出数据失败的主要原因,方便产品后续补丁的改进升级。例如,常向量CV3可以是56565656565656565656565656565656,16进制,16个字节,但不限于此。
在本实施例中,POS终端可以将数据密钥和MAC密钥发送给读卡器,以供读卡器解密接收的数据。
在本实施例中,如图3所示,POS终端可以根据前一个数据包的会话密钥与消息认证码派生出当前数据包的会话密钥;其中,当前数据包为非首个传输的数据包。例如,当POS终端根据前一个数据包的HMSK对前一个数据包进行加密,得到加密数据包与MAC后,POS终端可以根据前一个数据包的HMSK与MAC通过MERO函数派生出当前数据包的会话密钥,计算公式为如下式(3)
HMSKnew=MERO(HMSKold,MACold) (3)
其中,HMSKnew为当前数据包的会话密钥,HMSKold为前一个数据包的会话密钥,MACold为前一个数据包的消息认证码。
在本实施例中,一旦加密传输开始,新的HMSK就通过MERO函数从旧的HMSK派生出来,提高了会话密码的复杂度,可以提高数据的安全性。
可以理解的是,POS终端与读卡器在数据交互的过程中,数据发送端也可以为读卡器,数据接收端也可以为POS终端。读卡器这一端的会话密钥(DMSK)、数据密钥(DMEDK)以及MAC密钥(DMEMK)可由POS终端产生,并发送给读卡器。POS终端产生读卡器端的会话密钥(DMSK)、数据密钥(DMEDK)以及MAC密钥(DMEMK)的方法与产生POS终端的会话密钥(HMSK)、数据密钥(HMEDK)以及MAC密钥(HMEMK)的方法相似,在此不再赘述。读卡器利用会话密钥对数据加密的方法与POS终端对数据加密的方法相似,在此不再赘述。
本发明的实施例还提出了一种数据传输方法,该数据传输方法可应用于POS机系统,该POS机系统可包括数据发送端与数据接收端。如图4所示,该数据传输方法,可包括以下步骤401~403:
在步骤401中,所述数据发送端将待传输数据进行分包,得到至少两个数据包。
在步骤402中,对于每个数据包,所述数据发送端采用本端的会话密钥对数据包加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同。
在步骤403中,所述数据接收端对接收的数据包采用对应的所述会话密码进行解密。
本实施例中的数据传输方法与图1所示的实施例中的数据传输方法相似,在此不再赘述。
本实施例中,通过将待传输数据进行分包,得到至少两个数据包,然后,对于每个数据包,采用会话密钥加密后发送给数据接收端,其中,对每个数据包进行加密采用的会话密钥不相同。这样,可以提高加密数据的复杂性及安全等级,增加了数据的安全性。
在本实施例中,数据发送端可以为POS终端,数据接收端为读卡器。POS终端与读卡器在进行数据交互时,用户可下载用于派生相互身份认证密钥(Mutual AuthenticationKey,简称MAK)的BKLK-AES(Basic Key Loading Key for AES(高级加密标准,AdvancedEncryption Standard),然后,根据BKLK-AES派生出POS终端与读卡器进行相互身份认证的MAK。POS终端与读卡器在进行相互身份认证后产生主会话密钥(Main Session Key,简称MSK)。由于在开机过程中会进行多次身份认证,因此,MSK具有不稳定性。POS终端可以根据MAK与CPU中的固件中预存的TK_MSK(Transport key for MSK,MSK的传输密钥)派生出MSK。其中,产生MSK的流程可参见表1。表1中的参数描述请见表2。
POS终端在得到MSK后,可以根据MSK与常向量CV4利用MERO函数得到POS终端的会话密钥(HMSK),计算公式为如下式(4)
HMSK=MERO(MSK,CV4) (4)
其中,常向量CV4可以来源于POS终端的厂商的固化基础密钥,它的作用主要是在当加解密失败的时候,方便POS终端的厂商对失败数据的解密,进而分析出数据失败的主要原因,方便产品后续补丁的改进升级。例如,常向量CV4可以是12121212 121212121212121212121212,16进制,16个字节,但不限于此。
表1
表2
MAK | 预加载的16字节主密钥(Pre-loaded 16-byte master key) |
RND_A | 字节随机数(8-byte random number8) |
RND_B | 字节随机数(8-byte random number8) |
AUK | AUK=AES-ECB-Enc[MAK,(RND_A(5:8),RND_B(1:4),RND_A(1:4),RND_B(5:8))] |
PROOF_A | PROOF_A=AES-ECB-Enc[AUK,(RND_B,RND_A)] |
PROOF_B | PROOF_B=AES-ECB-Enc[AUK,(RND_B(5:8),RND_A(1:4),RND_B(1:4),RND_A(5:8))] |
MSK | 随机产生的16字节主密钥(16-byte randomly generated session key) |
E_MSK | E_MSK=AES-ECB-Enc[AUK,MSK] |
KCV | 3字节密钥检查值(3-byte key check value) |
下面简单介绍一下根据MSK与常向量CV4利用MERO函数得到POS终端的会话密钥(HMSK)的方法,其中,计算过程中的数据可参阅表3。
(1)将16字节的输入数据(常向量CV4)分成两个8字节数据(D1和D2);
(2)将16字节的密钥(MSK)拆分为两个8字节的子密钥(K1和K2);
(3)由加密指数生成和模式反转生成公钥和私钥;
(4)使用输入D1和K1执行MERO演变算法,并获得子输出结果S1;计算公式为:S1=MERO(D1,K1);
(5)使用输入D2和K2执行MERO演变算法,并获得子输出结果S2;计算公式为:S2=MERO(D2,K2);
(6)连接两个子输出结果以产生输出结果Output,计算公式为:Output=S1||S2。
表3
POS终端在得到MSK后,还可以根据MSK与常向量CV5利用MERO函数得到读卡器的会话密钥(DMSK),计算公式为如下式(5)
DMSK=MERO(MSK,CV5) (5)
其中,常向量CV5可以来源于POS终端的厂商的固化基础密钥,它的作用主要是在当加解密失败的时候,方便POS终端的厂商对失败数据的解密,进而分析出数据失败的主要原因,方便产品后续补丁的改进升级。例如,常向量CV5可以是12121212121212121212121212121212,16进制,16个字节,但不限于此。
另外,如果POS终端与读卡器加密失败或者解密失败,则会重新进行相互身份认证,以生成新的MSK,进而重新派生HMSK与DMSK。
在本实施例中,数据发送端可以为POS终端,数据接收端为读卡器。当然,数据发送端也可以为读卡器,数据接收端也可以为POS终端。
本发明的实施例还提出了一种数据传输方法。在本实施例中,会话密钥包括数据密钥和MAC(Message Authentication Code,消息认证码)密钥。本实施例中,在图4所示实施例的基础上,如图6所示,步骤402可以包括如下步骤601~604:
在步骤601中,所述数据发送端采用所述数据密钥对所述数据包进行加密,得到加密数据包。
在步骤602中,所述数据发送端获取所述数据包的消息摘要。
在步骤603中,所述数据发送端采用所述MAC密钥对所述消息摘要进行加密计算,得到消息认证码。
在步骤604中,所述数据发送端将所述加密数据包与所述消息认证码打包为指定格式的数据包,并发送给所述数据接收端;其中,待传输数据中的每个数据包的数据密钥不相同,且每个数据包的MAC密钥不相同。
本实施例中的数据传输方法与图2所示实施例中的数据传输方法相似,在此不再赘述。
本实施例中,可以利用AES-128 CBC加密算法对数据包进行加密,利用ISO 9797-11999算法1对MAC进行加密,但不限于此。
本实施例中,在步骤402之前,如图7所示,还包括以下步骤701~702:
在步骤701中,所述POS终端根据前一个数据包的会话密钥与消息认证码派生出当前数据包的会话密钥;其中,当前数据包为非首个传输的数据包。
在步骤702中,所述POS终端将所述当前数据包的会话密钥发送给所述读卡器,并存储在本地。
在本实施例中,POS终端可以根据POS终端传输的前一个数据包的会话密钥与消息认证码派生出POS终端传输的当前数据包的会话密钥,POS终端可以将POS终端的所述当前数据包的会话密钥发送给所述读卡器,并存储在本地。POS终端根据POS终端传输的前一个数据包的会话密钥与消息认证码派生出POS终端传输的当前数据包的会话密钥的方法与图3所示的方法相似,在此不再赘述。
在本实施例中,POS终端还可以根据读卡器传输的前一个数据包的会话密钥与消息认证码派生出读卡器传输的当前数据包的会话密钥,POS终端可以将读卡器的所述当前数据包的会话密钥发送给所述读卡器,并存储在本地。POS终端根据读卡器传输的前一个数据包的会话密钥与消息认证码派生出读卡器传输的当前数据包的会话密钥的方法与图3所示的方法相似,在此不再赘述。
在本实施例中,一旦加密传输开始,新的HMSK就通过MERO函数从旧的HMSK派生出来,提高了会话密码的复杂度,可以提高数据的安全性。
本实施例中,在步骤402之前,如图8所示,还包括以下步骤801~802:
在步骤801中,所述POS终端获取所述会话密码。
在步骤802中,所述POS终端根据所述会话密码派生出所述数据密钥和所述MAC密钥。
在步骤803中,所述POS终端将所述数据密钥和所述MAC密钥发送给所述读卡器,并存储在本地。
在本实施例中,所述POS终端可以获取数据发送端的会话密码,并根据数据发送端的会话密码派生出数据发送端的数据密钥和数据发送端的MAC密钥,并将数据发送端的数据密钥和数据发送端的MAC密钥发送给所述读卡器,并存储在本地。这样,可以利用POS终端根据POS终端的会话密码派生出POS终端的数据密钥和POS终端的MAC密钥,还可以利用POS终端根据读卡器的会话密码派生出读卡器的数据密钥和读卡器的MAC密钥,可以利用POS端的数据处理能力,提高资源利用率,避免系统改造提高成本。
在数据的加解密过程中,由于金融交易卡片的功能多样性,所以卡片内集成了各种功能的信息(如社保、医疗、公交、园林旅行、银行等功能),进而会导致卡片里面的信息越来越多,因此卡片的交易信息会有几百字节不等。由于数据过长,在数据传输过程中,为了尽可能的保障数据的安全,可以采取分割数据的方式(即分包)加密数据,分包传输到POS终端。
如图9所示,POS终端将纯文本数据(待传输数据)进行傅里叶拉氏Z变换后,利用HMEDK与HMEMK进行指数重组加密,并发送给读卡器,然后,利用MERO演变算法升级会话密钥(HMSK)。读卡器利用解密密钥进行指数重组解密后,利用MERO演变算法升级会话密钥(DMSK),然后,进行傅里叶拉氏Z变换反转,得到POS终端发送的纯文本数据。
其中,指数运算:要计算x的e次方对m取余的值,如果直接计算数值会比较大,可以利用上面的模的性质进行降幂计算。
要计算xe%m的值,如6265%133可以利用如下的方法:
6265%133
=62*6264%133
=62*(622)32%133
=62*384432%133
=62*(3844%133)32%133
=62*12032%133
=62*3616%133
=62*998%133
=62*924%133
=62*852%133
=62*43%133
=2666%133
指数模逆运算:定义如果ab≡1(mod m),则称b是a的模m逆,记作a的模m逆是方程ax≡1(mod m)的解。两个数互质一定有逆元。
例如:求5的模7逆
做辗转相除法,求得整数b、k使得5b+7k=1,则b是5的模7逆。
计算如下:
7=5+2,5=2*2+1
回代1=5-2*2=5-2*(7-5)=3*5-2*7,
得到
5-1≡3(mod7)
下面简单介绍一下傅里叶拉氏变换。如果有一个以时间t为自变量的实变函数f(t),它的定义域是t≥0,那么,f(t)的拉普拉斯变换定义为
s是复变数,s=σ+jω(σ、ω均为实数),称为拉普拉斯积分,F(s)是函数f(t)的拉普拉斯变换,它是一个复变函数,通常也称为F(s)为f(t)的象函数,而称f(t)为F(s)的原函数,L是表示进行拉普拉斯变换的符号。
式(6)表明,拉氏变换是这样一种变换,即在一定条件下,它能把一实数域中的实变变换为一个在复数域内与之等价的复变函数F(s)。
本发明的实施例还提出了一种数据传输装置,可应用于数据发送端,该数据传输装置,如图10所示,包括:
分包模块1001,用于将待传输数据进行分包,得到至少两个数据包;
传输模块1002,用于对每个数据包采用会话密钥加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同。
本发明的实施例还提出了一种POS机系统,如图11所示,包括数据发送端1101与数据接收端1102;
所述数据发送端1101,用于将待传输数据进行分包,得到至少两个数据包;
所述数据发送端1101,用于对每个数据包采用本端的会话密钥对数据包加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同;
所述数据接收端1102,用于对接收的数据包采用对应的所述会话密码进行解密。
本实施例中的POS机系统可应用于上述图4~图8所示实施例的数据传输方法。
另外,需要说明的是,本发明实施例的数据传输方法还可以应用于其他需要数据传输的系统,例如,智能公共自行车系统上。
需要指出的是,在本发明中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (11)
1.一种数据传输方法,其特征在于,应用于数据发送端,所述方法,包括:
将待传输数据进行分包,得到至少两个数据包;
对于每个数据包,采用会话密钥加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同。
2.根据权利要求1所述的数据传输方法,其特征在于,所述会话密钥包括数据密钥和MAC密钥;
所述对于每个数据包,采用会话密钥加密后发送给数据接收端,包括:
采用所述数据密钥对所述数据包进行加密,得到加密数据包;
获取所述数据包的消息摘要;
采用所述MAC密钥对所述消息摘要进行加密计算,得到消息认证码;
将所述加密数据包与所述消息认证码打包为指定格式的数据包,并发送给所述数据接收端;其中,待传输数据中的每个数据包的数据密钥不相同,且每个数据包的MAC密钥不相同。
3.根据权利要求1所述的数据传输方法,其特征在于,所述数据发送端为POS终端或读卡器。
4.根据权利要求1所述的数据传输方法,其特征在于,所述数据发送端为POS终端,所述对于每个数据包,采用会话密钥加密后发送给数据接收端之前,还包括:
根据前一个数据包的会话密钥与消息认证码派生出当前数据包的会话密钥;其中,当前数据包为非首个传输的数据包。
5.一种数据传输方法,其特征在于,应用于POS机系统,所述POS机系统包括数据发送端与数据接收端,所述数据传输方法,包括:
所述数据发送端将待传输数据进行分包,得到至少两个数据包;
对于每个数据包,所述数据发送端采用本端的会话密钥对数据包加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同;
所述数据接收端对接收的数据包采用对应的所述会话密码进行解密。
6.根据权利要求5所述的数据传输方法,其特征在于,所述会话密钥包括数据密钥和MAC密钥;
所述对于每个数据包,所述数据发送端采用本端的会话密钥对数据包加密后发送给数据接收端,包括:
所述数据发送端采用所述数据密钥对所述数据包进行加密,得到加密数据包;
所述数据发送端获取所述数据包的消息摘要;
所述数据发送端采用所述MAC密钥对所述消息摘要进行加密计算,得到消息认证码;
所述数据发送端将所述加密数据包与所述消息认证码打包为指定格式的数据包,并发送给所述数据接收端;其中,待传输数据中的每个数据包的数据密钥不相同,且每个数据包的MAC密钥不相同。
7.根据权利要求6所述的数据传输方法,其特征在于,所述数据发送端为读卡器,所述数据接收端为POS终端;或者
所述数据发送端为POS终端,所述数据接收端为读卡器。
8.根据权利要求7所述的数据传输方法,其特征在于,所述对于每个数据包,所述数据发送端采用本端的会话密钥对数据包加密后发送给数据接收端之前,还包括:
所述POS终端根据前一个数据包的会话密钥与消息认证码派生出当前数据包的会话密钥;其中,当前数据包为非首个传输的数据包;
所述POS终端将所述当前数据包的会话密钥发送给所述读卡器,并存储在本地。
9.根据权利要求7所述的数据传输方法,其特征在于,所述数据发送端采用所述数据密钥对所述数据包进行加密,得到加密数据包之前,还包括:
所述POS终端获取所述会话密码;
所述POS终端根据所述会话密码派生出所述数据密钥和所述MAC密钥;
所述POS终端将所述数据密钥和所述MAC密钥发送给所述读卡器,并存储在本地。
10.一种数据传输装置,其特征在于,应用于数据发送端,包括:
分包模块,用于将待传输数据进行分包,得到至少两个数据包;
传输模块,用于对每个数据包采用会话密钥加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同。
11.一种POS机系统,其特征在于,包括数据发送端与数据接收端;
所述数据发送端,用于将待传输数据进行分包,得到至少两个数据包;
所述数据发送端,用于对每个数据包采用本端的会话密钥对数据包加密后发送给数据接收端;其中,对每个数据包进行加密采用的会话密钥不相同;
所述数据接收端,用于对接收的数据包采用对应的所述会话密码进行解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910337482.2A CN110048856B (zh) | 2019-04-25 | 2019-04-25 | 数据传输方法、装置和pos机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910337482.2A CN110048856B (zh) | 2019-04-25 | 2019-04-25 | 数据传输方法、装置和pos机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110048856A true CN110048856A (zh) | 2019-07-23 |
CN110048856B CN110048856B (zh) | 2022-05-31 |
Family
ID=67279249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910337482.2A Active CN110048856B (zh) | 2019-04-25 | 2019-04-25 | 数据传输方法、装置和pos机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110048856B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022133904A1 (zh) * | 2020-12-24 | 2022-06-30 | 京东方科技集团股份有限公司 | 交互认证方法、装置及系统、计算机设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005277588A (ja) * | 2004-03-23 | 2005-10-06 | Kyocera Mita Corp | 電子データ伝送システム及び電子データ伝送方法 |
CN101072096A (zh) * | 2007-05-31 | 2007-11-14 | 北京威讯紫晶科技有限公司 | 一种无线传感器网络中数据安全传输的方法 |
CN105099672A (zh) * | 2015-08-04 | 2015-11-25 | 东南大学 | 混合加密方法及实现该方法的装置 |
CN106250770A (zh) * | 2015-06-03 | 2016-12-21 | 三星电子株式会社 | 用于对内容加密的电子设备和方法 |
WO2018220138A1 (en) * | 2017-06-01 | 2018-12-06 | Zwipe As | Progressive key encryption algorithm |
-
2019
- 2019-04-25 CN CN201910337482.2A patent/CN110048856B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005277588A (ja) * | 2004-03-23 | 2005-10-06 | Kyocera Mita Corp | 電子データ伝送システム及び電子データ伝送方法 |
CN101072096A (zh) * | 2007-05-31 | 2007-11-14 | 北京威讯紫晶科技有限公司 | 一种无线传感器网络中数据安全传输的方法 |
CN106250770A (zh) * | 2015-06-03 | 2016-12-21 | 三星电子株式会社 | 用于对内容加密的电子设备和方法 |
CN105099672A (zh) * | 2015-08-04 | 2015-11-25 | 东南大学 | 混合加密方法及实现该方法的装置 |
WO2018220138A1 (en) * | 2017-06-01 | 2018-12-06 | Zwipe As | Progressive key encryption algorithm |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022133904A1 (zh) * | 2020-12-24 | 2022-06-30 | 京东方科技集团股份有限公司 | 交互认证方法、装置及系统、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110048856B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347627B (zh) | 数据加解密方法、装置、计算机设备及存储介质 | |
EP0529261B1 (en) | A hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors | |
CN106357400B (zh) | 建立tbox终端和tsp平台之间通道的方法以及系统 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
CN112637161B (zh) | 数据传输方法和存储介质 | |
CN112235107B (zh) | 一种数据传输方法、装置、设备和存储介质 | |
CN111614621B (zh) | 物联网通信方法和系统 | |
CN106572106A (zh) | 一种tbox终端和tsp平台之间报文传输的方法 | |
CN103414690A (zh) | 一种可公开验证云端数据持有性校验方法 | |
CN112804205A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN110611670A (zh) | 一种api请求的加密方法及装置 | |
CN111740995B (zh) | 一种授权认证方法及相关装置 | |
CN109005184A (zh) | 文件加密方法及装置、存储介质、终端 | |
CN111769938A (zh) | 一种区块链传感器的密钥管理系统、数据验证系统 | |
US9553729B2 (en) | Authentication method between a reader and a radio tag | |
CN108809633A (zh) | 一种身份认证的方法、装置及系统 | |
CN108199847A (zh) | 数字安全处理方法、计算机设备及存储介质 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN108933659A (zh) | 一种智能电网的身份验证系统及验证方法 | |
CN103313244A (zh) | 一种基于gba的认证方法及装置 | |
CN110048856A (zh) | 数据传输方法、装置和pos机系统 | |
CN116702215A (zh) | 一种查询处理方法、装置、设备及介质 | |
CN116707778A (zh) | 数据混合加密传输方法、装置和电子设备 | |
CN113158218B (zh) | 数据加密方法、装置及数据解密方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |