CN108347330A - 一种安全通信的方法和装置 - Google Patents

一种安全通信的方法和装置 Download PDF

Info

Publication number
CN108347330A
CN108347330A CN201710060367.6A CN201710060367A CN108347330A CN 108347330 A CN108347330 A CN 108347330A CN 201710060367 A CN201710060367 A CN 201710060367A CN 108347330 A CN108347330 A CN 108347330A
Authority
CN
China
Prior art keywords
session key
ssl
tls
opposite end
request
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
CN201710060367.6A
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710060367.6A priority Critical patent/CN108347330A/zh
Publication of CN108347330A publication Critical patent/CN108347330A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的目的是提供一种安全通信的方法和装置。与现有技术相比,本发明中,本机与对端建立SSL/TLS通信连接,根据所述SSL/TLS通信连接,与所述对端协商出会话密钥,经由加密密钥加密,将所述会话密钥分发至本机节点,保证在满足高并发性能的情况下,对通信的数据进行加密和认证,有效地阻断外部的恶意攻击,并完善内部异常数据的容错机制。

Description

一种安全通信的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种安全通信的技术。
背景技术
业界的网络级安全通信方法主要基于SSL(Secure Sockets Layer,安全套接层),及其继任者TLS(Transport Layer Security,传输层安全),实现对网络通信数据的加密,保证通信数据的完整性和机密性。每一条通信链路都需要进行SSL/TLS的认证和构建,并采用高强度的加密算法进行数据的加密保护。
SSL/TLS协议中采用的是业界高强度的加密算法,此类算法对硬件的性能要求较高,然而,对于一些具有高并发、大数据量通信需求的系统,采用SSL/TLS进行通信数据的保护存在性能瓶颈。例如,随着无人驾驶技术的逐步成熟,无人驾驶系统的网络安全性受到越来越多的重视。对于无人驾驶系统,其需要实时、高效地完成环境感知、决策控制等行为,因此在保证无人驾驶汽车高并发、大数据量通信的前提下,采用SSL/TLS进行通信数据的保护存在性能瓶颈,无法保障无人驾驶汽车的响应时效。
因此,如何提供一种高性能、高安全性的网络通信方法,满足高并发、大数据量系统的安全与性能的需求平衡,成为本领域技术人员亟需解决的问题之一。
发明内容
本发明的目的是提供一种安全通信的方法和装置。
根据本发明的一个方面,提供了一种安全通信的方法,其中,该方法包括:
a与对端建立SSL/TLS通信连接;
b根据所述SSL/TLS通信连接,与所述对端协商出会话密钥;
c经由加密密钥加密,将所述会话密钥分发至本机节点。
优选地,所述步骤a包括:
根据本机与对端之间基于证书进行SSL/TLS双向认证,从而建立所述SSL/TLS通信连接。
优选地,所述步骤b包括:
基于所述对端发起的第一会话密钥请求,检测会话密钥状态;
若存在有效的会话密钥,则直接获取所述有效的会话密钥,若不存在有效的会话密钥,则在所述SSL/TLS通信连接中抽取所述会话密钥。
优选地,所述步骤c包括:
接收所述本机节点发起的第二会话密钥请求,其中,所述第二会话密钥请求经由所述加密密钥加密;
对所述第二会话密钥请求进行解密,获得解密后的第二会话密钥请求;
根据所述解密后的第二会话密钥请求,经由所述加密密钥对所述会话密钥进行加密,将加密后的所述会话密钥发送至所述本机节点。
优选地,所述加密密钥通过所述本机节点的共享内存获得。
优选地,所述本机节点对加密后的所述会话密钥进行解密,获得解密后的所述会话密钥;采用解密后的所述会话密钥,加密通信数据以与其他本机节点进行数据交互。
根据本发明的另一个方面,还提供了一种安全通信的装置,其中,该装置包括:
连接装置,用于与对端建立SSL/TLS通信连接;
协商装置,用于根据所述SSL/TLS通信连接,与所述对端协商出会话密钥;
分发装置,用于经由加密密钥加密,将所述会话密钥分发至本机节点。
优选地,所述连接装置用于:
根据本机与对端之间基于证书进行SSL/TLS双向认证,从而建立所述SSL/TLS通信连接。
优选地,所述协商装置用于:
基于所述对端发起的第一会话密钥请求,检测会话密钥状态;
若存在有效的会话密钥,则直接获取所述有效的会话密钥,若不存在有效的会话密钥,则在所述SSL/TLS通信连接中抽取所述会话密钥。
优选地,所述分发装置用于:
接收所述本机节点发起的第二会话密钥请求,其中,所述第二会话密钥请求经由所述加密密钥加密;
对所述第二会话密钥请求进行解密,获得解密后的第二会话密钥请求;
根据所述解密后的第二会话密钥请求,经由所述加密密钥对所述会话密钥进行加密,将加密后的所述会话密钥发送至所述本机节点。
优选地,所述加密密钥通过所述本机节点的共享内存获得。
优选地,所述本机节点对加密后的所述会话密钥进行解密,获得解密后的所述会话密钥;采用解密后的所述会话密钥,加密通信数据以与其他本机节点进行数据交互。
根据本发明的又一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如上任一项所述的方法被执行。
根据本发明的再一个方面,还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如上任一项所述的方法被执行。
根据本发明的再一个方面,还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述的方法。
与现有技术相比,本发明中,本机与对端建立SSL/TLS通信连接,根据所述SSL/TLS通信连接,与所述对端协商出会话密钥,经由加密密钥加密,将所述会话密钥分发至本机节点,保证在满足高并发性能的情况下,对通信的数据进行加密和认证,有效地阻断外部的恶意攻击,并完善内部异常数据的容错机制。
本发明提供了针对无人驾驶系统(ROS,Robot Operating System)的安全性增强方案,实现了双机模式和单机模式下,节点间通信数据的防仿冒、防篡改、防重放,保障通信数据的机密性、完整性和可用性。在满足无人驾驶系统性能的前提下,实现了对通信数据的安全性防护,相对于其他通用的安全方案,本发明仅建立一次SSL/TLS链路,在SSL/TLS链路建立过程中完成了对端的身份认证和会话密钥协商。由于双机节点间和单机节点间的通信数据加密所采用的会话密钥来自于SSL/TLS链路,因此可以保障通信数据传输的完整性、机密性和可用性,有效地防护外部的仿冒、篡改、重放等攻击行为。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的用于安全通信的装置的结构示意图;
图2示出根据本发明一个优选实施例的用于安全通信的示意图;
图3示出根据本发明另一个优选实施例的用于安全通信的示意图;
图4示出根据本发明另一个方面的用于安全通信的方法的流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的用于安全通信的装置的结构示意图。装置1包括连接装置101、协商装置102和分发装置103。
该装置1例如位于计算机设备中,该计算机设备例如位于需要满足高并发性能的系统中,特别诸如ROS(Robot Operating System)系统。例如,无人驾驶系统采用的是ROS系统,而ROS系统交互核心是通过建立通用的套接字进行数据传输。针对无人驾驶系统ROS的特点,装置1结合SSL/TLS协议,保证在满足高并发性能的情况下,对通信的数据进行加密和认证,有效地阻断外部的恶意攻击,并完善内部异常数据的容错机制。
其中,该装置1中的连接装置101与对端建立SSL/TLS通信连接。
具体地,装置1例如位于本机中,该装置1中的连接装置101与对端建立SSL/TLS通信连接,以无人驾驶系统ROS为例,假设本机为一个无人驾驶系统ROS,对端也是一个无人驾驶系统,两者之间需进行相互通信,则事先建立SSL/TLS通信连接,例如,本机在开机启动阶段,启动SSL/TLS认证服务监听,由对端发起SSL/TLS通信连接请求,本机的装置1中的连接装置101响应该请求,与该对端建立SSL/TLS通信连接。
在此,SSL(Secure Sockets Layer,安全套接层)协议,及其继任者TLS(TransportLayer Security,传输层安全)协议,是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密,用于保障网络数据传输安全,利用数据加密技术,确保数据在网络传输过程中不会被截取及窃听。
优选地,所述连接装置101根据本机与对端之间基于证书进行SSL/TLS双向认证,从而建立所述SSL/TLS通信连接。
具体地,本机与对端之间基于证书进行SSL/TLS双向认证,例如配置唯一的证书套件,该证书由可信方统一签名,在该本机与对端建立SSL/TLS通信连接的过程中,基于证书进行SSL/TLS双向认证,从而实现对对端身份的认证。
在此,本机与对端之间的身份认证是双向的,也即,对端也可以验证本机的身份;在此,与对端建立SSL/TLS通信连接也是双向的,也即,对端也可以在开机启动阶段,启动SSL/TLS认证服务监听,而接收由本机发起的SSL/TLS通信连接请求,从而对端响应该请求,与本机建立SSL/TLS通信连接。
本领域技术人员应能理解,上述建立SSL/TLS通信连接的方式仅为举例,其他现有或今后可能出现的建立SSL/TLS通信连接的方式,如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
协商装置102根据所述SSL/TLS通信连接,与所述对端协商出会话密钥。
具体地,在本机与对端建立SSL/TLS通信连接之后,或进一步完成了双向身份认证之后,协商装置102根据与对端所建立的SSL/TLS通信连接,获取在该SSL/TLS通信连接建立过程中产生的会话密钥(sessionkey)信息,例如,在该SSL/TLS通信连接的特定字段中抽取出该会话密钥。
优选地,所述协商装置102基于所述对端发起的第一会话密钥请求,检测会话密钥状态;若存在有效的会话密钥,则直接获取所述有效的会话密钥,若不存在有效的会话密钥,则在所述SSL/TLS通信连接中抽取所述会话密钥。
具体地,在本机与对端建立SSL/TLS通信连接之后,或进一步完成了双向身份认证之后,对端向本机发起第一会话密钥请求,协商装置102获取该第一会话密钥请求,并基于该第一会话密钥请求,检测本机存储的会话密钥状态,在此,该会话密钥状态例如以列表的形式存储于本机之中,由本机进行维护;若在该会话密钥状态中存在有效的会话密钥,如存在前次与对端所协商出的会话密钥且该会话密钥未失效,则该协商装置102直接获取该有效的会话密钥,以该有效的会话密钥进行下一步的操作,如返回至对端或分发至各个本机节点;若协商装置102经检测该本机维护的会话密钥状态,发现不存在有效的会话密钥,则该协商装置102在本机与对端所建立的SSL/TLS通信连接中抽取会话密钥,以进行下一步的操作,如返回至对端或分发至各个本机节点。进一步地,协商装置102在抽取出会话密钥之后将其进行存储,例如,根据该抽取出的会话密钥更新前述会话密钥状态;进一步地,该协商装置102将该更新后的会话密钥状态发送至对端,对端接收到该会话密钥状态,来决定是否需要基于SSL/TLS通信连接抽取会话密钥。
在此,在本机与对端建立SSL/TLS通信连接之后,或进一步完成了双向身份认证之后,也可以由本机向对端发起第一会话密钥请求,由该对端返回对应的会话密钥。
在此,在双机通信状态下,当某方单机异常终止并重启后,会向对端发起会话密钥请求,对端检测会话密钥状态,若存在有效的会话密钥,则直接获取该有效的会话密钥,而无需重新在SSL/TLS链路中抽取会话密钥。
本领域技术人员应能理解,上述协商会话密钥的方式仅为举例,其他现有或今后可能出现的协商会话密钥的方式,如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
分发装置103经由加密密钥加密,将所述会话密钥分发至本机节点。
具体地,分发装置103对由协商装置102所获得的会话密钥进行加密,如从该本机节点的共享内存中获得加密密钥,再以该加密密钥对该会话密钥进行加密,并将加密后的会话密钥主动或应请求地分发至该本机中的各个本机节点。例如,分发装置103通过密码分发代理在本机节点间分发会话密钥,保证本机与对端中各个节点的会话密钥同步。
优选地,所述加密密钥通过所述本机节点的共享内存获得。
具体地,分发装置103采用共享内存中随机生成的加密密钥(key),对会话密钥进行加密,并将加密后的会话密钥主动或应请求地分发至该本机中的各个本机节点。在此,对会话密钥进行加密、解密所采用的加密密钥,或对第二会话密钥请求进行加密、解密所采用的加密密钥都可以通过本机节点的共享内存获得。
优选地,所述分发装置103接收所述本机节点发起的第二会话密钥请求,其中,所述第二会话密钥请求经由所述加密密钥加密;对所述第二会话密钥请求进行解密,获得解密后的第二会话密钥请求;根据所述解密后的第二会话密钥请求,经由所述加密密钥对所述会话密钥进行加密,将加密后的所述会话密钥发送至所述本机节点。
具体地,本机节点例如通过共享内存获得加密密钥,再以该加密密钥对第二会话密钥请求进行加密,获得加密后的第二会话密钥请求,并发送至该分发装置103,该分发装置103例如可以是密钥分发代理,其接收到本机节点所发送的经由加密密钥加密后的第二会话密钥请求,同样至该共享内存中获取加密密钥,并以该加密密钥对该加密后的第二会话密钥请求进行解密,从而获得解密后的第二会话密钥请求;随后,该分发装置103再根据该解密后的第二会话密钥请求,将由协商装置102所获得的会话密钥进行加密,如以前述加密密钥对该会话密钥进行加密,并将加密后的会话密钥发送至该请求的本机节点。
以无人驾驶系统ROS为例,本机中的本地环回监听在本机与对端建立SSL/TLS通信连接之后启动,或在本机与对端进一步完成了双向身份认证之后启动,当启动ROS节点时,ROS节点读取共享内存,从而获取随机生成的加密密钥,ROS节点即采用加密密钥加密第二会话密钥请求,向ROS中的密钥分发代理,如前所述的分发装置103,发送该加密后的第二会话密钥请求,分发装置103接收到请求后读取共享内存,采用加密密钥解密该第二会话密钥请求,并将会话密钥以该加密密钥加密,再返回至该请求的ROS节点。
本领域技术人员应能理解,上述分发会话密钥的方式仅为举例,其他现有或今后可能出现的分发会话密钥的方式,如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
在此,本机与对端建立SSL/TLS通信连接,根据所述SSL/TLS通信连接,与所述对端协商出会话密钥,经由加密密钥加密,将所述会话密钥分发至本机节点,保证在满足高并发性能的情况下,对通信的数据进行加密和认证,有效地阻断外部的恶意攻击,并完善内部异常数据的容错机制。
优选地,所述本机节点对加密后的所述会话密钥进行解密,获得解密后的所述会话密钥;采用解密后的所述会话密钥,加密通信数据以与其他本机节点进行数据交互。
具体地,本机节点获取分发装置103所发送的加密后的会话密钥,用前述加密密钥对加密后的会话密钥进行解密,或仍由共享内存中获得加密密钥并以该加密密钥对加密后的会话密钥进行解密,从而获得解密后的会话密钥;接着,该本机节点采用解密后的会话密钥,加密通信数据,从而以该加密后的通信数据与其他本机节点进行数据交互。
在此,本机节点间、本机与对端间的数据传输都通过摘要算法和加密算法进行保护,防止数据传输中被篡改和伪造,保障数据的完整性、机密性和可用性。
图2示出根据本发明一个优选实施例的用于安全通信的示意图。
以该安全通信的方式应用于无人驾驶系统ROS中为例,假设该主机一表示本机,主机二表示对端,该主机一与主机二都采用了该无人驾驶系统ROS。主机一与主机二之间建立SSL/TLS通信连接,或进一步完成基于车载证书的SSL/TLS双向认证,例如,ROS系统配置唯一的证书套件,证书由可信方统一签名,双方通信建立过程中实现对对端身份的认证;根据所述SSL/TLS通信连接,主机一与主机二协商出了会话密钥;则主机一与主机二分别在本机中,主动地或应各个本机节点的请求,将会话密钥分发至各个本机节点,例如,主机一中的密钥分发代理,从共享内存中获取加密密钥,以该加密密钥加密会话密钥,并将加密后的会话密钥分发至各个本机节点,各个本机节点在获得加密后的会话密钥之后,同样利用共享内存的加密密钥进行解密,获得解密后的会话密钥,再以该会话密钥对通信数据进行加密,从而在各个本机节点之间进行相互通信。同样地,主机二中的密钥分发代理及各个本机节点也进行相同的操作。
图3示出根据本发明另一个优选实施例的用于安全通信的示意图。
以该安全通信的方式应用于无人驾驶系统ROS中为例,主要分为两阶段:双机同步密钥阶段和单机分发密钥阶段。在双机同步密钥阶段中,双机基于SSL/TLS实现对端身份的认证,且协商出会话密钥用于单机分发密钥阶段;在单机分发密钥阶段中,在ROS节点启动时会向本地的环回监听端口发起会话密钥请求,该本地的环回监听端口仅内部监听,从而该ROS节点获取同步后的会话密钥,该会话密钥用于节点间通信数据的加密。
具体地,在双机同步密钥阶段中,无人驾驶系统ROS在开机启动阶段,会启动SSL/TLS认证服务监听,由对端发起SSL通信连接和会话密钥请求,本机完成证书认证并查询是否已存在会话密钥,若存在,则直接返回会话密钥,若不存在,则基于已建立的SSL/TLS链路抽取会话密钥并存储,同时返回给对端会话密钥状态。对端接收到会话密钥状态,来确定是否需要基于SSL/TLS链路抽取会话密钥。
在单机分发密钥阶段中,本地环回监听在SSL/TLS认证服务后启动,当启动ROS节点时,ROS节点读取共享内存,从而获取随机生成的加密密钥。ROS节点采用加密密钥加密内部请求后,向密钥分发代理发送请求,密钥分发代理接受到请求后读取共享内存,采用加密密钥解密该请求,并同样采用加密密钥加密会话密钥后返回给该请求的ROS节点。后续,ROS节点采用加密密钥解密会话密钥后,使用该会话密钥加密通信数据与其他ROS节点进行数据交互。
在此,提供了针对无人驾驶系统ROS的安全性增强方案,涵盖对端身份认证机制、密钥分发管理机制、数据机密性和完整性保护和异常场景响应机制。针对无人驾驶系统ROS的特点,结合SSL/TLS协议,保证在满足高并发性能的情况下,对通信的数据进行加密和认证,有效地阻断外部的恶意攻击,并完善内部异常数据的容错机制。
在此,实现了双机模式和单机模式下,节点间通信数据的防仿冒、防篡改、防重放,保障通信数据的机密性、完整性和可用性。在满足无人驾驶系统性能的前提下,实现了对通信数据的安全性防护,相对于其他通用的安全方案,该安全通信的方案仅建立一次SSL/TLS链路,在SSL/TLS链路建立过程中完成了对端的身份认证和会话密钥协商。由于双机节点间和单机节点间的通信数据加密所采用的会话密钥来自于SSL/TLS链路,因此可以保障通信数据传输的完整性、机密性和可用性,有效地防护外部的仿冒、篡改、重放等攻击行为。
图4示出根据本发明另一个方面的用于安全通信的方法的流程示意图。
在步骤S401中,装置1与对端建立SSL/TLS通信连接。
具体地,装置1例如位于本机中,在步骤S401中,装置1与对端建立SSL/TLS通信连接,以无人驾驶系统ROS为例,假设本机为一个无人驾驶系统ROS,对端也是一个无人驾驶系统,两者之间需进行相互通信,则事先建立SSL/TLS通信连接,例如,本机在开机启动阶段,启动SSL/TLS认证服务监听,由对端发起SSL/TLS通信连接请求,本机的装置1响应该请求,与该对端建立SSL/TLS通信连接。
在此,SSL(Secure Sockets Layer,安全套接层)协议,及其继任者TLS(TransportLayer Security,传输层安全)协议,是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密,用于保障网络数据传输安全,利用数据加密技术,确保数据在网络传输过程中不会被截取及窃听。
优选地,在步骤S401中,装置1根据本机与对端之间基于证书进行SSL/TLS双向认证,从而建立所述SSL/TLS通信连接。
具体地,本机与对端之间基于证书进行SSL/TLS双向认证,例如配置唯一的证书套件,该证书由可信方统一签名,在该本机与对端建立SSL/TLS通信连接的过程中,基于证书进行SSL/TLS双向认证,从而实现对对端身份的认证。
在此,本机与对端之间的身份认证是双向的,也即,对端也可以验证本机的身份;在此,与对端建立SSL/TLS通信连接也是双向的,也即,对端也可以在开机启动阶段,启动SSL/TLS认证服务监听,而接收由本机发起的SSL/TLS通信连接请求,从而对端响应该请求,与本机建立SSL/TLS通信连接。
本领域技术人员应能理解,上述建立SSL/TLS通信连接的方式仅为举例,其他现有或今后可能出现的建立SSL/TLS通信连接的方式,如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
在步骤S402中,装置1根据所述SSL/TLS通信连接,与所述对端协商出会话密钥。
具体地,在本机与对端建立SSL/TLS通信连接之后,或进一步完成了双向身份认证之后,在步骤S402中,装置1根据与对端所建立的SSL/TLS通信连接,获取在该SSL/TLS通信连接建立过程中产生的会话密钥(sessionkey)信息,例如,在该SSL/TLS通信连接的特定字段中抽取出该会话密钥。
优选地,在步骤S402中,装置1基于所述对端发起的第一会话密钥请求,检测会话密钥状态;若存在有效的会话密钥,则直接获取所述有效的会话密钥,若不存在有效的会话密钥,则在所述SSL/TLS通信连接中抽取所述会话密钥。
具体地,在本机与对端建立SSL/TLS通信连接之后,或进一步完成了双向身份认证之后,对端向本机发起第一会话密钥请求,在步骤S402中,装置1获取该第一会话密钥请求,并基于该第一会话密钥请求,检测本机存储的会话密钥状态,在此,该会话密钥状态例如以列表的形式存储于本机之中,由本机进行维护;若在该会话密钥状态中存在有效的会话密钥,如存在前次与对端所协商出的会话密钥且该会话密钥未失效,则在步骤S402中,装置1直接获取该有效的会话密钥,以该有效的会话密钥进行下一步的操作,如返回至对端或分发至各个本机节点;若在步骤S402中,装置1经检测该本机维护的会话密钥状态,发现不存在有效的会话密钥,则在步骤S402中,装置1在本机与对端所建立的SSL/TLS通信连接中抽取会话密钥,以进行下一步的操作,如返回至对端或分发至各个本机节点。进一步地,在步骤S402中,装置1在抽取出会话密钥之后将其进行存储,例如,根据该抽取出的会话密钥更新前述会话密钥状态;进一步地,在步骤S402中,装置1将该更新后的会话密钥状态发送至对端,对端接收到该会话密钥状态,来决定是否需要基于SSL/TLS通信连接抽取会话密钥。
在此,在本机与对端建立SSL/TLS通信连接之后,或进一步完成了双向身份认证之后,也可以由本机向对端发起第一会话密钥请求,由该对端返回对应的会话密钥。
在此,在双机通信状态下,当某方单机异常终止并重启后,会向对端发起会话密钥请求,对端检测会话密钥状态,若存在有效的会话密钥,则直接获取该有效的会话密钥,而无需重新在SSL/TLS链路中抽取会话密钥。
本领域技术人员应能理解,上述协商会话密钥的方式仅为举例,其他现有或今后可能出现的协商会话密钥的方式,如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
在步骤S403中,装置1经由加密密钥加密,将所述会话密钥分发至本机节点。
具体地,在步骤S403中,装置1对由在步骤S402中所获得的会话密钥进行加密,如从该本机节点的共享内存中获得加密密钥,再以该加密密钥对该会话密钥进行加密,并将加密后的会话密钥主动或应请求地分发至该本机中的各个本机节点。例如,在步骤S403中,装置1通过密码分发代理在本机节点间分发会话密钥,保证本机与对端中各个节点的会话密钥同步。
优选地,所述加密密钥通过所述本机节点的共享内存获得。
具体地,在步骤S403中,装置1采用共享内存中随机生成的加密密钥(key),对会话密钥进行加密,并将加密后的会话密钥主动或应请求地分发至该本机中的各个本机节点。在此,对会话密钥进行加密、解密所采用的加密密钥,或对第二会话密钥请求进行加密、解密所采用的加密密钥都可以通过本机节点的共享内存获得。
优选地,在步骤S403中,装置1接收所述本机节点发起的第二会话密钥请求,其中,所述第二会话密钥请求经由所述加密密钥加密;对所述第二会话密钥请求进行解密,获得解密后的第二会话密钥请求;根据所述解密后的第二会话密钥请求,经由所述加密密钥对所述会话密钥进行加密,将加密后的所述会话密钥发送至所述本机节点。
具体地,本机节点例如通过共享内存获得加密密钥,再以该加密密钥对第二会话密钥请求进行加密,获得加密后的第二会话密钥请求,并发送至该装置1,该装置1中的例如密钥分发代理,接收到本机节点所发送的经由加密密钥加密后的第二会话密钥请求,同样至该共享内存中获取加密密钥,并以该加密密钥对该加密后的第二会话密钥请求进行解密,从而获得解密后的第二会话密钥请求;随后,在步骤S403中,装置1再根据该解密后的第二会话密钥请求,将由在步骤S402中所获得的会话密钥进行加密,如以前述加密密钥对该会话密钥进行加密,并将加密后的会话密钥发送至该请求的本机节点。
以无人驾驶系统ROS为例,本机中的本地环回监听在本机与对端建立SSL/TLS通信连接之后启动,或在本机与对端进一步完成了双向身份认证之后启动,当启动ROS节点时,ROS节点读取共享内存,从而获取随机生成的加密密钥,ROS节点即采用加密密钥加密第二会话密钥请求,向ROS中的密钥分发代理,发送该加密后的第二会话密钥请求,在步骤S403中,装置1接收到请求后读取共享内存,采用加密密钥解密该第二会话密钥请求,并将会话密钥以该加密密钥加密,再返回至该请求的ROS节点。
本领域技术人员应能理解,上述分发会话密钥的方式仅为举例,其他现有或今后可能出现的分发会话密钥的方式,如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
在此,本机与对端建立SSL/TLS通信连接,根据所述SSL/TLS通信连接,与所述对端协商出会话密钥,经由加密密钥加密,将所述会话密钥分发至本机节点,保证在满足高并发性能的情况下,对通信的数据进行加密和认证,有效地阻断外部的恶意攻击,并完善内部异常数据的容错机制。
优选地,所述本机节点对加密后的所述会话密钥进行解密,获得解密后的所述会话密钥;采用解密后的所述会话密钥,加密通信数据以与其他本机节点进行数据交互。
具体地,本机节点获取在步骤S403中所发送的加密后的会话密钥,用前述加密密钥对加密后的会话密钥进行解密,或仍由共享内存中获得加密密钥并以该加密密钥对加密后的会话密钥进行解密,从而获得解密后的会话密钥;接着,该本机节点采用解密后的会话密钥,加密通信数据,从而以该加密后的通信数据与其他本机节点进行数据交互。
在此,本机节点间、本机与对端间的数据传输都通过摘要算法和加密算法进行保护,防止数据传输中被篡改和伪造,保障数据的完整性、机密性和可用性。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本发明还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本发明还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (15)

1.一种安全通信的方法,其中,该方法包括:
a与对端建立SSL/TLS通信连接;
b根据所述SSL/TLS通信连接,与所述对端协商出会话密钥;
c经由加密密钥加密,将所述会话密钥分发至本机节点。
2.根据权利要求1所述的方法,其中,所述步骤a包括:
根据本机与对端之间基于证书进行SSL/TLS双向认证,从而建立所述SSL/TLS通信连接。
3.根据权利要求1或2所述的方法,其中,所述步骤b包括:
基于所述对端发起的第一会话密钥请求,检测会话密钥状态;
若存在有效的会话密钥,则直接获取所述有效的会话密钥,若不存在有效的会话密钥,则在所述SSL/TLS通信连接中抽取所述会话密钥。
4.根据权利要求1或2所述的方法,其中,所述步骤c包括:
接收所述本机节点发起的第二会话密钥请求,其中,所述第二会话密钥请求经由所述加密密钥加密;
对所述第二会话密钥请求进行解密,获得解密后的第二会话密钥请求;
根据所述解密后的第二会话密钥请求,经由所述加密密钥对所述会话密钥进行加密,将加密后的所述会话密钥发送至所述本机节点。
5.根据权利要求1或2所述的方法,其中,所述加密密钥通过所述本机节点的共享内存获得。
6.根据权利要求1或2所述的方法,其中,所述本机节点对加密后的所述会话密钥进行解密,获得解密后的所述会话密钥;采用解密后的所述会话密钥,加密通信数据以与其他本机节点进行数据交互。
7.一种安全通信的装置,其中,该装置包括:
连接装置,用于与对端建立SSL/TLS通信连接;
协商装置,用于根据所述SSL/TLS通信连接,与所述对端协商出会话密钥;
分发装置,用于经由加密密钥加密,将所述会话密钥分发至本机节点。
8.根据权利要求7所述的装置,其中,所述连接装置用于:
根据本机与对端之间基于证书进行SSL/TLS双向认证,从而建立所述SSL/TLS通信连接。
9.根据权利要求7或8所述的装置,其中,所述协商装置用于:
基于所述对端发起的第一会话密钥请求,检测会话密钥状态;
若存在有效的会话密钥,则直接获取所述有效的会话密钥,若不存在有效的会话密钥,则在所述SSL/TLS通信连接中抽取所述会话密钥。
10.根据权利要求7或8所述的装置,其中,所述分发装置用于:
接收所述本机节点发起的第二会话密钥请求,其中,所述第二会话密钥请求经由所述加密密钥加密;
对所述第二会话密钥请求进行解密,获得解密后的第二会话密钥请求;
根据所述解密后的第二会话密钥请求,经由所述加密密钥对所述会话密钥进行加密,将加密后的所述会话密钥发送至所述本机节点。
11.根据权利要求7或8所述的装置,其中,所述加密密钥通过所述本机节点的共享内存获得。
12.根据权利要求7或8所述的装置,其中,所述本机节点对加密后的所述会话密钥进行解密,获得解密后的所述会话密钥;采用解密后的所述会话密钥,加密通信数据以与其他本机节点进行数据交互。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如权利要求1至6中任一项所述的方法被执行。
14.一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如权利要求1至6中任一项所述的方法被执行。
15.一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
CN201710060367.6A 2017-01-24 2017-01-24 一种安全通信的方法和装置 Pending CN108347330A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710060367.6A CN108347330A (zh) 2017-01-24 2017-01-24 一种安全通信的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710060367.6A CN108347330A (zh) 2017-01-24 2017-01-24 一种安全通信的方法和装置

Publications (1)

Publication Number Publication Date
CN108347330A true CN108347330A (zh) 2018-07-31

Family

ID=62962903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710060367.6A Pending CN108347330A (zh) 2017-01-24 2017-01-24 一种安全通信的方法和装置

Country Status (1)

Country Link
CN (1) CN108347330A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108927808A (zh) * 2018-08-15 2018-12-04 京东方科技集团股份有限公司 一种ros节点的通信方法、认证方法及装置
CN109842489A (zh) * 2018-12-24 2019-06-04 福建联迪商用设备有限公司 一种实现安全通信的方法、终端及系统
CN111600829A (zh) * 2019-02-21 2020-08-28 杭州萤石软件有限公司 用于物联网设备间的安全通信方法和系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442742A (zh) * 2008-12-12 2009-05-27 华为技术有限公司 一种实现移动集群组呼端到端加密的方法、系统及设备
CN101860546A (zh) * 2010-06-18 2010-10-13 杭州电子科技大学 一种改进ssl握手协议的方法
CN101977198A (zh) * 2010-10-29 2011-02-16 西安电子科技大学 域间认证及密钥协商方法
CN102045210A (zh) * 2009-10-10 2011-05-04 中兴通讯股份有限公司 一种支持合法监听的端到端会话密钥协商方法和系统
CN102143178A (zh) * 2011-03-30 2011-08-03 天津大学 一种网络教学管理系统
CN102710605A (zh) * 2012-05-08 2012-10-03 重庆大学 一种云制造环境下的信息安全管控方法
CN103391197A (zh) * 2013-07-19 2013-11-13 武汉大学 一种基于手机令牌和NFC技术的Web身份认证方法
CN103856485A (zh) * 2014-02-14 2014-06-11 武汉天喻信息产业股份有限公司 可信用户界面安全指示器的初始化系统及方法
CN104618110A (zh) * 2015-01-15 2015-05-13 中国科学院信息工程研究所 一种VoIP安全会议会话密钥传输方法
CN104702611A (zh) * 2015-03-15 2015-06-10 西安电子科技大学 一种保护安全套接层会话密钥的设备及方法
CN105516980A (zh) * 2015-12-17 2016-04-20 河南大学 一种基于Restful架构的无线传感器网络令牌认证方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442742A (zh) * 2008-12-12 2009-05-27 华为技术有限公司 一种实现移动集群组呼端到端加密的方法、系统及设备
CN102045210A (zh) * 2009-10-10 2011-05-04 中兴通讯股份有限公司 一种支持合法监听的端到端会话密钥协商方法和系统
CN101860546A (zh) * 2010-06-18 2010-10-13 杭州电子科技大学 一种改进ssl握手协议的方法
CN101977198A (zh) * 2010-10-29 2011-02-16 西安电子科技大学 域间认证及密钥协商方法
CN102143178A (zh) * 2011-03-30 2011-08-03 天津大学 一种网络教学管理系统
CN102710605A (zh) * 2012-05-08 2012-10-03 重庆大学 一种云制造环境下的信息安全管控方法
CN103391197A (zh) * 2013-07-19 2013-11-13 武汉大学 一种基于手机令牌和NFC技术的Web身份认证方法
CN103856485A (zh) * 2014-02-14 2014-06-11 武汉天喻信息产业股份有限公司 可信用户界面安全指示器的初始化系统及方法
CN104618110A (zh) * 2015-01-15 2015-05-13 中国科学院信息工程研究所 一种VoIP安全会议会话密钥传输方法
CN104702611A (zh) * 2015-03-15 2015-06-10 西安电子科技大学 一种保护安全套接层会话密钥的设备及方法
CN105516980A (zh) * 2015-12-17 2016-04-20 河南大学 一种基于Restful架构的无线传感器网络令牌认证方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108927808A (zh) * 2018-08-15 2018-12-04 京东方科技集团股份有限公司 一种ros节点的通信方法、认证方法及装置
CN108927808B (zh) * 2018-08-15 2022-04-05 京东方科技集团股份有限公司 一种ros节点的通信方法、认证方法及装置
CN109842489A (zh) * 2018-12-24 2019-06-04 福建联迪商用设备有限公司 一种实现安全通信的方法、终端及系统
CN111600829A (zh) * 2019-02-21 2020-08-28 杭州萤石软件有限公司 用于物联网设备间的安全通信方法和系统

Similar Documents

Publication Publication Date Title
EP4318286A1 (en) Secure multi-party computation
CN110071940A (zh) 软件包加解密方法、服务器、用户设备及存储介质
CN104662551A (zh) 在网络环境中对加密的数据的检查
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN101605137A (zh) 安全分布式文件系统
CN104735087A (zh) 一种基于公钥算法和SSL协议的多集群Hadoop系统安全优化方法
US10990692B2 (en) Managing data handling policies
US10291600B2 (en) Synchronizing secure session keys
CN109995530B (zh) 一种适用于移动定位系统的安全分布式数据库交互系统
CN110519052B (zh) 基于物联网操作系统的数据交互方法和装置
CN103067161A (zh) 一种密钥分发方法及系统
US20110010544A1 (en) Process distribution system, authentication server, distribution server, and process distribution method
CN108347330A (zh) 一种安全通信的方法和装置
US20130166677A1 (en) Role-based access control method and apparatus in distribution system
CN114051031B (zh) 基于分布式身份的加密通讯方法、系统、设备及存储介质
CN111008400A (zh) 数据处理方法、装置及系统
CN104735020A (zh) 一种获取敏感数据的方法、设备及系统
CN111510462B (zh) 通信方法、系统、装置、电子设备和可读存储介质
CN100499649C (zh) 一种实现安全联盟备份和切换的方法
Dey et al. Security and privacy issues in mobile cloud computing
US9635056B2 (en) Cable management and security system
JP6939313B2 (ja) 分散認証システム
Brooks et al. Conceptualizing a secure wireless cloud
US20230319105A1 (en) Computer network hacking prevention system and method
CN115174391A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180731

RJ01 Rejection of invention patent application after publication