CN112995322A - 信息传输通道建立方法、装置、存储介质以及终端 - Google Patents

信息传输通道建立方法、装置、存储介质以及终端 Download PDF

Info

Publication number
CN112995322A
CN112995322A CN202110242485.5A CN202110242485A CN112995322A CN 112995322 A CN112995322 A CN 112995322A CN 202110242485 A CN202110242485 A CN 202110242485A CN 112995322 A CN112995322 A CN 112995322A
Authority
CN
China
Prior art keywords
server
symmetric key
terminal
encrypted session
certificate
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
Application number
CN202110242485.5A
Other languages
English (en)
Other versions
CN112995322B (zh
Inventor
张�浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202110242485.5A priority Critical patent/CN112995322B/zh
Publication of CN112995322A publication Critical patent/CN112995322A/zh
Application granted granted Critical
Publication of CN112995322B publication Critical patent/CN112995322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0435Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本申请实施例公开了一种信息传输通道建立方法、装置、存储介质以及终端。所述方法包括:向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证,若所述本地缓存中不存在所述加密会话凭证,则生成第一对称密钥,将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。通过由终端生成短期通信密钥,再将短期通信密钥告知服务器,进而建立与服务器之间的信息传输通道,可以减小服务器存储密钥的开销。

Description

信息传输通道建立方法、装置、存储介质以及终端
技术领域
本发明涉及计算机技术领域,尤其涉及一种信息传输通道建立方法、装置、存储介质以及终端。
背景技术
通常,在终端和服务器的通信过程中,通过密码技术来保护通信数据的安全。主要是使用非对称密码技术,即在终端和服务器之间协商短期通信密钥,再使用对称密码技术,在短期通信密钥的保护下建立安全传输通道。在非对称密码技术和对称密码技术的结合过程中,基于性能考虑,依赖服务器,在较短的周期内,保存和复用短期通信密钥,并非每次都使用非对称密码技术重新生成。上述方式虽然缓解了服务器的非对称计算压力,但是服务器会产生额外的存储和查询的开销,在终端数量较大时,服务器的开销会显著增加。
发明内容
本申请实施例提供了一种信息传输通道建立方法、装置、计算机存储介质以及终端,旨在解决终端和服务器的通信过程中,如何减小服务器开销的技术问题。所述技术方案如下:
第一方面,本申请实施例提供了一种信息传输通道建立方法,应用于终端,所述方法包括:
向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证;
若所述本地缓存中不存在所述加密会话凭证,则生成第一对称密钥;
将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。
第二方面,本申请实施例提供了一种信息传输通道建立方法,应用于服务器,所述方法包括:
接收终端发送的第一对称密钥,所述第一对称密钥为所述终端在本地缓存中未查找到加密会话凭证时生成;
基于所述第一对称密钥建立与所述终端之间的信息传输通道。
第三方面,本申请实施例提供了一种信息传输通道建立装置,应用于终端,所述装置包括:
凭证查找模块,用于向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证;
密钥生成模块,用于在所述本地缓存中不存在所述加密会话凭证时,则生成第一对称密钥;
通道建立模块,用于将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。
第四方面,本申请实施例提供了一种信息传输通道建立装置,应用于服务器,所述装置包括:
密钥接收模块,用于接收终端发送的第一对称密钥,所述第一对称密钥为所述终端在本地缓存中未查找到加密会话凭证时生成;
通道建立模块,用于基于所述第一对称密钥建立与所述终端之间的信息传输通道。
第五方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第六方面,本申请实施例提供了一种终端,可包括:存储器和处理器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述存储器加载并执行上述的方法步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例的方案在执行时,终端向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证,若所述本地缓存中不存在所述加密会话凭证,则生成第一对称密钥,终端再将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。通过由终端生成短期通信密钥,再将短期通信密钥告知服务器,进而建立与服务器之间的信息传输通道,可以减小服务器存储短期通信密钥的开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种信息传输通道建立方法的系统架构示意图;
图2是本申请实施例提供的一种信息传输通道建立方法的流程示意图;
图3是本申请实施例提供的另一种信息传输通道建立方法的流程示意图;
图4是本申请实施例提供的又一种信息传输通道建立方法的流程示意图;
图5是本申请实施例提供的又一种信息传输通道建立方法的流程示意图;
图6是本申请实施例提供的又一种信息传输通道建立方法的流程示意图;
图7是本申请实施例提供的一种信息传输通道建立装置的结构示意图;
图8是本申请实施例提供的一种信息传输通道建立装置的结构示意图;
图9是本申请实施例提供的一种服务器的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图;
图11是本申请实施例提供的操作系统和用户空间的结构示意图;
图12是图11中安卓操作系统的架构图;
图13是图11中IOS操作系统的架构图。
具体实施方式
为使得本申请实施例的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参见图1,为本申请实施例提供的一种信息传输通道建立方法的系统架构示意图。如图1所示,包括第一设备集群和第二设备104。所述第一设备集群可以包括多个第一设备,如图1所示,具体包括第一设备101、第二设备102及第三设备103。
第一设备101、102以及103可以是具有通信功能的电子设备,该电子设备包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,PDA)、5G网络或未来演进网络中的终端设备等。
第二设备104可以具有信息传输通道建立功能的电子设备,也可以是单独的服务器设备,例如:机架式、刀片、塔式、或者机柜式的服务器设备,或采用工作站、大型计算机等具备较强计算能力硬件设备;也可以是采用多个服务器组成的服务器集群,所述服务集群中的各服务器可以是以对称方式组成的,其中每台服务器在业务链路中功能等价、地位等价,各服务器均可单独对外提供服务,所述单独提供服务可以理解为无需另外的服务器的辅助。
所述第二设备104与第一设备集群中任一第一设备通过网络进行交互通信,网络可以是无线网络,也可以是有线网络,无线网络包括但不限于蜂窝网络、无线局域网、红外网络或蓝牙网络,有线网络包括但不限于以太网、通用串行总线(universal serial bus,USB)或控制器局域网络。
在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据(如目标压缩包)。此外还可以使用诸如安全套接字层(Secure SocketLayer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(VirtualPrivate Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面结合具体的实施例对本申请进行详细说明。
需要说明的是,对于本申请涉及的下述实施例,在终端和服务器进行安全通信之前,服务器和终端都有初始化工作。对于服务器的初始化工作,服务器需要生成长期公私钥对,并向证书颁发机构(Certificate Authority,CA)签发服务器证书,服务器证书中包括上述公私钥对。CA即颁发数字证书的机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。另外,服务器还需利用对称密码技术生成对称密钥Server_Key。对于终端的初始化工作,就是从本地获取服务器证书,若终端本地没有服务器证书,那么可以通过网络获取服务器证书。
另外,在下述实施例中,仅基于一个终端和一个服务器之间的通信进行对本申请进行说明。
在下述方法实施例中,为了便于说明,仅以各步骤的执行主体为终端进行介绍说明。
请参见图2,为本申请实施例提供的一种信息传输通道建立方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:
S201,向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证。
其中,加密会话凭证是由服务器生成,并由服务器发送至终端,终端保存在本地缓存中。加密会话凭证的结构可参见表1所示的结构表,在本申请中,将Session_Token定义为加密会话凭证,Server_Key为服务器生成的对称密钥,key为终端生成的第一对称密钥。由表1可以知道,Session_Token包括Server_Key_ID、加密的key、有效期以及其他可选字段组成。对于Server_Key_ID,是将Server_Key进行杂凑运算得到Server_Key的杂凑值,将Server_Key的杂凑值作为ID。对于加密的key,是使用对称密钥Server_Key来加密key的密文以及nonce参数,nonce在密码学中是一个只被使用一次的任意或非重复的随机数值,用于在各类验证协议的通信应用中确保验证信息不被重复使用以对抗重放攻击。有效期是Session_Token可被使用的有效期,过期视为无效。对于其他可选字段,可以包括终端ID、业务号、版本号等其他信息,业务号可以理解为通信业务的业务号,版本号可以理解为Session_Token的版本号。
表1加密会话凭证的结构
Figure BDA0002961642490000051
S202,若本地缓存中不存在加密会话凭证,则生成第一对称密钥。
其中,第一对称密钥用于终端和服务器之间进行短期通信,为终端通过对称密码技术生成。
具体的,若终端在本地缓存中没有查找到加密会话凭证,表示终端和服务器在此之前并没有进行过通信,也即终端和服务器之间没有建立信息传输通道。此时,终端可以通过对称密码技术生成第一对称密钥,作为与服务器进行短期通信的密钥。
S203,将第一对称密钥发送至服务器,并基于第一对称密钥建立与服务器之间的信息传输通道。
在一种可能的实施方式中,终端可以将第一对称密钥封装在数字信封中发送至服务器,服务器接收到来自终端的数字信封,对数字信封进行解密,拿到第一对称密钥,则可以基于第一对称密钥来建立与终端之间的信息传输通道,也即服务器和终端可以之间发送通信数据时,可以使用第一对称密钥对通信数据进行加密和解密,第一对称密钥只有终端和服务器知道,则可以避免其他设备的攻击,保证通信数据的安全传输。可以理解的是,终端将第一对称密钥封装在数字信封中,是通过上述服务器证书中的公钥将第一对称密钥进行加密生成数字信封。数字信封是将对称密钥通过非对称加密(即:有公钥和私钥两个)的结果分发对称密钥的方法。那么,服务器在收到数字信封后,对数字信封进行解密,是使用上述服务器证书中的公钥对应的私钥进行解密,则可以得到第一对称密钥。
在另一种可能的实施方式中,在终端的初始化工作中,终端还可以生成长期公私钥对,向CA签发终端证书,终端证书中包括该公私钥对。那么终端在本地缓存中没有查找到加密会话凭证时,生成第一对称密钥后,可以将第一对称密钥封装在数字信封中,通过终端证书上的公钥生成数字签名,再将数字信封和数字签名发送至服务器,服务器使用自己证书上的私钥对数字信封进行解密得到第一对称密钥,服务器使用终端证书上的公钥来验证数字签名,以此来验证终端的身份信息。服务器拿到第一对称密钥后,可以基于该第一密钥建立与终端之前的信息传输通道,可以基于信息传输通道安全地进行通信数据的传输。
本申请实施例的方案在执行时,终端向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证,若所述本地缓存中不存在所述加密会话凭证,则生成第一对称密钥,终端再将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。通过由终端生成短期通信密钥,再将短期通信密钥告知服务器,进而建立与服务器之间的信息传输通道,可以减小服务器存储短期通信密钥的开销。
在下述方法实施例中,为了便于说明,仅以各步骤的执行主体为终端进行介绍说明。
请参见图3,为本申请实施例提供的一种信息传输通道建立方法的流程示意图。如图3所示,本申请实施例的所述方法可以包括以下步骤:
S301,向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证。
S302,若本地缓存中不存在加密会话凭证,则生成第一对称密钥。
具体的,S301~S302可参见图2中的S201~S202,在此不再赘述。
S303,将第一对称密钥发送至服务器,接收并存储服务器发送的加密会话凭证,加密会话凭证包括第一对称密钥。
具体的,终端获取服务器证书,并获取服务器证书中的公钥,通过该公钥对第一对称密钥进行加密生成数字信封,再将数字信封发送至服务器。服务器接收到终端发送的数字信封之后,通过服务器证书中的私钥对数字信封进行解密,得到第一对称密钥。由于终端发送至服务器的只有数字信封,没有加密会话凭证,服务器便可以知道这是与终端之间的首次通信,之前是没有和终端进行通信过的。于是,服务器通过上述对称密钥Server_Key对第一对称密钥进行加密,封装至加密会话凭证中。Server_Key是在通信前的初始化工作中由服务器生成的,加密会话凭证的结构可参见表1,在此不再赘述。服务器再将生成的加密会话凭证发送至终端,终端接收并存储该加密会话凭证。
S304,基于第一对称密钥建立与服务器之间的信息传输通道。
具体的,在终端接收到服务器发送的加密会话凭证后,可以确定服务器已经拿到第一对称密钥,可以使用第一对称密钥来加密通信数据,以及使用第一对称密钥对服务器发送的通信数据的密文进行解密得到通信数据的明文,则可以与服务器建立安全的信息传输通道。
S305,若本地缓存中存在加密会话凭证,获取与加密会话凭证对应的第二对称密钥。
具体的,终端若在本地缓存中查找到加密会话凭证,则从本地缓存中查找第二对称密钥,由于加密会话凭证是服务器发过来的,而服务器在生成加密会话凭证时,是将第二对称密钥封装在加密会话凭证中的,第二对称密钥是终端在服务器进行首次通信之前生成的,也是终端将第二对称密钥发送至服务器的。
S306,基于第二对称密钥将加密会话凭证发送至服务器进行验证,判断是否接收到服务器发送的对加密会话凭证进行验证后的有效指令。
具体的,终端在本地查找到加密会话凭证,说明终端和服务器并不是首次通信,终端此时想和服务器进行通信,只需要将本地的加密会话凭证发送至服务器进行验证即可。若服务器验证该加密会话凭证有效,则服务器可以对加密会话凭证进行解密得到第二对称密钥。服务器还可以向终端发送有效指令,有效指令用于告知终端服务器已拿到第二对称密钥,可以通过第二对称密钥建立安全的信息传输通道,即终端和服务器都可以通过第二对称密钥对通信数据进行加密或解密。若服务器验证该加密会话凭证无效,则服务器要向终端发送与加密会话凭证对应的无效指令,用于告知终端生成新的对称密钥,服务器和终端再基于新的对称密钥进行后续的通信过程。
S307,若是,基于有效指令并使用第二对称密钥建立与服务器之间的信息传输通道。
具体的,终端在接收到服务器发送的对加密会话凭证进行验证后的有效指令,则可以使用第二对称密钥对通信数据进行加密或解密,即可以建立与服务器之间的安全的信息传输通道。
S308,接收服务器发送的对加密会话凭证进行验证后的无效指令,基于无效指令执行生成第一对称密钥的步骤。
具体的,若终端接收到服务器发送的无效指令,则可以使用对称密码技术生成新的对称密钥,将新的对称密钥通过服务器证书中的公钥封装至数字信封中,将数字信封发送至服务器,终端可以执行等上述S303~306的步骤。
需要说明的是,服务器验证加密会话凭证是否有效,可参见表1加密会话凭证的结构,可以基于Server_Key_ID、会话有效期以及其他可选字段进行验证。若Server_Key_ID有误,则验证加密会话凭证无效。若会话有效期超过时间,则验证加密会话凭证无效。对于其他可选字段来说,若业务号有误,则验证加密会话凭证无效;若版本号,也就是该加密会话凭证的版本号和服务器当前应该使用的加密会话凭证的版本号不同,则验证加密会话凭证无效;若终端ID有误,即发送该加密会话凭证时的终端ID和该加密会话凭证中存储的终端ID不同,则验证加密会话凭证无效,这里的终端ID可以指终端的数字签名,终端在发送加密会话凭证时,也可以将数字签名一起发送至服务器,便于服务器对终端的身份进行验证。
本申请实施例的方案在执行时,终端向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证,若本地缓存中不存在加密会话凭证,则生成第一对称密钥,将第一对称密钥发送至服务器,接收并存储服务器发送的加密会话凭证,加密会话凭证包括第一对称密钥,基于第一对称密钥建立与服务器之间的信息传输通道。若本地缓存中存在加密会话凭证,获取与加密会话凭证对应的第二对称密钥,基于第二对称密钥将加密会话凭证发送至服务器进行验证,判断是否接收到服务器发送的对加密会话凭证进行验证后的有效指令,若是,基于有效指令并使用第二对称密钥建立与服务器之间的信息传输通道;否则,接收服务器发送的对加密会话凭证进行验证后的无效指令,基于无效指令执行生成第一对称密钥的步骤。通过本申请的方法,终端和服务器发起首次通信之前,由终端生成短期通信密钥,再将短期通信密钥告知服务器,进而建立与服务器之间的信息传输通道,可以减小服务器生成短期通信密钥的开销。终端和服务器发起非首次通信时,终端将上次成功通信的第二对称密钥和本地存储的加密会话凭证发送至服务器,服务器对加密会话凭证进行验证。若加密会话凭证有效,则对加密会话凭证进行解密得到第二对称密钥,可以减小服务器存储短期通信密钥的开销。若无效,则指示终端重新生成短期通信密钥。
在下述方法实施例中,为了便于说明,仅以各步骤的执行主体为服务器进行介绍说明。
请参见图4,为本申请实施例提供的一种信息传输通道建立方法的流程示意图。如图4所示,本申请实施例的所述方法可以包括以下步骤:
S401,接收终端发送的第一对称密钥,第一对称密钥为终端在本地缓存中未查找到加密会话凭证时生成。
S402,基于第一对称密钥建立与终端之间的信息传输通道。
其中,第一对称密钥用于终端和服务器之间进行短期通信,为终端通过对称密码技术生成。
具体的,本申请实施例的应用场景是终端首次向服务器发起通信请求,由于终端没有在本地缓存中查找到加密会话凭证,终端可以通过对称密码技术生成第一对称密钥,并将第一对称密钥发送至服务器。
在一种可能的实施方式中,终端可以通过数字信封的形式将第一对称密钥发送至服务器,终端可以通过服务器证书中的公钥对第一对称密钥进行加密处理生成数字信封,再将数字信封发送至服务器。服务器接收到数字信封,可以通过服务器证书中的私钥对数字信封进行解密得到第一对称密钥。服务器拿到终端的第一对称密钥后,可以建立与终端之间的信息传输通道,也即可以通过第一对称密钥将通信数据进行加密发送至终端,或通过第一对称密钥对终端发送的通信数据的密文进行解密得到通信数据的明文。
在另一种可能的实施方式中,在终端的初始化工作中,终端还可以生成长期公私钥对,向CA签发终端证书,终端证书中包括该公私钥对。那么终端在本地缓存中没有查找到加密会话凭证时,生成第一对称密钥后,可以将第一对称密钥封装在数字信封中,通过终端证书上的公钥生成数字签名,再将数字信封和数字签名发送至服务器,服务器使用自己证书上的私钥对数字信封进行解密得到第一对称密钥,服务器使用终端证书上的公钥来验证数字签名,以此来验证终端的身份信息。服务器拿到第一对称密钥后,可以基于该第一密钥建立与终端之前的信息传输通道,也即可以通过第一对称密钥将通信数据进行加密发送至终端,或通过第一对称密钥对终端发送的通信数据的密文进行解密得到通信数据的明文。
本申请实施例的方案在执行时,接收终端发送的第一对称密钥,第一对称密钥为终端在本地缓存中未查找到加密会话凭证时生成,基于第一对称密钥建立与终端之间的信息传输通道。通过本申请的方法,服务器通过接收来自终端的短期通信密钥,并基于该短期通信密钥建立与终端之间的信息传输通道,该短期通信密钥也是由终端向服务器发起首次通信所生成的,可以减小服务器存储短期通信密钥的开销。
在下述方法实施例中,为了便于说明,仅以各步骤的执行主体为服务器进行介绍说明。
请参见图5,为本申请实施例提供的一种信息传输通道建立方法的流程示意图。如图5所示,本申请实施例的所述方法可以包括以下步骤:
S501,生成第三对称密钥。
其中,第三对称密钥用于服务器和终端之间的短期通信,为服务器通过对称密码技术生成。
具体的,第三对称密钥为服务器和终端进行通信前所生成,在本申请实施例中,第三对称密钥用于服务器对第一对称密钥进行加密,还用于对加密会话凭证进行解密得到第一对称密钥。
S502,接收终端发送的第一对称密钥,第一对称密钥为终端在本地缓存中未查找到加密会话凭证时生成。
具体的,可参见图4中的S401,在此不再赘述。
S503,通过第三对称密钥将第一对称密钥封装至加密会话凭证中,将加密会话凭证发送至终端。
具体的,服务器接收来自终端的第一对称密钥,则表示服务器和终端是基于该第一对称密钥进行首次通信。为了保证与终端之间的短期通信密钥,也即第一对称密钥是安全的,服务器可以使用第三对称密钥对第一对称密钥进行加密,并生成加密会话凭证,将加密会话凭证发送至终端,由终端存储,加密会话凭证的结构可参见表1,在此不再赘述。
S504,基于第一对称密钥建立与终端之间的信息传输通道。
具体的,可参见图4中的S402,在此不再赘述。
S505,基于预设时间间隔更新第三对称密钥。
其中,预设时间间隔为服务器设置,用于在预设的时间周期内更新第三对称密钥。具体的,预设时间间隔可以设置为一天、三天、一周以及一个月等时间周期。由于第三对称密钥是用于加密第一对称密钥的,还用于对加密会话凭证进行解密得到第一对称密钥,为了保证第一对称密钥的安全,服务器可基于预设时间间隔更新第三对称密钥。
本申请实施例的方案在执行时,生成第三对称密钥,接收终端发送的第一对称密钥,第一对称密钥为终端在本地缓存中未查找到加密会话凭证时生成,通过第三对称密钥将第一对称密钥封装至加密会话凭证中,将加密会话凭证发送至终端,基于第一对称密钥建立与终端之间的信息传输通道,基于预设时间间隔更新第三对称密钥。通过本申请的方法,服务器通过接收来自终端的短期通信密钥,将该短期通信密钥加密存储在加密会话凭证中,还将该加密会话凭证发送至终端,基于该短期通信密钥建立与终端之间的信息传输通道。该短期通信密钥也是由终端向服务器发起首次通信所生成的,可以减小服务器生成短期通信密钥的开销和存储短期通信密钥的开销。还基于预设时间间隔更新第三对称密钥,可以保证短期通信密钥的安全性,进而提高服务器和终端进行通信的安全性。
在下述方法实施例中,为了便于说明,仅以各步骤的执行主体为服务器进行介绍说明。
请参见图6,为本申请实施例提供的一种信息传输通道建立方法的流程示意图。如图6所示,本申请实施例的所述方法可以包括以下步骤:
S601,接收终端发送的加密会话凭证,加密会话凭证为终端在本地缓存中查找到,加密会话凭证包括第二对称密钥。
其中,加密会话凭证的结构可参见表1,在此不再赘述。第二对称密钥用于服务器和终端之间的短期通信,为终端通过对称密码技术生成。
具体的,本申请实施例的应用场景是终端非首次向服务器发起通信请求。由于终端在本地缓存中查找到加密会话凭证,该加密会话凭证是上一次与服务器进行通信前,来自服务器并存储在终端本地缓存中,并且在上一次与服务器进行通信前,终端生成了第二对称密钥,还将第二对称密钥发送至服务器,服务器对第二对称密钥进行加密得到加密会话凭证。
S602,验证加密会话凭证是否有效。
具体的,验证加密会话凭证是否有效,可以基于加密会话凭证中的Server_Key_ID、会话有效期以及其他可选字段进行验证。对于Server_Key_ID验证,若Server_Key_ID有误,则验证加密会话凭证无效。服务器可以基于预设时间间隔更新Server_Key,每次更新Server_Key,也会更新Server_Key对应的Server_Key_ID。因此,Server_Key_ID有误可能是服务器当前解密使用的Server_Key是更新后的Server_Key,而终端发送过来的加密会话凭证需要服务器使用之前的Server_Key进行解密。
对于会话有效期验证,若会话有效期超时,则验证加密会话凭证无效。对于其他可选字段验证,其他可选字段中可以包括终端ID、业务号以及版本号等。若业务号有误,则验证加密会话凭证无效;若版本号,也就是该加密会话凭证的版本号和服务器当前应该使用的加密会话凭证的版本号不同,则验证加密会话凭证无效;若终端ID有误,即发送该加密会话凭证时的终端ID和该加密会话凭证中存储的终端ID不同,则验证加密会话凭证无效,这里的终端ID可以指终端的数字签名,终端在发送加密会话凭证时,也可以将数字签名一起发送至服务器,便于服务器对终端的身份进行验证。
S603,若是,对加密会话凭证进行解密,得到第二对称密钥。
S604,向终端发送对加密会话凭证进行验证后的有效指令,并基于第二对称密钥建立与终端之间的信息传输通道。
下面对S603~S604进行解释说明,若加密会话凭证有效,服务器可以使用Server_Key对加密会话凭证进行解密,得到第二对称密钥,则可以使用第二对称密钥将通信数据的明文进行加密发送至终端,还可以使用第二对称密钥将终端发送过来的通信数据的密文进行解密得到通信数据的明文。
S605,若加密会话凭证无效,向终端发送对加密会话凭证进行验证后的无效指令。
其中,无效指令用于告知终端生成新的第一对称密钥,并执行将新的第一对称密钥发送至服务器及后续步骤。
具体的,基于服务器对加密会话凭证的验证,若加密会话凭证无效,是需要终端生成新的第一对称密钥,将第一对称密钥发送至服务器,服务器将第一对称密钥进行加密封装至加密会话凭证中,服务器再将加密会话凭证发送至终端进行存储,服务器和终端可以基于新的第一对称密钥进行通信数据的传输。再终端和服务器进行后续通信过程时,终端可以再将上述加密会话凭证发送至服务器进行验证,服务器将验证结果发送至终端,重复S602~S605的步骤。
本申请实施例的方案在执行时,接收终端发送的加密会话凭证,加密会话凭证为终端在本地缓存中查找到,加密会话凭证包括第二对称密钥,验证加密会话凭证是否有效,若是,对加密会话凭证进行解密,得到第二对称密钥,向终端发送对加密会话凭证进行验证后的有效指令,并基于第二对称密钥建立与终端之间的信息传输通道,若加密会话凭证无效,向终端发送对加密会话凭证进行验证后的无效指令。通过本申请的方法,在终端和服务器进行非首次通信时,服务器通过接收来自终端的加密会话凭证,验证加密会话凭证是否有效,根据验证结果进行后续的通信过程。若有效,服务器可以拿到终端生成的第二对称密钥,可以减小服务器生成短期通信密钥和存储短期通信密钥的开销。若无效,通知终端生成新的短期通信密钥,可以提高与终端进行通信的安全性。
请参见图7,为本申请实施例提供的一种信息传输通道建立装置的结构示意图。该信息传输通道建立装置700可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。装置700包括:
凭证查找模块710,用于向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证;
密钥生成模块720,用于在所述本地缓存中不存在所述加密会话凭证时,则生成第一对称密钥;
通道建立模块730,用于将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。
可选的,装置700还包括:
密钥获取模块,用于在所述本地缓存中存在所述加密会话凭证时,获取与所述加密会话凭证对应的第二对称密钥;
凭证发送模块,用于基于所述第二对称密钥将所述加密会话凭证发送至所述服务器进行验证;
第二通道建立模块,用于接收所述服务器发送的对所述加密会话凭证进行验证后的有效指令,基于所述有效指令并使用所述第二对称密钥建立与所述服务器之间的信息传输通道。
可选的,装置700还包括:
无效备选模块,用于接收所述服务器发送的对所述加密会话凭证进行验证后的无效指令,基于所述无效指令执行所述生成第一对称密钥的步骤。
可选的,通道建立模块730包括:
证书获取单元,用于获取服务器证书,并获取所述服务器证书中的公钥;
密钥发送单元,用于通过所述公钥对所述第一对称密钥进行加密生成数字信封,将所述数字信封发送至所述服务器。
可选的,通道建立模块730还包括:
凭证接收单元,用于接收并存储所述服务器发送的加密会话凭证,所述加密会话凭证包括所述第一对称密钥。
本申请实施例的方案在执行时,终端向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证,若所述本地缓存中不存在所述加密会话凭证,则生成第一对称密钥,终端再将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。通过由终端生成短期通信密钥,再将短期通信密钥告知服务器,进而建立与服务器之间的信息传输通道,可以减小服务器存储短期通信密钥的开销。
请参见图8,为本申请实施例提供的一种信息传输通道建立装置的结构示意图。该信息传输通道建立装置800可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。装置800包括:
密钥接收模块810,用于接收终端发送的第一对称密钥,所述第一对称密钥为所述终端在本地缓存中未查找到加密会话凭证时生成;
通道建立模块820,用于基于所述第一对称密钥建立与所述终端之间的信息传输通道。
可选的,装置800还包括:
凭证接收模块,用于接收所述终端发送的加密会话凭证,所述加密会话凭证为所述终端在所述本地缓存中查找到,所述加密会话凭证包括第二对称密钥;
凭证验证模块,用于验证所述加密会话凭证是否有效;
凭证有效模块,用于在所述加密会话凭证有效时,对所述加密会话凭证进行解密,得到所述第二对称密钥;
通道建立模块,用于向所述终端发送对所述加密会话凭证进行验证后的有效指令,并基于所述第二对称密钥建立与所述终端之间的信息传输通道。
可选的,装置800还包括:
凭证无效模块,用于在所述加密会话凭证无效时,向所述终端发送对所述加密会话凭证进行验证后的无效指令。
可选的,密钥接收模块810包括:
信封接收单元,用于接收终端发送的数字信封,所述数字信封为所述终端基于服务器证书中的公钥对第一对称密钥加密生成;
信封解密单元,用于通过服务器证书中的私钥对所述数字信封进行解密得到第一对称密钥。
可选的,密钥接收模块810还包括:
对称密钥生成单元,用于生成第三对称密钥;
凭证生成单元,用于通过所述第三对称密钥将所述第一对称密钥封装至加密会话凭证中,将所述加密会话凭证发送至所述终端。
可选的,凭证验证模块包括:
第一验证单元,用于通过所述会话有效期验证所述加密会话凭证是否有效;或
第二验证单元,用于通过所述第三对称密钥标识验证所述加密会话凭证是否有效;或
第三验证单元,用于通过所述标识信息验证所述加密会话凭证是否有效。
可选的,密钥接收模块810包括:
对称密钥更新单元,用于基于预设时间间隔更新所述第三对称密钥。
本申请实施例的方案在执行时,接收终端发送的第一对称密钥,第一对称密钥为终端在本地缓存中未查找到加密会话凭证时生成,基于第一对称密钥建立与终端之间的信息传输通道。通过本申请的方法,服务器通过接收来自终端的短期通信密钥,并基于该短期通信密钥建立与终端之间的信息传输通道,该短期通信密钥也是由终端向服务器发起首次通信所生成的,可以减小服务器存储短期通信密钥的开销。
请参见图9,为本申请实施例提供了一种服务器的结构示意图。如图9所示,所述服务器1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种接口和线路连接整个服务器1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行服务器1000的各种功能和处理数据。
可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。
其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。
可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。
如图9所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及信息传输通道建立程序。
在图9所示的服务器1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的信息传输通道建立程序,并具体执行以下操作:
接收终端发送的第一对称密钥,所述第一对称密钥为所述终端在本地缓存中未查找到加密会话凭证时生成;
基于所述第一对称密钥建立与所述终端之间的信息传输通道。
在一个实施例中,存储器1005具体还执行以下步骤:
接收所述终端发送的加密会话凭证,所述加密会话凭证为所述终端在所述本地缓存中查找到,所述加密会话凭证包括第二对称密钥;
验证所述加密会话凭证是否有效;
若是,对所述加密会话凭证进行解密,得到所述第二对称密钥;
向所述终端发送对所述加密会话凭证进行验证后的有效指令,并基于所述第二对称密钥建立与所述终端之间的信息传输通道。
在一个实施例中,存储器1005具体还执行以下步骤:
若所述加密会话凭证无效,向所述终端发送对所述加密会话凭证进行验证后的无效指令。
在一个实施例中,存储器1005在执行所述接收终端发送的第一对称密钥时,具体执行以下步骤:
接收终端发送的数字信封,所述数字信封为所述终端基于服务器证书中的公钥对第一对称密钥加密生成;
通过服务器证书中的私钥对所述数字信封进行解密得到第一对称密钥。
在一个实施例中,存储器1005在执行所述接收终端发送的第一对称密钥之前,具体执行以下步骤:
生成第三对称密钥;
所述接收终端发送的第一对称密钥之后,还包括:
通过所述第三对称密钥将所述第一对称密钥封装至加密会话凭证中,将所述加密会话凭证发送至所述终端。
在一个实施例中,所述加密会话凭证包括:第三对称密钥标识、所述第一对称密钥的加密信息、会话有效期以及标识信息中的至少一种;
存储器1005在执行所述验证所述加密会话凭证是否有效,具体执行以下步骤:
通过所述会话有效期验证所述加密会话凭证是否有效;或
通过所述第三对称密钥标识验证所述加密会话凭证是否有效;或
通过所述标识信息验证所述加密会话凭证是否有效。
在一个实施例中,存储器1005在执行所述建立与所述终端之间的信息传输通道之后,具体执行以下步骤:
基于预设时间间隔更新所述第三对称密钥。
请参考图10,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据等。
参见图11所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图12所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、文件处理程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图13所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图13所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquid crystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用电子设备上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图10所示的电子设备中,其中电子设备可以是一种终端,处理器110可以用于调用存储器120中存储的信息传输通道建立程序,并具体执行以下操作:
向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证;
若所述本地缓存中不存在所述加密会话凭证,则生成第一对称密钥;
将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。
在一个实施例中,所述存储器120还具体执行以下步骤:
若所述本地缓存中存在所述加密会话凭证,获取与所述加密会话凭证对应的第二对称密钥;
基于所述第二对称密钥将所述加密会话凭证发送至所述服务器进行验证;
接收所述服务器发送的对所述加密会话凭证进行验证后的有效指令,基于所述有效指令并使用所述第二对称密钥建立与所述服务器之间的信息传输通道。
在一个实施例中,所述存储器120还具体执行以下步骤:
接收所述服务器发送的对所述加密会话凭证进行验证后的无效指令,基于所述无效指令执行所述生成第一对称密钥的步骤。
在一个实施例中,所述存储器120在执行所述将所述第一对称密钥发送至所述服务器时,具体执行以下步骤:
获取服务器证书,并获取所述服务器证书中的公钥;
通过所述公钥对所述第一对称密钥进行加密生成数字信封,将所述数字信封发送至所述服务器。
在一个实施例中,所述存储器120在执行所述将所述第一对称密钥发送至所述服务器之后,还具体执行以下步骤:
接收并存储所述服务器发送的加密会话凭证,所述加密会话凭证包括所述第一对称密钥。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

Claims (16)

1.一种信息传输通道建立方法,其特征在于,应用于终端,所述方法包括:
向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证;
若所述本地缓存中不存在所述加密会话凭证,则生成第一对称密钥;
将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述本地缓存中存在所述加密会话凭证,获取与所述加密会话凭证对应的第二对称密钥;
基于所述第二对称密钥将所述加密会话凭证发送至所述服务器进行验证;
接收所述服务器发送的对所述加密会话凭证进行验证后的有效指令,基于所述有效指令并使用所述第二对称密钥建立与所述服务器之间的信息传输通道。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述服务器发送的对所述加密会话凭证进行验证后的无效指令,基于所述无效指令执行所述生成第一对称密钥的步骤。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一对称密钥发送至所述服务器,包括:
获取服务器证书,并获取所述服务器证书中的公钥;
通过所述公钥对所述第一对称密钥进行加密生成数字信封,将所述数字信封发送至所述服务器。
5.根据权利要求1所述的方法,其特征在于,所述将所述第一对称密钥发送至所述服务器之后,还包括:
接收并存储所述服务器发送的加密会话凭证,所述加密会话凭证包括所述第一对称密钥。
6.一种信息传输通道建立方法,其特征在于,应用于服务器,所述方法包括:
接收终端发送的第一对称密钥,所述第一对称密钥为所述终端在本地缓存中未查找到加密会话凭证时生成;
基于所述第一对称密钥建立与所述终端之间的信息传输通道。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述终端发送的加密会话凭证,所述加密会话凭证为所述终端在所述本地缓存中查找到,所述加密会话凭证包括第二对称密钥;
验证所述加密会话凭证是否有效;
若是,对所述加密会话凭证进行解密,得到所述第二对称密钥;
向所述终端发送对所述加密会话凭证进行验证后的有效指令,并基于所述第二对称密钥建立与所述终端之间的信息传输通道。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述加密会话凭证无效,向所述终端发送对所述加密会话凭证进行验证后的无效指令。
9.根据权利要求6所述的方法,其特征在于,所述接收终端发送的第一对称密钥,包括:
接收终端发送的数字信封,所述数字信封为所述终端基于服务器证书中的公钥对第一对称密钥加密生成;
通过服务器证书中的私钥对所述数字信封进行解密得到第一对称密钥。
10.根据权利要求6所述的方法,其特征在于,接收终端发送的第一对称密钥之前,还包括:
生成第三对称密钥;
所述接收终端发送的第一对称密钥之后,还包括:
通过所述第三对称密钥将所述第一对称密钥封装至加密会话凭证中,将所述加密会话凭证发送至所述终端。
11.根据权利要求10所述的方法,其特征在于,所述加密会话凭证包括:第三对称密钥标识、所述第一对称密钥的加密信息、会话有效期以及标识信息中的至少一种;
所述验证所述加密会话凭证是否有效,包括:
通过所述会话有效期验证所述加密会话凭证是否有效;或
通过所述第三对称密钥标识验证所述加密会话凭证是否有效;或
通过所述标识信息验证所述加密会话凭证是否有效。
12.根据权利要求10所述的方法,其特征在于,所述建立与所述终端之间的信息传输通道之后,还包括:
基于预设时间间隔更新所述第三对称密钥。
13.一种信息传输通道建立装置,其特征在于,应用于终端,所述装置包括:
凭证查找模块,用于向服务器发起通信请求,在本地缓存中查找是否存在加密会话凭证;
密钥生成模块,用于在所述本地缓存中不存在所述加密会话凭证时,则生成第一对称密钥;
通道建立模块,用于将所述第一对称密钥发送至所述服务器,并基于所述第一对称密钥建立与所述服务器之间的信息传输通道。
14.一种信息传输通道建立装置,其特征在于,应用于服务器,所述装置包括:
密钥接收模块,用于接收终端发送的第一对称密钥,所述第一对称密钥为所述终端在本地缓存中未查找到加密会话凭证时生成;
通道建立模块,用于基于所述第一对称密钥建立与所述终端之间的信息传输通道。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~5或6~12任意一项的方法步骤。
16.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~5或6~12任意一项的方法步骤。
CN202110242485.5A 2021-03-04 2021-03-04 信息传输通道建立方法、装置、存储介质以及终端 Active CN112995322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110242485.5A CN112995322B (zh) 2021-03-04 2021-03-04 信息传输通道建立方法、装置、存储介质以及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110242485.5A CN112995322B (zh) 2021-03-04 2021-03-04 信息传输通道建立方法、装置、存储介质以及终端

Publications (2)

Publication Number Publication Date
CN112995322A true CN112995322A (zh) 2021-06-18
CN112995322B CN112995322B (zh) 2023-07-21

Family

ID=76352866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110242485.5A Active CN112995322B (zh) 2021-03-04 2021-03-04 信息传输通道建立方法、装置、存储介质以及终端

Country Status (1)

Country Link
CN (1) CN112995322B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760625A (zh) * 2022-04-15 2022-07-15 中国电信股份有限公司 加密通话方法、装置及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101421970A (zh) * 2004-01-12 2009-04-29 思科技术公司 避免服务器对客户端状态的存储
CN101964793A (zh) * 2010-10-08 2011-02-02 上海银联电子支付服务有限公司 终端和服务器间的数据传输方法及系统、签到和支付方法
CN104683359A (zh) * 2015-03-27 2015-06-03 成都三零瑞通移动通信有限公司 一种安全通道建立方法及其数据保护方法和安全通道秘钥更新方法
WO2017118587A1 (de) * 2016-01-04 2017-07-13 Bundesdruckerei Gmbh Zugriffskontrolle mittels authentisierungsserver
CN108270561A (zh) * 2017-01-04 2018-07-10 阿里巴巴集团控股有限公司 数据发送方法及装置、密钥索引的生成方法及装置
EP3474172A1 (de) * 2017-10-19 2019-04-24 Bundesdruckerei GmbH Zugangskontrolle unter verwendung einer blockchain
CN110690966A (zh) * 2019-11-08 2020-01-14 北京金茂绿建科技有限公司 终端与业务服务器连接的方法、系统、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101421970A (zh) * 2004-01-12 2009-04-29 思科技术公司 避免服务器对客户端状态的存储
CN101964793A (zh) * 2010-10-08 2011-02-02 上海银联电子支付服务有限公司 终端和服务器间的数据传输方法及系统、签到和支付方法
CN104683359A (zh) * 2015-03-27 2015-06-03 成都三零瑞通移动通信有限公司 一种安全通道建立方法及其数据保护方法和安全通道秘钥更新方法
WO2017118587A1 (de) * 2016-01-04 2017-07-13 Bundesdruckerei Gmbh Zugriffskontrolle mittels authentisierungsserver
CN108270561A (zh) * 2017-01-04 2018-07-10 阿里巴巴集团控股有限公司 数据发送方法及装置、密钥索引的生成方法及装置
EP3474172A1 (de) * 2017-10-19 2019-04-24 Bundesdruckerei GmbH Zugangskontrolle unter verwendung einer blockchain
CN110690966A (zh) * 2019-11-08 2020-01-14 北京金茂绿建科技有限公司 终端与业务服务器连接的方法、系统、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760625A (zh) * 2022-04-15 2022-07-15 中国电信股份有限公司 加密通话方法、装置及系统
CN114760625B (zh) * 2022-04-15 2024-03-01 中国电信股份有限公司 加密通话方法、装置及系统

Also Published As

Publication number Publication date
CN112995322B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
WO2022206349A1 (zh) 一种信息验证的方法、相关装置、设备以及存储介质
CN108595970B (zh) 处理组件的配置方法、装置、终端及存储介质
CN111193695B (zh) 一种第三方账号登录的加密方法、装置及存储介质
KR101941049B1 (ko) 암호화된 통신을 위한 방법 및 시스템
EP3913516B1 (en) File access authority authentication method and electronic device
JP2020109671A (ja) 本人認証のための方法及び装置
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
CN106611310B (zh) 数据处理的方法、穿戴式电子设备和系统
TWI725148B (zh) 使用動態公鑰基礎建設發送及接收加密訊息方法、系統及媒介
WO2021259014A1 (zh) 蓝牙配对方法、装置、系统、电子设备和存储介质
JP2019514314A (ja) 暗号化メッセージを送受信するために動的公開鍵インフラストラクチャを用いる方法、システム、及び媒体
CN111030827A (zh) 信息交互方法、装置、电子设备、及存储介质
CN107920060A (zh) 基于账号的数据访问方法和装置
CN112995322B (zh) 信息传输通道建立方法、装置、存储介质以及终端
CN112187726A (zh) 数据传输方法、装置、存储介质及终端
CN113836538A (zh) 数据模型处理方法、装置、服务器及存储介质
CN108737341B (zh) 业务处理方法、终端及服务器
CN115567297A (zh) 跨站请求数据处理方法及装置
CN109933960B (zh) 服务调用控制方法、服务调用方法、装置及终端
CN108958771B (zh) 应用程序的更新方法、装置、服务器及存储介质
TWI705347B (zh) 身份認證方法和設備
CN111786955A (zh) 用于保护模型的方法和装置
CN114363888A (zh) 数据传输方法、装置、存储介质及电子设备
KR102380504B1 (ko) 북마클릿을 이용한 전자 지갑 서비스 시스템 및 방법
CN114430343B (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