CN111541642A - 基于动态秘钥的蓝牙加密通信方法、装置和计算机设备 - Google Patents
基于动态秘钥的蓝牙加密通信方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111541642A CN111541642A CN202010186580.3A CN202010186580A CN111541642A CN 111541642 A CN111541642 A CN 111541642A CN 202010186580 A CN202010186580 A CN 202010186580A CN 111541642 A CN111541642 A CN 111541642A
- Authority
- CN
- China
- Prior art keywords
- terminal
- encrypted communication
- server
- dynamic key
- encrypted
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 383
- 238000004891 communication Methods 0.000 title claims abstract description 382
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000012790 confirmation Methods 0.000 claims abstract description 95
- 238000012795 verification Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims description 16
- 230000000694 effects Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 20
- 238000004590 computer program Methods 0.000 description 16
- 238000005336 cracking Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请涉及一种基于动态秘钥的蓝牙加密通信方法、装置和计算机设备。所述方法包括:接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。采用本方法能够提高加密通信的效果。
Description
技术领域
本申请涉及数据通信技术领域,特别是涉及一种基于动态秘钥的蓝牙加密通信方法、装置、计算机设备和存储介质。
背景技术
目前市面上的蓝牙设备和手机设备进行加密通信时,往往在进行加密通信时,蓝牙设备和手机设备往往是需要通过网络连接后台服务器,并通过后台服务器对蓝牙设备和手机设备进行一系列的鉴权和认证。
然而,一旦后台服务器出现问题或者网络链路出现问题,蓝牙设备和手机设备往往不能顺利地加密通信,同时一系列的鉴权认证以及加解密通信过程都会带来时间上的开销,难以保证蓝牙设备和手机设备之间加密通信的实时性。
因此,现有的加密通信方法存在效果不佳的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高加密通信效果的加密通信方法、装置、计算机设备和存储介质。
一种加密通信方法,应用于第一终端,该方法包括:
接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
一种加密通信方法,应用于第二终端,所述方法包括:
发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
一种加密通信装置,应用于第一终端,所述装置包括:
接收模块,用于接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
发送模块,用于当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
加密通信模块,用于当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
一种加密通信装置,应用于第二终端,所述装置包括:
发送模块,用于发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
接收模块,用于接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
加密通信模块,用于当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
一种计算机设备,应用于第一终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
一种计算机设备,应用于第二终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
一种计算机可读存储介质,应用于第一终端,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
一种计算机可读存储介质,应用于第二终端,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
上述加密通信方法、装置、计算机设备和存储介质,通过接收第二终端发送的加密通信请求,其中,第二终端与第一终端预先通过服务器进行绑定操作,当对加密通信请求校验通过时,发送基于加密通信请求生成的加密通信确认消息至第二终端;当第二终端对加密通信确认消息校验通过时,采用共享动态密钥与第二终端进行加密通信;其中,共享动态密钥为第二终端与第一终端之间共享的动态密钥;共享动态密钥为根据服务器预下发的服务器签名生成的,如此,在第一终端与第二终端相互校验成功后,直接采用根据服务器预下发的服务器签名生成的共享动态密钥作为第二终端与第一终端的对称密钥进行加密通信,从而在无需经过服务器进行实时鉴权和认证以提高加密通信建立效率的情况下,保障第一终端与第二终端之间的加密通信的安全性,进而提高了第二终端与第一终端的加密通信效果。
附图说明
图1为一个实施例中一种加密通信方法的应用环境图;
图2为一个实施例中一种加密通信方法的流程示意图;
图3为一个实施例中一种第一终端的硬件结构框图;
图4为另一个实施例中一种加密通信方法的流程示意图;
图5为一个实施例中一种应用于第一终端的加密通信方法的流程示意图;
图6为一个实施例中另一种加密通信方法的流程示意图;
图7为一个实施例中一种加密通信装置的结构框图;
图8为另一个实施例中一种加密通信装置的结构框图;
图9为一个实施例中一种加密通信装置的应用场景图;
图10为一个实施例中一种加密通信方法的时序图;
图11为另一个实施例中一种加密通信方法的时序图;
图12为一个实施例中另一种加密通信方法的时序图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的加密通信方法,可以应用于如图1所示的应用环境中。其中,第一终端110和第二终端120均可以通过网络与服务器130进行连接。另外,第一终端110和第二终端120也可以通过独立通信链路进行通信,如蓝牙连接等。具体地,第一终端110接收第二终端120发送的加密通信请求;其中,第二终端120与第一终端110预先通过服务器130进行绑定操作;当对加密通信请求校验通过时,第一终端110发送基于加密通信请求生成的加密通信确认消息至第二终端120;当第二终端120对加密通信确认消息校验通过时,第一终端110采用共享动态密钥与第二终端120进行加密通信;其中,共享动态密钥为第二终端120与第一终端110之间共享的动态密钥;共享动态密钥为根据服务器130预下发的服务器签名生成的。
实际应用中,第一终端110可以但不限于是各种车载终端、智能门锁等蓝牙设备。第二终端120可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种加密通信方法,应用于第一终端,包括以下步骤:
步骤S210,接收第二终端发送的加密通信请求;其中,第二终端与第一终端预先通过服务器进行绑定操作。
其中,绑定操作可以是指将第一终端110预先生成的绑定配置信息共享至第二终端120和服务器130的操作。其中,绑定配置信息用于供服务器130生成服务器签名。另外,绑定配置信息还可以用于供第二终端120生成加密通信请求。
具体实现中,第二终端120需要和第一终端110进行加密通信时,第二终端120首先生成加密通信请求。
需要说明的是,在第一终端110接收第二终端120发送的加密通信请求之前,第一终端110已与第二终端120建立网络连接,例如,建立蓝牙连接。
其中,加密通信请求包括通信请求随机数R4和通信请求签名Hash(Sc)。
具体来说,第二终端120可以通过扫描第一终端110展示的二维码,获取第一终端110的设备识别码ESN,并与第一终端110建立蓝牙连接。然后,第二终端120在生成加密通信请求的过程中,第二终端120首先生成通信请求随机数R4,并生成通信请求签名Hash(Sc)。其中,在生成通信请求签名Hash(Sc)的过程中,第二终端120通过预设的签名生成算法,对第一终端110的设备识别码ESN、加密参数T1、第三随机数R3和用户密码Kusr进行处理得到的通信请求签名Hash(Sc)。最后,第二终端120将通信请求随机数R4和通信请求签名Hash(Sc)作为加密通信请求发送至第一终端110。
其中,第三随机数R3为第二终端120从第一终端110获取的。具体地,当第一终端110与第二终端120建立网络连接后,第一终端110生成第三随机数R3,然后,第一终端110通过对称加密的方式将第三随机数R3加密发送至第二终端120,进而用于供第二终端120生成上述的加密通信请求。
实际应用中,签名生成算法可以采用HMAC-SHA-1算法(一种加密算法)。通信请求签名可以表示为Hash(Sc)=MAC-SHA-1(ESN,R3,Kusr)。
第一终端110接收到第二终端120发送的加密通信请求后,第一终端110按照预设的签名校验算法对加密通信请求进行验证。当第一终端110对加密通信请求校验不通过时,第一终端110则断开与第二终端120的网络连接。
步骤S220,当对加密通信请求校验通过时,发送基于加密通信请求生成的加密通信确认消息至第二终端。
具体实现中,当第一终端110对加密通信请求校验通过时,第一终端110则发送基于加密通信请求生成的加密通信确认消息Hash(Sd)至第二终端120,以供第二终端120进行验证。当第二终端120对加密通信确认消息校验不通过时,第二终端120则会断开与第一终端110的网络连接。
步骤S230,当第二终端对加密通信确认消息校验通过时,采用共享动态密钥与第二终端进行加密通信;其中,共享动态密钥为第二终端与第一终端之间共享的动态密钥。
其中,共享动态密钥为根据服务器预下发的服务器签名生成的。
具体实现中,当第二终端120对加密通信确认消息校验通过时,第一终端110判定加密通信建立成功,第一终端110采用共享动态密钥与第二终端120进行加密通信。具体来说,共享动态密钥为第二终端120与第一终端110之间共享的动态密钥。第一终端110与第二终端120在生成共享动态密钥时,均采用相同的加密算法,对服务器130预下发的服务器签名进行加密,生成针对服务器签名的一次性密码作为第二终端120与第一终端110之间共享的共享动态密钥。如此,将共享动态密钥作为第二终端120与第一终端110进行加密通信的动态密钥进行控制报文的对称加密传输。
图3提供了一个实施例中一种第一终端的硬件结构框图;其中,310为蓝牙通信模块、320为互联网通信模块;蓝牙通信模块310与互联网通信模块320通过Uart(UniversalAsynchronous Receiver/Transmitter,通用异步收发传输器)进行通信连接;实际应用中,第一终端110通过蓝牙通信模块310与第二终端110进行蓝牙连接;第一终端110通过互联网通信模块320与服务器130进行网络连接。
上述加密通信方法中,通过接收第二终端发送的加密通信请求,其中,第二终端与第一终端预先通过服务器进行绑定操作,当对加密通信请求校验通过时,发送基于加密通信请求生成的加密通信确认消息至第二终端;当第二终端对加密通信确认消息校验通过时,采用共享动态密钥与第二终端进行加密通信;其中,共享动态密钥为第二终端与第一终端之间共享的动态密钥;动态密钥为根据服务器预下发的服务器签名生成的,如此,在第一终端与第二终端相互校验成功后,直接采用根据服务器预下发的服务器签名生成的共享动态密钥作为第二终端与第一终端的对称密钥进行加密通信,从而在无需经过服务器进行实时鉴权和认证以提高加密通信建立效率的情况下,保障第一终端与第二终端之间的加密通信的安全性,进而提高了第二终端与第一终端的加密通信效果。
在另一个实施例中,在采用共享动态密钥与第二终端进行加密通信的步骤之前,还包括:确定服务器预下发的服务器签名;基于预设的一次性密码生成算法,对服务器签名进行加密,得到共享动态密钥。
其中,服务器签名为服务器130通过预设的签名生成算法,对预先储存的第一终端的设备识别码、加密参数、第一随机数和第二随机数进行处理得到的签名;其中,加密参数和第一随机数均为服务器130在进行绑定操作时从第一终端110获取的;第二随机数为服务器130生成的。
其中,设备识别码可以是指第一终端110的设备唯一标识码ESN。
实际应用中,在通过服务器130对第一终端110和第二终端120进行绑定操作的过程中,第一终端110生成加密参数T1和第一随机数R1,并将加密参数T1和第一随机数R1发送至服务器130。
当服务器130接收到加密参数T1和第一随机数R1后,服务器130生成第二随机数R2,并通过预设的签名生成算法,对设备识别码ESN、加密参数T1、第一随机数R1和第二随机数R2进行处理得到的服务器签名,并将服务器签名分别下发至第一终端110和第二终端120。
实际应用中,签名生成算法可以采用HMAC-SHA-1算法(一种加密算法)。服务器签名可以表示为Hash(Sb)=HMAC-SHA-1(ESN,R1,R2,T1)。
具体实现中,第一终端110在采用共享动态密钥与第二终端120进行加密通信的步骤之前,第一终端110确定服务器130预先下发的服务器签名Hash(Sb),然后,第一终端110再基于预设的一次性密码生成算法,对服务器签名Hash(Sb)进行加密,得到共享动态密钥。
本实施例的技术方案,在生成共享动态密钥通过基于预设的一次性密码生成算法,对服务器签名进行加密;如此,使得第一终端和第二终端每次在成功建立加密通信时,第一终端和第二终端每次采用的共享动态密钥均是不同的,从而提高了第一终端和第二终端每次进行加密通信的安全性,进而提高了第一终端和第二终端之间的加密通信效果。
在另一个实施例中,基于预设的一次性密码生成算法,对服务器签名进行加密,得到共享动态密钥,包括:对第一终端的设备签名、服务器签名和加密参数进行加密,得到密钥串;其中,第一终端的设备签名为第一终端在进行绑定操作时生成的;生成第三随机数,并通过一次性密码生成算法,对密钥串和第三随机数进行处理,得到一次性密码,作为共享动态密钥。
其中,第一终端110的设备签名为第一终端110在进行绑定操作时预先生成的。第一终端110的设备签名可以表示为Hash(Sa)。
具体实现中,在基于预设的一次性密码生成算法,对服务器签名进行加密,得到共享动态密钥的过程中,具体包括如下步骤;第一终端110通过预设加密算法对第一终端110的设备签名Hash(Sa)、服务器签名Hash(Sb)和加密参数T1进行加密,得到密钥串。实际应用中,密钥串可以表示为K=E(Hash(Sa),Hash(Sb),T1);其中,E可以是一种加密算法。
然后,第一终端110生成第三随机数R3,并通过一次性密码生成算法,对密钥串K和第三随机数R3进行处理,得到一次性密码,作为共享动态密钥。
另外,第一终端110在生成第三随机数R3,还可以第三随机数R3进行加密并发送至第二终端120,以使第二终端120生成共享动态密钥。
需要说明的是,第二终端120生成共享动态密钥的具体过程与第一终端110生成共享动态密钥过程相同,在此不再赘述。
实际应用中,一次性密码生成算法可以是HOTP(HMAC-based One-Time Password,基于HMAC算法加密的一次性密码)算法,共享动态密钥可以表示为HOTP(K,C)=Truncate(HMAC-SHA-1(K,C));其中,C=R3,K=E(Hash(Sa),Hash(Sb),T1)。
本实施例的技术方案,在基于预设的一次性密码生成算法,对服务器签名进行加密,得到共享动态密钥的过程中,通过对第一终端的设备签名、服务器签名和加密参数进行加密,得到密钥串;其中,第一终端的设备签名为第一终端在进行绑定操作时生成的;生成第三随机数,并通过一次性密码生成算法,对密钥串和第三随机数进行处理,使得得到的共享动态密钥可以有效地融合了第一终端的设备信息同时具有事件唯一性即第一终端和第二终端在每次成功建立加密通信时,两者每次采用的共享动态密钥均是不同的,从而提高了第一终端和第二终端每次进行加密通信的安全性。
在另一个实施例中,在发送基于加密通信请求生成的加密通信确认消息至第二终端的步骤之前,还包括:通过预设的签名生成算法,对加密通信请求、第一终端的设备签名和用户密码进行处理,得到通信确认签名;确定通信确认签名为加密通信确认消息。
其中,用户密码为第一终端110在进行绑定操作时从第二终端120获取的。
其中,第一终端110的设备签名为第一终端110在进行绑定操作时生成的。
其中,加密通信请求包括通信请求随机数R4和通信请求签名Hash(Sc)。
具体实现中,在第一终端110发送加密通信确认消息至第二终端120的之前,第一终端110还需要根据加密通信请求,生成加密通信确认消息。第一终端110在根据加密通信请求,生成加密通信确认消息的过程中,具体还包括:第一终端110通过预设的签名生成算法,对通信请求随机数R4、通信请求签名Hash(Sc)、第一终端110的设备签名Hash(Sa)和用户密码Kusr进行处理,得到通信确认签名。实际应用中,签名生成算法可以采用HMAC-SHA-1算法(一种加密算法)。通信确认签名可以表示为Hash(Sd)=HMAC-SHA-1(ESN,Hash(Sa),Hash(Sc),R4,Kusr)。
最后,第一终端110确定通信确认签名为加密通信确认消息,并发送加密通信确认消息至第二终端120,以供第二终端120进行验证。
本实施例的技术方案,通过预设的签名生成算法,对加密通信请求、第一终端的设备签名和用户密码进行处理,得到加密通信确认消息,从而便于第二终端在保障安全性的同时进行快速且准确地进行验证,进而高效地完成第一终端与第二终端之间的相互校验过程,从而提高了第一终端与第二终端之间的加密通信效率。
如图4所示,在另一个实施例中,提供了一种加密通信方法,应用于第一终端,参照图4,该加密通信方法具体包括如下步骤。步骤S402,接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作。步骤S404,当对所述加密通信请求校验通过时,通过预设的签名生成算法,对所述加密通信请求、所述第一终端的设备签名和用户密码进行处理,得到加密通信确认消息;其中,所述用户密码为所述第一终端在进行所述绑定操作时从所述第二终端获取的;所述第一终端的设备签名为所述第一终端在进行所述绑定操作时生成的。步骤S406,发送所述加密通信确认消息至所述第二终端。步骤S408,当所述第二终端对所述加密通信确认消息校验通过时,确定所述服务器下发的服务器签名;其中,所述服务器签名为所述服务器通过预设的签名生成算法,对所述第一终端的设备识别码、加密参数、第一随机数和第二随机数进行处理得到的签名;其中,所述加密参数和第一随机数均为所述服务器在进行所述绑定操作时从所述第一终端获取的;所述第二随机数为所述服务器生成的。步骤S410,对所述第一终端的设备签名、所述服务器签名和所述加密参数进行加密,得到密钥串;其中,所述第一终端的设备签名为所述第一终端在进行所述绑定操作时生成的。步骤S412,生成第三随机数,并通过所述一次性密码生成算法,对所述密钥串和所述第三随机数进行处理,得到一次性密码,作为所述共享动态密钥。步骤S414,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述动态密钥为根据所述服务器预下发的服务器签名生成的。上述步骤的具体限定可以参见上文对一种加密通信方法的具体限定,在此不再赘述。
在另一个实施例中,在接收第二终端发送的加密通信请求的步骤之前,还包括:接收第二终端发送的绑定请求;响应绑定请求,生成绑定加密秘钥,并发送绑定加密秘钥至第二终端和服务器;根据绑定加密秘钥,通过服务器与第二终端进行绑定操作。
具体实现中,在接收第二终端120发送的加密通信请求的步骤之前,具体还包括:第二终端120可以通过扫描第一终端110展示的二维码,获取第一终端110的设备信息,然后,第二终端120根据该设备信息,向服务器130发送绑定第一终端110的绑定请求;当服务器130对第二终端120进行登录认证后,服务器130发送绑定请求至第一终端110。第一终端110接收到绑定请求后,响应绑定请求,生成绑定加密秘钥P1,并发送绑定加密秘钥P1至第二终端120和服务器130;具体地,第一终端110可以将绑定加密秘钥P1发送至服务器130,服务器130接收第一终端110的绑定加密秘钥P1,并将绑定加密秘钥P1发送至第二终端120,并接收第二终端120返回的基于绑定加密秘钥P1进行对称加密的绑定请求数据。
然后,第一终端110再根据绑定加密秘钥P1,通过服务器130与第二终端120进行绑定操作。具体地,第二终端120在接收到绑定加密秘钥P1后,第一终端110与第二终端120可以将加密秘钥P1作为绑定操作中的对称加密密钥,进而绑定配置信息的加密传输,以完成绑定操作。
本实施例的技术方案,接收第二终端发送的绑定请求;响应绑定请求,生成绑定加密秘钥,并发送绑定加密秘钥至第二终端和服务器;根据绑定加密秘钥,通过服务器与第二终端进行绑定操作,从而可以使第一终端安全地将其生成的绑定配置信息共享至第二终端和服务器。
在另一个实施例中,根据绑定加密秘钥,通过服务器与第二终端进行绑定操作,包括:接收第二终端发送的加密用户密码;加密用户密码为第二终端采用绑定加密秘钥对用户密码进行加密得到的;采用绑定加密秘钥,对加密用户密码进行解密,得到用户密码;生成加密参数和第一随机数,并通过预设的签名生成算法,对用户密码、第一终端的设备识别码、加密参数和第一随机数进行处理,得到第一终端的设备签名;发送第一终端的设备签名、加密参数和第一随机数至第二终端和服务器,以完成绑定操作。
其中,加密用户密码为第二终端120采用绑定加密秘钥对用户密码进行加密得到的。
具体实现中,第一终端110在根据绑定加密秘钥,通过服务器130与第二终端120进行绑定操作的过程中,具体包括:第一终端110接收第二终端120发送的加密用户密码。然后,第一终端110采用绑定加密秘钥P1,对加密用户密码进行解密,得到用户密码Kusr;然后,第一终端110生成加密参数T1和第一随机数R1,并通过预设的签名生成算法,对用户密码Kusr、第一终端110的设备识别码ESN、加密参数T1和第一随机数R1进行处理,得到第一终端110的设备签名。实际应用中,签名生成算法可以采用HMAC-SHA-1算法(一种加密算法)。第一终端110的设备签名可以表示为Hash(Sa)=HMAC-SHA-1(ESN,R1,Kusr,T1)。
然后,发送第一终端110的设备签名Hash(Sa)、加密参数T1和第一随机数R1至第二终端120和服务器130,以完成绑定操作。具体来说,第一终端110首先可以将设备签名Hash(Sa)、加密参数T1和第一随机数R1发送至服务器130供服务器130保存。服务器130再将设备签名Hash(Sa)、加密参数T1和第一随机数R1下发至第二终端120,以完成将第一终端110的设备签名Hash(Sa)、加密参数T1和第一随机数R1这些绑定配置信息进行共享,以完成绑定操作。
在另一个实施例中,在接收第二终端发送的加密通信请求的步骤之后,还包括:当对加密通信请求校验不通过时,记录校验失败次数,并断开与第二终端的网络连接;当校验失败次数大于预设的校验失败次数阈值时,拒绝接收第二终端发送的加密通信请求,直至拒绝时长大于预设的时长阈值。
具体实现中,当第一终端110在在接收第二终端120发送的加密通信请求的步骤之后,当第一终端110对加密通信请求校验不通过时,第一终端110记录校验失败次数,并断开与第二终端120的网络连接。
具体来说,当第一终端110对加密通信请求校验不通过时,第一终端110记录下第二终端120的校验失败次数,并建立该校验失败次数与第二终端120的网络连接地址(如,蓝牙MAC)之间的预设关系,断开与第二终端120的蓝牙连接。实际应用中,校验失败次数阈值可以是10。
同时,第一终端110确定校验失败次数大于预设的校验失败次数阈值的网络连接地址,拒绝接收来自该网络连接地址的加密通信请求,直至拒绝时长大于预设的时长阈值。具体来说,第一终端110可以拒绝与第二终端120进行蓝牙连接,直至拒绝时长大于预设的时长阈值。实际应用中,时长阈值可以是5分钟。
本实施例的技术方案,当对加密通信请求校验不通过时,记录校验失败次数,并断开与第二终端的网络连接;当校验失败次数大于预设的校验失败次数阈值时,拒绝接收第二终端发送的加密通信请求,直至拒绝时长大于预设的时长阈值,从而可以避免第一终端在短时间内接收到第二终端发送的无效加密通信请求,减少对第一终端的处理资源的占用,同时还可以有效的防止黑客进行暴力破解,保障了第一终端的数据安全。
在另一个实施例中,采用共享动态密钥与第二终端进行加密通信,包括:接收第二终端发送的加密数据;加密数据为第二终端采用共享动态密钥对待加密数据进行加密得到的;采用共享动态密钥,对加密数据进行解密;当加密数据解密成功时,返回解密成功消息至第二终端;
当加密数据解密失败时,记录解密失败次数,并断开与第二终端的网络连接;当记录解密失败次数大于预设的解密失败次数阈值时,发送共享动态密钥更新请求至服务器;共享动态密钥更新请求用于触发服务器生成新的服务器签名并下发至第一终端和第二终端。
其中,待加密数据可以是指需要进行加密传输的数据,如控制报文等。实际应用中,待加密数据可以包括第二终端120对第一终端110发起的控制指令。例如,当第一终端110为智能门锁时,待加密数据可以是第二终端120对智能门锁发起的开锁指令。
其中,加密数据可以是指采用共享动态密钥对待加密数据进行加密得到的数据。
其中,共享动态密钥更新请求用于触发服务器130生成新的服务器签名并下发至第一终端110和第二终端120。
实际应用中,第二终端120采用共享动态密钥对待加密数据进行加密,得到加密数据的过程中,首先第二终端120可以获取待加密数据;然后,第二终端120可以采用预设的第一加密算法(如TEA加密算法)对待加密数据进行加密,得到预加密数据;然后,第二终端120再采用预设的第二加密算法(如AES加密算法),使用共享动态密钥对预加密数据进行加密,得到加密数据。其中,加密数据可以表示为AES(TEA(Data));其中,Data为待加密数据。
需要说明的是,第一终端110采用共享动态密钥对待加密数据进行加密的具体过程与上述过程相同,在此不再赘述。
如此,通过采用两层加密算法,增强加密算法的可靠性,同时采用轻量级加密算法如TEA加密算法,能够很好的解决嵌入式设备的性能问题,同时采用TEA和AES结合的加密方式,也可以有效抵抗暴力破解。
具体实现中,当第二终端120对加密通信确认消息校验通过时,第一终端110和第二终端120此时处于加密通信阶段,第二终端120可以采用共享动态密钥对第二终端120中的待加密数据进行加密,并将加密数据发送至第一终端110以供第一终端110接收。当第一终端110接收到第二终端120发送的加密数据后,第一终端110采用共享动态密钥,对加密数据进行解密;当第一终端110对加密数据解密成功时,第一终端110返回解密成功消息至第二终端120。
第一终端110无法对加密数据进行解密(如,数据解密超时)即加密数据解密失败时,第一终端110记录解密失败次数,并断开与第二终端120的网络连接,例如,第一终端110自动断开与第二终端120的蓝牙连接并对加密数据的数据包进行丢弃。
当第一终端110确定解密失败次数大于预设的解密失败次数阈值时,第一终端110则发送共享动态密钥更新请求至服务器130;共享动态密钥更新请求用于触发服务器130生成新的服务器签名并下发至第一终端110和第二终端120。实际应用中,解密失败次数阈值可以是3。
更具体地,第一终端110可以重新生成第一随机数R1、加密参数T1,并将第一随机数R1和加密参数T1作为共享动态密钥更新请求发送至服务器130,进而使服务器130重新生成新的服务器签名Hash(Sb)并下发至到第一终端110和第二终端120。
本实施例的技术方案,在接收到第二终端发送的采用共享动态密钥对待加密数据进行加密得到的加密数据后;通过采用共享动态密钥,对加密数据进行解密;当加密数据解密失败时,记录解密失败次数,并断开与第二终端的网络连接;当记录解密失败次数大于预设的解密失败次数阈值时,发送共享动态密钥更新请求至服务器;共享动态密钥更新请求用于触发服务器生成新的服务器签名并下发至第一终端和第二终端,从而可以有效的防止黑客进行暴力破解。
在另一个实施例中,采用共享动态密钥,对加密数据进行解密,包括:生成针对共享动态密钥的多个备用密钥;采用共享动态密钥和多个备用密钥,对加密数据进行解密;当共享动态密钥和多个备用密钥均无法解密加密数据时,判定加密数据解密失败。
具体实现中,第一终端110在采用共享动态密钥,对加密数据进行解密;具体包括如下步骤:第一终端110生成针对共享动态密钥的多个备用密钥;具体来说,第一终端110可以根据与该共享动态密钥对应的第三随机数R3,生成备用随机数R3+1、备用随机数R3+2和备用随机数R3+N等密钥;然后,第一终端110根据备用随机数,生成备用密钥,进而使用备用密钥用于对加密数据进行解密。
例如,假设共享动态密钥可以表示为HOTP(K,R3),那么多个备用密钥可以表示为HOTP(K,R3+N);其中,N为正整数。实际应用中,N可以等于2。
当第一终端110采用共享动态密钥和多个备用密钥均无法解密加密数据时,第一终端110判定加密数据解密失败并记录解密失败次数,然后,第一终端110断开与第二终端120的网络连接,例如,第一终端110自动断开与第二终端120的蓝牙连接,并对加密数据的数据包进行丢弃。
本实施例的技术方案,在采用共享动态密钥,对加密数据进行解密的过程中,通过生成针对共享动态密钥的多个备用密钥;采用共享动态密钥和多个备用密钥,对加密数据进行解密,从而提高终端对加密数据进行解密的成功率,同时,当共享动态密钥和多个备用密钥均无法解密加密数据时,判定加密数据解密失败进而断开与第二终端的网络连接,从而可以有效的防止黑客进行暴力破解。
如图5所示,在一个实施例中,提供了一种应用于第一终端的加密通信方法,参照图5,该加密通信方法具体包括如下步骤。步骤S502,接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作。步骤S504,当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端。步骤S506,当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述动态密钥为根据所述服务器预下发的服务器签名生成的。步骤S508,接收所述第二终端发送的加密数据;所述加密数据为所述第二终端采用所述共享动态密钥对待加密数据进行加密得到的。步骤S510,生成针对所述共享动态密钥的多个备用密钥。步骤S512,采用所述共享动态密钥和多个所述备用密钥,对所述加密数据进行解密。步骤S514,当所述共享动态密钥和多个所述备用密钥均无法解密所述加密数据时,判定所述加密数据解密失败,记录解密失败次数,并断开与所述第二终端的网络连接。步骤S516,当所述解密失败次数大于预设的解密失败次数阈值时,发送共享动态密钥更新请求至所述服务器;所述共享动态密钥更新请求用于触发所述服务器生成新的服务器签名并下发至所述第一终端和所述第二终端。上述步骤的具体限定可以参见上文对一种加密通信方法的具体限定,在此不再赘述。
在一个实施例中,如图6所示,提供了另一种加密通信方法,应用于第二终端,包括以下步骤:步骤S610,发送加密通信请求至第一终端;其中,第二终端与第一终端预先通过服务器进行绑定操作。步骤S620,接收第一终端返回的加密通信确认消息;加密通信确认消息为第一终端对加密通信请求校验通过后根据加密通信请求生成的消息。步骤S630,当对加密通信确认消息校验通过时,采用共享动态密钥与第一终端进行加密通信;其中,共享动态密钥为第二终端与第一终端之间共享的动态密钥;动态密钥为根据服务器预下发的服务器签名生成的。上述步骤的具体限定可以参见上文对一种加密通信方法的具体限定,在此不再赘述。
上述的加密通信方法,通过接收第二终端发送的加密通信请求,其中,第二终端与第一终端预先通过服务器进行绑定操作,当对加密通信请求校验通过时,发送基于加密通信请求生成的加密通信确认消息至第二终端;当第二终端对加密通信确认消息校验通过时,采用共享动态密钥与第二终端进行加密通信;其中,共享动态密钥为第二终端与第一终端之间共享的动态密钥;动态密钥为根据服务器预下发的服务器签名生成的,如此,在第一终端与第二终端相互校验成功后,直接采用根据服务器预下发的服务器签名生成的共享动态密钥作为第二终端与第一终端的对称密钥进行加密通信,从而在无需经过服务器进行实时鉴权和认证以提高加密通信建立效率的情况下,保障第一终端与第二终端之间的加密通信的安全性,进而提高了第二终端与第一终端的加密通信效果。
应该理解的是,虽然图2、图4、图5和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4、图5和图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种加密通信装置,应用于第一终端,包括:
接收模块710,用于接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
发送模块720,用于当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
加密通信模块730,用于当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述动态密钥为根据所述服务器预下发的服务器签名生成的。
在其中一个实施例中,上述的一种加密通信装置,还包括:签名确定模块,用于确定所述服务器下发的服务器签名;其中,所述服务器签名为所述服务器通过预设的签名生成算法,对设备识别码、加密参数、第一随机数和第二随机数进行处理得到的签名;其中,所述加密参数和第一随机数均为所述服务器在进行所述绑定操作时从所述第一终端获取的;所述第二随机数为所述服务器生成的;密钥生成模块,用于基于预设的一次性密码生成算法,对所述服务器签名进行加密,得到所述共享动态密钥。
在其中一个实施例中,上述的密钥生成模块,具体用于对所述第一终端的设备签名、所述服务器签名和所述加密参数进行加密,得到密钥串;其中,所述第一终端的设备签名为所述第一终端在进行所述绑定操作时生成的;生成第三随机数,并通过所述一次性密码生成算法,对所述密钥串和所述第三随机数进行处理,得到一次性密码,作为所述共享动态密钥。
在其中一个实施例中,上述的一种加密通信装置,还包括:
签名运算模块,用于通过预设的签名生成算法,对所述加密通信请求、所述第一终端的设备签名和用户密码进行处理,得到通信确认签名;其中,所述用户密码为所述第一终端在进行所述绑定操作时从所述第二终端获取的;所述第一终端的设备签名为所述第一终端在进行所述绑定操作时生成的;确定所述通信确认签名为所述加密通信确认消息。
在其中一个实施例中,上述的一种加密通信装置,还包括:绑定请求接收模块,用于接收所述第二终端发送的绑定请求;响应模块,用于响应所述绑定请求,生成绑定加密秘钥,并发送所述绑定加密秘钥至所述第二终端和所述服务器;绑定模块,用于根据所述绑定加密秘钥,通过所述服务器与所述第二终端进行所述绑定操作。
在其中一个实施例中,上述的绑定模块,具体用于接收所述第二终端发送的加密用户密码;所述加密用户密码为所述第二终端采用所述绑定加密秘钥对用户密码进行加密得到的;采用所述绑定加密秘钥,对所述加密用户密码进行解密,得到用户密码;生成加密参数和第一随机数,并通过预设的签名生成算法,对所述用户密码、所述第一终端的设备识别码、所述加密参数和所述第一随机数进行处理,得到第一终端的设备签名;发送所述第一终端的设备签名、所述加密参数和所述第一随机数至所述第二终端和所述服务器,以完成所述绑定操作。
在其中一个实施例中,上述的一种加密通信装置,还包括:校验失败次数记录模块,用于当对所述加密通信请求校验不通过时,记录校验失败次数,并断开与所述第二终端的网络连接;拒绝连接模块,用于当所述校验失败次数大于预设的校验失败次数阈值时,拒绝接收所述第二终端发送的加密通信请求,直至拒绝时长大于预设的时长阈值。
在其中一个实施例中,上述的加密通信模块,包括:
加密数据接收子模块,用于接收所述第二终端发送的加密数据;所述加密数据为所述第二终端采用所述共享动态密钥对待加密数据进行加密得到的;
解密子模块,用于采用所述共享动态密钥,对所述加密数据进行解密;
解密失败次数记录子模块,用于当所述加密数据解密失败时,记录解密失败次数,并断开与所述第二终端的网络连接;
密钥更新请求发送子模块,用于当所述解密失败次数大于预设的解密失败次数阈值时,发送共享动态密钥更新请求至所述服务器;所述共享动态密钥更新请求用于触发所述服务器生成新的服务器签名并下发至所述第一终端和所述第二终端。
在其中一个实施例中,上述的解密子模块,具体用于生成针对所述共享动态密钥的多个备用密钥;采用所述共享动态密钥和多个所述备用密钥,对所述加密数据进行解密;当所述共享动态密钥和多个所述备用密钥均无法解密所述加密数据时,判定所述加密数据解密失败。
在一个实施例中,如图8所示,提供了一种加密通信装置,应用于第二终端,包括:
发送模块810,用于发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
接收模块820,用于接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
加密通信模块830,用于当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述动态密钥为根据所述服务器预下发的服务器签名生成的。
关于一种加密通信装置的具体限定可以参见上文中对于一种加密通信方法的限定,在此不再赘述。上述一种加密通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请中的图9为一个实施例中一种加密通信方法的应用场景图。该应用场景图包括车载终端设备910、用户终端920和云服务930。其中,车载终端设备910相当于图1中的第一终端110,用户终端920相当于图1中的第二终端120、云服务930相当于图1中的服务器130。
实际应用中,用户终端920可以通过扫描车载终端设备910展示的二维码,获取车载终端设备910的设备信息,然后,用户终端920根据该设备信息,向云服务930发送绑定车载终端设备910的第一绑定请求。当云服务930对用户终端920进行登录认证后,云服务930发送第二绑定请求至车载终端设备910。车载终端设备910接收到第二绑定请求后,响应第二绑定请求,生成绑定加密秘钥P1,并将绑定加密秘钥P1发送至云服务930,云服务930接收车载终端设备910的绑定加密秘钥P1,并将绑定加密秘钥P1发送至用户终端920,用户终端920通过与车载终端设备910的蓝牙网络链路返回的基于绑定加密秘钥P1进行对称加密的第三绑定请求至车载终端设备910。车载终端设备910生成随机数R3,并通过用户终端920的蓝牙网络链路返回的基于绑定加密秘钥P1进行对称加密的随机数R3至用户终端920。
当用户需要更改或设置用户密码Kusr时,用户终端920接收用户录入的用户密码Kusr,并采用绑定加密秘钥P1加密用户密码Kusr并通过蓝牙网络发送至车载终端设备910,供车载终端设备910采用绑定加密秘钥P1进行解密并保存用户密码Kusr。同时,用户终端920通过Https安全连接发送用户密码Kusr至云服务930,供云服务930进行保存。然后,车载终端设备910生成加密参数T1、第一随机数R1和车载终端设备910的设备签名Hash(Sa),并将加密参数T1、第一随机数R1和车载终端设备910的设备签名Hash(Sa)发送至云服务930。
云服务930接收到加密参数T1、第一随机数R1和车载终端设备910的设备签名Hash(Sa)后,生成服务器签名Hash(Sb)。其中,云服务930定期更新服务器签名Hash(Sb),默认为7天,具体地,云服务930根据车载终端设备910发送的加密参数T1、第一随机数R1,以及云服务930生成的第二随机数R2,生成服务器签名Hash(Sb),并将服务器签名Hash(Sb)下发至车载终端设备910和用户终端920。
当车载终端设备910和用户终端920需要进行加密通信时,用户终端920与车载终端设备910建立蓝牙连接,用户终端920生成通信请求随机数R4和通信请求签名Hash(Sc),并将通信请求随机数R4和通信请求签名Hash(Sc)作为加密通信请求发送至车载终端设备910。车载终端设备910接收到用户终端920发送的加密通信请求后,车载终端设备910按照预设的签名校验算法对加密通信请求进行验证。当车载终端设备910对加密通信请求校验不通过时,车载终端设备910则断开与用户终端920的蓝牙网络连接。
当车载终端设备910对加密通信请求校验通过时,车载终端设备910则发送基于加密通信请求生成的加密通信确认消息Hash(Sd)至用户终端920,以供用户终端920进行验证。当用户终端920按照预设的签名校验算法对加密通信确认消息校验不通过时,用户终端920则会断开与车载终端设备910的蓝牙网络连接。当用户终端920对加密通信确认消息校验通过时,车载终端设备910则采用共享动态密钥与用户终端920进行加密通信。第一终端与用户终端920在生成共享动态密钥时,均采用相同的加密算法,对云服务930预下发的服务器签名Hash(Sb)进行加密,生成针对服务器签名Hash(Sb)的一次性密码作为第二终端与第一终端之间共享的共享动态密钥,对用户终端920与车载终端设备910的通信数据进行对称加密。
本申请中的图10为一个实施例中一种加密通信方法的时序图;其中,第二终端120可以通过扫描第一终端110展示的二维码,获取第一终端110的设备信息,然后,第二终端120根据该设备信息,向服务器130发送绑定第一终端110的第一绑定请求。当服务器130对第二终端120进行登录认证后,服务器130发送第二绑定请求至第一终端110。第一终端110接收到第二绑定请求后,响应第二绑定请求,生成绑定加密秘钥P1,并将绑定加密秘钥P1发送至服务器130,服务器130接收第一终端110的绑定加密秘钥P1,并将绑定加密秘钥P1发送至第二终端120,第二终端120通过与第一终端110的蓝牙网络链路返回的基于绑定加密秘钥P1进行对称加密的第三绑定请求至第一终端110。第一终端110生成随机数R3,并通过第二终端120的蓝牙网络链路返回的基于绑定加密秘钥P1进行对称加密的随机数R3至第二终端120。
本申请中的图11为另一个实施例中一种加密通信方法的时序图;其中,当用户需要更改或设置用户密码Kusr时,第二终端120接收用户录入的用户密码Kusr,并采用绑定加密秘钥P1加密用户密码Kusr并通过蓝牙网络发送至第一终端110,供第一终端110采用绑定加密秘钥P1进行解密并保存用户密码Kusr。同时,第二终端120通过Https安全连接发送用户密码Kusr至服务器130,供服务器130进行保存。然后,第一终端110生成加密参数T1、第一随机数R1和第一终端110的设备签名Hash(Sa),并将加密参数T1、第一随机数R1和第一终端110的设备签名Hash(Sa)发送至服务器130。
服务器130接收到加密参数T1、第一随机数R1和第一终端110的设备签名Hash(Sa)后,生成服务器签名Hash(Sb)。其中,服务器130定期更新服务器签名Hash(Sb),默认为7天,具体地,服务器130根据第一终端110发送的加密参数T1、第一随机数R1,以及服务器130生成的第二随机数R2,生成服务器签名Hash(Sb),并将服务器签名Hash(Sb)下发至第一终端110和第二终端120。
本申请中的图12为一个实施例中另一种加密通信方法的时序图;其中,当第一终端110和第二终端120需要进行加密通信时,第二终端120与第一终端110建立蓝牙连接,第二终端120生成通信请求随机数R4和通信请求签名Hash(Sc),并将通信请求随机数R4和通信请求签名Hash(Sc)作为加密通信请求发送至第一终端110。第一终端110接收到第二终端120发送的加密通信请求后,第一终端110按照预设的签名校验算法对加密通信请求进行验证。当第一终端110对加密通信请求校验不通过时,第一终端110则断开与第二终端120的蓝牙网络连接。
当第一终端110对加密通信请求校验通过时,第一终端110则发送基于加密通信请求生成的加密通信确认消息Hash(Sd)至第二终端120,以供第二终端120进行验证。当第二终端120按照预设的签名校验算法对加密通信确认消息校验不通过时,第二终端120则会断开与第一终端110的蓝牙网络连接。当第二终端120对加密通信确认消息校验通过时,第一终端110则采用共享动态密钥与第二终端120进行加密通信。第一终端与第二终端120在生成共享动态密钥时,均采用相同的加密算法,对服务器130预下发的服务器签名Hash(Sb)进行加密,生成针对服务器签名Hash(Sb)的一次性密码作为第二终端与第一终端之间共享的共享动态密钥,对第二终端120与第一终端110的通信数据进行对称加密。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储密钥数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种加密通信方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,应用于第一终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
步骤S210,接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
步骤S220,当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
步骤S230,当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
在一个实施例中,提供了一种计算机设备,应用于第二终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
步骤S610,发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
步骤S620,接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
步骤S630,当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
在一个实施例中,提供了一种计算机可读存储介质,应用于第一终端,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤S210,接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
步骤S220,当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
步骤S230,当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
在一个实施例中,提供了一种计算机可读存储介质,应用于第二终端,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤S610,发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
步骤S620,接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
步骤S630,当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种加密通信方法,其特征在于,应用于第一终端,所述方法包括:
接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
2.根据权利要求1所述的方法,其特征在于,在所述采用共享动态密钥与所述第二终端进行加密通信的步骤之前,还包括:
确定所述服务器预下发的服务器签名;其中,所述服务器签名为所述服务器通过预设的签名生成算法,对所述第一终端的设备识别码、加密参数、第一随机数和第二随机数进行处理得到的签名;其中,所述加密参数和所述第一随机数均为所述服务器在进行所述绑定操作时从所述第一终端获取的;所述第二随机数为所述服务器生成的;
基于预设的一次性密码生成算法,对所述服务器签名进行加密,得到所述共享动态密钥。
3.根据权利要求2所述的方法,其特征在于,所述基于预设的一次性密码生成算法,对所述服务器签名进行加密,得到所述共享动态密钥,包括:
对所述第一终端的设备签名、所述服务器签名和所述加密参数进行加密,得到密钥串;其中,所述第一终端的设备签名为所述第一终端在进行所述绑定操作时生成的;
生成第三随机数,并通过所述一次性密码生成算法,对所述密钥串和所述第三随机数进行处理,得到一次性密码,作为所述共享动态密钥。
4.根据权利要求1所述的方法,其特征在于,在所述发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端的步骤之前,还包括:
通过预设的签名生成算法,对所述加密通信请求、所述第一终端的设备签名和用户密码进行处理,得到通信确认签名;其中,所述用户密码为所述第一终端在进行所述绑定操作时从所述第二终端获取的;所述第一终端的设备签名为所述第一终端在进行所述绑定操作时生成的;
确定所述通信确认签名为所述加密通信确认消息。
5.根据权利要求1所述的方法,其特征在于,在所述接收第二终端发送的加密通信请求的步骤之前,还包括:
接收所述第二终端发送的绑定请求;
响应所述绑定请求,生成绑定加密秘钥,并发送所述绑定加密秘钥至所述第二终端和所述服务器;
根据所述绑定加密秘钥,通过所述服务器与所述第二终端进行所述绑定操作。
6.根据权利要求5所述的方法,其特征在于,所述根据所述绑定加密秘钥,通过所述服务器与所述第二终端进行所述绑定操作,包括:
接收所述第二终端发送的加密用户密码;所述加密用户密码为所述第二终端采用所述绑定加密秘钥对用户密码进行加密得到的;
采用所述绑定加密秘钥,对所述加密用户密码进行解密,得到用户密码;
生成加密参数和第一随机数,并通过预设的签名生成算法,对所述用户密码、所述第一终端的设备识别码、所述加密参数和所述第一随机数进行处理,得到所述第一终端的设备签名;
发送所述第一终端的设备签名、所述加密参数和所述第一随机数至所述第二终端和所述服务器,以完成所述绑定操作。
7.根据权利要求1所述的方法,其特征在于,在所述接收第二终端发送的加密通信请求的步骤之后,还包括:
当对所述加密通信请求校验不通过时,记录校验失败次数,并断开与所述第二终端的网络连接;
当所述校验失败次数大于预设的校验失败次数阈值时,拒绝接收所述第二终端发送的加密通信请求,直至拒绝时长大于预设的时长阈值。
8.根据权利要求1所述的方法,其特征在于,所述采用共享动态密钥与所述第二终端进行加密通信,包括:
接收所述第二终端发送的加密数据;所述加密数据为所述第二终端采用所述共享动态密钥对待加密数据进行加密得到的;
采用所述共享动态密钥,对所述加密数据进行解密;
当所述加密数据解密失败时,记录解密失败次数,并断开与所述第二终端的网络连接;
当所述解密失败次数大于预设的解密失败次数阈值时,发送共享动态密钥更新请求至所述服务器;所述共享动态密钥更新请求用于触发所述服务器生成新的服务器签名并下发至所述第一终端和所述第二终端。
9.根据权利要求8所述的方法,其特征在于,所述采用所述共享动态密钥,对所述加密数据进行解密,包括:
生成针对所述共享动态密钥的多个备用密钥;
采用所述共享动态密钥和多个所述备用密钥,对所述加密数据进行解密;
当所述共享动态密钥和多个所述备用密钥均无法解密所述加密数据时,判定所述加密数据解密失败。
10.一种加密通信方法,其特征在于,应用于第二终端,所述方法包括:
发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
11.一种加密通信装置,其特征在于,应用于第一终端,所述装置包括:
接收模块,用于接收第二终端发送的加密通信请求;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
发送模块,用于当对所述加密通信请求校验通过时,发送基于所述加密通信请求生成的加密通信确认消息至所述第二终端;
加密通信模块,用于当所述第二终端对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第二终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
12.一种加密通信装置,其特征在于,应用于第二终端,所述装置包括:
发送模块,用于发送加密通信请求至第一终端;其中,所述第二终端与所述第一终端预先通过服务器进行绑定操作;
接收模块,用于接收所述第一终端返回的加密通信确认消息;所述加密通信确认消息为所述第一终端对所述加密通信请求校验通过后根据所述加密通信请求生成的消息;
加密通信模块,用于当对所述加密通信确认消息校验通过时,采用共享动态密钥与所述第一终端进行加密通信;其中,所述共享动态密钥为所述第二终端与所述第一终端之间共享的动态密钥;所述共享动态密钥为根据所述服务器预下发的服务器签名生成的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186580.3A CN111541642B (zh) | 2020-03-17 | 2020-03-17 | 基于动态秘钥的蓝牙加密通信方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186580.3A CN111541642B (zh) | 2020-03-17 | 2020-03-17 | 基于动态秘钥的蓝牙加密通信方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541642A true CN111541642A (zh) | 2020-08-14 |
CN111541642B CN111541642B (zh) | 2022-06-14 |
Family
ID=71976677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010186580.3A Active CN111541642B (zh) | 2020-03-17 | 2020-03-17 | 基于动态秘钥的蓝牙加密通信方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541642B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112351414A (zh) * | 2020-10-26 | 2021-02-09 | 北京达佳互联信息技术有限公司 | 设备控制方法、装置、***及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008014655A1 (fr) * | 2006-07-24 | 2008-02-07 | Huawei Technologies Co., Ltd. | Procédé, terminal mobile et serveur destinés à mettre en oeuvre une clé de partage actualisée dans le système de communication mobile |
CN104301011A (zh) * | 2014-11-07 | 2015-01-21 | 绵阳市维博电子有限责任公司 | 一种实现蓝牙设备之间语音加密通信的方法及*** |
CN105791272A (zh) * | 2016-02-23 | 2016-07-20 | 青岛海尔智能家电科技有限公司 | 一种物联网中的安全通信方法及装置 |
KR20180138349A (ko) * | 2017-06-21 | 2018-12-31 | 한국전자통신연구원 | 동적 세션키 생성을 위한 사물인터넷 단말 장치 및 동적 세션키 생성 방법 |
CN109429203A (zh) * | 2017-08-22 | 2019-03-05 | 深圳光启智能光子技术有限公司 | 数据传输方法、终端、存储介质和处理器 |
-
2020
- 2020-03-17 CN CN202010186580.3A patent/CN111541642B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008014655A1 (fr) * | 2006-07-24 | 2008-02-07 | Huawei Technologies Co., Ltd. | Procédé, terminal mobile et serveur destinés à mettre en oeuvre une clé de partage actualisée dans le système de communication mobile |
CN104301011A (zh) * | 2014-11-07 | 2015-01-21 | 绵阳市维博电子有限责任公司 | 一种实现蓝牙设备之间语音加密通信的方法及*** |
CN105791272A (zh) * | 2016-02-23 | 2016-07-20 | 青岛海尔智能家电科技有限公司 | 一种物联网中的安全通信方法及装置 |
KR20180138349A (ko) * | 2017-06-21 | 2018-12-31 | 한국전자통신연구원 | 동적 세션키 생성을 위한 사물인터넷 단말 장치 및 동적 세션키 생성 방법 |
CN109429203A (zh) * | 2017-08-22 | 2019-03-05 | 深圳光启智能光子技术有限公司 | 数据传输方法、终端、存储介质和处理器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112351414A (zh) * | 2020-10-26 | 2021-02-09 | 北京达佳互联信息技术有限公司 | 设备控制方法、装置、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111541642B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380852B (zh) | 双向认证方法及通信*** | |
EP3723399A1 (en) | Identity verification method and apparatus | |
JP6121512B2 (ja) | 暗号鍵の生成 | |
CN114788226B (zh) | 用于建立分散式计算机应用的非托管工具 | |
JP6757845B2 (ja) | 秘密識別子を使用するユーザ機器に関連した動作 | |
CN108111497B (zh) | 摄像机与服务器相互认证方法和装置 | |
US20110131640A1 (en) | Secure transfer of data | |
WO2020081501A1 (en) | Method and system for pairing wireless mobile device with iot device | |
EP2767029B1 (en) | Secure communication | |
CN109495445A (zh) | 基于物联网的身份认证方法、装置、终端、服务器及介质 | |
JP2016533694A (ja) | ユーザアイデンティティ認証方法、端末及びサーバ | |
US9443069B1 (en) | Verification platform having interface adapted for communication with verification agent | |
CN112566119A (zh) | 终端认证方法、装置、计算机设备及存储介质 | |
EP3808025A1 (en) | Decentralised authentication | |
US20180041494A1 (en) | Method and system for issuing and using derived credentials | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
US10785193B2 (en) | Security key hopping | |
CN110519222B (zh) | 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和*** | |
CN114417309A (zh) | 一种双向身份验证方法、装置、设备及存储介质 | |
CN111541642B (zh) | 基于动态秘钥的蓝牙加密通信方法和装置 | |
CN108966214A (zh) | 无线网络的认证方法、无线网络安全通信方法及装置 | |
US11240661B2 (en) | Secure simultaneous authentication of equals anti-clogging mechanism | |
CN111836260B (zh) | 一种认证信息处理方法、终端和网络设备 | |
CN114124513B (zh) | 身份认证方法、***、装置、电子设备和可读介质 | |
CN116032556A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240206 Address after: Room 601, 6th Floor, Building 2, No. 89 Liangcun Avenue, Yongning District, Nanning City, Guangxi Zhuang Autonomous Region, 530299 Patentee after: Yamei Holdings Group Co.,Ltd. Country or region after: China Address before: Room 201, No.1 Hanjing Road, Tianhe District, Guangzhou City, Guangdong Province Patentee before: Guangzhou Yameizhi Technology Co.,Ltd. Country or region before: China |
|
TR01 | Transfer of patent right |