本发明专利技术涉及一种基于NFC的点对点数据传输方法,包括:1)首先两台即将进行点对点传输的NFC设备A和B均使用RSA加密算法,分别得到一组公钥和私钥2)两台NFC设备A和B两端各自生成一个随机数Ra、Rb,分别与各自设备Id,绑定组成有序数对,每台NFC设备使用对方设备的公钥加密自己的有序数对,并交换两组数对加密后的密文,使用各自的私钥解密收到的密文,得到对方传递过来的随机数和设备Id;3)每台NFC设备各自拼接两个数对,然后使用哈希算法生成会话密钥R;4)传输数据时,使用上述步骤生成的会话密钥R对要传递的数据进行加密,并将密文进行混淆拆分处理。本发明专利技术能够保证基于NFC的点对点数据传输过程的可靠性、高效性以及安全性。
【技术实现步骤摘要】
一种基于NFC的点对点数据传输方法
本专利技术涉及一种点对点数据传输方法。
技术介绍
随着无线通讯技术的不断发展,NFC技术自出现以来,凭借自身传输带宽高、能耗低等优势而被应用到各行业中。可以说作为RFID技术的一个延伸,NFC突破了RFID只能实现信息的读取及判定的局限,强调双方可以近距离滴交互信息。而在NFC产业链中最重要的应用当数支付产业,因此,其安全性问题也逐渐成为了关注的热点。现阶段NFC三种工作模式中的卡模拟模式与读卡器模式的安全性加密技术已然趋于成熟,目前业界普遍看好NFC技术,最主要的是该技术这两种工作模式的加密性能很好,因此逐步应用在银行小额支付以及转账方面。而点对点模式作为第三种重要的工作模式,其传输过程却存在着严重的明文传输这一安全风险。相比于另两种方式,移动设备间近距离直接传递数据(例如交换商务名片、个人相互间的资金圈存业务、手机向NFC打印机传输重要打印数据等方面)的安全性就显得尤为薄弱,也迫切成为需要改进的问题。
技术实现思路
本专利技术的目的是改进现有的NFC点对点模式数据传输方法的缺陷,提出一种能够保证通信过程可靠性、高效性以及安全性的基于NFC的点对点数据传输方法。本专利技术的技术方案如下:一种基于NFC的点对点数据传输方法,包括步骤如下:1)首先两台即将进行点对点传输的NFC设备A和B均使用RSA加密算法,分别计算得到各自的一组公钥和私钥,对外公开交换公钥,但不公开私钥;2)接下来两台NFC设备A和B两端各自生成一个随机数Ra、Rb,分别与各自设备Id,分别取名为Ida、Idb,绑定组成有序数对(Ra、Ida)、(Rb、Idb),每台NFC设备使用对方设备的公钥加密自己的有序数对,并交换两组数对加密后的密文,然后使用各自的私钥解密收到的密文,得到对方传递过来的随机数和设备Id;3)每台NFC设备各自拼接两个数对,得到序列[Ra、Ida、Rb、Idb],然后使用MD5哈希算法从中获取一个固定长度的密钥作为接下来通讯的会话密钥R;4)传输数据时,使用上述步骤生成的会话密钥R对要传递的数据M进行加密,将加密后得到的密文m按照序位号nmod3结果为0、1、2的标准提取并进行拆分,拆分后重组得到3段密文m1、m2、m3,再将每段密文都按照序位号2n标准循环移位重排序,经过上述混淆处理后得到最终要传输的密文s1、s2、s3;5)将要传输的密文s1、s2、s3分别进行传输;6)接收端当且仅当接收到全部的密文数据时,才将这3部分数据段按照原混淆和拆分算法逆行恢复成原始的有序密文m,再用会话密钥R进行解密,还原出明文M。本专利技术通过在NFC协议栈之上添加自定义的NFC加密方法,对点对点传输的数据进行加密保护,有效地消除过程中盗取窃听等安全隐患,从而提高安全性。所设计的NFC传输加密方法兼有公开密钥密码体制与对称密钥密码体制两者的优点,结合NFC设备的实际,使用哈希、拆分、混淆等方法实现了多重加密,充分保证了通信的安全及可靠。具体而言,本专利技术具有下列特点:(1)应用针对性强:在已有的NFC两种工作模式(卡模拟模式与读卡器模式)的安全性加密已然趋于成熟的基础上,本专利技术一改过去这两种工作模式对于加密的要求,特别依据点对点模式中出现的问题进行了有针对性的加密设计,改进措施更加专一有力。(2)灵活选择加密方式:由于传输数据的大小对于加密的影响显著,公开密钥密码体制适用于小型数据交换,对称密码加密体制多应用于大型数据的交换,因此设计上选择将两者的优势相结合。RSA加密算法作为最具代表性的公钥密码体制,使用不同的加密密钥与解密密钥,并有着“由已知加密密钥推导出解密密钥在计算上是不可行的”先天优势,安全性良好特别适合于小数据加密,故而选择用其加密设备的基本信息;当两端均获得对方设备的信息后,再结合自身信息各自在本地即可完成计算,确定接下来的会话密钥而无需再进行密钥传输,可以避免拦截,并且无论接下来NFC传输数据的大小如何,对称密钥都可以以其自身的快捷高效很方便地将数据进行加密封装。(3)实现多重加密:为进一步确保传输安全,设计将密文按照自定义的提取拆分规则切割成若干段密文后再传递,并且传递前要将每段密文使用自定义的规则进行序位混淆处理。这样一来,每一段密文不仅由其自身生成的算法决定,还与其他几段密文紧密相关;第三方只拦截其中的一段或几段不仅无法解析出局部的明文,连恢复密文正确的序列还原出完整的密文也很难做到。因此实现了多重安全保证。(4)改动最小原则:由于NFC加密层数据没有指定特定的加密体制,因而可以平滑的进行升级采用密级更高的加密方案,而不需要改变已有的函数接口,从而达到保证安全与改动最小的双重优势。附图说明图1是本专利技术中分析NFC点对点工作模式漏洞产生的示意图。图2是本专利技术中NFC点对点工作模式传输数据加密解密的整体运作流程图。具体实施方式为使本专利技术的目的、实现方案和优点更为清晰,下面对本专利技术的具体实施作进一步的详细描述,本专利技术的具体图解参见图1和图2所示。(1)用两台NFC设备直接相互感应传递数据时,中途利用相关窃听装置进行拦截抓取,分析测试结果发现,抓取到的数据不论从握手应答阶段开始还是建立连接后实际传输,均为明文。以下图1为分析NFC点对点传输模式工作原理及发现测试漏洞的示意图。故而需要在当前NFC协议栈之上添加额外的NFC加密方法,保护点对点模式传输的数据。(2)算法设计上,我们可以采用公开密钥加密与对称密钥加密相结合的方式,不需要专门的保密通道即可预先交换双方使用的公开密钥。在此基础上,结合NFC设备的具体信息,使用公钥加密私钥解密的方式,向对方传递自己的基本信息,两方信息相结合后,哈希计算出一个只有双方互知的对称密钥。用该对称密钥加密数据后,进一步对整段密文进行提取拆分和混淆排序处理,之后再逐段进行发送。接收端只需要按照定义好的规则逆行处理,解密即可得到原始明文。(3)针对上述分析,设计具体的加密算法,步骤如下:1)首先两台即将进行点对点传输的NFC设备A和B均使用RSA加密算法,分别计算得到各自的一组公钥和私钥,对外公开交换公钥,但不公开私钥;2)接下来两台NFC设备A和B两端各自生成一个随机数Ra、Rb,分别与各自设备的NFCId(取名为Ida、Idb)绑定组成有序数对(Ra、Ida)、(Rb、Idb)。每台NFC设备使用对方设备的公钥加密自己的有序数对儿,并交换两组数对加密后的密文,然后使用各自的私钥解密收到的密文,得到对方传递过来的随机数和设备Id;3)交互后,两端各自拼接两个数对,得到序列[Ra、Ida、Rb、Idb],然后使用MD5哈希算法从中获取一个固定长度的密钥作为接下来通讯的会话密钥R;4)传输数据时,使用上述步骤生成的会话密钥R对要传递的数据M进行加密。将加密后得到的密文m按照序位号nmod3结果为0、1、2的标准提取并进行拆分,拆分后重组得到3段密文m1、m2、m3。再将每段密文都按照序位号2n标准循环移位重排序,经过上述混淆处理后得到最终要传输的密文s1、s2、s3;5)将混淆后的3部分密文数据段分别进行传输。当且仅当接收端接收到全部的密文数据时,才可以将这3部分数据段按照原混淆和拆分算法逆行恢复成原始的有序密文m,再用会话密钥R进行解密,还原出明文M。反之,当本文档来自技高网...
【技术保护点】
一种基于NFC的点对点数据传输方法,包括步骤如下:1)两台即将进行点对点传输的NFC设备A和B均使用RSA加密算法,分别计算得到各自的一组公钥和私钥,对外公开交换公钥,但不公开私钥;2)两台NFC设备A和B两端各自生成一个随机数Ra、Rb,分别与各自设备Id,即Ida和Idb,绑定组成有序数对(Ra、Ida)、(Rb、Idb),每台NFC设备使用对方设备的公钥加密自己的有序数对,并交换两组数对加密后的密文,然后使用各自的私钥解密收到的密文,得到对方传递过来的随机数和设备Id;3)每台NFC设备各自拼接两个数对,得到序列[Ra、Ida、Rb、Idb],然后使用MD5哈希算法从中获取一个固定长度的密钥作为接下来通讯的会话密钥R;4)传输数据时,使用上述步骤生成的会话密钥R对要传递的数据M进行加密,将加密后得到的密文m按照序位号n mod3结果为0、1、2的标准提取并进行拆分,拆分后重组得到3段密文m1、m2、m3,再将每段密文都按照序位号2n标准循环移位重排序,经过上述混淆处理后得到最终要传输的密文s1、s2、s3;5)将要传输的密文s1、s2、s3分别进行传输;6)接收端当且仅当接收到全部的密文数据时,才将这3部分数据段按照原混淆和拆分算法逆行恢复成原始的有序密文m,再用会话密钥R进行解密,还原出明文M。...
【技术特征摘要】
1.一种基于NFC的点对点数据传输方法,包括步骤如下:1)首先两台即将进行点对点传输的NFC设备A和B均使用RSA加密算法,分别计算得到各自的一组公钥和私钥,对外公开交换公钥,但不公开私钥;2)接下来两台NFC设备A和B两端各自生成一个随机数Ra、Rb,分别与各自设备Id,分别取名为Ida、Idb,绑定组成有序数对(Ra、Ida)、(Rb、Idb),每台NFC设备使用对方设备的公钥加密自己的有序数对,并交换两组数对加密后的密文,然后使用各自的私钥解密收到的密文,得到对方传递过来的随机数和设备Id;3)每台NFC设备各自拼接两个数对,得到序列[Ra、Ida、Rb、...
【专利技术属性】
技术研发人员:邹佳伟,金志刚,
申请(专利权)人:天津大学,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。