一种基于NB-IOT网络的数据传输方法与流程

文档序号:15232950发布日期:2018-08-21 19:53阅读:337来源:国知局

本发明涉及数据传输技术领域,尤其涉及一种基于nb-iot网络的数据传输方法。



背景技术:

近年来,随着无线终端的发展,越来越多的数据要通过网络发送。例如,数据通过一端传输到另一端并存储的过程,其存储可能通过无线通信设备的通信模块存储。但是,用户数据通常是秘密的,并且可包含高度敏感的信息,诸如各种数字和/或卡号等。当从传输数据到设备时,出于安全原因,要传输的数据必须在发送前进行加密(译成密码),加密可使对信令和用户数据的窃听更困难。发送端用加密算法对要传输的数据加密并且加密数据从发送端传输到接收端,在接收端用相同的加密算法对传输的数据解密。两端使用相同的加密算法,然而,现有技术中的保护通常很弱并且容易被破解。现有技术中出现了很多的数据传输方法,但还没有基于nb-iot这种通过窄带物联网方式传输数据的方法。



技术实现要素:

本发明针对现有方式的缺点,提出一种基于nb-iot网络的数据传输方法,用以解决现有技术存在的上述问题。

根据本发明的一个方面,提供了一种基于nb-iot网络的数据传输方法,至少包括如下步骤:

采集以获取第一数据,所述第一数据至少包括指纹数据、居民二代身份证数据、数字密码和/或mf卡数据;所述第一数据经十六进制编码转为第二数据;通过硬件加密机制和软件加密机制对所述第二数据进行加密以获取加密的数据包并生成匹配的密钥;

通过nb-iot网络共享所述数据包至连接nb-iot网络的至少一个目标节点,所述目标节点至少包括nb-iot网络平台、预置有nb-iot模组的门锁和与所述门锁匹配的控制装置,所述控制装置预先关联至少一个预置有nb-iot模组的门锁;

所述目标节点请求获取并获取所述密钥以解密所述第二数据。

进一步的,所述将第一数据经十六进制编码转为第二数据,是指:

当所述第一数据为指纹数据时,采用498位十六进制的编码规则将所述指纹数据转为十六进制编码的第二数据;

当所述第一数据为指纹数据以外的数据时,采用12位十六进制的编码规则分别将所述指纹数据以外的数据转为十六进制编码的第二数据;

所述第二数据相应每一指纹数据均包括两个249位十六进制编码的数据包,且相应每一身份证数据、数字密码和mf卡数据均分别包括两个8位十六进制编码的数据包,且第二数据中的每个数据包带有不同的编号。

进一步的,所述通过硬件加密机制和软件加密机制对第二数据进行加密以获取加密的数据包并生成匹配的密钥,是指,通过硬件加密机制和软件加密机制对所述第二数据进行两次加密以获取加密的数据包并生成匹配的密钥;

所述硬件加密机制为椭圆曲线密码加密机制,所述软件加密机制为基于np完全问题的后量子密钥分配算法、基于量子通信的密钥分配算法、rc4算法、tls协议、dtls协议、第一组合算法或第二组合算法;

所述第一组合算法包括aes-192算法、3des算法和sha-3算法的组合,所述aes-192算法、3des算法和sha-3算法的组合是指,在加密数据时,aes-192算法、3des算法和sha-3算法对数据进行三次加密以获取加密的数据包;

所述第二组合算法包括aes-256算法和sm4算法的组合,所述aes-256算法和sm4算法的组合是指,在加密数据时,aes-256算法和sm4算法对数据进行两次加密以获取加密的数据包。

进一步的,所述身份证数据是指,居民二代身份证的物理卡号和/或typeb型卡物理序列号。

进一步的,目标节点请求获取所述密钥以使用所述密钥解密数据包之后,所述nb-iot网络平台和/或控制装置通过nb-iot网络发送指令给门锁,所述门锁中的nb-iot网络模组通过nb-iot网络接收所述nb-iot网络平台和/或控制装置发送的指令。

进一步的,所述nb-iot网络平台记录并存储接收所述nb-iot网络平台和/或控制装置发送的指令的记录。

进一步的,所述nb-iot网络模组通过nb-iot网络接收所述nb-iot网络平台和/或控制装置发送的指令,是指,所述nb-iot网络模组通过nb-iot网络接收所述nb-iot网络平台和/或控制装置发送是否允许居民二代身份证、指纹、mf卡和/或数字密码开关预置有nb-iot模组的门锁的指令。

进一步的,所述是否允许居民二代身份证开关预置有nb-iot模组的门锁的指令,是指,是否允许居民二代身份证的物理卡号和/或typeb型卡物理序列号开关预置有nb-iot模组的门锁的指令。

进一步的,所述nb-iot网络平台记录并存储所述门锁获取数据包的记录和使用所述密钥解密数据包的记录。

进一步的,所述nb-iot模组是指sn-12nb-iot通信模块。

与现有技术相比,本发明的有益效果是:

1、通过选用硬件加密机制和软件加密机制加密数据,因软件加密机制的多样性及其包含的加密算法的特性能够保证数据的安全性;再通过nb-iot窄带物联网方式传输数据并解密的方法,在一定程度上能够确保远程将加密数据安全送达目标节点;

2、门锁的nb-iot网络模组分别通过nb-iot窄带物联网连接相关平台和/或控制装置交互数据,以使数据的传输更安全、更方便;

3、数据和指令的接收记录存储,便于日后的跟踪和维护。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例中的一种基于nb-iot网络的数据传输方法流程图;

图2为本发明实施例的基于np完全问题的后量子密钥分配算法流程图;

图3为本发明实施例中的哈希树示意图;

图4为本发明实施例中的哈希树枝干示意图;

图5为本发明实施例中的当装置为手机时手机的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分例,实施而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

实施例

如图1所示,提供了本发明实施例的一种基于nb-iot网络的数据传输方法,该方法包括步骤s101-s103:

s101采集以获取第一数据,第一数据至少包括指纹数据、居民二代身份证数据、数字密码和/或mf卡数据;第一数据经十六进制编码转为第二数据;通过硬件加密机制和软件加密机制对第二数据进行加密以获取加密的数据包并生成匹配的密钥;

将第一数据经十六进制编码转为第二数据,是指,当第一数据为指纹数据时,采用498位十六进制的编码规则将指纹数据转为十六进制编码的第二数据;当第一数据为指纹数据以外的数据时,采用12位十六进制的编码规则分别将指纹数据以外的数据转为十六进制编码的第二数据。

第二数据相应每一指纹数据均包括两个249位十六进制编码的数据包,且相应每一身份证数据、数字密码和mf卡数据均分别包括两个8位十六进制编码的数据包,且第二数据中的每个数据包带有不同的编号。

具体的,将第一数据转为十六进制编码的第二数据,是指,当第一数据为指纹数据时,采用498位十六进制的编码规则将指纹数据转为十六进制编码的第二数据;

第二数据包括两个249位十六进制编码的数据包,两个数据包带有不同的编号。

进一步的,将第一数据转为十六进制编码的第二数据,是指,当第一数据为身份证数据、数字密码和/或mf卡数据时,采用12位十六进制的编码规则分别将身份证数据、数字密码和/或mf卡数据转为十六进制编码的第二数据;

其中,第二数据相应每一身份证数据、数字密码和mf卡数据均分别包括两个8位十六进制编码的数据包,具体如下所述:

当第一数据为身份证数据时,第二数据包括两个8位十六进制编码的数据包,两个数据包带有不同的编号;

和/或当第一数据为数字密码,第二数据包括两个8位十六进制编码的数据包,两个数据包带有不同的编号;

和/或当第一数据为mf卡数据时,第二数据包括两个8位十六进制编码的数据包,两个数据包带有不同的编号;

每个数据包的编号都不同。

通过硬件加密机制和软件加密机制对第二数据进行加密以获取加密的数据包并生成匹配的密钥,是指,通过硬件加密机制和软件加密机制对第二数据进行两次加密以获取加密的数据包并生成匹配的密钥;

硬件加密机制为椭圆曲线密码加密机制,软件加密机制为基于np完全问题的后量子密钥分配算法、基于量子通信的密钥分配算法、rc4算法、tls协议、dtls协议、第一组合算法或第二组合算法;

第一组合算法包括aes-192算法、3des算法和sha-3算法的组合,aes-192算法、3des算法和sha-3算法的组合是指,在加密数据时,aes-192算法、3des算法和sha-3算法对数据进行三次加密以获取加密的数据包;

aes-192算法、3des算法和sha-3算法对数据进行三次加密以获取加密的数据包的方式为:1、aes-192算法、3des算法和sha-3算法依次对数据进行三次加密以获取加密的数据包;2、aes-192算法、sha-3算法和3des算法依次对数据进行三次加密以获取加密的数据包;3、3des算法、aes-192算法和sha-3算法依次对数据进行三次加密以获取加密的数据包;4、3des算法、sha-3算法和aes-192算法依次对数据进行三次加密以获取加密的数据包;5、sha-3算法、aes-192算法和3des算法依次对数据进行三次加密以获取加密的数据包;6、sha-3算法、3des算法和aes-192算法依次对数据进行三次加密以获取加密的数据包。

第二组合算法包括aes-256算法和sm4算法的组合,aes-256算法和sm4算法的组合是指,aes-256算法和sm4算法对数据进行两次加密以获取加密的数据包。

aes-256算法与sm4算法对数据进行两次加密以获取加密的数据包的方式为:1、aes-256算法与sm4算法依次对数据进行两次加密以获取加密的数据包的方式;2、sm4算法与aes-256算法依次对数据进行两次加密以获取加密的数据包的方式。

基于np完全问题的后量子密钥分配算法需要以量子通信为基础,电光调制器是利用某些电光晶体电光效应制成的调制器。电光效应即当把电压加到电光晶体上时,电光晶体的折射率将发生变化,结果引起通过该晶体的光波特性的变化,实现对光信号的相位、幅度、强度以及偏振状态的调制。

密钥产生器通过产生一系列随机数,改变光信号,让光信号携带上该随机数信息。密钥随机重排序:使用随机重排序算法。算法采用基于时间的重排序方法,按发送和估算接收时刻,以及根据时刻哈希的重排方式定义表,一个表项是1280位的数字,由该数字决定具体重排方法。重排方式定义表就是预想定义的定长的数字表格,该表格可用更换硬件芯片的方法修改。按照时刻哈希到该表格的某一行。各个行的数字不同。按发送和估算接收时刻,以及根据时刻哈希,用该哈希值查表,一个表项是1280位的数字,这个数字就决定了具体的重排方法。重排方式定义表就是预想定义的定长的数字表格,该表格可用更换硬件芯片的方法修改。按照时刻哈希到该表格的某一行。各个行的数字不同。按发送和估算接收时刻,以及根据时刻哈希,用该哈希值查表,一个表项是1280位的数字,这个数字就决定了具体的重排方法。

密钥通过量子通信通道从发送端传输到接收端,如果中间被偷窥者测量,则量子状态会发生改变,在接收端将不能恢复密钥。而偷窥者得到的信息由于是被随机重排序的,所以偷窥者也不能获得原信息。即便偷窥者偷窥了多次,也不能发现规律,所以不能破解。此外,由于接收端发现信息泄漏,将会发出报警信号,保证系统安全。

接收端也保存一个同样的重排方式定义表,放在次序及密钥恢复器中,当接收端接收到光信号后,用光信号中传递的哈希值先查表,再按照重拍方式定义表对接收信号重排序。并把恢复顺序的密钥和自己的密钥放在一起验证,如果验证通过,则表示信号没有破坏。可以开始测量光信号,获取信息。

以np问题对应的量子计算np问题为基础设计密码系统。我们采用的方法是基于哈希算法签名。具体方法是:merkle签名方案具体实现。merkle签名方案是经过学术界论证,可以抗击量子计算机破解的算法。该算法主要分三个步骤:

1.生成密钥:生成密钥的方法是采用如图3所示的哈希树。哈希树是通过计算公钥yi的哈希值h(yi),然后再继续向上计算h(yi)的哈希值,直到只剩下一个节点,如图4所示。哈希树节点数值对就可以作为密钥。

2.生成签名:签名者挑选一个密钥对(xi,yi),用一次性签名方案把信息m签名,再把增加额外的信息到m,证明m确实是被该密钥签名过的数据。如下图所示auth[0],auth[1]。

3.签名验证:接收者收到m信息后,用公钥yi来验证m是否被一次性验证方案签名过。如果验证通过,则接收者计算a0=h(yi),a1=h(a0|auth0),a2=h(a1|auth1)…an,如果所有的ai都与公钥符合,则签名是有效的。

椭圆曲线密码加密机制具体是指椭圆加密算法(ellipticcurvecryptography,ecc)是一种公钥加密体制,最初由koblitz和miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成abel加法群上椭圆离散对数的计算困难性。

rc4算法是指对称加密(也叫私钥加密)算法,意思是加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。其特点是算法简单,运行速度快,而且密钥长度是可变的,可变范围为1-256字节(8-2048比特),在如今技术支持的前提下,当密钥长度为128比特时,用暴力法搜索密钥已经不太可行,所以可以预见rc4的密钥范围任然可以在今后相当长的时间里抵御暴力搜索密钥的攻击。

安全传输层协议(tls)用于在两个通信应用程序之间提供保密性和数据完整性。tls记录协议是一种分层协议。每一层中的信息可能包含长度、描述和内容等字段。记录协议支持信息传输、将数据分段到可处理块、压缩数据、应用mac、加密以及传输结果等。对接收到的数据进行解密、校验、解压缩、重组等,然后将它们传送到高层客户机。

tls记录协议提供的连接安全性具有两个基本特性:

私有――对称加密用以数据加密(des、rc4等)。对称加密所产生的密钥对每个连接都是唯一的,且此密钥基于另一个协议(如握手协议)协商。记录协议也可以不加密使用。

可靠――信息传输包括使用密钥的mac进行信息完整性检查。安全哈希功能(sha、md5等)用于mac计算。记录协议在没有mac的情况下也能操作,但一般只能用于这种模式,即有另一个协议正在使用记录协议传输协商安全参数。

dtls(datagramtransportlayersecurity)即数据包传输层安全性协议。最为明显的选择是设计一个通用的信道安全协议,它可以使用数据报传输,就像tcp上的tls。这样一个协议可以在用户空间中实现,这样便于安装,但是要足够灵活和通用,能够许多面向数据报的应用程序提供安全。

aes加密算法是密码学中的高级加密标准(advancedencryptionstandard,aes),又称rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的des,已经被多方分析且广为全世界所使用。aes的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现,且具有很高的安全性,能有效抵抗自前己知的攻击,如线性攻击、插值攻击、差分攻击和相关密钥攻击等。

3des(或称为tripledes)是三重数据加密算法(tdea,tripledataencryptionalgorithm)块密码的通称。它相当于是对每个数据块应用三次des加密算法。由于计算机运算能力的增强,原版des密码的密钥长度变得容易被暴力破解;3des即是设计用来提供一种相对简单的方法,即通过增加des的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。

3des既可以使用三个密钥,也可以使用两个密钥。它有三个显著的优点:首先它的密钥长度是168位,完全能够抵抗穷举攻击;其次是相当安全,该加密算法比任何其他加密算法受到分析的时间都要长;其三,由于3des的底层加密算法与des相同,所以许多现有的des软硬件产品都能方便地实现3des,因此使用方便。

sha3简介:由于近年来对传统常用hash函数如md4、md5、sha0、sha1、ripenmd等的成功攻击,美国国家标准技术研究所(nist)在2005年、2006年分别举行了2届密码hash研讨会;同时于2007年正式宣布在全球范围内征集新的下一代密码hash算法,候选散列函数必须好实现。它应该消耗最少的资源即使散列大量的消息文本。许多候选算法实际上是无法达到这个要求。候选算法必须保守安全。它应该抵御已知的攻击,同时保持一个大的安全系数。keccak是sha-3标准的一个不错的选择。它迅速,且位分布均匀,抗碰撞性好。

dtls协议被设计用来保证应用通信数据的安全。可靠会话建立dtls必须提供一个机制来认证对端,进行可靠密钥建立、算法协商合参数传递。既然dtls完全运行在不可靠的数据报通信之上,必须实现重传机制来保证握手信息的可靠传递

sm4密码算法是一个分组算法,其算法设计简沽,结构有特点,安全高效。sm4算法的算法结构:数据分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法均采取32轮迭代结构。sm4密码算法以字节(8位)和字节(32位)作为单位进行数据处理。sm4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。sm4的安全性:sm4密码算法经过我国专业密码机构的充分分析测试,可以抵抗差分攻击、线性攻击等现有攻击,因此是安全的。

身份证数据是指,居民二代身份证的物理卡号和/或typeb型卡物理序列号。

s102通过nb-iot网络共享数据包至连接nb-iot网络的目标节点,目标节点至少包括nb-iot网络平台、预置有nb-iot模组的门锁和与门锁匹配的控制装置,该控制装置预先关联至少一个预置有nb-iot模组的门锁;nb-iot模组是指sn-12nb-iot通信模块。

目标节点请求获取密钥以使用密钥解密数据包之后,所述nb-iot网络平台和/或控制装置通过nb-iot网络发送指令给预置有nb-iot模组的门锁,预置有nb-iot模组的门锁中的nb-iot网络模组通过nb-iot网络接收nb-iot网络平台和/或控制装置发送的指令。

与门锁匹配的控制装置可以安装在手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:

图5示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图5,手机包括:射频(radiofrequency,rf)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wirelessfidelity,wifi)模块1570、处理器1580、以及电池1590等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

nb-iot网络模组通过nb-iot网络接收nb-iot网络平台和/或控制装置发送的指令,是指,nb-iot网络模组通过nb-iot网络接收nb-iot网络平台和/或控制装置发送是否允许居民二代身份证、指纹、mf卡和/或数字密码开关预置有nb-iot模组的门锁的指令。

二代居民二代身份证都有存储一些个人的相关电子信息,这些信息都需要通过特定的软硬件设备才能读取,这些软硬件设备一般在公安局、酒店、旅馆等场所会有。而居民二代身份证物理卡号是一个必须通过这些软硬件设备才能读取的数据,这些数据的主要作用是辨别居民二代身份证的真假。当然,为了保证钥匙下发的过程中不为非法截取,还需要用到钥匙加密技术,典型的钥匙加密技术有椭圆加密算法(ecc),其是一种公钥加密体制,其数学基础是利用椭圆曲线上的有理点构成abel加法群上椭圆离散对数的计算困难性。椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。解椭圆曲线上的离散对数问题的最好算法是pollardrho方法,其时间复杂度是完全指数阶的。

允许居民二代身份证开关预置有nb-iot模组的门锁的指令,是指,允许居民二代身份证的物理卡号和/或typeb型卡物理序列号开关预置有nb-iot模组的门锁的指令。

nb-iot网络平台记录并存储接收nb-iot网络平台和/或控制装置发送的指令的记录和使用所述密钥解密数据包的的记录。

s103目标节点请求获取密钥以使用所述密钥解密数据包。

nb-iot网络平台记录并存储门锁获取数据包的记录和使用所述密钥解密数据包的的记录。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,模块和相关工作单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的方法和平台或装置或模块或单元,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1