数据传输方法及装置的制造方法

文档序号:8530268阅读:427来源:国知局
数据传输方法及装置的制造方法
【技术领域】
[0001]本公开涉及通信技术领域,尤其涉及一种数据传输方法及装置。
【背景技术】
[0002]相关技术中,手机记录了用户的各类信息,例如,联系人、照片、短信、通话记录、密保工具等,一旦丢失,就可能泄露遗失者的个人隐私,甚至威胁到遗失者的财产安全。
[0003]为了防止手机遗失,生产商在手机中加入远程找回功能,并且为了保护遗失者的个人隐私和财产安全,加入了远程锁定、远程擦除等功能,在此过程中,需要第三方的参与,如运营商或者具有手机防遗失功能的应用提供者。

【发明内容】

[0004]本公开实施例提供一种数据传输方法及装置,用以提高数据传输过程中数据的安全性。
[0005]根据本公开实施例的第一方面,提供一种数据传输方法,所述方法包括:
[0006]获取数据发送端的唯一标识和私钥,以及数据接收端的公钥;
[0007]使用所述数据接收端的公钥对所要传输的第一数据进行加密,得到加密后的第二数据;
[0008]使用所述数据发送端的私钥对所述第二数据进行签名,得到第一签名值;
[0009]生成包括当前时间的随机字符串;
[0010]使用所述数据发送端的唯一标识对所述第二数据、第一签名值和所述随机字符串进行签名,得到第三签名值;
[0011]将所述第二数据,第一签名值、所述随机字符串和第三签名值发送到所述数据接收端。
[0012]本公开的实施例提供的技术方案可以包括以下有益效果:通过数据接收端的公钥对第一数据进行加密,得到第二数据,再通过数据发送端的私钥对第二数据进行签名得到第一签名值,在对数据进行加密之后又对加密数据进行签名,增加了数据传输过程中数据的安全性,根据设备的唯一标识对第二数据,第一签名值进行签名,进一步增加了数据传输过程中数据的安全性。
[0013]在一个实施例中,使用所述数据发送端的唯一标识对所述第二数据、第一签名值和所述随机字符串进行签名,包括:
[0014]以所述数据发送端的唯一标识为密钥,对所述第二数据、第一签名值和所述随机字符串进行哈希运算消息认证码(HMAC)运算。
[0015]本公开的实施例提供的技术方案可以包括以下有益效果:通过将数据发送端的唯一标识作为密钥,具备了采用哈希运算消息认证码运算的条件,而采用该运算方法,有第三方非法截获消息时,只能获取到HMAC结果,仅仅根据该结果并不能推出密钥,即无法获知数据发送端的唯一标识。保证了设备唯一标识在发送过程中的安全性,保证了验证设备合法性的正确无误。
[0016]在一个实施例中,当所述数据发送端为移动终端时,所述获取数据发送端的私钥,包括:
[0017]从所述移动终端的信任区域(TrustZone)的回访保护存储块(RPMB)区域或安全文件系统(SFS)区域提取所述移动终端的私钥。
[0018]本公开的实施例提供的技术方案可以包括以下有益效果:将私钥存储在移动终端的信任区域(TrustZone)的回访保护存储块(RPMB)区域或安全文件系统(SFS)区域,保证了私钥在本地的安全性。
[0019]根据本公开实施例的第二方面,提供一种数据传输方法,应用于数据接收端,所述方法包括:
[0020]接收数据发送端发送的数据;
[0021]获取所述数据接收端的私钥,所述数据发送端的唯一标识和公钥;
[0022]从所述数据发送端发送的数据中提取出第二数据,第一签名值,随机字符串和第三签名值,所述第二数据为使用所述数据接收端的公钥对所要传输的第一数据进行加密后得到的,所述第一签名值为使用所述数据发送端的私钥对所述第二数据进行签名得到的,所述随机字符串包括所述数据发送端生成所述随机字符串的时间,所述第三签名值为使用所述数据发送端的唯一标识对所述第二数据、所述随机字符串和第一签名值进行签名得到的;
[0023]根据所述数据发送端的唯一标识对所述第三签名值进行验证;
[0024]当对所述第三签名值验证通过时,从所述随机字符串中提取所述数据发送端生成所述随机字符串的时间;
[0025]判断所述数据发送端生成所述随机字符串的时间是否在预设时间范围内;
[0026]当所述数据发送端生成所述随机字符串的时间在所述预设时间范围内时,使用所述数据发送端的公钥对所述第一签名值进行验证;
[0027]当对所述第一签名值验证通过时,使用所述数据接收端的私钥对所述第二数据进行解密,得到所述第一数据。
[0028]本公开的实施例提供的技术方案可以包括以下有益效果:通过数据发送端的唯一标识对第三签名进行验证,提取随机字符串中携带的时间信息,当生成随机字符串的时间在预设时间范围内时使用数据发送端的公钥对第一签名值进行验证,从而保证了数据的时效性。
[0029]其次,由于随机数的非唯一性,以及使用随机数对签名信息加解密算法的不可确定性,不仅使签名信息的解密复杂度提高,利用随机字符串携带时间信息,还保证了时间信息的安全性,从而进一步提高了数据发送过程中数据的安全性。
[0030]根据本公开实施例的第三方面,提供一种数据传输方法,
[0031]应用于被识别设备,所述方法包括:
[0032]获取所述被识别设备的唯一标识;
[0033]生成包括当前时间的随机字符串;
[0034]根据所述发送端唯一标识对所述随机字符串进行签名,得到第三签名值;
[0035]将所述随机字符串和所述第三签名值发送到识别设备。
[0036]本公开的实施例提供的技术方案可以包括以下有益效果:利用发送端的唯一标识对携带时间信息的随机字符串进行签名,使数据接收端能够通过该唯一标识验证发送端的合法性,并且根据该唯一标识对携带时间信息的随机字符串进行签名,保证了时间值的安全性,避免了时间值在传输过程中被纂改。
[0037]根据本公开实施例的第四方面,提供一种数据传输方法,应用于识别设备,所述方法包括:
[0038]接收被识别设备发送的数据;
[0039]获取所述被识别设备的唯一标识;
[0040]从所述被识别设备发送的数据中提取出随机字符串和第三签名值,所述随机字符串包括所述被识别设备生成所述随机字符串的时间,所述第三签名值为使用所述数据发送端的唯一标识对所述随机字符串进行签名得到的;
[0041]从所述随机字符串中提取所述被识别设备生成所述随机字符串的时间;
[0042]判断所述被识别设备生成所述随机字符串的时间是否在预设时间范围内;
[0043]当所述被识别设备生成所述随机字符串的时间在所述预设时间范围内时,使用所述被识别设备的唯一标识对所述第三签名值进行验证;
[0044]当对所述第三签名值的验证通过时,确定所述被识别设备为可信的。
[0045]本公开的实施例提供的技术方案可以包括以下有益效果:利用发送端的唯一标识对携带时间信息的随机字符串进行签名,通过该唯一标识,可以验证发送端的合法性,并且,根据该唯一标识对携带时间信息的随机字符串进行签名,保证了时间值的安全性,避免了时间值在传输过程中被纂改。
[0046]根据本公开实施例的第五方面,提供一种数据传输方法,应用于数据发送端,所述方法包括:
[0047]获取数据发送端的私钥;
[0048]生成包括当前时间的随机字符串;
[0049]使用所述数据发送端的私钥对所要传输的第一数据和所述随机字符串进行签名,得到第四签名值;
[0050]将所述第一数据,所述随机字符串和所述第四签名值发送到所述数据接收端。
[0051]本公开的实施例提供的技术方案可以包括以下有益效果:利用数据发送端自身的私钥对要传送的数据和包含时间信息的随机字符串进行签名,这样的签名方式,无需获知数据接收端的公钥,在保证数据发送过程安全的基础上,可实现对多个存储有该数据发送端私钥的数据接收端发送数据。
[0052]根据本公开实施例的第六方面,提供一种数据传输方法,其特征在于,应用于数据接收端,所述方法包括:
[0053]接收数据发送端发送的数据;
[0054]获取所述数据发送端的公钥;
[0055]从所述数据发送端发送的数据中提取出第一数据,随机字符串和第四签名值,所述随机字符串包括所述数据发送端生成所述随机字符串的时间,所述第四签名值为使用所述数据发送端的私钥对所述第一数据和随机字符串进行签名得到的;
[0056]根据所述数据发送端的公钥对所述第四签名值进行验证;
[0057]当对所述第四签名值验证通过时,从所述随机字符串中提取所述数据发送端生成所述随机字符串的时间;
[0058]判断所述数据发送端生成所述随机字符串的时间是否在预设时间范围内;
[0059]当所述数据发送端生成所述随机字符串的时间在所述预设时间范围内时,使用所述第一数据。
[0060]本公开的实施例提供的技术方案可以包括以下有益效果:由于第四签名值为使用所述数据发送端的私钥对所述第一数据和随机字符串进行签名得到的,因此,仅需存储有数据发送端的公钥,就可以通过验证第四签名值得到生成该随机字符串的时间信息,简化了数据验证操作。
[0061]根据本公开实施例的第七方面,提供一种数据传输方法,应用于数据发送端,所述方法包括:
[0062]获取数据发送端的唯一标识和私钥,以及数据接收端的公钥;
[0063]使用所述数据接收端的公钥对所要传输的第一数据进行加密,得到加密后的第二数据;
[0064]使用所述数据发送端的私钥对所述第二数据进行签名,得到第一签名值;
[0065]使用所述数据发送端的唯一标识对所述第二数据和第一签名值进行签名,得到第二签名值;
[0066]将所述第二数据,第一签名值和第二签名值发送到所述数据接收端。
[0067]本公开的实施例提供的技术方案可以包括以下有益效果:在对数据进行加密之后又对加密数据进行签名,增加了数据传输过程中数据的安全性。
[0068]根据本公开实施例的第八方面,提供一种数据传输方法,应用于数据接收端,所述方法包括:
[0069]接收数据发送端发送的数据;
[0070]获取所述数据接收端的私钥,所述数据发送端的唯一标识和公钥;
[0071]从所述数据发送端发送的数据中提取出第二数据,第一签名值和第二签名值,所述第二数据为使用所述数据接收端的公钥对所要传输的第一数据进行加密后得到的,所述第一签名值为使用所述数据发送端的私钥对所述第二数据进行签名得到的,所述第二签名值为使用所述数据发送端的唯一标识对所述第二数据和第一签名值进行签名得到的;
[0072]根据所述数据发送端的唯一标识对所述第二签名值进行验证;
[0073]当对所述第二签名值验证通过时,使用所述数据发送端的公钥对所述第一签名值进行验证;
[0074]当对所述第一签名值验证通过时,使用所述数据接收端的私钥对所述第二数据进行解密,得到所述第一数据。
[0075]本公开的实施例提供的技术方案可以包括以下有益效果:通过数据发送端的唯一标识,可以验证发送端的合法性,该唯一标识和数据发送端的公钥是预先存储在数据接收端的,并不携带在上下行的数据中,因此即使数据发送端发送的数据被第三方截获,第三方也无法得到未加密的第一数据。
[0076]根据本公开实施例的第九方面,提供一种数据传输装置,应用于数据发送端,所述装置包括:
[0077]第一获取模块,用于获取数据发送端的唯一标识和私钥,以及数据接收端的公钥;
[0078]第一加密模块,用于使用所述数据接收端的公钥对所要传输的第一数据进行加密,得到加密后的第二数据;
[0079]第一签名模块,用于使用所述数据发送端的私钥对所述第二数据进行签名,得到第一签名值;
[0080]第一生成模块,用于生成包括当前时间的随机字符串;
[0081]第二签名模块,用于使用所述数据发送端的唯一标识对所述第二数据、第一签名值和所述随机字符串进行签名,得到第三签名值;
[0082]第一发送模块,用于将所述第二数据,第一签名值、所述随机字符串和第三签名值发送到所述数据接收端。
[0083]在一个实施例中,所述第二签名模块,包括:
[0084]运算子模块,用于以所述数据发送端的唯一标识为密钥,对所述第二数据、第一签名值和所述随机字符串进行哈希运算消息认证码(HMAC)运算。
[0085]在一个实施例中,所述第一获取模块,包括:
[0086]提取子模块,用于当所述数据发送端为移动终端时,从所述移动终端的信任区域(TrustZone)的回访保护存储块(RPMB)区域或安全文件系统(SFS)区域提取所述移动终端的私钥。
[0087]根据本公开实施例的第十方面,提供一种数据传输装置,应用于数据接收端,所述装置包括:
[0088]第一接收模块,用于接收数据发送端发送的数据;
[0089]第二获取模块,用于获取所述数据接收端的私钥,所述数据发送端的唯一标识和公钥;
[0090]第一提取模块,用于从所述数据发送端发送的数据中提取出第二数据,第一签名值,随机字符串和第三签名值,所述第二数据为使用所述数据接收端的公钥对所要传输的第一数据进行加密后得到的,所述第一签名值为使用所述数据发送端的私钥对所述第二数据进行签名得到的,所述随机字符串包括所述数据发送端生成所述随机字符串的时间,所述第三签名值为使用所述数据发送端的唯一标识对所述第二数据、所述随机字符串和第一签名值进行签名得到的;
[0091]第一验证模块,用于根据所述数据发送端的唯一标识对所述第三签名值进行验证;
[0092]第二提取模块,用于当对所述第三签名值验证通过时,从所述随机字符串中提取所述数据发送端生成所述随机字符串的时间;
[0093]第一判断模块,用于判断所述数据发送端生成所述随机字符串的时间是否在预设时间范围内;
[0094]第二验证模块,用于当所述数据发送端生成所述随机字符串的时间在所述预设时间范围内时,使用所述数据发送端的公钥对所述第一签名值进行验证;
[0095]第一解密模块,用于当对所述第一签名值验证通过时,使用所述数据接收端的私钥对所述第二数据进行解密,得到所述第一数据。
[0096]根据本公开实施例的第十一方面,提供一种数据传输装置,应用于被识别设备,所述装置包括:
[0097]第三获取模块,用于获取所述被识别设备的唯一标识;
[0098]第二生成模块,用于生成包括当前时间的随机字符串;
[0099]第三签名模块,用于根据所述发送端唯一标识对所述随机字符串进行签名,得到第三签名值;
[0100]第二发送模块,用于将所述随机字符串和所述第三签名值发送到识别设备。
[0101]根据本公开实施例的第十二方面,提供一种数据传输装置,应用于识别设备,所述装置包括:
[0102]第二接收模块,用于接收被识别设备发送的数据;
[0103]第四获取模块,用于获取所述被识别设备的唯一标识;
[0104]第三提取模块,用于从所述被识别设备发送的数据中提取出随机字符串和第三签名值,所述随机字符串包括所述被识别设备生成所述随机字符串的时间,所述第三签名值为使用所述数据发送端的唯一标识对所述随机字符串进行签名得到的;
[0105]第四提取模块,用于从所述随机字符串中提取所述被识别设备生成所述随机字符串的时间;
[0106]第二判断模块,用于判断所述被识别设备生成所述随机字符串的时间是否在预设时间范围内;
[0107]第三验证模块,用于当所述被识别设备生成所述随机字符串的时间在所述预设时间范围内时,使用所述被识别设备的唯一标识对所述第三签名值进行验证;
[0108]确定模块,用于当对所述第三签名值的验证通过时,确定所述被识别设备为可信的。
[0109]根据本公开实施例的第十三方面,提供一种数据传输装置,应用于数据发送端,所述装置包括:
[0110]第五获取模块,用于获取数据发送端的私钥;
[0111]第三生成模块,用于生成包括当前时间的随机字符串;
[0112]第四签名模块,用于使用所述数据发送端的私钥对所要传输的第一数据和所述随机字符串进行签名,得到第四签名值;
[0113]第三发送模块,用于将所述第一数据,所述随机字符串和所述第四签名值发送到所述数据接收端。
[0114]根据本公开实施例的第十四方面,提供一种数据传输装置,应用于数据接收端,所述装置包括:
[0115]第三接收模块,用于接收数据发送端发送的数据;
[0116]第六获取模块,用于获取所述数据发送端的公钥;
[0117]第五提取模块,用于从所述数据发送端发送的数据中提取出第一数据,随机字符串和第四签名值,所述随机字符串包括所述数据发送端生成所述随机字符串的时间,所述第四签名值为使
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1