CN115296890A - 一种终端应用间数据安全交互方法及*** - Google Patents
一种终端应用间数据安全交互方法及*** Download PDFInfo
- Publication number
- CN115296890A CN115296890A CN202210922446.4A CN202210922446A CN115296890A CN 115296890 A CN115296890 A CN 115296890A CN 202210922446 A CN202210922446 A CN 202210922446A CN 115296890 A CN115296890 A CN 115296890A
- Authority
- CN
- China
- Prior art keywords
- terminal application
- data
- server
- terminal
- identity
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000003993 interaction Effects 0.000 title claims abstract description 43
- 238000004891 communication Methods 0.000 claims abstract description 54
- 230000005540 biological transmission Effects 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 15
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 13
- 230000000903 blocking effect Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 3
- 239000003999 initiator Substances 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 claims description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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/0442—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 asymmetric encryption, i.e. different keys 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/068—Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/084—Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种终端应用间数据安全交互方法及***,本发明基于http协议方式进行服务端与终端应用间双向身份认证,认证过程采用了终端应用注册id合法验证与非对称加密,随机数,摘要签名的验证方式,保证了终端应用与服务端身份合法性,并为终端应用发放合法令牌。建立基于nio sokect的通讯通道,轻量消息走此通道,减轻服务端压力,作为终端应用数据交互的辅助,并通过数字信封方式向建立通道的终端应用发放数据交互的密钥作为数据的加密解密密钥。基于http协议方式进行数据传输,终端应用间通过数据序列号和信息密钥作为终端应用间数据交互的依据。本发明解决了各类终端应用在不同网段无法点对点网络连接的情况下难以进行安全的数据交互的问题。
Description
技术领域
本发明属于信息技术领域,涉及一种终端应用间数据安全交互方法及***。
背景技术
随着移动终端的计算能力和智能化的发展,移动终端的应用程序越来越丰富,随着社会的进步,移动终端已经广泛应用于社会之中。移动终端的应用使用时,需要和其他终端如PC,服务等进行数据交互,而各个终端间大多情况下都无法直接连接进行数据的传输,因此给终端间应用数据交互带来一些障碍。
常见的终端应用间数据交互一般是在终端间建立wifi通道或者局域网互联方式,这种方式当各个终端不在同一区域内或者网络隔离的情况下很难进行有效的数据交互,需要采用一种安全的有效方式来进行终端间应用的数据交互传输,解决不同终端应用间在网络、空间等不同区域也能进行数据交互。
在终端间应用使用wifi通道或者局域网互联方式有以下局限性:数据传输时,终端间的身份合法互认无法由第三方确认;数据传输过程中的数据安全和数据的合法性判断;当两个终端应用存在网络分区的情况下,比如pc端在公司局域网内部,移动端在外地出差过程中,两个终端无法直接通过网络互联,数据交互无法进行。
发明内容
本发明的目的在于针对以上终端应用间数据交互存在的问题,提出一种终端应用间数据安全交互的方法及***,本发明能够实现不在同一网段的终端应用之间的数据安全交互,各终端应用能够与服务端进行网络通信。
本发明的目的是通过以下技术方案来实现的:
根据本说明书的第一方面,提供一种终端应用间数据安全交互方法,包括以下步骤:
步骤一:终端应用和服务端进行基于http协议的双向身份认证,包括以下子步骤:
1.1终端应用向服务端发送连接请求,终端应用将其身份标识id1加上随机码r1用服务端公钥加密后的值E1发送给服务端;
1.2服务端收到请求后用服务端私钥解密得到D1=id1+r1,将身份标识id1与服务端发布的合法终端应用列表进行对比,验证终端应用id1身份合法性;
1.3服务端验证终端应用id1身份合法后,将终端应用传输的随机码r1加上服务端产生的随机码sr1用终端应用id1的公钥加密后的值E2返回给终端应用id1;
1.4终端应用id1在接收到服务端返回的加密数据后用自己的私钥解密得到终端应用id1对应的随机码r2和服务端返回的随机码sr1;
1.5终端应用id1将解密得到的随机码r2与步骤1.1发送的随机码r1进行对比,验证服务端身份合法性;
1.6终端应用验证服务端身份合法后,将终端应用的身份标识id1与服务端返回的随机码sr1用服务端公钥加密得到E3;将身份标识id1和随机码sr1进行摘要SHA后用终端应用私钥签名得到数据E4;将E3+E4组成的数据E5发送给服务端;
1.7服务端接收到加密数据E3后用服务端私钥解密获得终端应用对应的身份标识id2和服务端对应的随机码sr2,同时对解密后的身份标识id2和随机码sr2进行摘要SHA后得到数值M1;服务端再利用终端应用公钥对数据E4进行验签解密后得到数值M2;
1.8通过判断M1和M2是否相等来验证步骤1.4服务端返回的随机码sr1与步骤1.7解密得到的随机码sr2是否一致,如果M1与M2相等,则确认终端应用id1身份合法;
1.9双方身份确认合法后建立起终端应用与服务端的连接,并返回给终端应用一个临时的合法令牌;
步骤二,服务端为每个终端应用开通一个非阻塞式长连接的通讯通道,用于短消息的通知传递,包括以下子步骤:
2.1终端应用获得临时的合法令牌后,将其身份标识id1和令牌t1进行摘要SHA后用终端应用私钥签名得到数据E6,终端应用将身份标识id1、令牌t1以及E6一并发送给服务端,验证身份标识id1是否合法以及令牌t1是否有效,如果验证失败则重复身份认证流程;
2.2服务端收到id1+t1+E6信息,对身份标识id1和令牌t1进行摘要SHA后得到数值M3;再利用终端应用公钥对E6进行验签解密后得到数值M4;服务端判断M3与M4是否相等,如果相等则验证终端应用id1合法;
2.3服务端将已经和服务端建立长连接的终端应用维护到合法的在线终端应用列表,并进行心跳检测,管理终端应用的连接;
2.4终端应用间通道建立,当终端应用A要与终端应用B通讯时,首先终端应用A向服务端发送与终端应用B通讯的请求,服务端确认终端应用A,B的合法性后,将分别用终端应用A,B的公钥加密AES密钥K的结果分别发送给A,B,同时为终端应用A,B建立起合法的连接通道,将连接成功信息发送给终端应用A,B;
2.5终端应用A获取与终端应用B连接成功的消息,同时用终端应用A的私钥解密服务端的信息获得通讯密钥K,终端应用A将短消息SM用通讯密钥K加密后的数据C1发送给终端应用B;终端应用B同样通过自己的私钥解密服务端的信息获得通讯密钥K,终端应用B将获得的消息利用通讯密钥K解密获得终端应用A发送的明文即短消息SM;
步骤三,基于http协议的方式进行终端应用间数据传输,包括以下子步骤:
3.1终端应用A请求向终端应用B发送数据,首先终端应用A通过长连接通讯通道向终端应用B发送传输数据请求;
3.2终端应用B收到终端应用A的传输数据请求后,将是否准备接收数据的响应通过长连接通讯通道返回给终端应用A;
3.3终端应用A收到终端应用B的响应,如果响应是拒绝则中断当前流程,如果是同意接收数据,则终端应用A将需要传输的业务数据LM用建立长连接通讯通道时服务端分发的通讯密钥K加密得到数据C2,并将C2传输到服务端,同时通过长连接通讯通道向终端应用B发送一条代表数据发送成功的短消息,短消息中具有根据C2生成的唯一标识数据序列号;
3.4终端应用B收到需要接收数据的序列号后,通过序列号以http协议的方式从服务端获取终端应用A发送的业务数据,终端应用B用建立长连接通讯通道时服务端分发的通讯密钥K解密获得终端应用A发送的明文即业务数据LM;终端应用B获取业务数据成功后,通过长连接通讯通道发送获取数据成功的消息给终端应用A;
3.5终端应用A收到终端应用B接收数据成功的消息,完成一轮数据传输。
进一步地,步骤1.2、步骤1.5、步骤1.8中的三个条件都需验证通过,其中一个条件不满足则终止流程;如果都满足则终端应用与服务端的双向身份认证通过。
进一步地,所述步骤1.9中,双方身份确认合法后建立起终端应用与服务端的连接,并返回给终端应用一个临时的合法令牌,令牌的有效时间由服务端控制,之后终端应用与服务端的每次交互都需要带上合法令牌;令牌失效后重复步骤1.1-步骤1.8的双向身份认证过程。
进一步地,步骤2.1中的两个条件与步骤2.2中的一个条件中,如果有一项不满足则拒绝建立通道,断开连接。
进一步地,所述步骤2.3中,终端应用间通讯的数据结构包括:令牌token,发起方身份标识from,接收方身份标识to,业务类型type,序列号serialno,通讯的信息内容content。
进一步地,所述步骤二中,服务端心跳检查终端应用的连接状态,当终端应用异常或其他原因断开连接,需要再次发送消息时,重复步骤2.1-步骤2.5。
进一步地,所述步骤3.5中,如果终端应用A在数据发送完成后一段时间内仍未收到终端应用B接收数据成功的消息,重复步骤3.1-步骤3.4的过程n次,如果n次后仍未成功,提示失败信息。
根据本说明书的第二方面,提供一种终端应用间数据安全交互***,该***包括:
双向身份认证模块,用于终端应用和服务端进行基于http协议方的双向身份认证;
安全通道建立模块,用于服务端为每个终端应用开通一个非阻塞式长连接的通讯通道进行短消息的通知传递;
数据交互模块,用于基于http协议进行终端应用间数据传输。
本发明的有益效果是:本发明通过引入服务端,终端应用在服务端进行注册,采用了终端应用注册id合法验证与非对称加密,随机数,摘要签名的验证方式,终端应用和服务端进行双向认证,通过临时合法令牌确认身份;终端应用和服务端之间建立通讯通道,轻量的消息走此通道,减轻服务端压力,作为终端应用数据交互的辅助,通过数字信封的方式向建立通道的终端应用发放数据交互的临时密钥作为数据的加密解密密钥;基于http协议进行终端应用间的数据交互。本发明提供了一种安全有效的终端应用间数据交互方方法,解决了各类终端应用在不同网段无法点对点网络连接的情况下难以进行安全的数据交互的问题。
附图说明
图1为一示例性实施例提供的终端应用间数据安全交互方法流程图;
图2为一示例性实施例提供的终端应用和服务端双向身份认证流程图;
图3为一示例性实施例提供的基于非阻塞式长连接的通讯通道建立流程图;
图4为一示例性实施例提供基于http协议的数据传输流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
本发明提供一种终端应用间数据安全交互方法,如图1所示,该方法包括以下步骤:
步骤一:基于http协议的身份认证,在进行数据交互前终端应用和服务端需要进行双向身份认证,如图2所示,包括以下子步骤:
1.1终端应用向服务端发送连接请求,终端应用将其身份标识id1加上随机码r1用服务端公钥加密后的值E1发送给服务端,表示为E1=Ek(s公钥)(id1+r1),其中Ek(S公钥)表示服务端公钥加密。
1.2服务端收到请求后用服务端私钥解密得到D1,表示为D1=Dk(+私钥)(Ek(S公钥)(id1+r1))=id1+r1,其中Dk(S私钥)表示服务端私钥解密,将身份标识id1与服务端发布的合法终端应用列表进行对比,验证终端应用id1身份合法性,如果不合法则终止流程。
1.3服务端验证终端应用id1身份合法后,将终端应用传输的随机码r1加上服务端产生的随机码sr1用终端应用id1对应的终端应用公钥加密后的值E2返回给终端应用id1,表示为E2=Ek(C公钥)(r1+sr1),其中Ek(C公钥)表示终端应用公钥加密。
1.4终端应用id1在接收到服务端返回的加密数据后用自己的私钥解密得到终端应用id1对应的随机码r2和服务端返回的随机码sr1,表示为D2=Dk(C私钥)(Ek(C公钥)(r1+sr1))=r2+sr1,其中Dk(C私钥)表示终端应用私钥解密。
1.5终端应用id1对比解密得到的随机码r2是否与自己步骤1.1发送的随机码r1相同,如果相同则确认服务端身份合法,如果不同则终止流程。
1.6终端应用验证服务端身份合法后,将终端应用的身份标识id1与服务端返回的随机码sr1用服务端公钥加密得到E3,表示为E3=Ek(S公钥)(id1+sr1);将身份标识id1和随机码sr1进行摘要SHA后用终端应用私钥签名得到数据E4=Ek(C私钥)(SHA(id1+sr1)),其中Ek(C私钥)表示终端应用私钥签名;将E3+E4组成的数据E5发送给服务端,表示为E5=E3+E4。
1.7服务端接收到加密数据E3后用服务端私钥解密获得终端应用对应的身份标识id2和服务端对应的随机码sr2,表示为D3=Dk(S私钥)(Ek(s公钥)(id1+sr1))=id2+sr2,同时对解密后的身份标识id2和随机码sr2进行摘要SHA后得到数值M1,表示为M1=SHA(id2+sr2);服务端再利用终端应用公钥对数据E4进行验签解密后得到数值M2,表示为M2=Dk(C公钥)(Ek(C私钥)(SHA(id1+sr1))),其中Dk(c公钥)表示终端应用公钥解密。
1.8验证终端应用id1合法性,通过判断M1和M2是否相等来验证步骤1.4服务端返回的随机码sr1与步骤1.7解密得到的随机码sr2是否一致,如果M1与M2相等,则确认终端应用id1身份合法;
步骤1.2、步骤1.5、步骤1.8中的三个条件都需验证通过,其中一个条件不满足则终止流程;如果都满足则终端应用与服务端的双向身份认证通过。
1.9双方身份确认合法后建立起终端应用与服务端的连接,并返回给终端应用一个临时的合法令牌,这个令牌的有效时间由服务端控制;之后终端应用与服务端的每次交互都需要带上合法令牌;令牌失效后重复上述步骤1.1-步骤1.8的双向身份认证过程。
步骤二,建立通讯通道,基于非阻塞式长连接nio socket,服务端为每个终端应用开通一个长连接的通讯通道channel,通讯通道主要用于短消息的通知传递,如图3所示,包括以下子步骤:
2.1经过步骤一的身份认证成功后,终端应用获得临时的合法令牌,终端应用将自己的身份标识id1和令牌t1进行摘要SHA后用终端应用私钥签名得到数据E6,表示为E6=Ek(C私钥)(SHA(id1+t1)),终端应用将身份标识id1、令牌t1以及E6一并发送给服务端,验证身份标识id1是否合法以及令牌t1是否有效,如果验证失败则重复身份认证流程。
2.2服务端收到id1+t1+E6信息,对身份标识id1和令牌t1进行摘要SHA后得到数值M3,表示为M3=SHA(id1+t1);再利用终端应用公钥对E6进行验签解密后得到数值M4,表示为M4=Dk(C公钥)(Ek(C私钥)(SHA(id1+sr1)));服务端判断M3与M4是否相等,如果相等则验证终端应用id1合法。
步骤2.1中的两个条件与步骤2.2中的一个条件中,如果有一项不满足则拒绝建立通道,断开连接。
2.3服务端将已经和服务端建立长连接的终端应用维护到合法的在线终端应用列表,并进行心跳检测,管理终端应用的连接,终端应用间通讯的数据结构如下:
token | from | to | type | serialno | content |
其中,token为令牌,from为发起方身份标识,to为接收方身份标识,type为业务类型,serialno为序列号即唯一编号,content为通讯的信息内容。
2.4终端应用间通道建立,当终端应用A要与终端应用B通讯时,首先终端应用A向服务端发送与终端应用B通讯的请求,服务端确认终端应用A、B的合法性后,将分别用终端应用A,B的公钥加密AES密钥K的结果Ek(Caid)(K),Ek(Cbid)(K)分别发送给A,B,作为后续业务数据交互的密钥,同时为终端应用A、B建立起合法的连接通道,将连接成功信息发送给终端应用A、B。
2.5终端应用A获取与终端应用B连接成功的消息,同时用终端应用A的私钥解密服务端的信息获得通讯密钥K,表示为Dk(Caid私钥)(Ek(caid)(K))=K,终端应用A将短消息SM用通讯密钥K加密后的数据C1发送给终端应用B,表示为E(K,SM)=C1;终端应用B同样通过自己的私钥解密服务端的信息获得通讯密钥K,表示为Dk(Cbid私钥)(Ek(Cbid)(K))=K,终端应用B将获得的消息利用通讯密钥K解密获得终端应用A发送的明文即短消息SM,表示为D(K,C1)=SM。
2.6服务端心跳检查终端应用的连接状态,当终端应用异常或其他原因断开连接,需要再次发送消息时,重复上述步骤2.1-步骤2.5。
步骤三,数据交互,完成以上身份认证和通道建立后,基于http协议的方式进行数据传输,如图4所示,包括以下子步骤:
3.1终端应用A请求向终端应用B发送数据,首先终端应用A通过长连接通讯通道向终端应用B发送传输数据请求。
3.2终端应用B收到终端应用A的传输数据请求后,将是否准备接收数据的响应通过长连接通讯通道返回给终端应用A。
3.3终端应用A收到终端应用B的响应,如果响应是拒绝则中断当前流程,如果是同意接收数据,则终端应用A将需要传输的业务数据LM用建立长连接通讯通道时服务端分发的通讯密钥K进行加密得到加密数据C2,表示为E(K,LM)=C2,并将加密数据C2传输到服务端,同时通过长连接通讯通道向终端应用B发送一条代表数据发送成功的短消息,短消息中具有根据C2生成的唯一标识数据序列号。
3.4终端应用B收到需要接收数据的序列号后,通过序列号以http协议的方式从服务端获取终端应用A发送的业务数据,终端应用B用建立长连接通讯通道时服务端分发的通讯密钥K解密获得终端应用A发送的明文即业务数据LM,表示为D(K,C2)=LM;终端应用B获取业务数据成功后,通过长连接通讯通道发送获取数据成功的消息给终端应用A。
3.5终端应用A收到终端应用B接收数据成功的消息,完成一轮数据传输;如果终端应用A在数据发送完成后一段时间内仍未收到终端应用B接收数据成功的消息,重复上述步骤3.1-步骤3.4的过程n次,n可设置为3,如果n次后仍未成功,提示失败信息。
本发明中终端应用用于和服务端建立安全连接、接收通知、推送、获取业务数据等,认证数据合法性;服务端用于与终端应用建立鉴权,消息推送,业务数据转发等。
本发明方法基于http协议的方式进行服务端与终端应用间的双向身份认证,认证过程采用了终端应用注册id合法验证与非对称加密,随机数,摘要签名的验证方式,保证了终端应用与服务端身份的合法性,并为终端应用发放临时的合法令牌作为后续通讯的合法依据。
本发明方法建立基于nio sokect的通讯通道,轻量的消息走此通道,减轻服务端压力,作为终端应用数据交互的辅助,并通过数字信封的方式向建立通道的终端应用发放数据交互的临时密钥作为数据的加密解密密钥。
本发明方法基于http协议的方式进行数据传输,终端应用间通过数据序列号和信息密钥作为终端应用间数据交互的依据。
与前述终端应用间数据安全交互方法的实施例相对应,本发明还提供了终端应用间数据安全交互***的实施例。
本发明实施例提供的一种终端应用间数据安全交互***,包括以下模块:
双向身份认证模块,用于终端应用和服务端进行基于http协议方的双向身份认证,具体实现方式可参照前述步骤一。
安全通道建立模块,用于服务端为每个终端应用开通一个非阻塞式长连接的通讯通道进行短消息的通知传递,具体实现方式可参照前述步骤二。
数据交互模块,用于基于http协议进行终端应用间数据传输,具体实现方式可参照前述步骤三。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (8)
1.一种终端应用间数据安全交互方法,其特征在于,包括以下步骤:
步骤一:终端应用和服务端进行基于http协议的双向身份认证,包括以下子步骤:
1.1终端应用向服务端发送连接请求,终端应用将其身份标识id1加上随机码r1用服务端公钥加密后的值E1发送给服务端;
1.2服务端收到请求后用服务端私钥解密得到D1=id1+r1,将身份标识id1与服务端发布的合法终端应用列表进行对比,验证终端应用id1身份合法性;
1.3服务端验证终端应用id1身份合法后,将终端应用传输的随机码r1加上服务端产生的随机码sr1用终端应用id1的公钥加密后的值E2返回给终端应用id1;
1.4终端应用id1在接收到服务端返回的加密数据后用自己的私钥解密得到终端应用id1对应的随机码r2和服务端返回的随机码sr1;
1.5终端应用id1将解密得到的随机码r2与步骤1.1发送的随机码r1进行对比,验证服务端身份合法性;
1.6终端应用验证服务端身份合法后,将终端应用的身份标识id1与服务端返回的随机码sr1用服务端公钥加密得到E3;将身份标识id1和随机码sr1进行摘要SHA后用终端应用私钥签名得到数据E4;将E3+E4组成的数据E5发送给服务端;
1.7服务端接收到加密数据E3后用服务端私钥解密获得终端应用对应的身份标识id2和服务端对应的随机码sr2,同时对解密后的身份标识id2和随机码sr2进行摘要SHA后得到数值M1;服务端再利用终端应用公钥对数据E4进行验签解密后得到数值M2;
1.8通过判断M1和M2是否相等来验证步骤1.4服务端返回的随机码sr1与步骤1.7解密得到的随机码sr2是否一致,如果M1与M2相等,则确认终端应用id1身份合法;
1.9双方身份确认合法后建立起终端应用与服务端的连接,并返回给终端应用一个临时的合法令牌;
步骤二,服务端为每个终端应用开通一个非阻塞式长连接的通讯通道,用于短消息的通知传递,包括以下子步骤:
2.1终端应用获得临时的合法令牌后,将其身份标识id1和令牌t1进行摘要SHA后用终端应用私钥签名得到数据E6,终端应用将身份标识id1、令牌t1以及E6一并发送给服务端,验证身份标识id1是否合法以及令牌t1是否有效,如果验证失败则重复身份认证流程;
2.2服务端收到id1+t1+E6信息,对身份标识id1和令牌t1进行摘要SHA后得到数值M3;再利用终端应用公钥对E6进行验签解密后得到数值M4;服务端判断M3与M4是否相等,如果相等则验证终端应用id1合法;
2.3服务端将已经和服务端建立长连接的终端应用维护到合法的在线终端应用列表,并进行心跳检测,管理终端应用的连接;
2.4终端应用间通道建立,当终端应用A要与终端应用B通讯时,首先终端应用A向服务端发送与终端应用B通讯的请求,服务端确认终端应用A,B的合法性后,将分别用终端应用A,B的公钥加密AES密钥K的结果分别发送给A,B,同时为终端应用A,B建立起合法的连接通道,将连接成功信息发送给终端应用A,B;
2.5终端应用A获取与终端应用B连接成功的消息,同时用终端应用A的私钥解密服务端的信息获得通讯密钥K,终端应用A将短消息SM用通讯密钥K加密后的数据C1发送给终端应用B;终端应用B同样通过自己的私钥解密服务端的信息获得通讯密钥K,终端应用B将获得的消息利用通讯密钥K解密获得终端应用A发送的明文即短消息SM;
步骤三,基于http协议的方式进行终端应用间数据传输,包括以下子步骤:
3.1终端应用A请求向终端应用B发送数据,首先终端应用A通过长连接通讯通道向终端应用B发送传输数据请求;
3.2终端应用B收到终端应用A的传输数据请求后,将是否准备接收数据的响应通过长连接通讯通道返回给终端应用A;
3.3终端应用A收到终端应用B的响应,如果响应是拒绝则中断当前流程,如果是同意接收数据,则终端应用A将需要传输的业务数据LM用建立长连接通讯通道时服务端分发的通讯密钥K加密得到数据C2,并将C2传输到服务端,同时通过长连接通讯通道向终端应用B发送一条代表数据发送成功的短消息,短消息中具有根据C2生成的唯一标识数据序列号;
3.4终端应用B收到需要接收数据的序列号后,通过序列号以http协议的方式从服务端获取终端应用A发送的业务数据,终端应用B用建立长连接通讯通道时服务端分发的通讯密钥K解密获得终端应用A发送的明文即业务数据LM;终端应用B获取业务数据成功后,通过长连接通讯通道发送获取数据成功的消息给终端应用A;
3.5终端应用A收到终端应用B接收数据成功的消息,完成一轮数据传输。
2.根据权利要求1所述的一种终端应用间数据安全交互方法,其特征在于,步骤1.2、步骤1.5、步骤1.8中的三个条件都需验证通过,其中一个条件不满足则终止流程;如果都满足则终端应用与服务端的双向身份认证通过。
3.根据权利要求1所述的一种终端应用间数据安全交互方法,其特征在于,所述步骤1.9中,双方身份确认合法后建立起终端应用与服务端的连接,并返回给终端应用一个临时的合法令牌,令牌的有效时间由服务端控制,之后终端应用与服务端的每次交互都需要带上合法令牌;令牌失效后重复步骤1.1-步骤1.8的双向身份认证过程。
4.根据权利要求1所述的一种终端应用间数据安全交互方法,其特征在于,步骤2.1中的两个条件与步骤2.2中的一个条件中,如果有一项不满足则拒绝建立通道,断开连接。
5.根据权利要求1所述的一种终端应用间数据安全交互方法,其特征在于,所述步骤2.3中,终端应用间通讯的数据结构包括:令牌token,发起方身份标识from,接收方身份标识to,业务类型type,序列号serialno,通讯的信息内容content。
6.根据权利要求1所述的一种终端应用间数据安全交互方法,其特征在于,所述步骤二中,服务端心跳检查终端应用的连接状态,当终端应用异常或其他原因断开连接,需要再次发送消息时,重复步骤2.1-步骤2.5。
7.根据权利要求1所述的一种终端应用间数据安全交互方法,其特征在于,所述步骤3.5中,如果终端应用A在数据发送完成后一段时间内仍未收到终端应用B接收数据成功的消息,重复步骤3.1-步骤3.4的过程n次,如果n次后仍未成功,提示失败信息。
8.一种实现如权利要求1-7中任一项所述方法的终端应用间数据安全交互***,其特征在于,该***包括以下模块:
双向身份认证模块,用于终端应用和服务端进行基于http协议方的双向身份认证;
安全通道建立模块,用于服务端为每个终端应用开通一个非阻塞式长连接的通讯通道进行短消息的通知传递;
数据交互模块,用于基于http协议进行终端应用间数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210922446.4A CN115296890B (zh) | 2022-08-02 | 2022-08-02 | 一种终端应用间数据安全交互方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210922446.4A CN115296890B (zh) | 2022-08-02 | 2022-08-02 | 一种终端应用间数据安全交互方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115296890A true CN115296890A (zh) | 2022-11-04 |
CN115296890B CN115296890B (zh) | 2024-03-12 |
Family
ID=83826573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210922446.4A Active CN115296890B (zh) | 2022-08-02 | 2022-08-02 | 一种终端应用间数据安全交互方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115296890B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737839A (zh) * | 2023-08-10 | 2023-09-12 | 中国电子投资控股有限公司 | 一种在网络限制条件下的制品同步方法 |
CN117938984A (zh) * | 2024-01-29 | 2024-04-26 | 数盾信息科技股份有限公司 | 一种基于高速加密算法的网络数据传输方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105657702A (zh) * | 2016-04-07 | 2016-06-08 | 中国联合网络通信集团有限公司 | 认证方法、认证***、移动终端的认证方法和移动终端 |
CN106453330A (zh) * | 2016-10-18 | 2017-02-22 | 深圳市金立通信设备有限公司 | 一种身份认证的方法和*** |
CN107113315A (zh) * | 2016-04-15 | 2017-08-29 | 深圳前海达闼云端智能科技有限公司 | 一种身份认证方法、终端及服务器 |
CN107277061A (zh) * | 2017-08-08 | 2017-10-20 | 四川长虹电器股份有限公司 | 基于iot设备的端云安全通信方法 |
CN107302541A (zh) * | 2017-07-31 | 2017-10-27 | 成都蓝码科技发展有限公司 | 一种基于http协议的数据加密传输方法 |
CN111131300A (zh) * | 2019-12-31 | 2020-05-08 | 上海移为通信技术股份有限公司 | 通信方法、终端及服务器 |
CN112073963A (zh) * | 2020-09-16 | 2020-12-11 | 武汉虹旭信息技术有限责任公司 | 通信交互数据传输方法及装置 |
CN113162956A (zh) * | 2020-01-22 | 2021-07-23 | 华为技术有限公司 | 一种建立通信连接的方法、装置和网络设备 |
US20220078492A1 (en) * | 2019-12-13 | 2022-03-10 | Tencent Technology (Shenzhen) Company Limited | Interactive service processing method and system, device, and storage medium |
-
2022
- 2022-08-02 CN CN202210922446.4A patent/CN115296890B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105657702A (zh) * | 2016-04-07 | 2016-06-08 | 中国联合网络通信集团有限公司 | 认证方法、认证***、移动终端的认证方法和移动终端 |
CN107113315A (zh) * | 2016-04-15 | 2017-08-29 | 深圳前海达闼云端智能科技有限公司 | 一种身份认证方法、终端及服务器 |
CN106453330A (zh) * | 2016-10-18 | 2017-02-22 | 深圳市金立通信设备有限公司 | 一种身份认证的方法和*** |
CN107302541A (zh) * | 2017-07-31 | 2017-10-27 | 成都蓝码科技发展有限公司 | 一种基于http协议的数据加密传输方法 |
CN107277061A (zh) * | 2017-08-08 | 2017-10-20 | 四川长虹电器股份有限公司 | 基于iot设备的端云安全通信方法 |
US20220078492A1 (en) * | 2019-12-13 | 2022-03-10 | Tencent Technology (Shenzhen) Company Limited | Interactive service processing method and system, device, and storage medium |
CN111131300A (zh) * | 2019-12-31 | 2020-05-08 | 上海移为通信技术股份有限公司 | 通信方法、终端及服务器 |
CN113162956A (zh) * | 2020-01-22 | 2021-07-23 | 华为技术有限公司 | 一种建立通信连接的方法、装置和网络设备 |
CN112073963A (zh) * | 2020-09-16 | 2020-12-11 | 武汉虹旭信息技术有限责任公司 | 通信交互数据传输方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737839A (zh) * | 2023-08-10 | 2023-09-12 | 中国电子投资控股有限公司 | 一种在网络限制条件下的制品同步方法 |
CN117938984A (zh) * | 2024-01-29 | 2024-04-26 | 数盾信息科技股份有限公司 | 一种基于高速加密算法的网络数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115296890B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112003889B (zh) | 分布式跨链***及跨链信息交互与***访问控制方法 | |
CN113194469B (zh) | 基于区块链的5g无人机跨域身份认证方法、***及终端 | |
CN101340443B (zh) | 一种通信网络中会话密钥协商方法、***和服务器 | |
CN113079016B (zh) | 一种面向天基网络的身份基认证方法 | |
EP2078371B1 (en) | Method and system for using pkcs registration on mobile environment | |
CN115296890B (zh) | 一种终端应用间数据安全交互方法及*** | |
US20030026433A1 (en) | Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique | |
CN112039918B (zh) | 一种基于标识密码算法的物联网可信认证方法 | |
CN104506534A (zh) | 安全通信密钥协商交互方案 | |
CN111783068A (zh) | 设备认证方法、***、电子设备及存储介质 | |
CN108964897B (zh) | 基于群组通信的身份认证***和方法 | |
JP2018525939A (ja) | セキュリティ認証方法、構成方法、および関連デバイス | |
JP2000083018A (ja) | 機密を要する情報を最初は機密化されてない通信を用いて伝送するための方法 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN111212400B (zh) | 基于秘密共享和移动终端的抗量子计算车联网***及其认证方法 | |
CN108964895B (zh) | 基于群组密钥池和改进Kerberos的User-to-User身份认证***和方法 | |
CN108259486B (zh) | 基于证书的端到端密钥交换方法 | |
CN111416712B (zh) | 基于多个移动设备的量子保密通信身份认证***及方法 | |
CN112565302A (zh) | 基于安全网关的通信方法、***及设备 | |
CN114422205B (zh) | 一种电力专用cpu芯片网络层数据隧道建立方法 | |
CN114390524B (zh) | 一键登录业务的实现方法和装置 | |
CN113163375B (zh) | 一种基于NB-IoT通信模组的空中发证方法和*** | |
CN117278330B (zh) | 一种电力物联网设备网络的轻量级组网与安全通信方法 | |
CN107104888B (zh) | 一种安全的即时通信方法 | |
JPH10242957A (ja) | ユーザ認証方法およびシステムおよびユーザ認証用記憶媒体 |
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 |