CN115442061A - 安全认证方法、可读介质和电子设备 - Google Patents

安全认证方法、可读介质和电子设备 Download PDF

Info

Publication number
CN115442061A
CN115442061A CN202110624834.XA CN202110624834A CN115442061A CN 115442061 A CN115442061 A CN 115442061A CN 202110624834 A CN202110624834 A CN 202110624834A CN 115442061 A CN115442061 A CN 115442061A
Authority
CN
China
Prior art keywords
server
electronic device
certificate
smart watch
digital
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.)
Pending
Application number
CN202110624834.XA
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110624834.XA priority Critical patent/CN115442061A/zh
Priority to PCT/CN2022/087971 priority patent/WO2022252857A1/zh
Priority to EP22814904.3A priority patent/EP4336393A1/en
Publication of CN115442061A publication Critical patent/CN115442061A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种安全认证方法、可读介质和电子设备。该方法包括:第一电子设备检测到触发与服务器进行数据传输的触发事件;第一电子设备向第二电子设备发送服务器的身份信息;第二电子设备对从第一电子设备接收到的服务器的身份信息进行验证,并向第一电子设备发送验证结果;第一电子设备基于接收到的验证结果确定是否与服务器进行数据传输。本申请的技术方案通过在轻量级设备与服务器进行数据传输时,对服务器的身份验证过程由富资源设备完成,可以有效利用富资源设备的内存资源、计算资源,提升设备网中各个设备的整体效率,此外也可以降低轻量级设备的运行功耗,提升轻量级设备的续航能力。

Description

安全认证方法、可读介质和电子设备
技术领域
本申请涉及网络安全领域,特别涉及一种安全认证方法、可读介质和电子设备。
背景技术
随着互联网信息技术的发展,人们的日常生活越来越依赖于各种智能电子设备。例如,智能家居设备为用户提供更加智能的家居生活体验;可穿戴智能电子设备可以为用户规划运动路径、监测用户的健康状态;智能手机可以为用户提供网络购物、聊天、办公、学习等智能体验。然而,复杂的网络环境以及智能电子设备的资源受限等特性,对网络安全性以及智能电子设备的功耗提出了更高的要求。
例如,对于物联网设备,假设物联网设备需要同云端服务器进行业务交互,通常为了保证物联网设备与云端服务器之间建立安全连接,以避免物联网设备与云端服务器之间交互的数据被劫持或篡改,需要在物联网设备和云端服务器上分别进行安全认证,认证通过之后,再进行业务数据的交互。然而,由于在物联网设备上对云端服务器进行安全认证需要占用该物联网设备大量的内存以及计算资源,当和云端服务器建立连接的物联网设备的计算资源、内存资源不足时,会使得采用该物联网设备对云端服务器进行安全认证的速度较慢,并且会对该物联网设备的性能以及续航能力等产生影响。
发明内容
本申请实施例提供了一种安全认证方法、可读介质和电子设备。本申请的技术方案通过在轻量级设备与服务器进行数据传输时,对服务器的身份验证过程由富资源设备完成,可以有效利用富资源设备的内存资源以及计算资源,提升设备网中各个设备的整体效率,此外也可以降低轻量级设备的运行功耗,提升轻量级设备的续航能力。
第一方面,本申请实施例提供了一种安全认证方法,包括:第一电子设备检测到触发与服务器进行数据传输的触发事件;第一电子设备向第二电子设备发送服务器的身份信息;第二电子设备对从第一电子设备接收到的服务器的身份信息进行验证,并向第一电子设备发送验证结果;第一电子设备基于接收到的验证结果确定是否与服务器进行数据传输。
例如,在一些实施例中,第一电子设备检测到触发向服务器请求视频服务的用户操作,为了建立第一电子设备和服务器之间的网络安全连接,第一电子设备需要对服务器的身份信息进行验证。如果此时第一电子设备的计算资源、存储资源不足以支撑第一电子设备完成对服务器的身份信息的验证,或者,即使第一电子设备的计算资源、存储资源可以支撑第一电子设备完成对服务器的身份信息的验证,但第一电子设备所在的局域网、物联网、设备自组网中存在空闲的或者计算资源、存储资源较为充足的第二电子设备的情况下,为了提高对服务器的身份信息的验证的速度,同时为了不影响第一电子设备本身的主要性能,可以采用第二电子设备替代第一电子设备执行对服务器身份信息的验证。
在上述第一方面的一种可能的实现中,上述方法还包括:所述第二电子设备的身份验证能力大于所述第一电子设备。
在上述第一方面的一种可能的实现中,上述方法还包括:第一电子设备在确定第二电子设备的身份验证能力大于第一电子设备的情况下,向第二电子设备发送服务器的身份信息。
在一些实施例中,第一电子设备在确定第二电子设备的计算能力和存储能力中均大于第一电子设备的情况下,向第二电子设备发送服务器的身份信息。
在一些实施例中,第一电子设备在确定第二电子设备的计算能力和存储能力中的其中一个大于第一电子设备的情况下,向第二电子设备发送服务器的身份信息。
在一些实施例中,第一电子设备在确定第二电子设备的计算能力和存储能力的综合能力大于第一电子设备的情况下,向第二电子设备发送服务器的身份信息。其中,计算能力和存储能力的综合能力是指对计算能力和存储能力进行综合评定后得到的能力。例如,第二电子设备的计算能力小于第一电子设备的计算能力,但是第二电子设备的存储能力大于第一电子设备的存储能力,而第二电子设备的计算能力和存储能力的综合能力大于第一电子设备,在这种情况下,第一电子设备向第二电子设备发送服务器的身份信息。
在一些实施例中,上述计算能力和存储能力为第一电子设备和第二电子设备各自总体的计算能力和存储能力。
在一些实施例中,上述计算能力和存储能力为第一电子设备和第二电子设备各自可利用的计算能力和存储能力。
在上述第一方面的一种可能的实现中,上述方法还包括:身份验证能力是基于计算能力、存储能力以及安全能力中的至少一种得到定的。
例如,在一些实施例中,身份验证能力包括计算能力、存储能力以及安全能力。
又如,在一些实施例中,身份验证能力是由计算能力、存储能力以及安全能力进行综合评定的。
在上述第一方面的一种可能的实现中,上述方法还包括:计算能力包括中央处理器的计算能力、图形处理器的计算能力以及图像信号处理器的计算能力中的至少一种。
例如,在一些实施例中,第一电子设备和第二电子设备各自均包括中央处理器(Central Processing Unit,CPU)、图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),则第一电子设备和第二电子设备各自的计算能力则为CPU计算能力、GPU计算能力以及ISP计算能力的总和。
在上述第一方面的一种可能的实现中,上述方法还包括:第二电子设备对从第一电子设备接收到的服务器的身份信息进行验证,包括:
第二电子设备基于从第一电子设备接收到的根证书对服务器的身份信息进行验证。
在上述第一方面的一种可能的实现中,上述方法还包括:第一电子设备包括多个应用;
第一电子设备检测到触发与服务器进行数据传输的触发事件,包括:第一电子设备的多个应用中的至少一个检测到触发与服务器进行数据传输的触发事件;
上述方法还包括:
第一电子设备的多个应用中的至少一个在检测到触发与服务器进行数据传输的触发事件的情况下,获取根证书,并且将根证书发送给第二电子设备。
在上述第一方面的一种可能的实现中,上述方法还包括:服务器的身份信息包括由数字证书颁发机构向服务器签发的服务器证书,第二电子设备对服务器的身份信息的验证结果是通过以下方式得到的:
第二电子设备基于从第一电子设备接收到的根证书,对从第一电子设备接收到的服务器证书进行验证,得到第二电子设备对服务器证书的验证结果。
例如,在一些实施例中,第一电子设备的视频应用、购物应用、游戏应用、聊天应用中的至少一个在检测到触发与服务器进行数据传输的触发事件的情况下,可以从第一电子设备的存储空间中获取第一电子设备存储的同一份根证书,从而利用同一份根证书验证服务器的身份信息。如此,通过归一化管理根证书,使得第一电子设备无需存储多份跟多个应用一一对应的根证书,可以减少对第一电子设备的内存占用。
在上述第一方面的一种可能的实现中,上述方法还包括:服务器证书包括数字文档、由数字证书颁发机构对数字文档基于预设的摘要算法计算出来的数字摘要进行加密后生成的签名,以及预设的摘要算法。
在上述第一方面的一种可能的实现中,上述方法还包括:第二电子设备对从第一电子设备接收到的服务器的身份信息进行验证,包括:第二电子设备基于从第一电子设备接收到的根证书,对服务器证书中的签名进行解密,得到签名的第一数字摘要;
基于预设的摘要算法对数字文档进行哈希计算,得到第二数字摘要;
将第二数字摘要与第一数字摘要进行比对,基于比对的结果确定第二电子设备对服务器证书的验证结果。
在上述第一方面的一种可能的实现中,上述方法还包括:第一电子设备检测到触发与服务器进行数据传输的触发事件,包括:
第一电子设备检测到触发与服务器进行数据传输的用户操作,用户操作用于触发第一电子设备向服务器发送网络安全连接请求。
在上述第一方面的一种可能的实现中,上述方法还包括:第一电子设备基于验证结果确定是否与服务器进行数据传输,包括:
第一电子设备基于验证结果确定服务器的身份合法的情况下,建立和服务器之间的网络安全连接;
第一电子设备通过建立的网络安全连接和服务器进行数据传输。
在上述第一方面的一种可能的实现中,上述方法还包括:网络安全连接为安全套接字层协议连接或传输层安全协议连接。
在上述第一方面的一种可能的实现中,上述方法还包括:第一电子设备的操作系统为轻量级的嵌入式操作系统。
在上述第一方面的一种可能的实现中,上述方法还包括:第二电子设备的操作系统包括安卓TM操作系统、鸿蒙TM操作系统和IOSTM操作系统中的至少一种。
第二方面,本申请实施例提供了一种安全认证方法,包括:
第一电子设备检测到触发与服务器进行数据传输的触发事件;
第一电子设备向第二电子设备发送服务器的身份信息;
第一电子设备基于从第二电子设备接收到的验证结果确定是否与服务器进行数据传输。
在上述第二方面的一种可能的实现中,上述方法还包括:第二电子设备的身份验证能力大于第一电子设备。
在上述第二方面的一种可能的实现中,上述方法还包括:第一电子设备在确定第二电子设备的身份验证能力大于第一电子设备的情况下,向第二电子设备发送服务器的身份信息。
在上述第二方面的一种可能的实现中,上述方法还包括:身份验证能力是基于计算能力、存储能力以及安全能力中的至少一种得到的。
在上述第二方面的一种可能的实现中,上述方法还包括:计算能力包括中央处理器的计算能力、图形处理器的计算能力以及图像信号处理器的计算能力中的至少一种。
在上述第二方面的一种可能的实现中,上述方法还包括:第一电子设备包括多个应用;
第一电子设备检测到触发与服务器进行数据传输的触发事件,包括:
第一电子设备的多个应用中的至少一个检测到触发与服务器进行数据传输的触发事件;
上述方法还包括:
第一电子设备的多个应用中的至少一个在检测到触发与服务器进行数据传输的触发事件的情况下,获取根证书,并且将根证书发送给第二电子设备,根证书用于第二电子设备对服务器的身份信息进行验证。在上述第二方面的一种可能的实现中,上述方法还包括:第一电子设备检测到触发与服务器进行数据传输的触发事件,包括:
第一电子设备检测到触发与服务器进行数据传输的用户操作,用户操作用于触发第一电子设备向服务器发送网络安全连接请求。
在上述第二方面的一种可能的实现中,上述方法还包括:第一电子设备基于验证结果确定是否与服务器进行数据传输,包括:
第一电子设备基于验证结果确定服务器的身份合法的情况下,建立和服务器之间的网络安全连接;
第一电子设备通过建立的网络安全连接和服务器进行数据传输。
在上述第二方面的一种可能的实现中,上述方法还包括:网络安全连接为安全套接字层协议连接或传输层安全协议连接。
在上述第二方面的一种可能的实现中,上述方法还包括:第一电子设备的操作系统为轻量级的嵌入式操作系统。
第三方面,本申请实施例提供了一种安全认证方法,包括:
第二电子设备对从第一电子设备接收到的服务器的身份信息进行验证,并向第一电子设备发送验证结果。
在上述第三方面的一种可能的实现中,上述方法还包括:第二电子设备对从第一电子设备接收到的服务器的身份信息进行验证,包括:
第二电子设备基于从第一电子设备接收到的根证书对服务器的身份信息进行验证。
在上述第三方面的一种可能的实现中,上述方法还包括:服务器的身份信息包括由数字证书颁发机构向服务器签发的服务器证书,第二电子设备对服务器的身份信息的验证结果是通过以下方式得到的:
第二电子设备基于从第一电子设备接收到的根证书,对从第一电子设备接收到的服务器证书进行验证,得到第二电子设备对服务器证书的验证结果。
在上述第三方面的一种可能的实现中,上述方法还包括:服务器证书包括数字文档、由数字证书颁发机构对数字文档基于预设的摘要算法计算出来的数字摘要进行加密后生成的签名,以及预设的摘要算法。
在上述第三方面的一种可能的实现中,上述方法还包括:第二电子设备对从第一电子设备接收到的服务器的身份信息进行验证,包括:第二电子设备基于从第一电子设备接收到的根证书,对服务器证书中的签名进行解密,得到签名的第一数字摘要;
基于预设的摘要算法对数字文档进行哈希计算,得到第二数字摘要;
将第二数字摘要与第一数字摘要进行比对,基于比对的结果确定第二电子设备对服务器证书的验证结果。
在上述第三方面的一种可能的实现中,上述方法还包括:第二电子设备的操作系统包括安卓TM操作系统、鸿蒙TM操作系统和IOSTM操作系统中的至少一种。
第四方面,本申请实施例提供了一种可读介质,可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行上述第一方面至第三方面以及第一方面至第三方面的各种可能实现中的任意一种安全认证方法。
第五方面,本申请实施例提供了一种电子设备,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
处理器,是电子设备的处理器之一,用于执行上述第一方面至第三方面以及第一方面至第三方面的各种可能实现中的任意一种安全认证方法。
附图说明
图1根据本申请的一些实施例,示出了一种客户端设备和服务器之间进行网络安全认证的场景示意图;
图2示出了轻量级设备和服务器之间采用SSL协议建立安全连接的过程;
图3根据本申请的一些实施例,示出了一种客户端设备的硬件结构示意图;
图4根据本申请的一些实施例,示出了一种客户端设备的软件架构示意图;
图5根据本申请的一些实施例,示出了一种智能手表和服务器之间采用SSL协议建立安全连接的过程;
图6(a)根据本申请的一些实施例,示出了一种智能手表通过局域网连接至服务器的组网示意图;
图6(b)根据本申请的一些实施例,示出了多个设备自动组网的示意图;
图7根据本申请的一些实施例,示出了一种数字证书颁发机构为服务器签发数字证书的流程图;
图8根据本申请的一些实施例,示出了一种智能手表向服务器请求视频服务的流程图;
图9根据本申请的一些实施例,示出了另一种智能手表向服务器请求视频服务的流程图;
图10根据本申请的一些实施例,示出了一种系统的结构框图。
具体实施方式
本申请的说明性实施例包括但不限于一种安全认证方法、可读介质和电子设备。
为了更好地理解本申请的技术方案,首先对本申请实施例涉及的一些术语进行说明。
(1)数字证书
数字证书是指由数字证书颁发机构(Certificate Authority,CA)签发的一种用于标识数字证书持有者(例如客户端设备)身份信息的电子证书,它提供了一种验证通信对端身份的方式。数字证书可以包括CA为该数字证书持有者分配的公钥信息、数字证书持有者的身份信息以及CA的签名信息。
其中,CA是负责签发和管理数字证书的权威机构。CA作为网络中受信任的第三方,可以验证数字证书申请设备的身份,管理和更新数字证书,维护数字证书吊销列表等。
例如,如果第一客户端设备需要得到一份属于自己的数字证书,第一客户端设备先向CA提出申请。在CA判明第一客户端设备的身份后,便为第一客户端设备分配一个公钥,并且CA将该公钥与第一客户端设备的身份信息绑在一起,并为之签字后,便形成数字证书发给第一客户端设备(申请者)。
又例如,如果第二客户端设备需要验证第一客户端设备的第一数字证书的真伪,则第二客户端设备用CA的公钥对第一数字证书上的签名进行验证,若验证通过,第一数字证书就被认为是有效的。
(2)根证书
根证书,是CA认证中心与其他电子设备建立信任关系的基础,是CA给自己签发的数字证书,是信任链的起始点。验证一份证书的真伪(即验证CA中心对该证书信息的签名是否有效),需要用CA中心的公钥验证,而CA中心的公钥存在于对这份证书进行签名的证书内,即CA中心的公钥存在于CA为自己签发的根证书内,因此,电子设备验证一份证书的真伪,需要在该电子设备内预置一份根证书。
(3)SSL(Secure Sockets Layer安全套接字层)协议
SSL协议是位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。
(4)TLS(Transport Layer Security,传输层安全)协议
TLS协议用于在两个应用程序之间提供保密性和数据完整性。
下面结合附图对本申请的技术方案进行详细介绍。
首先结合图1介绍本申请的技术方案适用的场景。图1根据本申请的一些实施例,示出了一种客户端设备和服务器之间进行安全认证的场景示意图。其中包括轻量级设备10、富资源设备20、服务器300以及数字证书颁发机构400。
在一些实施例中,轻量级设备10的内存资源和计算资源有限,可以运行轻量级的操作系统,例如轻量级的嵌入式操作系统,实现较为简单的功能。例如,图1所示的摄像头110可以捕捉异常画面,并将监控视频上传至云端服务器。又例如,图1所示的智能手表100可以为用户测心率、血氧饱和度、显示时间等。
在一些实施例中,富资源设备20相较于轻量级设备10的内存资源和计算资源较为丰富,可以运行安卓TM、鸿蒙TM等操作系统,实现较为复杂的功能。例如,图1所示的智能电视210可以实现AI声控、视频点播、投屏等功能。又例如,图1所示的智能手机200除了能够实现接打电话、收发信息以外,还可以安装多个应用程序(application,APP),为用户提供聊天、购物、游戏、影音、办公、导航等多种功能。
在一些实施例中,轻量级设备10和富资源设备20可以和服务器300之间进行通信,以向服务器300请求服务。例如,轻量级设备10和富资源设备20通过无线通信链路发送无线信号给服务器300,请求服务器300处理轻量级设备10和富资源设备20的具体业务需求,例如用户注册、数据获取和监测等。
在一些实施例中,数字证书颁发机构400可以作为轻量级设备10和富资源设备20所在的局域网或物联网中受信任的第三方,可以为轻量级设备10和富资源设备20签发、管理和更新数字证书,以及维护数字证书吊销列表等。
在相关技术方案的一些实施例中,为了保证轻量级设备10和服务器300之间交互的数据的安全传输,避免轻量级设备10和服务器300之间交互的数据被截获或篡改,需要使轻量级设备10和服务器300之间建立安全可靠的连接。例如,轻量级设备10和服务器300之间通过SSL协议对传输的数据进行加密,以保证传输的数据的安全性。其中,轻量级设备10和服务器300之间采用SSL协议建立安全连接的过程如图2所示,具体包括以下步骤:
步骤201:轻量级设备10向服务器300发送轻量级设备10握手请求消息“ClientHello”,该消息中携带轻量级设备10的加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息。
步骤202:服务器300响应于接收到的轻量级设备10发送的轻量级设备10握手请求消息“Client Hello”,向轻量级设备10发送服务器300握手请求消息“Server Hello”。
步骤203:服务器300向轻量级设备10发送服务器300服务器证书“ServerCertificate”,以供轻量级设备10对服务器300进行身份验证。
步骤204:服务器300向轻量级设备10发送服务器300握手请求完成消息“ServerHello Done”,用于通知轻量级设备10服务器300方的认证准备工作已经完成。
步骤205:轻量级设备10对接收到的服务器300证书进行校验,以验证服务器300的身份是否合法。例如,验证服务器300的证书是否吊销、是否在有效时间范围内等。
步骤206:轻量级设备10向服务器300发送轻量级设备10密钥交换消息“ClientKey Exchange”。即当服务器300的身份合法性验证通过之后,轻量级设备10计算产生随机数字Pre-master,并用公钥加密,发送给服务器300。
步骤207:轻量级设备10向服务器300发送改变加密属性消息“Change CiperSpec”,以通知服务器300后续的通信都采用协商的通信密钥和加密算法进行加密通信。
步骤208:服务器300向轻量级设备10发送改变加密属性消息“Change CiperSpec”,以告知轻量级设备10后续的通信都采用协商的密钥与算法进行加密通信。
步骤209:服务器300向轻量级设备10发送完成消息“Finished”。
服务器300计算接收到的轻量级设备10发送的密钥交换消息“Client KeyExchange”的哈希值,验证轻量级设备10发送的数据和密钥的正确性,验证通过则握手完成。
可以理解的是,当轻量级设备10和服务器300握手完成后,开始使用协商密钥与算法进行加密通信。
而在轻量级设备10和服务器300之间通过SSL协议传输数据的过程中,轻量级设备10需要对服务器300进行身份信息的验证。然而,对于计算能力较低的轻量级设备10,对服务器300的身份信息进行验证的过程会占用大量的内存以及计算资源,并且对轻量级设备10的性能影响较大。
本申请实施例提供的技术方案,为了减轻轻量级设备10的计算负担,减少对轻量级设备10内存的占用,轻量级设备10可以在确定出轻量级设备10自身隶属的网络中存在计算能力较高、存储空间较大的富资源设备20的情况下,将由数字证书颁发机构400签发的根证书发送给富资源设备20,并且将服务器300下发的携带有服务器300的身份信息的数字证书(为了便于描述,以下简称“服务器证书”)转发给富资源设备20进行解析,以认证服务器300的身份的合法性,然后富资源设备20将关于服务器300的身份认证的结果转发给轻量级设备10,以供轻量级设备10根据认证的结果确定是否跟服务器300进行业务数据的交互。
相比较于相关技术方案中,由轻量级设备10预置根证书,并且直接由轻量级设备10对服务器300进行身份信息的验证,本申请的技术方案在确定出同一网络中有其他富资源设备20接入时,可以将轻量级设备10预置的根证书等数据传到富资源设备20上,当轻量级设备10与服务器300进行交互时,对服务器证书的解析由富资源设备20完成,可以减少轻量级设备10的资源的占用,有效利用富资源设备20的内存资源以及计算资源,避免资源浪费,此外也可以降低轻量级设备10的运行功耗。
在一些实施例中,轻量级设备10包括但不限于图1所示的智能手表100、智能摄像头110,以及未图示的扫地机器人、智能音响、智能门锁、智能电饭煲、智能闹钟、智能插座等计算能力较低的电子设备。在一些实施例中,轻量级设备10运行轻量级的嵌入式系统。
在一些实施例中,富资源设备20包括但不限于图1所示的智能电视210、智能手机200,以及未图示的膝上型计算机、台式计算机、平板计算机、其中嵌入或耦接有一个或多个处理器的电视机、或能够访问网络的计算能力较高的其他电子设备。在一些实施例中,富资源设备20运行安卓TM、鸿蒙TM等操作系统。
图3根据本申请的实施例,示出了一种客户端设备的硬件结构示意图。该客户端设备可以为轻量级设备10也可以为富资源设备20。以下以轻量级设备10为例,对客户端设备的硬件结构进行介绍。
客户端设备10能够执行本申请实施例提供的安全认证方法。在图3中,相似的部件具有同样的附图标记。如图3所示,客户端设备10包括显示屏122、处理器103、微控制单元(micro control unit,MCU)114、存储器105、通信模块116、传感器模块118、电源模块111等。
显示屏122可以用于显示用户输入的信息或者提供给用户的提示信息以及可客户端设备10上的各种菜单。例如,显示屏122可以用于显示客户端设备10从服务器300下载的视频。又例如,当客户端设备10为智能摄像头时,显示屏122可以用于显示智能摄像头捕捉到的异常画面以及存放于服务器300的监控视频。
处理器103包括多个处理单元,可以用于对与客户端设备10建立可靠连接的服务器300进行身份合法性的验证。例如,客户端设备10通过判定同一网络中是否有富资源设备的接入,如果有富资源设备的接入,则客户端设备10通过处理器103控制客户端设备10将服务器300下发的服务器证书转发给富资源设备进行解析;在同一网络中没有富资源设备的接入的情况下,则客户端设备10通过处理器103直接对服务器300下发的服务器证书进行解析。
微控制单元114,用于控制传感器模块118,对传感器模块118采集的数据进行运算,与处理器103进行通信。
存储器105用于存储软件程序以及数据,处理器103通过运行存储在存储器105的软件程序以及数据,执行客户端设备10的各种功能应用以及数据处理。例如,在本申请的一些实施例中,存储器105可以存储客户端设备10的由数字证书颁发机构下发的根证书。同时,存储器105也可以存储用户的注册信息、登录信息等等。
通信模块116可以用来使客户端设备10和其他电子设备进行通信,并通过其他电子设备连接网络,例如,在本申请的一些实施例中,客户端设备10可以通过无线保真(Wireless Fidelity,WiFi)网络,蓝牙(Bluetooth,BT),近距离无线通信技术(Near FieldCommunication,NFC)等与服务器300建立通信连接,并从服务器300获取服务器300下发的服务器证书。又例如,客户端设备10通过判定同一网络中是否有富资源设备的接入,如果有富资源设备的接入,则客户端设备10通过通信模块116将客户端设备10预置的根证书以及服务器300下发的服务器证书发送给富资源设备,并通过通信模块116接收富资源设备对服务器证书的解析结果,在确定出服务器300的身份合法后,再通过通信模块116和服务器300进行业务数据的交互。
电源模块111用于为客户端设备10的各个部件进行供电。在一些实施例中,电源模块111包括电池。
可以理解,图3所示的仅仅是实现本申请技术方案中的客户端设备10的功能的一种示例性硬件结构,具有其他结构并能实现类似的功能的客户端设备10也适用于本申请的技术方案,在此不做限制。
图4根据本申请的实施例,示出了一种客户端设备的软件架构示意图。该客户端设备可以为轻量级设备10也可以为富资源设备20。下面将以轻量级设备10为例,对客户端设备的软件结构进行介绍。如图4所示,客户端设备10的软件架构包括应用层301、系统层302以及驱动层303。
如图4所示,应用层301可以包括相机301a,日历301b,地图301c,音乐301d,短信息301e,导航301f,视频301g,图库301h等应用程序。例如,当客户端设备为智能手表100时,智能手表100接收用户点击视频APP的图标之后,响应于用户的点击操作,打开视频APP,为用户播放视频。
系统层302可以包括多个功能模块。例如,如图4所示,系统层302包括证书管理模块302a,证书管理模块302a用于当客户端设备10的应用程序被打开之后,在客户端设备10隶属的同一网络中存在富资源设备20的情况下,响应于应用程序发送的证书导入请求,将预置于客户端设备10的根证书导入被打开的应用程序,并且调用驱动层303驱动客户端设备10的通信模块116,将预置于客户端设备10的根证书以及服务器300下发给客户端设备10的服务器证书发送给客户端设备10同一网络中的富资源设备20。
在一些实施例中,系统层302还包括图4中未示出的功能模块,例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES)等。表面管理器用于管理客户端设备10的显示功能,并且为客户端设备10的多个应用程序提供二维和三维图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。
驱动层303包括安全通道303a、WiFi驱动303b、蓝牙驱动303c等。其中,WiFi驱动303b和蓝牙驱动303c分别用于对客户端设备10的通信模块116中的WiFi模块以及蓝牙模块进行驱动,以开启WiFi模块以及蓝牙模块的通信功能。安全通道303a用于对客户端设备10和其他电子设备之间通信的数据进行加密,保证客户端设备10和其他电子设备之间通信的数据传输的安全性。
在一些实施例中,驱动层303还包括图4中未示出的显示驱动,摄像头驱动,音频驱动,传感器驱动等。
可以理解的是,图4所示的仅仅是实现本申请技术方案中的客户端设备10的功能的一种示例性的软件架构,具有其他结构并能实现类似的功能的客户端设备10也适用于本申请的技术方案,在此不做限制。
以下将以图1所示的智能手表100和服务器300之间采用SSL协议建立安全连接为例,结合图5至图7,对本申请实施例提供的安全认证方法进行介绍。
可以理解的是,为了实现智能手表100和服务器300之间的安全通信,智能手表100和服务器300之间还可以采用其他通信协议进行通信,例如TLS协议,本申请对此不作限定。
如前所述,在智能手表100和服务器300之间采用SSL协议建立安全连接的过程中,智能手表100可以通过富资源设备20解析服务器证书,验证服务器300身份的合法性。如此,可以释放出智能手表100对服务器证书进行解析所占用的内存资源以及计算资源,使得智能手表100的性能不受影响,并且可以降低智能手表100的功耗。
具体地,如图5所示,智能手表100和服务器300之间采用SSL协议建立安全连接的过程包括以下步骤:
步骤501:智能手表100向服务器300发送智能手表100握手请求消息。在一些实施例中,该消息中携带智能手表100的加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息。
例如,在一些实施例中,智能手表100向服务器300发送的智能手表100握手请求消息(下称握手消息)包括如表1所示的以下字段:
字段名称 数值或字段长度
Handshake Type Ox01
Length 3Bytes
Version 2Bytes
Random 32Bytes
Session ID 1Byte
Cipher Suites 2Bytes
Compression methods 2Bytes
Extension 117Bytes
hostname 54Bytes
signature_algorithms 26Bytes
supported_elliptic_curves 12Bytes
supported_point_formats 6Bytes
max_fragment_length 5Bytes
encrypt_then_mac 4Bytes
extended_ms 4Bytes
session_ticket 4Bytes
表1
表1中各字段说明如下:
Handshake Type:握手类型,Ox01表示Client Hello,即智能手表100向服务器300发送握手消息。
Length:握手消息长度。
Version:智能手表100所支持的最高版本的SSL协议的版本编号。
Random:随机数序列,由4Bytes的UNIX格式时间戳以及28Bytes的安全随机数组成,总长32Bytes。
Session ID:在后续的连接过程中,该字段将会保存会话的唯一标识符,服务器300可以借助该字段在缓存中找到对应的会话状态,如果智能手表100与服服务器300关闭会话之后,智能手表100又要重新发起会话,该字段可用于双方协商是否要进行重新握手过程。
Cipher Suites:智能手表100侧支持的密码套件,由于智能手表100与服务器300侧对一些加解密算法的支持程度不一样,但是SSL协议传输过程中要求智能手表100与服务器300端必须使用相同的加解密算法。所以智能手表100要首先告知服务器300,自己支持哪些密码套件,智能手表100将支持的密码套件列表发送给服务器300。
例如,在一些实施例中,智能手表100支持的密码套件包括但不限于以下各个密码套件中的一个或多个:
MBEDTLS_TLS_ECDHE_ECDSA WITH_AES_256_GCM_SHA384;
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384;
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM;
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256CBC SHA384;
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256CBC_SHA384;
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA;
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA;
MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8。
Compression methods:压缩方法,表示智能手表100支持的压缩方式。
Extension:扩展选项,SSL协议中,扩展选项以扩展块的形式出现在Client Hello消息结尾,扩展块由多个扩展项组成,每个扩展项由2bytes的扩展标识符和对应的数据组成。
在表1所示的实施例中,包括以下扩展项:
hostname:智能手表100希望访问的对象名称。
signature_algorithms:智能手表100通知服务器300自身支持的签名算法和单向散列函数。
supported_elliptic_curves:智能手表100通知服务器300自身支持的椭圆曲线列表。
supported_point_formats:智能手表100通知服务器300自身支持的椭圆曲线坐标点类型。
max_fragment_length:智能手表100支持的最长的分片长度。
encrypt_then_mac:对“认证+加密”算法采用先MAC后加密方式。
extended_ms:秘钥计算方式。
session_ticket:智能手表100支持无状态会话恢复。
可以理解的是,表1所示仅仅为智能手表100向服务器300发送的握手请求消息的一个示例,本申请不限于此。
步骤502:服务器300响应于接收到的智能手表100发送的握手请求信息,向智能手表100发送服务器300握手消息。在一些实施例中,服务器300握手消息中携带服务器300的加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息。
例如,在一些实施例中,服务器300向智能手表100发送的服务器300的握手消息包括如表2所示的以下字段:
字段名称 数值或字段长度
Handshake Type Ox02
Length 3Bytes
Version 2Bytes
Random 32Bytes
Session ID 1Byte
Ciphersuite 2Bytes
Extension 2Bytes
表2
表2中各字段说明如下:
Handshake Type:握手类型,0x2表示ServerHello,即服务器300向智能手表100发送的握手消息。
Length:握手消息长度。
Version:服务器300所支持的最高版本的SSL协议的版本编号。
Random:随机数序列,同样由4Bytes的UNIX格式时间戳以及28Bytes的安全随机数组成,总长32Bytes。
Session ID:会话ID。
Ciphersuite:协商后服务器300选择的密码套件。
Extension:服务器300的扩展选项。
可以理解的是,表2所示仅仅为服务器300向智能手表100发送的服务器300的握手消息的一个示例,本申请不限于此。
步骤503:服务器300向智能手表100发送服务器证书。在一些实施例中,服务器证书为由图1所述的数字证书颁发机构400为服务器300签发的数字证书,包括服务器300的公钥信息、服务器300的身份信息以及数字证书颁发机构400的签名信息等。其中,数字证书颁发机构400为服务器300下发数字证书的具体过程将在下文中详细描述。
例如,在一些实施例中,服务器300向智能手表100发送的服务器证书包括如表3所示的以下字段:
字段名称 数值或字段长度
Handshake Type Ox0b
Length 3Bytes
Certificates Length 3Bytes
Certificates 3Bytes
表3
表3各字段说明如下:
Handshake Type:握手类型,Ox0b表示Certificate,指示服务器证书。
Length:握手消息长度。
Certificates Length:服务器证书的总长度。
Certificates:服务器证书内容。
在一些服务器证书包括以下内容:
Certificate Length:服务器证书的总长度。
Version:服务器证书的版本。
SerialNumber:由证书发行者(例如数字证书颁发机构400)分配的服务器证书的序列号。
Signature:证书签名算法,包含证书发行者对证书进行签名所使用的算法。
Issure:发行商标识,标识对证书进行签名并颁发的实体。
Validity:有效期,包含服务器证书的生效日期和终止日期。
Subject:服务器的证书主体名称,用于标识获得证书的实体。
Subject Public Key Info:公钥,用于指示使用者公钥信息。
Extensions:一个或多个扩展域。
Algorithm Identifier:标识证书发行者对证书签名所使用的算法、参数和数据。具体字段如下:
Algorithm Id:同Signature,证书签名算法。
Padding:签名前对数据进行填充的填充方式。
Encrypted:对证书信息进行哈希计算,然后使用私钥对哈希执行数字签名得到该字段。
可以理解的是,表3所示仅仅为服务器300向智能手表100发送的服务器证书的一个示例,本申请不限于此。
步骤504:服务器300向智能手表100发送握手请求完成消息。用于通知智能手表100服务器300方的认证准备工作已经完成。
当服务器300将所有的握手信息发送到智能手表100后,会发送握手请求完成消息表示服务器300的握手消息发送完毕。
例如,在一些实施例中,服务器300向智能手表100发送的智能手表100握手请求完成消息包括如表4所示的以下字段:
字段名称 数值或字段长度
Handshake Type Ox0e
Length 3Bytes
表4
表4各字段说明如下:
Handshake Type:握手类型,Ox0e表示ServerHelloDone,,指示服务器300握手请求完成。
Length:握手消息长度。
可以理解的是,表4所示仅仅为服务器300向智能手表100发送的握手请求完成消息的一个示例,本申请不限于此。
步骤505:智能手表100判断同一网络中是否有富资源设备20。如果是,表示智能手表100的同一网络中有富资源设备20,则进入步骤507;否则表示智能手表100的同一网络中没有富资源设备20,则进入步骤506。
例如,在图6(a)所示的实施例中,智能手表100和设备A、设备B、设备C位于同一局域网中,并且智能手表100和设备A、设备B、设备C通过路由器500连接服务器300。又例如,智能手表100和设备A、设备B、设备C位于同一物联网中。在其他一些实施例中,智能手表100和设备A、设备B、设备C还可以组成如图6(b)所示的分布式设备自组网。例如,在一些实施例中,智能手表100、设备A、设备B、设备C基于WIFI建立分布式设备自组网,智能手表100以及设备A、设备B、设备C的其中一个连接WIFI路由器,其他设备通过各自的WIFI模块与连接WIFI路由器的设备连接。
在一些实施例中,当同一网络中的智能手表100、设备A、设备B、设备C中的任意一个启动时,可以将加入了表征该网络中各个设备当前的设备信息、资源使用信息、可提供的计算能力信息等的字段的消息,广播给该网络中的其他电子设备,其他电子设备可以对接收到的广播信息进行解析,从中提取出表征设备信息、资源使用信息、可提供的计算能力信息等的字段,从而基于资源使用信息、可提供的计算能力信息等字段的内容确定出相应电子设备是否为富资源设备。
在一些实施例中,可以将同一网络中的电子设备进行能力等级的划分。例如,假设智能手表100、设备A、设备B、设备C组成一个虚拟超级终端系统。虚拟超级终端中至少一个电子设备上安装有分布式操作系统,该分布式操作系统具有证书管理模块,能够按照统一的能力分级标准对各电子设备的各种能力进行分级,并且能够在某个电子设备需要对服务器证书进行验证时,从各电子设备中选择能力最佳的电子设备作为实际执行服务器证书验证运算的富资源设备。
可以理解的是,上述选择出的实际执行服务器证书验证运算的富资源设备和原本需要验证该服务器证书的电子设备之间互为可信任的设备。例如,在一些实施例中,虚拟超级终端系统的各个电子设备之间经过用户统一授权认证,从而使电子设备之间互为可信任设备。例如,各电子设备可以通过用户进行PIN码认证、人脸识别认证、指纹认证、声纹认证等完成统一授权认证,在此不做限制。
此外,上述分布式操作系统所采用的统一的能力分级标准可以包括但不限于:0-18级计算能力等级,记为P0-P18;0-12级存储能力等级,记为S0-S12;0-8级安全能力等级,记为T0-T8等。可以仅以电子设备的计算能力等级作为各个电子设备的能力等级,也可以综合电子设备的计算能力、存储能力、安全能力等能力综合对电子设备的能力等级进行划分。最终能力等级较高的设备被确定为富资源设备。
在一些实施例中,电子设备的计算能力包括中央处理器的计算能力、图形处理器的计算能力以及图像信号处理器的计算能力中的至少一种。
例如,在一些实施例中,电子设备包括中央处理器(Central Processing Unit,CPU)、图形处理器(graphics processing unit,GPU)和图像信号处理器(image signalprocessor,ISP),则电子设备的计算能力则为CPU计算能力、GPU计算能力以及ISP计算能力的总和,或者依据CPU计算能力、GPU计算能力以及ISP计算能力进行综合评定后得到的能力。
例如,在智能手表100、设备A、设备B、设备C组成的超级终端系统中,智能手表100的能力等级为L0,设备A的能力等级为L1,设备B的能力等级为L2,设备C的能力等级为L3。其中能力等级为L0的智能手表100能力最低,能力等级为L3的设备C的能力最高,则分布式操作系统中的证书管理模块可以将设备A、设备B、设备C确定为智能手表100的富资源设备,可以选择能力最高的设备C作为实际执行服务器证书验证运算的富资源设备,并且由于智能手表100和设备C已完成同一用户的授权认证、互为可信任设备,因此,设备C可以对智能手表100发送的服务器证书进行验证。可以理解的是,以上只是示例性的说明同一网络中存在多个富资源设备时的选取规则。在实际应用中,还可以结合电子设备的其他能力进行综合考虑,从而对电子设备的能力等级进行划分。例如,还可以结合电子设备的当前电量以及上述计算能力、存储能力、安全能力等对电子设备的能力等级进行划分。本申请对此不作限定。
步骤506:智能手表100验证服务器证书。之后进行入步骤510。
在一些实施例中,服务器证书是由数字证书颁发机构400签发的数字证书。例如,服务器300向数字证书颁发机构400发送证书申请信息,数字证书颁发机构400基于服务器300发送的证书申请信息创建数字文档,该数字文档可以包括服务器300的公钥、身份标识、该数字文档的有效日期、数字证书颁发机构400的名称等。数字证书颁发机构400使用摘要算法计算前述创建的数字文档得到数字摘要。然后,数字证书颁发机构400调用根证书的签名私钥对服务器300的数字摘要、进行加密,生成签名,由签名、数字文档以及所使用的摘要算法组成服务器证书。
智能手表100验证服务器证书,即验证服务器证书是由数字证书颁发机构400签发的,是可被信任的。在一些实施例中,智能手表100接收到服务器证书之后,用数字证书颁发机构400的公钥,即调用根证书的公钥,对服务器证书中的签名进行解密,得到签名中的数字摘要,然后用数字服务器证书中包括的摘要算法对数字文档进行哈希计算,得到新的数字摘要,将该新的数字摘要与签名中的摘要进行比对,若新的数字摘要与签名中的摘要一致,则说明服务器证书没有被篡改,说明服务器证书是数字证书颁发机构400下发的合法证书,是可信的,即服务器身份合法。
步骤507:智能手表100将预置的根证书以及接收到的服务器证书发送给富资源设备20。
例如,在一些实施例中,智能手表100通过WiFi、蓝牙等方式将智能手表100预置的根证书以及接收到的服务器证书发送给富资源设备20。
在一些实施例中,智能手表100还可以在判断出同一网络中有富资源设备20之后,直接将智能手表100预置的根证书发送给富资源设备20,然后在智能手表100向服务器300发起SSL连接之后,再将服务器300下发的服务器证书发送给富资源设备20。如此,可以避免由于需要预置根证书以及对服务器证书进行验证而造成的对智能手表100的内存以及运算资源的占用,即能保证智能手表100与服务器300之间的通信安全,又能保证智能手表100的性能,降低智能手表100的功耗。
需要说明的是,智能手表100还可以在向富资源设备20发起SSL握手请求消息之前,将预置的根证书发送给富资源设备20。或者,智能手表100还可以在向富资源设备20发起SSL握手请求消息之后,并且在智能手表100将服务器证书发给送向富资源设备20之前,将预置的根证书发送给富资源设备20。本申请对智能手表100具体在哪一个步骤向富资源设备20发送预置的根证书不做限定,只要在智能手表100将服务器证书发给送向富资源设备20之前,将预置的根证书发送给富资源设备20即可。
步骤508:富资源设备20验证服务器证书。例如,富资源设备20通过和步骤506类似的方法对服务器证书进行解析,验证服务器300身份的合法性,在此不再赘述。
步骤509:富资源设备20将服务器证书的验证结果发送给智能手表100。
步骤510:智能手表100基于服务器证书的验证结果判断服务器300的身份是否合法。
例如,在一些实施例中,智能手表100确定服务器300身份合法,则智能手表100和服务器300建立SSL连接后,开始使用协商密钥与算法进行加密通信,以向服务器300请求业务服务。在一些实施例中,智能手表100确定服务器300身份不合法,则智能手表100终止与服务器300建立连接。
步骤511:智能手表100向服务器300发送智能手表100秘钥交换消息。即当服务器300的身份合法性验证通过之后,智能手表100计算产生随机数字Pre-master,并用公钥加密,发送给服务器300。
步骤512:智能手表100向服务器300发送改变加密属性消息。以通知服务器300后续的通信都采用协商的通信密钥和加密算法进行加密通信。
步骤513:服务器300向智能手表100发送改变加密属性消息。以通知智能手表100后续的通信都采用协商的通信密钥和加密算法进行加密通信。
步骤514:服务器300向智能手表100发送完成消息。
服务器300计算接收到的智能手表100发送的密钥交换消息的哈希值,验证智能手表100发送的数据和密钥的正确性,验证通过则握手完成。则智能手表100和服务器300成功建立SSL连接,并且开始使用协商密钥与算法进行加密通信,以向服务器300请求业务服务。
在一些实施例中,服务器证书为图1所示的数字证书颁发机构400签发的数字证书。具体地,例如,数字证书颁发机构400为服务器300下发数字证书的流程可以包括如图7所示的步骤:
(1)服务器300生成对称密钥,该对称密钥包括一对公钥和私钥。
在一些实施例中,服务器300可以使用非对称加密算法生成一对公钥和私钥,其中私钥由服务器300保管,公钥可以广播给多个与服务器300通信的客户端设备。
在一些实施例中,服务器300的对称密钥也可以数字证书颁发机构400代为生成,本申请对此不作限制。
(2)服务器300向数字证书颁发机构400发送证书申请信息,用于向数字证书颁发机构400申请数字证书。
在一些实施例中,证书申请信息包括服务器300的公钥、身份标识等信息。
(3)数字证书颁发机构400将生成的服务器300的数字证书签发给服务器300。
在一些实施例中,数字证书颁发机构400根据服务器300发送的证书申请信息创建数字文档,该数字文档可以包括服务器300的公钥、身份标识、该数字文档的有效日期、数字证书颁发机构400的名称等。
然后,数字证书颁发机构400使用摘要算法计算前述创建的数字文档得到数字摘要。为了便于证明服务器300的数字证书是由数字证书颁发机构400签发的,数字证书颁发机构400需要用自己的私钥对计算得到的关于服务器300的数字摘要进行加密,生成签名,由签名、数字文档以及所使用的摘要算法组成服务器证书。最后,数字证书颁发机构400将生成的服务器300的数字证书签发给服务器300。
服务器300接收到数字证书颁发机构400签发的数字证书后,即可在通信过程中使用该数字证书进行身份认证,为通信双方提供安全可靠的通信。
可以理解的是,由于服务器300拥有一把仅为服务器300所知的私钥,用于对接收到的数据进行解密和签名。同时服务器300拥有一把可以对其他电子设备公开的公钥,用于对发送的数据进行加密和签名验证。当服务器300发送数据时,服务器300使用公钥对数据加密,而接收端设备则使用数字证书颁发机构400为该设备分配的私钥对接收到的数据进行解密。如此,服务器300和客户端设备之间传输的数据就可以安全无误进行传送,即使被第三方截获,由于没有相应的私钥,也无法进行解密,保证了数据传输的安全性。
以上以智能手表100和服务器300之间采用SSL协议建立安全连接为例,对本申请实施例提供的安全认证方法进行了大致介绍。
为了更好的理解本申请技术方案,下面以智能手表100和服务器300之间采用SSL协议建立安全连接,智能手表100向服务器300请求视频服务,智能手表100所在的同一网络中有富资源设备20,由富资源设备20对服务器证书进行验证为例,结合图3所示的硬件结构图、图4所示的软件架构图,对本申请提供的安全认证方法进行详细介绍。可以理解的是,智能手表100还可以向服务器300请求游戏下载、导航、即时通信等其他类型的服务。
具体地,如图8所示,智能手表100向服务器300请求视频服务的过程包括以下步骤:
步骤801:智能手表100检测到用户操作后启动视频应用301g。
例如,在一些实施例中,用户点击智能手表100桌面对应于视频应用301g的图标,智能手表100检测到视频应用301g的图标被点击之后,打开视频应用301g。
步骤802:智能手表100的视频应用301g向智能手表100的证书管理模块302a发起根证书导入请求。以请求证书管理模块302a将预置于智能手表100的存储空间中的根证书导入开启的视频应用301g,便于视频应用301g在向服务器300请求服务时,使用该根证书来校验服务器300下发的服务器证书。智能手表100的证书管理模块302a接收到根证书导入请求之后,同时执行步骤803以及步骤804。
如此,针对不同的应用,智能手表100只需要预置一份根证书,当各个应用向服务器300请求服务时,只需要将预置的一份根证书导入各个应用,从而基于导入的根证书对服务器证书进行验证。智能手表100无需针对每个应用都预置一份根证书,从而可以实现智能手表100对根证书的归一化管理,减少对智能手表100的内存占用。
步骤803:智能手表100的证书管理模块302a将预置于智能手表100的存储空间中的根证书导入开启的视频应用301g。
步骤804:智能手表100的证书管理模块302a读取安全通道303a状态信息,确认安全通道303a是否可用,为发送或接收数据做准备。其中,安全通道303a用于对智能手表100和其他电子设备之间通信的数据进行加密,使智能手表100和其他电子设备之间进行安全通信。
步骤805:智能手表100的证书管理模块302a将智能手表100的根证书通过智能手表100的安全通道303a发送给富资源设备20。即:在智能手表100的同一网络中存在富资源设备20的情况下,为了减少预置的根证书对智能手表100的内存的占用,可以将预置的根证书发送给富资源设备20。
步骤806:富资源设备20对从智能手表100接收的根证书进行验证。
例如,在一些实施例中,富资源设备20对接收到的根证书可以采用与前述图5中的步骤506类似的方法对根证书进行验证,从而验证根证书是否合法。具体可参见上述有关图5中的步骤506部分的文字描述,在此不再赘述。
步骤807:富资源设备20将对根证书的验证结果通过智能手表100的安全通道303发送给智能手表100的证书管理模块302a。
步骤808:智能手表100的证书管理模块302a将接收到的根证书的验证结果发送给智能手表100的视频应用301g。
步骤809:智能手表100的视频应用301g根据接收到的根证书的验证结果确定是否向服务器300发起SSL安全连接。如果是,表明根证书合法,智能手表100的视频应用301g向服务器300发起SSL安全连接,进入步骤810;否则,表明根证书不合法,则智能手表100的视频应用301g不向服务器300发起SSL安全连接,结束流程。
步骤810:智能手表100的视频应用301g向服务器300发起SSL安全连接。以在智能手表100的同一网络中存在富资源设备20的情况下,开启智能手表100的视频应用301g和服务器300之间的SSL会话。
例如,在一些实施例中,智能手表100的视频应用301g向服务器300发送握手请求消息,其中包括智能手表100支持的密码套件、数据压缩方法、随机数、扩展字段等信息,用于通知服务器300开启SSL会话。
服务器300响应智能手表100的握手请求消息,向智能手表100发送服务器300的握手请求消息,该消息包含服务器300支持的密码套件、数据压缩方法、会话ID、随机数、扩展字段等信息。
步骤811:服务器300向智能手表100的视频应用301g发送服务器证书。即:在智能手表100的同一网络中存在富资源设备20的情况下,服务器300响应智能手表100的SSL会话,向智能手表100下发服务器证书。
例如,在一些实施例中,在智能手表100的同一网络中存在富资源设备20的情况下,服务器300向智能手表100的视频应用301g发送服务器证书,并且发送握手请求完成消息,用于通知智能手表100服务器300方的认证准备工作已经完成,等待智能手表100的响应。
步骤812:智能手表100的视频应用301g向智能手表100的证书管理模块302a发送中断,以请求证书管理模块302a读取服务器证书。
步骤813:智能手表100的证书管理模块302a将服务器证书通过智能手表100的安全通道303a发送给富资源设备20。即:在智能手表100的同一网络中存在富资源设备20的情况下,智能手表100的证书管理模块302a从视频应用301g读取到服务器证书之后,为了将读取到的服务器证书安全传送至富资源设备20,可以通过调用智能手表100的安全通道303a,将服务器证书通过该安全通道发送至富资源设备20。
在一些实施例中,智能手表100的证书管理模块302a可以注册与视频应用301g对应的回调函数,当智能手表100的证书管理模块302a接收到服务器证书之后,即可触发智能手表100调用该回调函数将服务器证书发送给富资源设备20。
然后通过该回调函数将服务器证书调用安全通道303a,将服务器证书发送给富资源设备20。
步骤814:富资源设备20对接收到的服务器证书进行验证。即:在智能手表100的同一网络中存在富资源设备20的情况下,智能手表100对服务器证书的验证过程交由富资源设备20执行,可以释放出智能手表100关于验证服务器证书的计算资源,可以保证智能手表100的性能,并且可以降低智能手表100的功耗。
例如,在一些实施例中,富资源设备20对接收到的服务器证书可以采用与前述图5中的步骤506类似的方法对服务器证书进行验证,从而验证服务器300的身份是否合法。具体可参见上述有关图5中的步骤506部分的文字描述,在此不再赘述。
在一些实施例中,服务器300向智能手表100的视频应用301g发送的服务器证书是以证书链的形式下发的,最底层的证书是由服务器300的根证书签发的二级证书,为了对服务器300下发的证书链进行验证,富资源设备20基于从智能手表100接收到的根证书,对从智能手表100获取到的证书链形式的服务器证书进行校验。
步骤815:富资源设备20将服务器证书的验证结果经由智能手表100的安全通道303a发送至智能手表100的证书管理模块302a。
步骤816:智能手表100的证书管理模块302a将接收到的服务器证书的验证结果发送给智能手表100的视频应用301g。
例如,在一些实施例中,智能手表100的证书管理模块302a在接收到服务器证书的验证结果之后,向智能手表100的视频应用301g发送中断消息,智能手表100的视频应用301g在接收到证书管理模块302a发送的中断消息之后,从证书管理模块302a中读取服务器证书的验证结果。
在一些实施例中,由于智能手表100无法直接感知富资源设备20对服务器证书的验证结果。因此,可以通过在智能手表100的应用(例如视频应用301g)注册回调函数,使得当富资源设备20对服务器证书进行验证并且得到验证结果之后,富资源设备20的证书管理模块通过软总线或WIFI将验证结果发送给智能手表100的证书管理模块302a,智能手表100的证书管理模块302a接收到该验证结果之后,触发对上述回调函数的调用,回调函数将上述验证结果返回给应用。
步骤817:智能手表100的视频应用301g根据富资源设备20对服务器证书的验证结果,判断服务器300的身份是否合法。如果服务器300的身份合法,则进入步骤818;否则,服务器300的身份不合法,则智能手表100的视频应用301g终止和服务器300之间的SSL连接。
即:在智能手表100的同一网络中存在富资源设备20的情况下,由富资源设备20对服务器300的身份进行验证之后,智能手表100的视频应用301g确定是否向服务器300请求视频服务。
步骤818:智能手表100的视频应用301g向服务器300发送视频业务请求,以从服务器300请求视频业务服务。即,在智能手表100的视频应用301g确定服务器300的身份合法之后,则智能手表100的视频应用301g可以向服务器300请求视频服务,智能手表100和服务器300之间以协商的加密算法进行加密通信。
结合上述关于图8的文字描述可知,本申请的技术方案在确定出同一网络中有其他富资源设备20时,可以将预置于例如智能手表100等计算能力较低的轻量级设备10的根证书传送至富资源设备20。当轻量级设备10与服务器300进行交互时,对服务器证书的解析由富资源设备20完成,可以减少服务器证书的解析过程所产生的对轻量级设备10的资源的占用,并且可以有效利用富资源设备20的内存资源以及计算资源,避免资源浪费,此外也可以降低轻量级设备10的运行功耗,提升轻量级设备10的续航能力。
下面以智能手表100所在的同一网络中没有富资源设备20,由智能手表100直接对服务器证书进行验证,以智能手表100和服务器300之间采用SSL协议建立安全连接,智能手表100向服务器300请求视频服务为例,对本申请提供的安全认证方法进行详细介绍。具体地,参考图9,智能手表100向服务器300请求视频服务的过程包括以下步骤:
步骤901:智能手表100检测到用户操作后启动视频应用301g。
步骤902:智能手表100的视频应用301g向智能手表100的证书管理模块302a发起根证书导入请求。以请求证书管理模块302a将预置于智能手表100的存储空间中的根证书导入开启的视频应用301g,便于视频应用301g在向服务器300请求服务时,使用该根证书来校验服务器300下发的服务器证书。智能手表100的证书管理模块302a接收到根证书导入请求之后,同时执行步骤903以及步骤904。
步骤903:智能手表100的证书管理模块302a将预置于智能手表100的存储空间中的根证书导入开启的视频应用301g。
步骤904:智能手表100的视频应用301g向服务器300发起SSL安全连接。以在智能手表100的同一网络中不存在富资源设备20的情况下,开启智能手表100的视频应用301g和服务器300之间的SSL会话。
例如,在一些实施例中,智能手表100的视频应用301g向服务器300发送握手请求消息,其中包括智能手表100支持的密码套件、数据压缩方法、随机数、扩展字段等信息,用于通知服务器300开启SSL会话。
服务器300响应于智能手表100的握手请求消息,向智能手表100发送服务器300的握手请求消息。该消息包含服务器300支持的密码套件、数据压缩方法、会话ID、随机数、扩展字段等信息。
步骤905:服务器300向智能手表100的视频应用301g发送服务器证书。
例如,在一些实施例中,服务器300向智能手表100的视频应用301g发送服务器证书,并且发送握手请求完成消息,用于通知智能手表100服务器300方的认证准备工作已经完成,等待智能手表100的响应。
步骤906:智能手表100的视频应用301g验证服务器证书。即:在智能手表100的同一网络中不存在富资源设备20的情况下,由智能手表100直接对服务器300的身份进行验证。
例如,在一些实施例中,智能手表100的视频应用301g采用和图5所示的步骤506类似的方法对服务器证书进行验证,具体可参见上述有关图5中的步骤506部分的文字描述,在此不再赘述。
在一些实施例中,服务器300向智能手表100的视频应用301g发送的服务器证书是以证书链的形式下发的,最底层的证书是由服务器300的根证书签发的二级证书,为了对服务器300下发的证书链进行验证,需要在智能手表100中预置与服务器300下发的证书链对应的根证书,用该根证书来校验证书链形式的服务器证书。
步骤907:智能手表100的视频应用301g判断服务器300的身份是否合法。即:在智能手表100的同一网络中不存在富资源设备20的情况下,由智能手表100直接对服务器300的身份进行验证之后,智能手表100的视频应用301g判断服务器300的身份是否合法。如果服务器300的身份合法,则进入步骤908;否则,服务器300的身份不合法,则智能手表100的视频应用301g终止和服务器300之间的SSL连接。
即:在智能手表100的同一网络中不存在富资源设备20的情况下,由智能手表100对服务器300的身份进行验证之后,智能手表100的视频应用301g确定是否向服务器300请求视频服务。
步骤908:智能手表100的视频应用301g向服务器300发送视频业务请求,以从服务器300请求视频业务服务。即,在智能手表100的视频应用301g确定服务器300的身份合法之后,则智能手表100的视频应用301g可以向服务器300请求视频服务,智能手表100和服务器300之间以协商的加密算法进行加密通信。
图10根据本申请的一些实施例,示意性地示出了系统10000的结构框图。在一些实施例中,系统1000可以包括一个或多个处理器1004,与处理器1004中的至少一个连接的系统控制逻辑1008,与系统控制逻辑1008连接的系统内存1012,与系统控制逻辑1008连接的非易失性存储器(NVM)1016,以及与系统控制逻辑1008连接的网络接口1020。
在一些实施例中,处理器1004可以包括一个或多个单核或多核处理器。在一些实施例中,处理器1004可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在系统1000采用ENB(Evolved Node B,增强型基站)101或RAN(Radio Access Network,无线接入网)控制器的实施例中,处理器1004可以被配置为执行各种符合的实施例,例如,如图5和图8所示的实施例中,处理器1004通过判定同一网络中是否有富资源设备的接入,如果有富资源设备的接入,则智能手表100通过处理器1004控制智能手表100将服务器300下发的服务器证书转发给富资源设备进行解析;在同一网络中没有富资源设备的接入的情况下,则智能手表100通过处理器1004直接对服务器300下发的服务器证书进行解析。
在一些实施例中,系统控制逻辑1008可以包括任意合适的接口控制器,以向处理器1004中的至少一个和/或与系统控制逻辑1008通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑1008可以包括一个或多个存储器控制器,以提供连接到系统内存1012的接口。系统内存1012可以用于加载以及存储数据和/或指令。例如,在本申请的一些实施例中,系统内存1012可以存储智能手表100的由数字证书颁发机构下发的根证书。同时,系统内存1012也可以存储用户的注册信息、登录信息等等。
NVM/存储器1016可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器1016可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM/存储器1016可以包括安装系统1000的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1020通过网络访问NVM/存储1016。
特别地,系统内存1012和NVM/存储器1016可以分别包括:指令1024的暂时副本和永久副本。指令1024可以包括:由处理器1004中的至少一个执行时导致系统1000实施如图5、图8和图9所示的方法的指令。在一些实施例中,指令1024、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1008,网络接口1020和/或处理器1004中。
网络接口1020可以包括收发器,用于为系统1000提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1020可以集成于系统1000的其他组件。例如,网络接口1020可以集成于处理器1004的,系统内存1012,NVM/存储器1016,和具有指令的固件设备(未示出)中的至少一种,当处理器1004中的至少一个执行所述指令时,系统1000实现如图5、图8和图9所示的方法。
网络接口1020可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1020可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一些实施例中,处理器1004中的至少一个可以与用于系统控制逻辑1008的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一些实施例中,处理器1004中的至少一个可以与用于系统控制逻辑1008的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(System on Chip,SoC)。
系统1000可以进一步包括:输入/输出(I/O)设备1032。I/O设备1032可以包括用户界面,使得用户能够与系统1000进行交互;外围组件接口的设计使得外围组件也能够与系统1000交互。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路(Application Specific Integrated Circuit,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (33)

1.一种安全认证方法,其特征在于,包括:
第一电子设备检测到触发与服务器进行数据传输的触发事件;
所述第一电子设备向第二电子设备发送所述服务器的身份信息;
所述第二电子设备对从所述第一电子设备接收到的所述服务器的身份信息进行验证,并向所述第一电子设备发送验证结果;
所述第一电子设备基于接收到的所述验证结果确定是否与所述服务器进行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述第二电子设备的身份验证能力大于所述第一电子设备。
3.根据权利要求2所述的方法,其特征在于,所述第一电子设备在确定所述第二电子设备的身份验证能力大于所述第一电子设备的情况下,向所述第二电子设备发送所述服务器的身份信息。
4.根据权利要求2或3所述的方法,其特征在于,所述身份验证能力是基于计算能力、存储能力以及安全能力中的至少一种得到的。
5.根据权利要求4所述的方法,其特征在于,所述计算能力包括中央处理器的计算能力、图形处理器的计算能力以及图像信号处理器的计算能力中的至少一种。
6.根据权利要求1-5任一所述的方法,其特征在于,所述第二电子设备对从所述第一电子设备接收到的所述服务器的身份信息进行验证,包括:
所述第二电子设备基于从所述第一电子设备接收到的根证书对所述服务器的身份信息进行验证。
7.根据权利要求6所述的方法,其特征在于,所述第一电子设备包括多个应用;
所述第一电子设备检测到触发与服务器进行数据传输的触发事件,包括:所述第一电子设备的所述多个应用中的至少一个检测到触发与服务器进行数据传输的触发事件;
所述方法还包括:
所述第一电子设备的所述多个应用中的至少一个在检测到触发与服务器进行数据传输的触发事件的情况下,获取所述根证书,并且将所述根证书发送给所述第二电子设备。
8.根据权利要求6或7所述的方法,其特征在于,所述服务器的身份信息包括由数字证书颁发机构向所述服务器签发的服务器证书,所述第二电子设备对所述服务器的身份信息的验证结果是通过以下方式得到的:
所述第二电子设备基于从所述第一电子设备接收到的所述根证书,对从所述第一电子设备接收到的所述服务器证书进行验证,得到所述第二电子设备对所述服务器证书的验证结果。
9.根据权利要求8所述的方法,其特征在于,所述服务器证书包括数字文档、由所述数字证书颁发机构对所述数字文档基于预设的摘要算法计算出来的数字摘要进行加密后生成的签名,以及所述预设的摘要算法。
10.根据权利要求9所述的方法,其特征在于,所述第二电子设备对从所述第一电子设备接收到的所述服务器的身份信息进行验证,包括:
所述第二电子设备基于从所述第一电子设备接收到的所述根证书,对所述服务器证书中的所述签名进行解密,得到所述签名的第一数字摘要;
基于所述预设的摘要算法对所述数字文档进行哈希计算,得到第二数字摘要;
将所述第二数字摘要与所述第一数字摘要进行比对,基于比对的结果确定所述第二电子设备对所述服务器证书的验证结果。
11.根据权利要求1所述的方法,其特征在于,所述第一电子设备检测到触发与服务器进行数据传输的触发事件,包括:
所述第一电子设备检测到触发与所述服务器进行数据传输的用户操作,所述用户操作用于触发所述第一电子设备向所述服务器发送网络安全连接请求。
12.根据权利要求11所述的方法,其特征在于,所述第一电子设备基于所述验证结果确定是否与所述服务器进行数据传输,包括:
所述第一电子设备基于所述验证结果确定所述服务器的身份合法的情况下,建立和所述服务器之间的网络安全连接;
所述第一电子设备通过建立的所述网络安全连接和所述服务器进行数据传输。
13.根据权利要求12所述的方法,其特征在于,所述网络安全连接为安全套接字层协议连接或传输层安全协议连接。
14.根据权利要求1所述的方法,其特征在于,所述第一电子设备的操作系统为轻量级的嵌入式操作系统。
15.根据权利要求1所述的方法,其特征在于,所述第二电子设备的操作系统包括安卓TM操作系统、鸿蒙TM操作系统和IOSTM操作系统中的至少一种。
16.一种安全认证方法,其特征在于,包括:
第一电子设备检测到触发与服务器进行数据传输的触发事件;
所述第一电子设备向第二电子设备发送所述服务器的身份信息;
所述第一电子设备基于从所述第二电子设备接收到的验证结果确定是否与所述服务器进行数据传输。
17.根据权利要求16所述的方法,其特征在于,所述第二电子设备的身份验证能力大于所述第一电子设备。
18.根据权利要求17所述的方法,其特征在于,所述第一电子设备在确定所述第二电子设备的身份验证能力大于所述第一电子设备的情况下,向所述第二电子设备发送所述服务器的身份信息。
19.根据权利要求17或18所述的方法,其特征在于,所述身份验证能力是基于计算能力、存储能力以及安全能力中的至少一种得到的。
20.根据权利要求19所述的方法,其特征在于,所述计算能力包括中央处理器的计算能力、图形处理器的计算能力以及图像信号处理器的计算能力中的至少一种。
21.根据权利要求16-20任一所述的方法,其特征在于,所述第一电子设备包括多个应用;
所述第一电子设备检测到触发与服务器进行数据传输的触发事件,包括:
所述第一电子设备的所述多个应用中的至少一个检测到触发与服务器进行数据传输的触发事件;
所述方法还包括:
所述第一电子设备的所述多个应用中的至少一个在检测到触发与服务器进行数据传输的触发事件的情况下,获取根证书,并且将所述根证书发送给所述第二电子设备,所述根证书用于所述第二电子设备对所述服务器的身份信息进行验证。
22.根据权利要求16所述的方法,其特征在于,所述第一电子设备检测到触发与服务器进行数据传输的触发事件,包括:
所述第一电子设备检测到触发与所述服务器进行数据传输的用户操作,所述用户操作用于触发所述第一电子设备向所述服务器发送网络安全连接请求。
23.根据权利要求22所述的方法,其特征在于,所述第一电子设备基于所述验证结果确定是否与所述服务器进行数据传输,包括:
所述第一电子设备基于所述验证结果确定所述服务器的身份合法的情况下,建立和所述服务器之间的网络安全连接;
所述第一电子设备通过建立的所述网络安全连接和所述服务器进行数据传输。
24.根据权利要求23所述的方法,其特征在于,所述网络安全连接为安全套接字层协议连接或传输层安全协议连接。
25.根据权利要求16所述的方法,其特征在于,所述第一电子设备的操作系统为轻量级的嵌入式操作系统。
26.一种安全认证方法,其特征在于,包括:
第二电子设备对从第一电子设备接收到的服务器的身份信息进行验证,并向所述第一电子设备发送验证结果。
27.根据权利要求26所述的方法,其特征在于,所述第二电子设备对从所述第一电子设备接收到的所述服务器的身份信息进行验证,包括:
所述第二电子设备基于从所述第一电子设备接收到的根证书对所述服务器的身份信息进行验证。
28.根据权利要求26或27所述的方法,其特征在于,所述服务器的身份信息包括由数字证书颁发机构向所述服务器签发的服务器证书,所述第二电子设备对所述服务器的身份信息的验证结果是通过以下方式得到的:
所述第二电子设备基于从所述第一电子设备接收到的根证书,对从所述第一电子设备接收到的所述服务器证书进行验证,得到所述第二电子设备对所述服务器证书的验证结果。
29.根据权利要求28所述的方法,其特征在于,所述服务器证书包括数字文档、由所述数字证书颁发机构对所述数字文档基于预设的摘要算法计算出来的数字摘要进行加密后生成的签名,以及所述预设的摘要算法。
30.根据权利要求29所述的方法,其特征在于,所述第二电子设备对从所述第一电子设备接收到的所述服务器的身份信息进行验证,包括:
所述第二电子设备基于从所述第一电子设备接收到的所述根证书,对所述服务器证书中的所述签名进行解密,得到所述签名的第一数字摘要;
基于所述预设的摘要算法对所述数字文档进行哈希计算,得到第二数字摘要;
将所述第二数字摘要与所述第一数字摘要进行比对,基于比对的结果确定所述第二电子设备对所述服务器证书的验证结果。
31.根据权利要求1所述的方法,其特征在于,所述第二电子设备的操作系统包括安卓TM操作系统、鸿蒙TM操作系统和IOSTM操作系统中的至少一种。
32.一种可读介质,其特征在于,所述可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行权利要求1-31中任一项所述的安全认证方法。
33.一种电子设备,其特征在于,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
处理器,是电子设备的处理器之一,用于执行权利要求1-31中任一项所述的安全认证方法。
CN202110624834.XA 2021-06-04 2021-06-04 安全认证方法、可读介质和电子设备 Pending CN115442061A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110624834.XA CN115442061A (zh) 2021-06-04 2021-06-04 安全认证方法、可读介质和电子设备
PCT/CN2022/087971 WO2022252857A1 (zh) 2021-06-04 2022-04-20 安全认证方法、可读介质和电子设备
EP22814904.3A EP4336393A1 (en) 2021-06-04 2022-04-20 Security authentication method, readable medium, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110624834.XA CN115442061A (zh) 2021-06-04 2021-06-04 安全认证方法、可读介质和电子设备

Publications (1)

Publication Number Publication Date
CN115442061A true CN115442061A (zh) 2022-12-06

Family

ID=84240397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110624834.XA Pending CN115442061A (zh) 2021-06-04 2021-06-04 安全认证方法、可读介质和电子设备

Country Status (3)

Country Link
EP (1) EP4336393A1 (zh)
CN (1) CN115442061A (zh)
WO (1) WO2022252857A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117082514B (zh) * 2023-10-17 2024-01-23 奥鼎智通(北京)科技有限公司 一种6g网络的设备到设备的认证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487752A (zh) * 2015-08-26 2017-03-08 百度在线网络技术(北京)有限公司 一种用于验证访问安全的方法和装置
US20180103017A1 (en) * 2015-09-08 2018-04-12 Tencent Technology (Shenzhen) Company Limited Service processing method and electronic device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756447B (zh) * 2017-11-01 2022-03-29 华为技术有限公司 一种安全认证方法及相关设备
CN109936547A (zh) * 2017-12-18 2019-06-25 阿里巴巴集团控股有限公司 身份认证方法、系统及计算设备
US10939295B1 (en) * 2018-08-21 2021-03-02 HYPR Corp. Secure mobile initiated authentications to web-services

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487752A (zh) * 2015-08-26 2017-03-08 百度在线网络技术(北京)有限公司 一种用于验证访问安全的方法和装置
US20180103017A1 (en) * 2015-09-08 2018-04-12 Tencent Technology (Shenzhen) Company Limited Service processing method and electronic device

Also Published As

Publication number Publication date
WO2022252857A1 (zh) 2022-12-08
EP4336393A1 (en) 2024-03-13

Similar Documents

Publication Publication Date Title
CN112733107B (zh) 一种信息验证的方法、相关装置、设备以及存储介质
CN110770695B (zh) 物联网(iot)设备管理
CN109246053B (zh) 一种数据通信方法、装置、设备和存储介质
WO2019120091A1 (zh) 身份认证方法、系统及计算设备
KR102018971B1 (ko) 네트워크 액세스 디바이스가 무선 네트워크 액세스 포인트를 액세스하게 하기 위한 방법, 네트워크 액세스 디바이스, 애플리케이션 서버 및 비휘발성 컴퓨터 판독가능 저장 매체
WO2018157858A1 (zh) 信息存储方法、装置及计算机可读存储介质
US7802099B2 (en) Method and apparatus for establishing a secure connection
US8458776B2 (en) Low-latency peer session establishment
US11736304B2 (en) Secure authentication of remote equipment
CN110299996B (zh) 认证方法、设备及系统
US20160269176A1 (en) Key Configuration Method, System, and Apparatus
EP3633949B1 (en) Method and system for performing ssl handshake
CN110933484A (zh) 一种无线投屏设备的管理方法及装置
CN110719265B (zh) 一种实现网络安全通信的方法、装置及设备
CN112533202A (zh) 身份鉴别方法及装置
CN109145628A (zh) 一种基于可信执行环境的数据采集方法及系统
US11611541B2 (en) Secure method to replicate on-premise secrets in a cloud environment
WO2022252857A1 (zh) 安全认证方法、可读介质和电子设备
US20090136043A1 (en) Method and apparatus for performing key management and key distribution in wireless networks
WO2015104567A1 (en) Secure communication between a server and a client web browser
CN113904830A (zh) 一种spa认证的方法、装置、电子设备和可读存储介质
CN114531225A (zh) 端到端通信加密方法、装置、存储介质及终端设备
CN112084485A (zh) 数据获取方法、装置、设备以及计算机存储介质
EP4047871A1 (en) Advanced security control implementation of proxied cryptographic keys
CN117440374A (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