CN106714150A - 对通信连接进行加密的方法及智能终端 - Google Patents
对通信连接进行加密的方法及智能终端 Download PDFInfo
- Publication number
- CN106714150A CN106714150A CN201710038959.8A CN201710038959A CN106714150A CN 106714150 A CN106714150 A CN 106714150A CN 201710038959 A CN201710038959 A CN 201710038959A CN 106714150 A CN106714150 A CN 106714150A
- Authority
- CN
- China
- Prior art keywords
- source
- destination
- ciphertext
- operational factor
- operation result
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种对通信连接进行加密的方法及智能终端,所述方法包括:源端向目的端发送连接请求,在连接请求中携带第一运算因子;在发送连接请求后,源端接收目的端返回的第二运算因子,将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果;源端将运算结果发送给目的端,以使目的端根据运算结果判断源端是否合法。本申请通过源端与目的端交互运算因子,并且源端在对运算因子进行约定的运算后,将运算结果发送给目的端,以使目的端在得到运算结果后,在本地进行相同的运算,以验证源端是否合法,从而在消耗较少硬件资源的情况下,防止非法设备连接到保密的设备。
Description
技术领域
本发明涉及移动通信技术领域,尤指一种对通信连接进行加密的方法及智能终端。
背景技术
移动通信时代,通过网络进行传输的数据量正变得越来越大。在这个过程中,数据的安全性问题愈加突显,人们愈加重视数据的保密。
在实际应用中,目前对数据加密可以采用以下两种方式:
(1)对所有传输的数据都进行加密。
这种方式对所有的数据流进行加密,其保密性最好。但是,对于嵌入式设备,由于硬件资源,如CPU频率、DDR带宽等比较稀缺,因此会对嵌入式设备造成较大的压力,在嵌入式设备中实现难度较大。
(2)对通过连接协议建立数据传输链路的过程进行加密。
这种方式消耗的硬件资源较少,但是如果有人通过抓包工具,抓取整个交互流程的消息,进行连接消息的伪装,能够建立设备之间的恶意连接。
发明内容
为了解决上述技术问题,本发明提供了一种对通信连接进行加密的方法及智能终端,能够在消耗较少硬件资源的情况下,防止非法设备与保密的设备进行连接。
为了达到本发明目的,本发明提供了一种对通信连接进行加密的方法,包括:
源端向目的端发送第一运算因子;
在发送所述第一运算因子后,所述源端接收目的端返回的第二运算因子,将所述第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果;
所述源端使用所述运算结果加密连接,以使目的端验证所述源端是否合法。
本发明还提供了另一种对通信连接进行加密的方法,包括:
目的端接收源端发送的第一运算因子;
在获取到第一运算因子后,所述目的端生成第二运算因子,并将所述第二运算因子返回给所述源端;
所述目的端在将所述第二运算因子返回给所述源端后,根据在向源端返回第二运算因子后从源端接收到的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证所述源端是否合法。
本发明还提供了另一种对通信连接进行加密的方法,包括:
源端将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果,其中,第二运算因子为源端与目的端共享;
在得到运算结果后,所述源端将所述运算结果作为秘钥对认证信息进行加密,得到密文,将所述密文与所述第一运算因子发送给目的端,以使所述目的端进行与源端预先约定的运算,采用运算得到的结果对密文进行解密得到认证信息,根据认证信息判断所述源端是否合法。
本发明还提供了另一种对通信连接进行加密的方法,包括:
目的端接收源端发送的密文和第一运算因子;
所述目的端对第一运算因子以及与源端共享的第二运算因子进行与源端预先约定的运算,采用运算得到的结果对所述密文进行解密得到认证信息,根据认证信息判断所述源端是否合法。
本申请还提供了一种智能终端,包括:
一收发单元,用于向目的端发送第一运算因子,在发送所述第一运算因子后,接收目的端返回的第二运算因子;
一运算单元,用于将所述第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果;
一加密单元,用于使用所述运算结果加密连接,以使目的端验证所述源端是否合法。
本申请还提供了另一种智能终端,包括:
一收发单元,用于接收源端发送的第一运算因子,并将第二运算因子返回给所述源端;
一生成单元,用于生成第二运算因子,将第二运算因子传输给所述收发单元;
一验证单元,在所述收发单元将所述第二运算因子返回给所述源端后,根据所述收发单元在向源端返回第二运算因子后从源端接收到的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证所述源端是否合法。
本申请还提供了另一种智能终端,包括:
一运算单元,用于将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果,其中,第二运算因子为与目的端共享;
一加密单元,用于在运算单元得到运算结果后,将所述运算结果作为秘钥对认证信息进行加密,得到密文;
一发送单元,用于将所述密文与所述第一运算因子通过连接请求发送给目的端,以使所述目的端进行与源端预先约定的运算,采用运算得到的结果对密文进行解密得到认证信息,根据认证信息判断所述源端是否合法。
本申请还提供了另一种智能终端,包括:
一接收单元,用于接收源端发送的密文和第一运算因子;
一运算单元,用于对第一运算因子以及与源端共享的第二运算因子进行与源端预先约定的运算;
一验证单元,用于采用运算单元运算得到的结果对所述密文进行解密得到认证信息,根据认证信息判断所述源端是否合法。
与现有技术相比,本发明包括源端向目的端发送连接请求,在连接请求中携带第一运算因子;在发送连接请求后,源端接收目的端返回的第二运算因子,将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果;源端将运算结果发送给目的端,以使目的端根据运算结果判断源端是否合法。本申请通过源端与目的端交互运算因子,并且源端在对运算因子进行约定的运算后,将运算结果发送给目的端,以使目的端在得到运算结果后,在本地进行相同的运算,以验证源端是否合法,从而在消耗较少硬件资源的情况下,防止非法设备连接到保密的设备。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本申请一实施例的对通信连接进行加密的方法的流程图;
图2为本申请另一实施例的对通信连接进行加密的方法的流程图;
图3为本申请另一实施例的对通信连接进行加密的装置的架构图;
图4为本申请另一实施例的对通信连接进行加密的装置的架构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
现有技术中,为了对数据保密,可以对传输的所有数据进行加密,这种方式保密性最高,但是,由于会消耗较多的硬件资源,会对设备造成较大的压力,尤其是针对嵌入式设备,实现难度更大。另外,还可以对建立数据链路的连接过程进行加密,这种方式虽然硬件消耗较少,但是,安全性较低,存在非法设备伪装后与保密的设备建立起连接的可能。
本申请中,通过发起连接的源端向目的端发送第一运算因子,使目的端得到第一运算因子,并从目的端接收目的端返回的第二运算因子,将第一运算因子与第二运算因子进行与目的端约定的运算,使用运算结果加密连接,使得目的端能够根据源端的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证源端是否合法。本申请对建立连接的过程进行加密,不仅消耗的硬件资源少,而且能够避免非法设备伪装后与保密的设备进行连接。
如图1所示,本申请的对通信连接进行加密的方法,包括:
步骤101:源端向目的端发送第一运算因子;
步骤102:在发送第一运算因子后,源端接收目的端返回的第二运算因子,将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果;
步骤103:源端使用运算结果加密连接,以使目的端验证源端是否合法。
本申请的对通信连接进行加密的方法可以应用在任何设备之间建立连接的过程中,如智能终端之间、终端设备与网络设备之间、网络设备之间等。
首先,在源端需要与目的端建立连接时,源端会向目的端发送请求消息,本申请中在请求消息中携带第一运算因子,使目的端能够在得到第一运算因子后,生成第二运算因子并返回给源端,并且使目的端也可以对第一运算因子和第二运算因子进行与源端预先约定的运算。
在本申请的一可选实施例中,源端向目的端发送第一运算因子,可以包括:
采用与目的端共享的第一秘钥对第一运算因子进行加密得到第一密文;将第一密文通过请求消息发送给目的端,以使目的端能够根据第一秘钥对第一密文进行解密,得到第一运算因子。
第一运算因子可以是随机字符串或实时获取的***时间等。第一秘钥为源端与目的端预先约定,事先配置在源端与目的端中。本申请中可以采用任何现有的加密算法采用第一秘钥对第一运算因子进行加密。源端在向目的端发送请求消息前,采用第一秘钥对第一运算因子进行加密得到第一密文;将第一密文携带在请求消息中发送给目的端。
其次,源端在发送第一运算因子后,接收目的端返回的第二运算因子,将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果。
源端在向目的端发送第一运算因子后,目的端会向源端返回第二运算因子,第二运算因子可以是目的端生成的随机字符串,也可以是实时获取的***时间等。源端在接收到第二运算因子后,会将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果。预先约定的运算可以是异或、与、非等逻辑运算等。
在本申请的一可选实施例中,源端在对第一运算因子进行加密得到第一密文后,还可以将第一密文作为秘钥对目的端地址进行加密得到第二密文,将第二密文与第一密文共同携带在连接请求中一同发送给目的端,以使目的端采用第一密文对第二密文进行解密,得到源端发送的目的端地址,并将得到的源端发送的目的端地址与本地的地址进行比较,来确定请求消息是否合法,从而进一步提高连接的安全级别。
上述源端采用第一密文作为秘钥进行加密的目的端地址可以是源端在请求与目的端建立连接时需要在请求消息中携带的URL。
最后,源端在对第一运算因子和第二运算因子进行与目的端预先约定的运算得到运算结果后,使用运算结果加密连接,以使目的端验证源端是否合法。
在本申请的一可选实施例中,源端使用运算结果加密连接,可以是:
源端采用与目的端共享的第一秘钥对源端的运算结果进行加密得到第三密文,将第三密文发送给目的端,以使目的端采用第一秘钥解密得到运算结果后,将解密得到的源端的运算结果与在目的端本地进行运算得到的运算结果进行比较,判断源端是否合法,如果两个运算结果相同,则判定源端合法,如果两个运算结果不同,则判定源端非法;或者,
源端采用与目的端共享的第一秘钥对源端的运算结果进行加密得到第三密文,将第三密文作为秘钥对目的端地址进行加密得到第四密文,将第三密文和第四密文发送给目的端,或者仅将第四密文发送给目的端,以使目的端解密第四密文得到源端发送的目的端地址后,将源端发送的目的端地址与本地的地址进行比较,判断源端是否合法,如果两地址相同,则源端合法,如果两地址不同,则源端非法。
如果源端是将第三密文发送给目的端,则目的端在对第三密文解密得到源端的运算结果后,还会在本地对第一运算因子和第二运算因子进行与源端预先约定的运算,然后,将解密得到的运算结果与在本地进行运算得到的运算结果进行比较。
如果源端是将第三密文和第四密文发送给目的端,则目的端会采用接收到的第三密文对第四密文进行解密,得到源端发送的目的端地址,再将源端发送的目的端地址与本地的地址进行比较。
如果源端仅将第四密文发送给目的端,则目的端在接收到第四密文后,在本地对第一运算因子和第二运算因子进行运算得到运算结果并采用第一秘钥对运算结果进行加密,采用本地加密得到的密文对第四密文进行解密,得到源端发送的目的端地址,再将源端发送的目的端地址与本地的地址进行比较。
如图2所示,本申请另一实施例的对通信连接进行加密的方法,包括:
步骤201:目的端接收源端发送的第一运算因子;
步骤202:在获取到第一运算因子后,目的端生成第二运算因子,并将第二运算因子返回给源端;
步骤203:目的端在将第二运算因子返回给源端后,根据在向源端返回第二运算因子后从源端接收到的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证源端是否合法。
首先,目的端在源端发起建立连接后,会接收源端发送的请求消息,本申请中目的度从请求消息中获取第一运算因子。
其次,目的端在获取到第一运算因子后,会生成第二运算因子,并将第二运算因子返回给源端。
上述第一运算因子和第二运算因子可以是随机生成的字符串,也可以是实时获取的***时间等。
在本申请的一可选实施例中,目的端接收源端发送的第一运算因子,可以包括:接收源端发送的请求消息,从请求消息中获取第一密文,采用与源端共享的第一秘钥对第一密文进行解密,得到第一运算因子。
此外,在从请求消息中获取第一密文时,还同时获取第二密文,并采用第一密文对第二密文进行解密,得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,确定请求消息是否合法。
第一密文是源端采用与目的端共享的第一秘钥对第一运算因子进行加密而得到的密文。第二密文是源端将第一密文作为秘钥,对目的端地址进行加密而得到的密文。
如果源端发送的目的端地址与目的端本地的地址相同,则目的端确定请求消息合法;如果源端发送的目的端地址与目的端本地的地址不同,则目的端确定请求消息非法。
最后,目的端在将第二运算因子返回给源端后,可以从源端接收运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证源端是否合法。
在本申请的一可选实施例中,目的端根据在向源端返回第二运算因子后从源端接收到的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证所述源端是否合法,包括:
目的端从源端接收第三密文,采用与源端共享的第一秘钥对所述第三密文进行解密,得到源端发送的运算结果,并将第一运算因子与第二运算因子进行与源端预先约定的运算,将源端发送的运算结果与本地运算得到的运算结果进行比较,判断源端是否合法;或者,
目的端从源端接收第三密文和第四密文,第三密文为源端采用与目的端共享的第一秘钥对源端的运算结果进行加密得到,采用第三密文对第四密文进行解密得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,所述源端是否合法;其中,第四密文为源端将第三密文作为秘钥对目的端地址进行加密得到的密文;或者,
目的端从源端接收第四密文,将第一运算因子与第二运算因子进行与源端预先约定的运算,采用与目的端共享的第一秘钥对本地运算得到的运算结果进行加密,采用加密得到的密文对第四密文进行解密得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,判断源端是否合法。
本申请另一实施例提供的对通信连接进行加密的方法,包括:
步骤a:源端将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果,其中,第二运算因子为源端与目的端共享;
源端与目的端预先约定的运算可以是异或、与、非等逻辑运算等。第二运算因子为预先配置在源端与目的端中。
步骤b:在得到运算结果后,源端将运算结果作为秘钥对认证信息进行加密,得到密文,将密文与第一运算因子发送给目的端,以使目的端对第一运算因子和第二运算因子进行与源端预先约定的运算,采用运算得到的结果对密文进行解密得到认证信息,根据认证信息判断源端是否合法。
源端可以通过请求消息将密文和第一运算因子发送给目的端。第一运算因子和第二运算因子可以为任何形式的字符串。认证信息可以是目的端地址,如URL等,也可以是任何标识信息。
本申请另一实施例提供的对通信连接进行加密的方法,包括:
步骤一:目的端接收源端发送的密文和第一运算因子;
步骤二:目的端对第一运算因子以及与源端共享的第二运算因子进行与源端预先约定的运算,采用运算得到的结果对密文进行解密得到认证信息,根据认证信息判断源端是否合法。
目的端可以接收源端发送的请求消息,从请求消息中提取出密文和第一运算因子。在得到认证信息,对认证信息进行校验,如果校验通过,则确定源端合法,如果校验失败,则确定源端非法。
应用示例:
下面以在手机与相机使用RTSP协议建立连接的过程中,采用本申请的加密方法对连接过程进行加密为例,对本申请的方法进行详细说明。
RTSP协议是常用的实时流传输协议,在音视频数据传输方面应用广泛。下面针对RTSP协议的加密方式进行详细叙述。
RTSP常用消息,有OPTIONS、DESCRIBE、SETUP、TEARDOWN、PLAY等。为了较为简便的实现加密,本示例中使用对称加密算法AES128ECB。假设AES128ECB算法的加密与解密接口如下:
加密接口:Encrypt_aes(clear_text,key);
解密接口:Decrypt_aes(cipher_text,key);
其中,clear_text表示明文,cipher_text表示密文,key表示秘钥。
假设RTSP中要连接的目标设备(相机)的URL为“rtsp://192.168.42.1/live”,下面进行详细描述。
应用示例1:
下面以手机端采用第一运算因子(本地的***时间)与第二运算因子(相机端的***时间)的运算结果加密连接为例,说明本申请的加密方法,包括:
步骤a:在手机端和相机端,设置共同的第一秘钥,假设第一秘钥为keyUnifirm。
步骤b:手机端获取当前的***时间,假设获取到的***时间为t1。调用AES加密接口Encrypt_aes(t1,keyUnifirm),得到密文T。之后调用AES加密接口Encrypt_aes(“rtsp://192.168.42.1/live”,T),得到密文A。最后,手机端可以得到如下的OPTIONS消息:OPTIONS TA RTSP/1.0,将OPTIONS消息,发送到相机端。
步骤c:相机端接收到手机端发送过来的OPTIONS消息,从TA字段区分出T和A。之后,调用AES解密接口Decrypt_aes(A,T),得到解密后的明文URL。将解密得到的URL与“rtsp://192.168.42.1/live”比较,如果两者不同,则关闭此次连接,RTSP交互结束。如果两者相同,则继续进行RTSP交互。调用AES解密接口Decrypt_aes(T,keyUniform),得到手机端发送消息时的***时间t1,将t1进行保存。之后,相机端获取当前相机端的***时间,假设获取到的***时间为t2,并在相机端保存t2,并生成消息字符串如下:
RTSP/1.0 200OK
Date:t2
将上面的消息,发送到手机端。
因为AES128ECB算法输入为16字节的unsigned char型数据,输出也为16字节unsigned char型数据,并且这里会用两位16进制表示一个字节的数据,如“0x00”等。因此在字符串部分,选取每两字节字符,然后调用字符转化为16进制数据的接口,转化为1个unsigned char型数据。对于接收消息的具体处理流程如下,接收到的消息为“OPTIONS TARTSP/1.0”,可以得到TA字符串。将此字符串按照上述方法,可以转换得到一个unsignedchar型数据的数组。因为可知T为16字节的数据,因此选取前16字节作为T。剩下的其他数据即为A。
步骤d:手机端接收相机端发送过来的消息,对消息进行解析。如果检测到“RTSP/1.0 200OK”,则表示可以继续此次RTSP交互。解析此消息后,获取到Date字段的值,为t2。将t1与t2进行异或操作,即t1^t2,假设结果为W,得到如下的DESCRIBE消息:
DESCRIBE W RTSP/1.0
将DESCRIBE消息,发送给相机端。
步骤e:相机端接收手机端发送的消息。解析接收到的消息,获得W。将之间保存的t1与t2进行异或操作,即t1^t2。如果t1^t2与W数值不相等,则关闭此次连接,RTSP交互结束。如果t1^t2与W数值相等,则继续进行RTSP交互,确认消息正确,返回的消息为:
RTSP/1.0 200OK。
步骤f:手机端接收相机端发送的消息,对消息进行解析。如果解析到“RTSP/1.0200OK”,则表示可以继续此次RTSP交互。在继续进行交互时,将会通过网络连接发送如下命令到相机端请求建立音视频流传输通道:
SETUP W RTSP/1.0。
步骤g:相机端接收到此消息后,将会建立音视频流传输通道,之后回复如下消息确认通道已建立:
RTSP/1.0 200OK。
步骤h:手机端接收相机端传输的消息,通过解析,确认到音视频流传输通道已建立成功。手机将发送如下消息,通知相机可以开始传输音视频流:
PLAY W RTSP/1.0。
步骤i:相机端接收到手机端传来的消息,确认手机端已准备好接收音视频流,回复消息如下:
RTSP/1.0 200OK
之后,开始通过音视频流传输通道传输音视频流。
步骤j:手机端接收音视频流,通过解码、渲染,显示实时画面。
步骤k:当手机端想要停止播放时,将会发送如下消息请求停止音视频流传输:
TEARDOWN W RTSP/1.0。
步骤l:相机端收到手机端发送过来的消息后,检测到“TEARDOWN”消息,将停止传输音视频流,关闭音视频流传输通道。之后,发送如下消息:
RTSP/1.0 200OK
发送完消息之后,将关闭手机端与相机端的网络连接。
应用示例2:
下面以手机端采用第一运算因子(本地的***时间)与第二运算因子(相机端的***时间)的运算结果的加密密文对URL进行加密为例,说明本申请的加密方法,包括:
步骤1:在手机端和相机端,设置相同的第一秘钥,假设这个秘钥为keyUnifirm。
步骤2:手机端获取当前的***时间,假设获取到的***时间为t1,调用AES加密接口Encrypt_aes(t1,keyUnifirm),得到密文T。之后调用AES加密接口Encrypt_aes(“rtsp://192.168.42.1/live”,T),得到密文A。最后,手机端可以得到如下的OPTIONS消息:OPTIONS TA RTSP/1.0,将OPTIONS消息,通过网络连接,发送到相机端。
AES128ECB要求每一次加密调用的输入字符串为16个字节,对应密文输出也是16字节。这里,假设t1为“Dec 20 2016 11:09:23”,则将其转换为字符串即为{0x20,0x16,0x12,0x20,0x11,0x09,0x23},此字符串字节数为7个字节,为达到16字节对齐的目的,对此字符串进行补0,补0之后的输入字符串即为{0x20,0x16,0x12,0x20,0x11,0x09,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}(假设为输入的字符串t1)。则调用加密接口,得到
T=Encrypt_aes(t1,keyUnifirm)。
将“rtsp://192.168.42.1/live”转换为字符串,即为{‘r’,‘t’,‘s’,‘p’,‘:’,‘/’,‘/’,‘1’,‘9’,‘2’,‘.’,‘1’,‘6’,‘8’,‘.’,‘4’,‘2’,‘.’,‘1’,‘/’,‘l’,‘i’,‘v’,‘e’},可以看出此字符串超过16字节,不符合AES128ECB算法的输入要求,因此需要对此字符串进行处理。将此字符串进行拆分,确保16个字节为一个字符串,不足16字节的通过补0得到16字节字符串,即{‘r’,‘t’,‘s’,‘p’,‘:’,‘/’,‘/’,‘1’,‘9’,‘2’,‘.’,‘1’,‘6’,‘8’,‘4’,‘2’}(假设为a1)、{‘.’,‘1’,‘/’,‘l’,‘i’,‘v’,‘e’,‘\0’,‘\0’,‘\0’,‘\0’,‘\0’,‘\0’,‘\0’,‘\0’,‘\0’}(假设为a2)。则调用加密接口,得到
M=Encrypt_aes(a1,T)
N=Encrypt_aes(a2,T)
A=MN
下面所提到的加解密接口调用与上述类似。
步骤3:相机端接收到手机端发送过来的OPTIONS消息,从TA字段区分出T和A。之后,调用AES解密接口Decrypt_aes(A,T),得到解密后的明文URL。将解密得到的URL与“rtsp://192.168.42.1/live”比较,如果两者不同,则关闭此次连接,RTSP交互结束。如果两者相同,则继续进行RTSP交互。调用AES解密接口Decrypt_aes(T,keyUniform),得到手机端发送消息时的***时间t1,将t1进行保存。之后,相机端获取当前相机端的***时间,假设获取到的***时间为t2,并在相机端保存t2,并生成消息字符串如下:
RTSP/1.0 200OK
Date:t2
将上面的消息,通过网络连接,发送到手机端。
步骤4:手机端接收相机端发送过来的消息,对消息进行解析。如果检测到“RTSP/1.0 200OK”,则表示可以继续此次RTSP交互。解析此消息后,获取到Date字段的值,为t2。将t1与t2进行异或操作,即t1^t2。调用加密接口Encrypt_aes(t1^t2,keyUniform),得到加密后密文,为T1。调用加密接口Encrypt_aes(“rtsp://192.168.42.1/live”,T1),得到加密后的密文B。这样,就得到如下的DESCRIBE消息:
DESCRIBE B RTSP/1.0
将DESCRIBE消息,通过网络连接,发送给相机端。
步骤5:相机端接收手机端发送的消息。解析接收到的消息,获得B。将t1与t2进行异或操作,即t1^t2。调用加密接口Encrypt_aes(t1^t2,keyUniform),得到加密后的密文,为T1。调用解密接口Decrypt_aes(B,T1),得到解密后的明文,为URL’。将解密得到的URL’与“rtsp://192.168.42.1/live”比较,如果两者不同,则关闭此次连接,RTSP交互结束。如果两者相同,则继续进行RTSP交互,确认消息正确,返回的消息为:
RTSP/1.0 200OK。
步骤6:手机端接收相机端发送过来的消息,对消息进行解析。如果解析到“RTSP/1.0 200OK”,则表示可以继续此次RTSP交互。在继续进行交互时,将会通过网络连接发送如下命令到相机端请求建立音视频流传输通道:
SETUP B RTSP/1.0。
步骤7:相机端接收到此消息后,将会建立音视频流传输通道,之后回复如下消息确认通道已建立:
RTSP/1.0 200OK。
步骤8:手机端接收相机端传输的消息,通过解析,确认到音视频流传输通道已建立成功。手机将发送如下消息,通知相机可以开始传输音视频流:
PLAY B RTSP/1.0。
步骤9:相机端接收到手机端传来的消息,确认到手机端已准备好接收音视频流,回复消息如下:
RTSP/1.0 200OK
之后,开始通过音视频流传输通道传输音视频流。
步骤10:手机端接收音视频流,通过解码、渲染,显示实时画面。
步骤11:当手机端想要停止播放时,将会发送如下消息请求停止音视频流传输:
TEARDOWN B RTSP/1.0。
步骤12:相机端收到手机端发送过来的消息后,检测到“TEARDOWN”方法,将停止传输音视频流,关闭音视频流传输通道。之后,发送如下消息:
RTSP/1.0 200OK
发送完消息之后,将关闭手机端与相机端的网络连接。
如图3所示,本申请还提供了一种智能终端,包括:
一收发单元,用于向目的端发送第一运算因子,在发送第一运算因子后,接收目的端返回的第二运算因子;
一运算单元,用于将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果;
一加密单元,用于使用运算结果加密连接,以使目的端验证源端是否合法。
进一步,
加密单元,还用于采用与目的端共享的第一秘钥对第一运算因子进行加密得到第一密文;
收发单元,具体用于将第一密文通过请求消息发送给目的端,以使目的端根据第一秘钥对第一密文进行解密,得到第一运算因子。
进一步,
加密单元,还用于对第一运算因子进行加密得到第一密文后,将第一密文作为秘钥对目的端地址进行加密得到第二密文;
收发单元,具体用于将第一密文和第二密文通过请求消息共同发送给目的端,以使目的端采用第一密文对第二密文进行解密,得到源端发送的目的端地址,并将源端发送的目的端地址与本地的地址进行比较,确定请求消息是否合法。
进一步,
加密单元,具体用于采用与目的端共享的第一秘钥对运算结果进行加密得到第三密文;
收发单元,还用于将第三密文发送给目的端,以使目的端采用第一秘钥解密得到运算结果后,将解密得到的运算结果与在本地进行运算得到的运算结果进行比较,判断源端是否合法;或者,
加密单元,具体用于采用与目的端共享的第一秘钥对运算结果进行加密得到第三密文,将第三密文作为秘钥对目的端地址进行加密得到第四密文;
收发单元,还用于将第三密文和第四密文发送给目的端,或者将第四密文发送给目的端,以使目的端解密第四密文得到源端发送的目的端地址后,将源端发送的目的端地址与本地的地址进行比较,判断源端是否合法。
如图4所示,本申请提供的另一种智能终端,包括:
一收发单元,用于接收源端发送的第一运算因子,并将第二运算因子返回给源端;
一生成单元,用于生成第二运算因子,将第二运算因子传输给收发单元;
一验证单元,在收发单元将第二运算因子返回给源端后,根据收发单元在向源端返回第二运算因子后从源端接收到的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证源端是否合法。
进一步,
收发单元,具体用于接收源端发送的请求消息,从请求消息中获取第一密文,在从请求消息中获取第一密文时,还同时获取第二密文;
验证单元,还用于采用与源端共享的第一秘钥对第一密文进行解密,得到第一运算因子,并采用第一密文对第二密文进行解密,得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,确定请求消息是否合法。
进一步,
收发单元,还用于接收第三密文;
验证单元,具体用于采用与源端共享的第一秘钥对第三密文进行解密,得到源端发送的运算结果,并将第一运算因子与第二运算因子进行与源端预先约定的运算,将源端发送的运算结果与本地运算得到的运算结果进行比较,判断源端是否合法;或者,
收发单元,还用于接收第三密文和第四密文,第三密文为源端采用与目的端共享的第一秘钥对源端的运算结果进行加密得到;
验证单元,具体用于采用第三密文对第四密文进行解密得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,判断源端是否合法;或者,
收发单元,还用于接收第四密文;
验证单元,具体用于将第一运算因子与第二运算因子进行与源端预先约定的运算,采用与目的端共享的第一秘钥对本地运算得到的运算结果进行加密,采用加密得到的密文对第四密文进行解密得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,判断源端是否合法。
本申请提供的另外一种智能终端,包括:
一运算单元,用于将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果,其中,第二运算因子为与目的端共享;
一加密单元,用于在运算单元得到运算结果后,将运算结果作为秘钥对认证信息进行加密,得到密文;
一发送单元,用于将密文与第一运算因子通过连接请求发送给目的端,以使目的端进行与源端预先约定的运算,采用运算得到的结果对密文进行解密得到认证信息,根据认证信息判断源端是否合法。
本申请提供的另外一种智能终端,包括:
一接收单元,用于接收源端发送的密文和第一运算因子;
一运算单元,用于对第一运算因子以及与源端共享的第二运算因子进行与源端预先约定的运算;
一验证单元,用于采用运算单元运算得到的结果对密文进行解密得到认证信息,根据认证信息判断源端是否合法。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (15)
1.一种对通信连接进行加密的方法,其特征在于,包括:
源端向目的端发送第一运算因子;
在发送所述第一运算因子后,所述源端接收目的端返回的第二运算因子,将所述第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果;
所述源端使用所述运算结果加密连接,以使目的端验证所述源端是否合法。
2.根据权利要求1所述的方法,其特征在于,所述源端向目的端发送第一运算因子,包括:
采用与目的端共享的第一秘钥对所述第一运算因子进行加密得到第一密文;将所述第一密文通过请求消息发送给目的端,以使目的端根据所述第一秘钥对第一密文进行解密,得到所述第一运算因子。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述源端在对所述第一运算因子进行加密得到第一密文后,将所述第一密文作为秘钥对目的端地址进行加密得到第二密文,将所述第一密文和第二密文通过所述请求消息共同发送给目的端,以使目的端采用第一密文对第二密文进行解密,得到源端发送的目的端地址,并将源端发送的目的端地址与本地的地址进行比较,确定请求消息是否合法。
4.根据权利要求1~3任意之一所述的方法,所述源端使用所述运算结果加密连接,包括:
采用与目的端共享的第一秘钥对所述运算结果进行加密得到第三密文,将所述第三密文发送给目的端,以使目的端采用第一秘钥解密得到运算结果后,将解密得到的运算结果与在本地进行运算得到的运算结果进行比较,判断所述源端是否合法;或者,
采用与目的端共享的第一秘钥对所述运算结果进行加密得到第三密文,将所述第三密文作为秘钥对目的端地址进行加密得到第四密文,将所述第三密文和第四密文发送给目的端,或者将所述第四密文发送给目的端,以使目的端解密第四密文得到源端发送的目的端地址后,将源端发送的目的端地址与本地的地址进行比较,判断所述源端是否合法。
5.一种对通信连接进行加密的方法,其特征在于,包括:
目的端接收源端发送的第一运算因子;
在获取到第一运算因子后,所述目的端生成第二运算因子,并将所述第二运算因子返回给所述源端;
所述目的端在将所述第二运算因子返回给所述源端后,根据在向源端返回第二运算因子后从源端接收到的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证所述源端是否合法。
6.根据权利要求5所述的方法,其特征在于:
所述目的端接收源端发送的第一运算因子,包括:接收源端发送的请求消息,从请求消息中获取第一密文,采用与源端共享的第一秘钥对所述第一密文进行解密,得到所述第一运算因子;
在从请求消息中获取第一密文时,还同时获取第二密文,并采用第一密文对第二密文进行解密,得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,确定请求消息是否合法。
7.根据权利要求5或6所述的方法,其特征在于,所述根据在向源端返回第二运算因子后从源端接收到的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证所述源端是否合法,包括:
接收第三密文,采用与源端共享的第一秘钥对所述第三密文进行解密,得到源端发送的运算结果,并将所述第一运算因子与第二运算因子进行与源端预先约定的运算,将源端发送的运算结果与本地运算得到的运算结果进行比较,判断所述源端是否合法;或者,
接收第三密文和第四密文,所述第三密文为源端采用与目的端共享的第一秘钥对源端的运算结果进行加密得到,采用第三密文对第四密文进行解密得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,判断所述源端是否合法;或者,
接收第四密文,将所述第一运算因子与第二运算因子进行与源端预先约定的运算,采用与目的端共享的第一秘钥对本地运算得到的运算结果进行加密,采用加密得到的密文对第四密文进行解密得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,判断所述源端是否合法。
8.一种对通信连接进行加密的方法,其特征在于,包括:
源端将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果,其中,第二运算因子为源端与目的端共享;
在得到运算结果后,所述源端将所述运算结果作为秘钥对认证信息进行加密,得到密文,将所述密文与所述第一运算因子发送给目的端,以使所述目的端进行与源端预先约定的运算,采用运算得到的结果对密文进行解密得到认证信息,根据认证信息判断所述源端是否合法。
9.一种对通信连接进行加密的方法,其特征在于,包括:
目的端接收源端发送的密文和第一运算因子;
所述目的端对第一运算因子以及与源端共享的第二运算因子进行与源端预先约定的运算,采用运算得到的结果对所述密文进行解密得到认证信息,根据认证信息判断所述源端是否合法。
10.一种智能终端,其特征在于,包括:
一收发单元,用于向目的端发送第一运算因子,在发送所述第一运算因子后,接收目的端返回的第二运算因子;
一运算单元,用于将所述第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果;
一加密单元,用于使用所述运算结果加密连接,以使目的端验证所述源端是否合法。
11.根据权利要求10所述的智能终端,其特征在于:
所述加密单元,具体用于采用与目的端共享的第一秘钥对所述运算结果进行加密得到第三密文;
所述收发单元,还用于将所述第三密文发送给目的端,以使目的端采用第一秘钥解密得到运算结果后,将解密得到的运算结果与在本地进行运算得到的运算结果进行比较,判断所述源端是否合法;或者,
所述加密单元,具体用于采用与目的端共享的第一秘钥对所述运算结果进行加密得到第三密文,将所述第三密文作为秘钥对目的端地址进行加密得到第四密文;
所述收发单元,还用于将所述第三密文和第四密文发送给目的端,或者将所述第四密文发送给目的端,以使目的端解密第四密文得到源端发送的目的端地址后,将源端发送的目的端地址与本地的地址进行比较,判断所述源端是否合法。
12.一种智能终端,其特征在于,包括:
一收发单元,用于接收源端发送的第一运算因子,并将第二运算因子返回给所述源端;
一生成单元,用于生成第二运算因子,将第二运算因子传输给所述收发单元;
一验证单元,在所述收发单元将所述第二运算因子返回给所述源端后,根据所述收发单元在向源端返回第二运算因子后从源端接收到的运算结果和/或在本地对第一运算因子和第二运算因子进行运算得到的运算结果,验证所述源端是否合法。
13.根据权利要求12所述的智能终端,其特征在于:
所述收发单元,还用于接收第三密文;
所述验证单元,具体用于采用与源端共享的第一秘钥对所述第三密文进行解密,得到源端发送的运算结果,并将所述第一运算因子与第二运算因子进行与源端预先约定的运算,将源端发送的运算结果与本地运算得到的运算结果进行比较,判断所述源端是否合法;或者,
所述收发单元,还用于接收第三密文和第四密文,所述第三密文为源端采用与目的端共享的第一秘钥对源端的运算结果进行加密得到;
所述验证单元,具体用于采用第三密文对第四密文进行解密得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,判断所述源端是否合法;或者,
所述收发单元,还用于接收第四密文;
所述验证单元,具体用于将所述第一运算因子与第二运算因子进行与源端预先约定的运算,采用与目的端共享的第一秘钥对本地运算得到的运算结果进行加密,采用加密得到的密文对第四密文进行解密得到源端发送的目的端地址,将源端发送的目的端地址与本地的地址进行比较,判断所述源端是否合法。
14.一种智能终端,其特征在于,包括:
一运算单元,用于将第一运算因子与第二运算因子进行与目的端预先约定的运算,得到运算结果,其中,第二运算因子为与目的端共享;
一加密单元,用于在运算单元得到运算结果后,将所述运算结果作为秘钥对认证信息进行加密,得到密文;
一发送单元,用于将所述密文与所述第一运算因子通过连接请求发送给目的端,以使所述目的端进行与源端预先约定的运算,采用运算得到的结果对密文进行解密得到认证信息,根据认证信息判断所述源端是否合法。
15.一种智能终端,其特征在于,包括:
一接收单元,用于接收源端发送的密文和第一运算因子;
一运算单元,用于对第一运算因子以及与源端共享的第二运算因子进行与源端预先约定的运算;
一验证单元,用于采用运算单元运算得到的结果对所述密文进行解密得到认证信息,根据认证信息判断所述源端是否合法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038959.8A CN106714150B (zh) | 2017-01-19 | 2017-01-19 | 对通信连接进行加密的方法及智能终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038959.8A CN106714150B (zh) | 2017-01-19 | 2017-01-19 | 对通信连接进行加密的方法及智能终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106714150A true CN106714150A (zh) | 2017-05-24 |
CN106714150B CN106714150B (zh) | 2020-06-09 |
Family
ID=58907825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710038959.8A Active CN106714150B (zh) | 2017-01-19 | 2017-01-19 | 对通信连接进行加密的方法及智能终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106714150B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995230A (zh) * | 2021-05-18 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 加密数据处理方法、装置和*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036872A (zh) * | 2012-11-19 | 2013-04-10 | 华为技术有限公司 | 数据传输的加密和解密方法、设备及*** |
CN103475488A (zh) * | 2013-09-25 | 2013-12-25 | 江苏众瀛联合数据科技有限公司 | 身份识别的方法和*** |
CN105469489A (zh) * | 2015-11-29 | 2016-04-06 | 林海航 | 一种随机密钥的电子锁*** |
CN105656875A (zh) * | 2015-10-21 | 2016-06-08 | 乐卡汽车智能科技(北京)有限公司 | 基于mptcp的主流连接建立方法及装置 |
-
2017
- 2017-01-19 CN CN201710038959.8A patent/CN106714150B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036872A (zh) * | 2012-11-19 | 2013-04-10 | 华为技术有限公司 | 数据传输的加密和解密方法、设备及*** |
CN103475488A (zh) * | 2013-09-25 | 2013-12-25 | 江苏众瀛联合数据科技有限公司 | 身份识别的方法和*** |
CN105656875A (zh) * | 2015-10-21 | 2016-06-08 | 乐卡汽车智能科技(北京)有限公司 | 基于mptcp的主流连接建立方法及装置 |
CN105469489A (zh) * | 2015-11-29 | 2016-04-06 | 林海航 | 一种随机密钥的电子锁*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995230A (zh) * | 2021-05-18 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 加密数据处理方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN106714150B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109728909B (zh) | 基于USBKey的身份认证方法和*** | |
CN104023013B (zh) | 数据传输方法、服务端和客户端 | |
CN109218825B (zh) | 一种视频加密*** | |
CN108599925B (zh) | 一种基于量子通信网络的改进型aka身份认证***和方法 | |
EP3324572B1 (en) | Information transmission method and mobile device | |
CN109151508B (zh) | 一种视频加密方法 | |
CN106357396A (zh) | 数字签名方法和***以及量子密钥卡 | |
US20080077795A1 (en) | Method and apparatus for two-way authentication without nonces | |
US20060195402A1 (en) | Secure data transmission using undiscoverable or black data | |
CN106878016A (zh) | 数据发送、接收方法及装置 | |
CN110247881A (zh) | 基于可穿戴设备的身份认证方法及*** | |
CN108599926B (zh) | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证***和方法 | |
CN110020524A (zh) | 一种基于智能卡的双向认证方法 | |
CN109951513A (zh) | 基于量子密钥卡的抗量子计算智能家庭量子云存储方法和*** | |
CN114143117B (zh) | 数据处理方法及设备 | |
CN115378587B (zh) | 密钥获取方法、装置、设备及可读存储介质 | |
CN110300287A (zh) | 一种公共安全视频监控联网摄像头接入认证方法 | |
CN108616350B (zh) | 一种基于对称密钥池的HTTP-Digest类AKA身份认证***和方法 | |
CN110999202A (zh) | 用于对数据进行高度安全、高速加密和传输的计算机实现的***和方法 | |
CN111405537A (zh) | 一种基于ble连接的双向安全认证方法及其***和设备 | |
KR20200099873A (ko) | 드론(Unnamed Aerial vehicle)시스템을 위한 HMAC기반의 송신원 인증 및 비밀키 공유 방법 및 시스템 | |
CN106714150A (zh) | 对通信连接进行加密的方法及智能终端 | |
JP2001344214A (ja) | 端末の認証方法と暗号通信システム | |
CN112054905B (zh) | 一种移动终端的安全通信方法及*** | |
CN114928503A (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 |