CN116868559A - 用于在分布式系统中执行身份检查的方法和系统 - Google Patents
用于在分布式系统中执行身份检查的方法和系统 Download PDFInfo
- Publication number
- CN116868559A CN116868559A CN202280011149.2A CN202280011149A CN116868559A CN 116868559 A CN116868559 A CN 116868559A CN 202280011149 A CN202280011149 A CN 202280011149A CN 116868559 A CN116868559 A CN 116868559A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- computing node
- remote agent
- module
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000010200 validation analysis Methods 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
- H04L9/0825—Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
一种在第一节点上的远程代理处的方法,该方法包括:在远程代理处从第一节点上的第一模块接收第一消息,第一消息被定向到第二节点上的第二模块;在远程代理处利用操作系统验证来验证第一消息;基于远程代理处的清单来确定第二节点;使用针对第一节点的私钥对第一消息进行签名;以及将第一消息发送到第二节点。
Description
技术领域
本公开涉及分布式系统,并且尤其涉及分布式系统中的通信安全。
背景技术
现代车辆有许多传感器。然而,这样的传感器可以分布在车辆上的各种计算节点内,其中每个计算节点可以访问零个、一个或多个传感器驱动。这样的传感器节点还可以具有不同的制造方,并且使用不同的操作系统进行操作。类似地,其他分布式系统可以具有多个节点,其中节点需要彼此通信。
确定相互作用的软件实体的身份是软件系统安全的重要基础。例如,对某些数据或动作的请求可能被准许,也可能不被准许,这取决于对该请求作出的软件模块的身份。在现代大型软件系统中,模块之间通过发出上述请求进行交互。因此,以安全但高效的方式确定请求者的身份至关重要。
附图说明
参考附图将更好地理解本公开,其中:
图1是示出计算机系统内的示例计算节点的框图。
图2是示出两个计算机节点的框图,其中每个计算机节点使用远程代理来将其他节点上的块呈现为其相应节点内的模块的本地块。
图3是示出在一个模块和第二模块之间发送的消息的数据流示图。
图4是示出两个计算机节点的框图,这两个计算机节点使用节点内每个模块上的远程代理来将其他节点上的块呈现为本地此类模块。
图5是能够与本公开的实施例一起使用的简化计算设备的框图。
具体实施方式
本公开提供了一种在第一节点上的远程代理处的方法,该方法包括:在远程代理处从第一节点上的第一模块接收第一消息,第一消息被定向到第二节点上的第二模块;利用操作系统验证在远程代理处验证第一消息;基于远程代理处的清单来确定第二节点;使用针对第一节点的私钥对第一消息进行签名;以及将第一消息发送到第二节点。
本公开还提供了一种计算机系统内的第一计算节点,第一计算节点包括:处理器;以及通信子系统,其中第一计算节点被配置为:在第一计算节点上的远程代理处接收来自第一计算节点上的第一模块的第一消息,第一消息被定向到第二计算节点上的第二模块;利用操作系统验证在远程代理处验证第一消息;基于远程代理处的清单确定第二计算节点;使用针对第一计算节点的私钥对第一消息进行签名;以及将第一消息发送到第二计算节点。
本公开还提供了一种用于存储指令代码的计算机可读介质,指令代码在由计算机系统内的第一计算节点的处理器执行时,使第一计算节点以:在第一计算节点上的远程代理处接收来自第一计算节点上的第一模块的第一消息,第一消息被定向到第二计算节点上的第二模块;利用操作系统验证在远程代理处验证第一消息;基于远程代理处的清单来确定第二计算节点;使用针对第一计算节点的私钥对第一消息进行签名;以及将第一消息发送到第二计算节点。
在软件系统中,以安全但有效的方式确定请求者的身份是重要的。现代操作系统(OS)具有标识软件组件以实施安全策略的机制。例如,大多数桌面操作系统都有一种方法来标识运行程序的用户,使得一个用户不能篡改另一个用户的数据或程序。在大多数UNIX系统中,用户标识符(UID)用于标识拥有文件或进程的用户。大多数操作系统都采取措施保护UID不被篡改。
这样的身份机制在操作系统中的实现是高效的,并且已经经受住了数十年的攻击。因此,对于构建在这种操作系统之上的软件系统来说,使用操作系统支持的标识符来标识组件是有意义的。例如,在安卓TM操作系统中,平台使用每个已安装组件的UID来标识该组件。
然而,在一些分布式系统中,可能存在运行不同操作系统的多个节点。软件模块可以跨OS部署,但可能仍需要相互交互并提出请求。在这方面,根据本公开,提供了方法和系统以允许在运行不同操作系统的不同计算节点上的模块之间进行安全但高效的通信。
示例分布式系统
将关于具有分布式节点的汽车系统来描述本公开。然而,这仅仅是为了说明的目的而提供的,并且本文描述的方法和系统同样可以与任何其他分布式系统一起使用。
例如,现在参考图1,其示出节点110。本文使用的节点可以是一个或一组电子控制单元、中央处理单元或内核控制等选项,并且可以被认为是单个计算单元。
在图1的示例中,节点110包括服务管理器120,其可以与该节点连接到的传感器的驱动交互。例如,节点110可以访问位置传感器,例如全球定位系统(GPS)芯片组,如框122所示。
为了允许节点110与其他节点上的模块交互并提供与计算系统的功能,可以在节点110上提供硬件抽象层(HAL),其包括HAL服务130。每个HAL服务130负责集成传感器,并且可以提供各种功能,包括:集成到底层传感器;归一化传感器数据;和/或如果需要,在安全认证软件和非认证软件之间提供屏障。HAL服务的其他功能也是可能的。
在图1的示例中,HAL被提供用于相机信息,如框132所示。
虽然图1的示例示出了具有单个服务和单个HAL的节点110,但这仅仅是为了说明目的而提供的。节点110可以具有没有HAL的单个服务、没有服务的单个HAL、没有HAL的多个服务、没有服务的多个HAL、和/或服务和HAL的组合。
可以使用节点110的系统的一个示例是车辆的应用开发环境。这样的应用开发环境可以开发用于用户体验的应用,包括舒适、导航、娱乐信息等,用于安全的应用、用于车队管理的应用、用于性能监测的应用或用于车辆环境的其他此类应用。具体地,车辆提供多个传感器,并且不同的制造方、型号或品牌可能使用具有不同数据格式或值的不同传感器,从而根据这些传感器创建碎片化的传感器读数。这种碎片化阻碍了利用车辆数据的应用生态系统的培育。此外,低水平的传感器数据往往过于细粒度,很难用于应用。
在这方面,硬件抽象层可用于提供可封装与底层传感器驱动的交互的独立于硬件的传感器接口/抽象。在各种计算节点中使用硬件抽象创建了一种平台,该平台可扩展的,可以在模块之间提供屏障,以例如强制实施与其他系统分开的安全认证系统等选项。
应用不直接与传感器硬件交互来访问传感器数据,而是利用硬件抽象层。这种分离提供了HAL(传感器集成和归一化传感器数据)和其他抽象(如车辆抽象层(VAL))的职责之间的明确区分,象用于管理对车辆数据的访问并提供增值洞察。
具体地,洞察可以利用来自多个HAL的传感器数据,以便提供车辆抽象和增值洞察。VAL中的车辆洞察服务可以控制对归一化形式的车辆数据的访问,并提供增值推断。洞察服务的示例可以包括位置服务,其可以以一致的格式提供坐标位置数据以及诸如地理围栏之类的洞察;座椅服务,其可以提供大量座椅信息,诸如安全带状态、重量、位置和儿童锁状态;相机服务,其可以为车内的相机以及可能的功能(诸如转换和/或剪裁)提供视频流;电池服务,其可以提供对电池的洞察和访问,诸如充电状态/消耗/预计剩余小时数/预计范围;门服务,其可以提供车门和门状态的抽象;等等。
洞察服务可以利用来自多个HAL的传感器数据来提供车辆抽象和增值洞察。更高层次的数据洞察使应用开发人员能够创造未来的汽车体验。洞察是用来描述对基本传感器数据的任何增值解释的术语。洞察可以像数据聚合或关联一样简单,也可以像人工智能和机器学习一样复杂。例如,对于温度传感器,提供用于通知的高和低的水印可能被认为是一种“洞察”。对于位置服务来说-地理围栏是一种洞察,对于相机来说-乘客识别可能被认为是一种洞察。
因此,这种应用开发环境需要具有图1中描述的服务和HAL管理器的节点。然而,在可能的系统中,节点110将需要与诸如其他ECU、CPU或计算系统的其他节点通信,其中这些ECU、CPU或计算系统可能使用与节点110的操作系统不同的操作系统。然而,对于安全性而言,重要的是节点110上的进程、应用和模块识别请求者,以避免篡改数据和进程,并确保仅以授权的方式完成对进程和数据的访问。
远程代理模型
根据本公开的实施例,利用包括UID和组标识符(GID)的现有OS机制来提供节点内的安全性。这种机制是众所周知的,并且容易使用。本公开利用远程代理来覆盖这样的机制,以弥合不同节点的操作系统安装的安全缺口。
现在参考图2。在图2的实施例中,节点210提供具有服务管理器220和传感器(即,位置传感器)的服务,如框222所示。
此外,节点210包括具有HAL管理器230的HAL和相机的传感器信息,如框232所示。
对于进入节点210的服务请求,存在单个网络入口点,即远程代理240。远程代理240是计算系统其余部分的节点210的代表,并向节点210内的模块提供剩余计算系统的表示。远程代理240被部署在其上并且唯一标识该节点的凭证所信任。
类似地,节点245包括具有服务管理器250的服务。在图2的示例中,服务包括相机传感器,如框252所示。
此外,在图2的示例中,节点245包括具有HAL管理器260的HAL。在这种情况下,HAL表示GPS,如框262所示。
节点245还包括远程代理270,其代表整个计算系统的其余部分中的节点245,反之亦然。
远程代理240是能够代表将被远程接受的节点签署分组的唯一模块。在这方面,计算系统上的信任节点被提供有它们期望与之通信的对等体的公钥或凭证。
在另一方面,还提供信任节点以在本地托管特定的一组服务。在远程节点清单中捕获节点的这些属性,并由远程代理240和270使用它们来知道将服务请求定向到哪里。例如,可以向远程代理240提供下面表1中的清单,反映节点210可以与节点245通信,并且节点245提供可以从远程节点访问的某些类型的服务和HAL。
表1:计算系统中另一节点的远程清单
如上面的表1所示,节点210,并且具体是远程代理240,被允许与节点245通信,并且可以预期从节点245接收作为服务的相机视图,以及从节点245接收GPS HAL。向节点210提供节点245的公钥以验证消息的来源。在表1的示例中,表1中的公钥可以表示可以在特定实施例中使用的规范,例如因特网工程任务组(IETF)请求注解(RFC)7517。
类似地,如果期望远程代理270与节点210通信,则可以为远程代理270提供或存储用于节点210的清单。例如,关于下面的表2示出了这样的清单。
表2:计算系统中另一节点的远程清单
在这种情况下,节点245,并且具体是远程代理270,被允许与节点210通信,并且可以期望从节点210接收作为服务的位置,以及从节点210接收相机HAL。向节点245提供节点210的公钥,以验证消息的来源。
来自第一节点中的服务或HAL的对另一节点上的服务或HAL的请求经由信任远程代理被路由。现在参考图3。
在图3的实施例中,节点310包括至少一个HAL或服务312以及远程代理314。
类似地,节点320包括远程代理322和至少一个HAL或服务324。
来自节点310中的服务、对在另一节点上的HAL的请求经由远程代理被路由。本地服务可用的代理的接口是表示可在整个系统中使用的服务的服务代理。
具体地,如图2所示,除了服务和HAL管理器之外,节点上还存在远程代理。因此,本地注册不会离开节点。分配给远程代理的组ID和权限是远程代理连接到的服务的联合。
具体地,HAL或服务312具有对HAL或服务324的请求。HAL或服务312将远程代理314视为该请求的目的地,并因此向远程代理314发送具有其用户标识符的请求,如消息330所示。
远程代理314利用远程代理314内的清单来查找消息330中请求的HAL或服务。在这种情况下,清单查找发现具有所需信息的服务或HAL在节点320上。远程代理314然后可以向远程代理322发出请求,如消息332所示。在某些情况下,消息332用清单中发现的远程代理322的公钥加密。在其他情况下,请求可以被签名,并且远程代理322可以使用在节点310的清单中找到的节点310的公钥来验证签名。
在远程代理322接收到消息332并解密和/或验证该消息后,它就可以基于节点310的清单来检查该消息是否打算由节点320接收。如果节点320可以在消息332中有效地接收请求,则远程代理322然后可以利用操作系统验证方法,诸如远程代理322的GID或UID,将请求发送到HAL或服务324。
HAL或服务324识别本地请求,并因此在消息340中提供响应。消息340被发送,就好像它是具有HAL或服务324的UID的操作系统上的本地消息。
远程代理322接收并识别消息340中的响应。此后,它可以使用在节点310的清单中找到的公钥来加密该响应。备选地或附加地,节点320,并且具体是远程代理322,可以利用其私钥来签署消息。然后可以将该响应作为消息342发送回远程代理314。
远程代理314接收消息342,并且可以解密和/或验证该消息。此后,远程代理314可以向HAL或服务312发送响应,如消息344所示。
消息344被视为本地消息,并且可以包含远程代理314的GID或UID。因此,使用标准操作系统程序在HAL或服务312处对其进行验证。
基于以上,当对远程服务进行查找时,管理器因此将请求发送到远程代理。部署修复清单并将其分发给其他节点。所有服务和HAL的抽象使得所有事务在应用程序接口(API)方面表现为都是本地的。
此外,根据图3的实施例,远程代理具有其自己的UID。此UID被分配给授予远程代理所代表的远程服务的权限。当对从远程代理接收的请求执行权限检查时,权限管理器将检查相关的权限授予。远程代理本身实现了远程服务以及它们可以基于清单发出的请求的表。
参考图2的实施例,如果节点210的远程代理从节点245接收到声称来自相机HAL的消息,则该消息将被拒绝,因为节点245的清单没有列出相机HAL,例如如表1所示。
类似地,在消息或请求被转发到远程模块之前,远程代理检查来自节点内的本地模块的请求是否源自在节点配置中列出的声称的UID。
以此方式,从任何HAL或服务的观点来看,所有消息都可以被视为本地消息,因此可以以安全且高效的方式完成请求方的身份验证。
在备选实施例中,每个服务或HAL可以包含或包括远程代理,而不是系统内节点的单个远程代理。在其他情况下,服务或HAL的子集或组可以利用单个代理,而其他子集或组使用不同的代理。
现在参考图4。在图4的示例中,节点410包括具有服务管理器420的服务。在这种情况下,服务是位置服务,如框422所示。
此外,节点410包括具有HAL管理器430的HAL。在图4的示例中,HAL用于相机,如框432所示。
服务包括远程代理440,而HAL包括远程代理442。
类似地,节点445包括具有服务管理器450的服务,并且在图4的情况下,服务针对相机提供,如框452所示。
节点445还包括具有HAL管理器460的HAL。在图4的示例中,HAL用于位置或GPS传感器,如框462所示。
服务包括远程代理470,并且HAL包括远程代理472。
在图4的示例中,远程代理440可以接收远程代理470以及远程代理472的清单。在这种情况下,远程代理440可以利用清单中的信息将请求定向到节点445上的特定代理。具有HAL管理器430的HAL和具有服务管理器420的服务之间的本地请求依然将利用如上所述的本地操作系统验证技术。
节点410的组件与远程代理(诸如远程代理440或470)之间的通信将利用操作系统技术。不同节点上的远程代理之间的通信可以被加密和/或签名。因此,图3的过程将适用于图4的实施例。
基于以上,利用不同操作系统的远程节点上的服务或硬件抽象层可被视为本地服务或硬件抽象层,其中远程代理充当本地模块并表示来自其他节点的此类服务或硬件抽象层。因此,应用程序接口和通信是利用操作系统技术以安全的方式完成的,并且表现为对节点内的各种模块是本地的。
远程代理被提供或配置有指示由计算系统内的其他节点提供的服务或抽象层的类型的清单,以及用于与这些其他节点通信以允许以安全方式完成通信的密钥。
上述ECU、节点和其他计算平台可以使用任何计算设备来实现。参考图5示出了计算设备的一个简化图示。图5的计算设备可以是任何固定或移动计算设备。
在图5中,设备510包括处理器520和通信子系统530,其中处理器520和通信子系统530协作以执行上述实施例的方法。通信子系统530允许设备510与其他设备或网络元件通信,并且可以根据所执行的通信类型而变化。此外,通信子系统530可以包括多种通信技术,包括任何有线或无线通信技术。
处理器520被配置为执行可编程逻辑,该可编程逻辑可以与数据一起存储在设备510上,并且在图5的示例中示出为存储器532。存储器532可以是任何有形的、非瞬态的计算机可读存储介质,其存储指令代码,该指令代码当由处理器520执行时,使设备510执行本公开的方法。计算机可读存储介质可以是有形的或瞬态/非瞬态介质,诸如光(例如,CD、DVD等)、磁(例如,磁带)、闪存驱动器、硬盘驱动器或本领域中已知的其他存储器。
备选地,或除了存储器532之外,设备510可以例如通过通信子系统530从外部存储介质访问数据或可编程逻辑。
在图5的示例中,一个或多个传感器540可以与计算设备相关联。然而,这是可选的,并且在某些情况下,计算设备510将不与传感器相关联。
在一个实施例中,设备510的各种元件之间的通信可以通过内部总线560。然而,其他形式的通信也是可能的。
本文描述的实施例是具有与本申请的技术的元素相对应的元素的结构、系统或方法的示例。该书面描述可以使本领域的技术人员能够制作和使用具有同样对应于本申请的技术的元素的替换元素的实施例。因此,本申请的技术的预期范围包括与本文描述的本申请的技术没有不同的其他结构、系统或方法,并且还包括与本文描述的本申请的技术没有实质性差异的其他结构、系统或方法。
虽然在附图中以特定顺序描述操作,但这不应被理解为要求以所示的特定顺序或按顺序执行这些操作,或要求执行所有所示的操作以获得期望的结果。在某些情况下,可以使用多任务和并行处理。此外,上述实现中的各种系统组件的分离不应被理解为要求在所有实现中进行这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在一起在单个软件产品中或打包到多个软件产品中。
此外,在各种实现中描述和图示为离散或分开的技术、系统、子系统和方法可以与其他系统、模块、技术或方法组合或集成。示出或讨论为相互耦合或直接耦合或相互通信的其他项目可以是间接耦合或通过某些接口、设备或中间组件进行通信的,无论是电的、机械的或其他的。改变、替换和更改的其他示例可以由本领域的技术人员确定并且可以进行。
虽然上述详细描述已经示出、描述并指出了应用于各种实施方式的本发明的基本新颖特征,但是应当理解,本领域技术人员可以对所示系统的形式和细节进行各种省略、替换和改变。此外,方法步骤的顺序不是由它们在权利要求中出现的顺序所暗示的。
当消息被发送到电子设备/从电子设备发送时,这样的操作可能不是立即的或直接来自服务器。它们可以从支持本文描述的设备/方法/系统的服务器或其他计算系统基础设施同步或异步地递送。前述步骤可以全部或部分地包括去往/来自设备/基础设施的同步/异步通信。此外,来自电子设备的通信可以是到网络上的一个或多个端点的。这些端点可以由服务器、分布式计算系统、流处理器等来服务。内容递送网络(CDN)还可以向电子设备提供通信。例如,与典型的服务器响应不同,服务器还可以提供或指示内容递送网络(CDN)的数据以等待稍后由电子设备下载,例如电子设备的后续活动。因此,数据可以作为系统的一部分或独立于系统而直接从服务器或其他基础设施(例如,分布式基础设施或CDN)发送。
通常,存储介质可以包括以下各项的任何或一些组合:半导体存储设备,诸如动态或静态随机存取存储器(DRAM或SRAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存;磁盘,诸如固定、软盘和可移除盘;另一磁介质,包括磁带;光学介质,诸如压缩盘(CD)或数字视频盘(DVD);或另一类型的存储设备。注意,上面讨论的指令可以在一个计算机可读或机器可读存储介质上提供,或者备选地,可以在分布在可能具有多个节点的大型系统中的多个计算机可读或机器可读存储介质上提供。这种计算机可读或机器可读的一个或多个存储介质被认为是物品(或制品)的一部分。物品或制品可以指任何制造的单个组件或多个组件。一个或多个存储介质可以位于运行机器可读指令的机器中,或者位于可以通过网络从其下载机器可读指令以执行的远程站点。
在前述描述中,阐述了许多细节以提供对本文公开的主题的理解。然而,可以在没有这些细节的情况下实践这些实现。其他实现可以包括对上面讨论的细节的修改和变化。所附权利要求旨在涵盖此类修改和变化。
Claims (21)
1.一种在第一节点上的远程代理处的方法,所述方法包括:
在所述远程代理处,从所述第一节点上的第一模块接收第一消息,所述第一消息被定向到第二节点上的第二模块;
利用操作系统验证在所述远程代理处验证所述第一消息;
基于所述远程代理处的清单确定所述第二节点;
使用针对所述第一节点的私钥对所述第一消息进行签名;以及
将所述第一消息发送到所述第二节点。
2.根据权利要求1所述的方法,还包括:
在所述远程代理处接收第二消息,所述第二消息被定向到所述第一节点上的所述第一模块,并且使用所述第一模块的私钥而被签名;
使用在所述清单中找到的、针对所述第二节点的公钥来验证所述第二消息;以及
使用针对所述远程代理的操作系统验证将所述第二消息作为本地消息转发到所述第一模块。
3.根据权利要求2所述的方法,其中所述验证还包括对照针对所述第二节点的所述清单检查针对所述第二消息的源模块,以确保所述源模块是所述第二节点的一部分。
4.根据权利要求1所述的方法,其中所述操作系统验证包括针对进程或数据的用户标识符或组标识符。
5.根据权利要求1所述的方法,其中所述第一消息在所述远程代理处的应用程序接口方面表现为是本地的。
6.根据权利要求1所述的方法,其中所述第一节点和所述第二节点使用不同的操作系统。
7.根据权利要求1所述的方法,其中所述远程代理被提供有针对能够与所述第一节点通信的计算系统内的节点的清单。
8.根据权利要求1所述的方法,其中在对所述第一消息的所述发送之前,所述第一消息还由所述远程代理使用在所述清单中找到的、针对所述第二节点的公钥而被加密。
9.根据权利要求1所述的方法,其中所述第一节点是计算机系统中的计算单元,并且其中所述第一模块是用于所述计算机系统中的传感器的硬件抽象层或服务中的一项。
10.根据权利要求9所述的方法,其中所述第一节点包括多个硬件抽象层、多个服务或至少一个硬件抽象层和至少一个服务的组合;以及
其中多个远程代理存在于所述第一节点上,所述多个远程代理中的每个远程代理与硬件抽象层和/或服务的子集相关联。
11.一种计算机系统内的第一计算节点,所述第一计算节点包括:
处理器;以及
通信子系统,
其中所述第一计算节点被配置为:
在所述第一计算节点上的远程代理处,从所述第一计算节点上的第一模块接收第一消息,所述第一消息被定向到第二计算节点上的第二模块;
利用操作系统验证在所述远程代理处验证所述第一消息;
基于所述远程代理处的清单确定所述第二计算节点;
使用针对所述第一计算节点的私钥对所述第一消息进行签名;以及
将所述第一消息发送到所述第二计算节点。
12.根据权利要求11所述的第一计算节点,其中所述第一计算节点还被配置为:
在所述远程代理处接收第二消息,所述第二消息被定向到所述第一计算节点上的所述第一模块,并且使用所述第一模块的私钥而被签名;
使用在所述清单中找到的、针对所述第二计算节点的公钥来验证所述第二消息;以及
使用针对所述远程代理的操作系统验证将所述第二消息作为本地消息转发到所述第一模块。
13.根据权利要求12所述的第一计算节点,其中所述第一计算节点被配置为通过对照针对所述第二计算节点的所述清单检查所述第二消息的源模块,以确保所述源模块是所述第二计算节点的一部分来验证。
14.根据权利要求11所述的第一计算节点,其中所述操作系统验证包括针对进程或数据的用户标识符或组标识符。
15.根据权利要求11所述的第一计算节点,其中所述第一消息在所述远程代理处的应用程序接口方面表现为是本地的。
16.根据权利要求11所述的第一计算节点,其中所述第一计算节点和所述第二计算节点使用不同的操作系统。
17.根据权利要求11所述的第一计算节点,其中所述远程代理被提供有针对能够与所述第一计算节点通信的计算系统内的节点的清单。
18.根据权利要求11所述的第一计算节点,其中在对所述第一消息的所述发送之前,所述第一消息还由所述远程代理使用在所述清单中找到的、针对所述第二计算节点的公钥而被加密。
19.根据权利要求11所述的第一计算节点,其中所述第一模块是用于所述计算机系统中的传感器的硬件抽象层或服务中的一项。
20.根据权利要求19所述的第一计算节点,其中所述第一计算节点包括多个硬件抽象层、多个服务或至少一个硬件抽象层和至少一个服务的组合;以及
其中多个远程代理存在于所述第一计算节点上,所述多个远程代理中的每个远程代理与硬件抽象层和/或服务的子集相关联。
21.一种用于存储指令代码的计算机可读介质,所述指令代码当由计算机系统内的第一计算节点的处理器执行时,使所述第一计算节点以:
在所述第一计算节点上的远程代理处,从所述第一计算节点上的第一模块接收第一消息,所述第一消息被定向到第二计算节点上的第二模块;
利用操作系统验证在所述远程代理处验证所述第一消息;
基于所述远程代理处的清单确定所述第二计算节点;
使用针对所述第一计算节点的私钥对所述第一消息进行签名;以及
将所述第一消息发送到所述第二计算节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/198,828 | 2021-03-11 | ||
US17/198,828 US12041036B2 (en) | 2021-03-11 | 2021-03-11 | Method and system for performing identity checks in a distributed system |
PCT/CA2022/050362 WO2022187967A1 (en) | 2021-03-11 | 2022-03-11 | Method and system for performing identity checks in a distributed system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116868559A true CN116868559A (zh) | 2023-10-10 |
Family
ID=83194391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280011149.2A Pending CN116868559A (zh) | 2021-03-11 | 2022-03-11 | 用于在分布式系统中执行身份检查的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US12041036B2 (zh) |
EP (1) | EP4305835A1 (zh) |
CN (1) | CN116868559A (zh) |
CA (1) | CA3201359A1 (zh) |
WO (1) | WO2022187967A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12041036B2 (en) * | 2021-03-11 | 2024-07-16 | Blackberry Limited | Method and system for performing identity checks in a distributed system |
US20240249007A1 (en) * | 2023-01-24 | 2024-07-25 | Blackberry Limited | Method and system for dynamic access based on granted permissions |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2245963C (en) * | 1998-08-26 | 2009-10-27 | Qnx Software Systems Ltd. | Distributed kernel operating system |
US7950044B2 (en) | 2004-09-28 | 2011-05-24 | Rockwell Automation Technologies, Inc. | Centrally managed proxy-based security for legacy automation systems |
US8839375B2 (en) * | 2012-05-25 | 2014-09-16 | Microsoft Corporation | Managing distributed operating system physical resources |
US9161196B2 (en) * | 2012-08-07 | 2015-10-13 | Google Technology Holdings LLC | Apparatus and method for secure private location information transfer |
US20160218939A1 (en) * | 2015-01-28 | 2016-07-28 | Hewlett-Packard Development Company, L.P. | Distributed multi-site cloud deployment |
US10917767B2 (en) * | 2016-03-31 | 2021-02-09 | Intel Corporation | IOT device selection |
US11429960B2 (en) * | 2017-05-24 | 2022-08-30 | Nxm Labs, Inc. | Network configuration management for networked client devices using a distributed ledger service |
US11032252B2 (en) * | 2018-01-03 | 2021-06-08 | Syccure, Inc. | Distributed authentication between network nodes |
CN110290094B (zh) * | 2018-03-19 | 2022-03-11 | 华为技术有限公司 | 一种数据访问权限的控制方法和装置 |
CN112491972A (zh) * | 2018-06-11 | 2021-03-12 | 华为技术有限公司 | 资源获取、分发、下载方法、装置、设备及存储介质 |
US10951728B2 (en) | 2019-02-11 | 2021-03-16 | Blackberry Limited | Proxy for access of a vehicle component |
GB2581482B (en) | 2019-02-15 | 2021-02-24 | Promon As | Security virtual-machine software applications |
EP4027618B1 (en) | 2019-04-02 | 2024-07-31 | Bright Data Ltd. | Managing a non-direct url fetching service |
KR102379110B1 (ko) * | 2019-04-02 | 2022-03-25 | 모셔널 에이디 엘엘씨 | 차량용 프로세서의 안전한 부트 |
US11184236B2 (en) * | 2019-04-30 | 2021-11-23 | Intel Corporation | Methods and apparatus to control processing of telemetry data at an edge platform |
US11875167B2 (en) * | 2020-03-23 | 2024-01-16 | Nubix, Inc. | Method for deploying containerized protocols on very small devices |
US11888858B2 (en) * | 2020-04-17 | 2024-01-30 | Intel Corporation | Calculus for trust in edge computing and named function networks |
US11677726B2 (en) * | 2021-02-12 | 2023-06-13 | Raytheon Company | Scalable brokerless messaging strategy with sidecar security container stack |
US12041036B2 (en) * | 2021-03-11 | 2024-07-16 | Blackberry Limited | Method and system for performing identity checks in a distributed system |
-
2021
- 2021-03-11 US US17/198,828 patent/US12041036B2/en active Active
-
2022
- 2022-03-11 EP EP22766048.7A patent/EP4305835A1/en active Pending
- 2022-03-11 CA CA3201359A patent/CA3201359A1/en active Pending
- 2022-03-11 CN CN202280011149.2A patent/CN116868559A/zh active Pending
- 2022-03-11 WO PCT/CA2022/050362 patent/WO2022187967A1/en active Application Filing
-
2024
- 2024-06-13 US US18/742,259 patent/US20240333694A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240333694A1 (en) | 2024-10-03 |
US20220294770A1 (en) | 2022-09-15 |
EP4305835A1 (en) | 2024-01-17 |
CA3201359A1 (en) | 2022-09-15 |
US12041036B2 (en) | 2024-07-16 |
WO2022187967A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102347659B1 (ko) | 디바이스의 보안 프로비저닝 및 관리 | |
Gupta et al. | Authorization framework for secure cloud assisted connected cars and vehicular internet of things | |
US8327451B2 (en) | Secure system and method for enforcement of privacy policy and protection of confidentiality | |
CN102870093B (zh) | 利用虚拟化和证明来远程维护电子网络中多个客户端的系统和方法 | |
EP2656270B1 (en) | Tamper proof location services | |
US20240333694A1 (en) | Method and system for performing identity checks in a distributed system | |
CN102833250A (zh) | 一种用于车载移动互联的安全管理方法和系统 | |
CN113168480A (zh) | 基于环境因子的可信执行 | |
US9363266B2 (en) | Secured electronic device | |
KR20240034694A (ko) | 애플리케이션 요청에 기반한 센서 인사이트 공유 방법 및 시스템 | |
CN117643017A (zh) | 用于传感器洞察的间接共享的方法和系统 | |
CN118401955A (zh) | 身份认证方法、装置及系统 | |
Jadhav | Automotive cybersecurity | |
TW201638818A (zh) | 用於具有可替換部件的機器之數位身分及授權 | |
CN115001707B (zh) | 基于区块链的设备认证方法和相关设备 | |
CN111989890A (zh) | 用于供应和处理v2x设备的地理位置信息的系统、方法和设备 | |
Schweppe | Security and privacy in automotive on-board networks | |
US20240272892A1 (en) | Vehicle ota security validation | |
US20230015693A1 (en) | Restoration of corrupted keys in a secure storage system | |
KR20240034698A (ko) | 도메인 전체에 걸쳐 마이크로 서비스에 대한 데이터 보안을 제공하기 위한 방법 및 시스템 | |
KR20240024853A (ko) | 내장형 데이터 수집 | |
JP2022057228A (ja) | 認証管理方法、認証管理プログラム及び利用者認証管理装置 | |
CN117579325A (zh) | 一种数字证书验证方法及相关装置 | |
CN117879879A (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 |