一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在计算设备之间提供安全通信的制作方法

2022-03-26 04:46:35 来源:中国专利 TAG:

在计算设备之间提供安全通信
1.相关申请
2.本技术要求于2019年8月16日提交的名称为“providing secure communications between computing devices”的美国临时申请第62/888,266号的优先权,其全部内容通过引用并入本文以用于所有目的。


背景技术:

3.prose是一种已由3gpp标准化的协议,以用于提供安全协商和建立安全通信,包括用于识别用于建立安全通信链路的安全凭证或密钥的标识符(id)。然而,prose尚未解决新兴的车辆到一切(v2x)用例,以用于对有兴趣建立安全直接(或单播)通信链路和建立必要密钥以保护通信链路的设备进行认证。


技术实现要素:

4.各个方面包括用于在第一计算设备和第二计算设备之间提供安全通信的方法。各个方面可以包括:在第一计算设备的处理器中执行的第一应用软件中确定第一安全密钥建立信息;以格式将第一安全密钥建立信息提供给第一计算设备的通信层以由通信层传输给第二计算设备;在第一应用软件中从第一计算设备的通信层接收从第二计算设备接收的第二安全密钥建立信息;由第一应用软件至少部分地基于从第二计算设备接收的第二安全密钥建立信息来确定第一安全密钥;以及将第一安全密钥提供给通信层以供通信层用于保护从第一应用软件到第二计算设备的消息传输。
5.一些方面可以包括:在第一计算设备的处理器中执行的第一应用软件中从通信层接收由第二计算设备发送的第三安全密钥建立信息。在这样的方面,由第一应用软件至少部分地基于从第二计算设备接收的第二安全密钥建立信息来确定第一安全密钥可以包括:至少部分地基于第二安全密钥建立信息和第三安全密钥建立信息来确定第一安全密钥。
6.一些方面可以包括:由第一应用软件选择用于确定第一安全密钥建立信息的内容的密钥建立算法或方法,以及将所选择的密钥建立算法或方法包括在第一安全密钥建立信息中。一些方面可以包括:在第一计算设备的处理器中执行的第二应用软件中从通信层接收由第二计算设备发送的第四安全密钥建立信息,以及由第二应用软件至少部分地基于从第二计算设备接收的第四安全密钥建立信息来确定第二安全密钥。这样的方面可以包括:由第二应用软件根据从第二计算设备接收的第四安全密钥建立信息中的信息,来至少确定要用于保护从第二应用软件到第二计算设备的消息的加密或完整性算法。
7.一些方面可以包括:由第一应用软件向通信层提供用于传输给第二计算设备的进一步的安全密钥建立信息;由第一应用软件从通信层接收从第二计算设备接收的进一步的安全密钥建立信息;以及由第一应用软件使用进一步的安全密钥建立信息来确定第一安全密钥。一些方面可以包括:由第一应用软件向通信层提供数据分组以传输给第二计算设备;由通信层使用第一安全密钥来保护数据分组;以及将受保护的数据分组传输给第二计算设备。
8.一些方面可以包括由通信层经由pc5协议将受保护的数据分组传输给第二计算设备。在一些方面,第一应用软件可以包括在第一计算设备的处理器中执行的应用层的第一应用。在一些方面,第一应用可以包括车辆到一切应用。在一些方面,第一计算设备可以包括第一车辆的第一车载计算设备。在一些方面,第二计算设备可以包括第二车辆的第二车载计算设备。在一些方面,第一计算设备的通信层可以包括第一计算设备的pc5层。
9.一些方面可以包括使用第一安全密钥来建立与第二计算设备的通信层的通信层安全上下文。在一些方面,第一安全密钥建立信息和第二安全密钥建立信息可以包括需要在两个应用之间交换以使两个应用能够就用于应用之间的一对一通信的根密钥达成一致的信息。在一些方面,根密钥可以包括256位密钥。
10.一些方面可以包括:在通信层的控制平面承载上将第一安全密钥建立信息传输给第二计算设备。在这样的方面,控制平面承载可以包括第一计算设备和第二计算设备之间的pc5接口的控制平面承载。一些方面可以包括:由通信层使用第一安全密钥来保护来自第一应用软件的数据分组,以及在通信层的用户平面承载上将受保护的数据分组传输给第二计算设备。
11.其他方面可以包括一种计算设备,其具有被配置为执行上述方法的一个或多个操作的处理器。其他方面可以包括其上存储有处理器可执行指令的非暂时性处理器可读存储介质,该处理器可执行指令被配置为使计算设备的处理器执行上述方法的操作。其他方面包括具有用于执行上述方法的功能的部件的计算设备。其他方面包括一种用于在计算设备中使用的片上系统,该计算设备包括被配置为执行上述方法的一个或多个操作的处理器。其他方面包括一种系统级封装,其包括用于在计算设备中使用的两个片上系统,该计算设备包括被配置为执行上述方法的一个或多个操作的处理器。
附图说明
12.并入本文中并构成本说明书的一部分的附图示出了示例性实施例,并且与上面给出的一般描述和下面给出的详细描述一起用于解释各种实施例的特征。
13.图1a是示出适合与各种实施例一起使用的示例性通信系统的系统框图。
14.图1b是示出适合与各种实施例一起使用的两个车辆之间的示例性通信系统的组件和系统框图。
15.图2是示出适合与各种实施例一起使用的计算系统的组件框图。
16.图3是示出根据各种实施例的包括用于无线通信中的用户和控制平面的无线电协议栈的软件架构的示例的图。
17.图4是示出根据各种实施例的被配置用于在第一计算设备和第二计算设备之间提供安全通信的系统的组件框图。
18.图5a是示出根据各种实施例的用于在第一计算设备和第二计算设备之间提供安全通信的方法的过程流程图。
19.图5b是示出根据各种实施例的用于在第一计算设备和第二计算设备之间提供安全通信的方法的消息流程图。
20.图6a至图6f是示出根据各种实施例的用于在第一计算设备和第二计算设备之间提供安全通信的方法的过程流程图。
21.图7是适合与各种实施例一起使用的网络计算设备的组件框图。
22.图8是适合与各种实施例一起使用的无线通信设备的组件框图。
具体实施方式
23.将参照附图详细描述各种实施例。只要有可能,在整个附图中将使用相同的附图标记来指代相同的或相似的部件。对特定示例和实施方式的引用是出于例示说明目的,并不旨在限制权利要求的范围。
24.本文使用的术语“计算设备”是指以下中的任何一者或全部:路由器设备(有线或无线)、电器(有线或无线)、蜂窝电话、智能手机、便携式计算设备、个人或移动多媒体播放器、膝上型计算机、平板电脑、智能本、超极本、掌上电脑、无线电子邮件接收器、多媒体互联网蜂窝电话、医疗设备和装备、生物识别传感器/设备、可穿戴设备(包括智能手表、智能服装、智能眼镜、智能腕带,智能珠宝(例如,智能戒指和智能手环))、娱乐设备(例如,无线游戏控制器、音乐和视频播放器、卫星收音机等)、支持无线网络的物联网(iot)设备(包括智能仪表/传感器)、工业制造装备、家用或企业使用的大型和小型机械和电器、自主和半自主车辆内的无线通信元件、附加到或结合到各种移动平台的无线设备、全球定位系统设备以及包括存储器和可编程处理器的类似电子设备。包括无线通信组件并被配置为经由无线通信链路与其他计算设备进行通信的计算设备(例如,蜂窝电话、智能手机等)在本文中被称为“无线计算设备”。
25.术语“片上系统”(soc)在本文中用于指包含集成在单个基板上的多个资源和/或处理器的单个集成电路(ic)芯片。单个soc可以包含用于数字、模拟、混合信号和射频功能的电路。单个soc还可以包括任意数量的通用和/或专用处理器(数字信号处理器、调制解调器处理器、视频处理器等)、存储器块(例如rom、ram、闪存等)和资源(例如定时器、稳压器、振荡器等)。soc还可以包括用于控制集成资源和处理器以及用于控制外围设备的软件。
26.术语“系统级封装”(sip)在本文中可用于指在两个或更多个ic芯片、基板或soc上包含多个资源、计算单元、核和/或处理器的单个模块或封装。例如,sip可以包括单个基板,在该基板上以垂直配置堆叠多个ic芯片或半导体裸芯。类似地,sip可以包括一个或多个多芯片模块(mcm),在多芯片模块上多个ic或半导体裸芯封装成统一基板。sip还可以包括多个独立的soc,这些soc经由高速通信电路耦合在一起并紧密封装,诸如在单个主板上或在单个计算设备中。soc的邻近有利于高速通信以及存储器和资源的共享。
27.术语“多核处理器”在本文中可用于指包含被配置为读取和执行程序指令的两个或更多个独立处理核(例如cpu核、互联网协议(ip)核、图形处理器单元(gpu)核等)的单个集成电路(ic)芯片或芯片封装。soc可以包括多个多核处理器,并且soc中的每个处理器可以称为核。术语“多处理器”在本文中可用于指包括被配置为读取和执行程序指令的两个或更多个处理单元的系统或设备。
[0028]“pc5”是指设备到设备的通信接口,可用于单设备到设备通信或一对多通信。例如,pc5接口可用于车辆到一切(v2x)通信,以在车辆与可能影响车辆的任何实体之间实现信息通信(例如,v2i(车辆到基础设施)、v2n(车辆到网络)、v2v(车辆到车辆)、v2p(车辆到行人)、v2d(车辆到设备)和v2g(车辆到电网)通信)。
[0029]“prose”(基于邻近的服务)协议是lte中的pc5协议,其提供使设备能够相互检测
并直接通信的d2d(设备到设备)通信技术或通信协议。pc5和prose可以基于设备邻近实现一系列通信服务,例如广告、社交网络、游戏、可穿戴设备的中继流量和v2x通信。
[0030]
在pc5和prose中可以使用安全密钥的层次结构来提供通信安全。可以在设备中提供长期密钥,并且长期密钥可以用作d2d通信安全的主要信息。根密钥(可称为kd)可以在(例如使用prose直接一对一通信)直接通信的两个设备之间共享。在一些实施例中,根密钥可以包括256位密钥。根密钥可以通过使用长期密钥重新运行认证信令来建立或刷新。在设备上运行的一个或多个应用可以在代码中或在相关联的存储器中包括其自己的长期密钥,该长期密钥可以用于认证对建立安全直接通信链路感兴趣的两个设备。在使用长期密钥成功认证后,可以在两个感兴趣的设备之间建立根密钥kd。在两个或更多个设备上运行的应用之间的认证信令可以使用设备的通信层的pc5层进行传输。会话密钥(可以称为k
d-sess
)可以使用在通信设备之间交换的随机数从根密钥导出,并且可以在正在使用的特定安全上下文中使用或者在正在建立的过程中使用,以保护两个设备之间的数据通信。此外,可以从k
d-sess
导出加密密钥和完整性密钥(例如,prose加密密钥(pek)和prose完整性密钥(pik))。pek和pik可以分别用于选定的机密性和完整性算法。这样的算法可以包括例如基于snow3g、aes和zuc的算法。在一些实施例中,可以在每次kd-sess改变时自动刷新pek和pik。
[0031]
如当前在适用的3gpp标准中所描述的,在两个设备之间建立密钥所需的安全信息可以经由通信层(例如,pc5接口)来处理。在这样的实施方式中,通信层处理密钥信息和利用该密钥信息的认证方法,并执行一个或多个密钥的导出以保护通信层。通常,这需要将建立安全密钥所需的安全信息手工编码或预先配置到设备的通信层(例如pc5层)中。这样的要求限制了作为认证方法可以支持的用例,并且通信层需要知道相关联的凭证。
[0032]
各种实施例包括可以在通信设备的处理器上实现的用于在第一计算设备和第二计算设备之间提供安全通信的方法。各种实施例提供了一种用于提供d2d安全作为设备之间链路建立的通用特征的安全架构和方法。各种实施例可以为多个通信设备提供通信安全,诸如车队、多个计算设备和其他合适的通信设备。各种实施例可以为两个设备(例如,移动通信设备、车辆或其他合适的设备)之间的直接d2d通信提供通信安全。
[0033]
在一些实施例中,第一计算设备可以被配置为能够在第一计算设备的应用层(例如,第一计算设备上的应用)生成、处理和存储通信安全密钥。在一些实施例中,第一计算设备可以被配置为管理、确定或选择用于与第二计算设备一起使用的认证方法。在一些实施例中,第一计算设备可以被配置为使用通信层(例如,经由pc5接口)将信息传输到第二计算设备,信息使第二计算设备能够生成安全密钥并确定(例如,选择)将由第一计算设备和第二计算设备使用的认证方法。在一些实施例中,第二计算设备可以经由通信层从第一计算设备接收信息,并且第二设备的通信层可以将接收的信息提供给第二计算设备的应用层(例如,第二计算设备上的应用)。在一些实施例中,第二计算设备的应用层(即,第二计算设备上的应用)同样可以提供使第一计算设备能够生成安全密钥和/或确定将由第一通信设备和第二通信设备使用的认证方法的信息。第二计算设备的应用层可以将信息提供给通信层以传输给第一计算设备。在一些实施例中,第一计算设备可以被配置为在通信层从第二计算设备接收信息,并且通信层可以将接收的信息提供给第一计算设备的应用层(例如,第一计算设备上的应用)。
[0034]
在各种实施例中,第一计算设备上的应用可以被配置为经由通信层向第二计算设
备发送认证消息和从第二计算设备接收认证消息,而通信层无需处理认证消息的内容(例如,安全密钥的内容、认证证书、认证方法等)。在一些实施例中,第二计算设备同样可以被配置为执行关于第一计算设备的类似操作。在一些实施例中,第一计算设备上的应用可以执行认证操作以对第二计算设备进行认证。第二计算设备可以被配置为执行关于第一计算设备的类似操作。在一些实施例中,在第一计算设备对第二计算设备进行认证的情况下,第一计算设备的应用层(即,第一计算设备上的应用)可以向第一计算设备的通信层提供安全密钥以用于保护第一计算设备和第二计算设备之间的通信链路。第二计算设备可以被配置为执行关于第一计算设备的类似操作。在各种实施例中,在处理器上执行的第一应用软件可以用来确定第一安全密钥的方法对于第一计算设备的通信层可以是未知的。在一些实施例中,可以改变或修改(例如,通过应用或对应用的更新)第一应用软件可以用来确定第一安全密钥的方法而不需要对通信层进行任何改变。
[0035]
图1a示出了适用于实现各种实施例的通信系统100的示例。通信系统100可以是5g nr网络,或任何其他合适的网络,诸如lte网络。
[0036]
通信系统100可以包括异构网络架构,其包括核心网络140和各种计算设备(在图1中被示为无线设备120a-120c以及车辆152a和152b)。通信系统100还可以包括多个基站(示为bs 110a、bs 110b、bs 110c和bs 110d)和其他网络实体。基站是与无线计算设备进行通信的实体,并且也可以被称为nodeb、节点b、lte演进nodeb(enb)、接入点(ap)、无线电头、发送接收点(trp)、新无线电基站(nrbs)、5g nodeb(nb)、下一代nodeb(gnb)等。每个基站可以为特定地理区域提供通信覆盖。在3gpp中,取决于使用术语的上下文,术语“小区”可以指代基站的覆盖区域和/或服务于该覆盖区域的基站子系统或它们的组合。
[0037]
基站110a-110d可以为宏小区、微微小区、毫微微小区、其他类型的小区或它们的组合提供通信覆盖。宏小区可以覆盖相对较大的地理区域(例如,半径几千米),并且可以允许具有服务订阅的无线计算设备无限制地接入。微微小区可以覆盖相对较小的地理区域并且可以允许具有服务订阅的无线计算设备无限制地接入。毫微微小区可以覆盖相对较小的地理区域(例如,家庭),并且可以允许与该毫微微小区相关联的无线计算设备(例如,封闭订户组(csg)中的无线计算设备)的受限接入。用于宏小区的基站可以被称为宏bs。用于微微小区的基站可以被称为微微bs。用于毫微微小区的基站可以被称为毫微微bs或家庭bs。在图1a所示的示例中,基站110a可以是用于宏小区102a的宏bs,基站110b可以是用于微微小区102b的微微bs,并且基站110c可以是用于毫微微小区102c的毫微微bs。基站110a-110d可以支持一个或多个(例如,三个)小区。术语“enb”、“基站”、“nr bs”、“gnb”、“trp”、“ap”、“节点b”、“5g nb”和“小区”在本文中可以互换使用。
[0038]
在一些示例中,小区可以不是固定的,并且小区的地理区域可以根据移动基站的位置而移动。在一些示例中,基站110a-110d可以通过各种类型的回传接口(诸如直接物理连接、虚拟网络或它们的组合)使用任何合适的传输网络彼此互连以及与通信系统100中的一个或多个其他基站或网络节点(未示出)互连。
[0039]
基站110a-110d可以通过有线或无线通信链路126与核心网络140通信。无线计算设备120a-120c以及车辆152a和152b可以通过无线通信链路122与基站110a-110d通信。
[0040]
有线通信链路126可以使用多种有线网络(例如以太网、电视电缆、电话、光纤和其他形式的物理网络连接),这些网络可以使用一种或多种有线通信协议,诸如以太网、点对
点协议、高级数据链路控制(hdlc)、高级数据通信控制协议(adccp)和传输控制协议/互联网协议(tcp/ip)。
[0041]
通信系统100还可以包括中继站(例如中继bs 110d)。中继站是可以接收来自上游站(例如,基站或无线计算设备)的数据传输并且将数据传输发送到下游站(例如,无线计算设备或基站)的实体。中继站也可以是可以中继其他无线计算设备的传输的无线计算设备。在图1所示的示例中,中继站110d可以与宏基站110a和无线计算设备120c通信以便有利于基站110a和无线计算设备120c之间的通信。中继站也可称为中继基站、中继基站、中继等。
[0042]
通信系统100可以是包括不同类型的基站的异构网络,例如,宏基站、微微基站、毫微微基站、中继基站等。这些不同类型的基站可以具有不同的发送功率电平、不同的覆盖区域以及对通信系统100中干扰的不同影响。例如,宏基站可以具有较高的发送功率电平(例如5瓦至40瓦),而微微基站、毫微微基站和中继基站可以具有较低的发送功率电平(例如0.1瓦至2瓦)。
[0043]
网络控制器130可以耦合到基站的集合并且可以为这些基站提供协调和控制。网络控制器130可以经由回传与基站通信。基站还可以例如经由无线或有线回传直接或间接地彼此通信。
[0044]
无线计算设备120a、120b可以分散在整个通信系统100中,并且每个无线计算设备可以是固定的或移动的。无线计算设备也可以被称为接入终端、终端、移动站、订户单元、站等。
[0045]
宏基站110a可以通过有线或无线通信链路126与通信网络140通信。无线计算设备120a、120b可以通过无线通信链路122与基站110a-110d通信。
[0046]
无线通信链路122和124可以包括多个载波信号、频率或频带,每个载波信号、频率或频带可以包括多个逻辑信道。无线通信链路122和124可以利用一种或多种无线电接入技术(rat)。可以在无线通信链路中使用的rat的示例包括3gpp lte、3g、4g、5g(例如nr)、gsm、码分多址(cdma)、宽带码分多址(wcdma)、微波全球互操作性接入(wimax)、时分多址(tdma)和其他移动电话通信技术蜂窝rat。可在通信系统100内的各种无线通信链路中的一个或多个中使用的rat的进一步示例包括中距离协议,诸如wi-fi、lte-u、lte-direct、laa、multefire和相对短距离rat,诸如zigbee、蓝牙和低功耗蓝牙(le)。在一些实施例中,无线通信链路122和124可以包括可以根据适用的3gpp标准在pc5接口上建立的直接连接通信链路。
[0047]
某些无线网络(例如,lte)在下行链路上利用正交频分复用(ofdm),在上行链路上利用单载波频分复用(sc-fdm)。ofdm和sc-fdm将系统带宽划分为多个(k个)正交子载波,这些子载波通常也称为音调、频点等。每个子载波可以用数据进行调制。通常,调制符号在频域中使用ofdm发送,在时域中使用sc-fdm发送。相邻子载波之间的间隔可以是固定的,并且子载波的总数(k)可以取决于系统带宽。例如,子载波的间隔可以是15khz,并且最小资源分配(称为“资源块”)可以是12个子载波(或180khz)。因此,对于1.25、2.5、5、10或20兆赫(mhz)的系统带宽,标称快速傅立叶变换(fft)大小可以分别等于128、256、512、1024或2048。系统带宽也可以划分为子带。例如,一个子带可以覆盖1.08mhz(例如,6个资源块),并且对于1.25、2.5、5、10或20mhz的系统带宽,可以分别有1、2、4、8或16个子带。
[0048]
虽然一些实施例的描述可能使用与lte技术相关联的术语和示例,但各种实施例
可以适用于其他无线通信系统,诸如新无线电(nr)或5g网络。nr可以在上行链路(ul)和下行链路(dl)上利用带有循环前缀(cp)的ofdm,并包括对使用时分双工(tdd)的半双工操作的支持。可以支持100mhz的单个分量载波带宽。nr资源块可以在0.1毫秒(ms)的持续时间内跨越具有75khz的子载波带宽的12个子载波。每个无线电帧可以由50个子帧组成,长度为10ms。因此,每个子帧可以具有0.2ms的长度。每个子帧可以指示用于数据传输的链路方向(即,dl或ul),并且每个子帧的链路方向可以动态切换。每个子帧可以包括dl/ul数据以及dl/ul控制数据。可以支持波束成形,并且可以动态地配置波束方向。还可以支持具有预编码的多输入多输出(mimo)传输。dl中的mimo配置可以支持多达八个发送天线,其中多层dl传输多达八个流,每个无线计算设备多达两个流。可以支持每个无线计算设备具有多达2个流的多层传输。可以在多达八个服务小区的情况下支持多个小区的聚合。另选地,除了基于ofdm的空中接口之外,nr可以支持不同的空中接口。
[0049]
一些计算设备可以被认为是机器类型通信(mtc)或演进的或增强的机器类型通信(emtc)计算设备。mtc和emtc计算设备包括例如可以与基站、另一设备(例如,远程设备)或某个其他实体进行通信的机器人、无人机、远程设备、传感器、仪表、监视器、位置标签等。无线节点可以经由有线或无线通信链路提供例如针对或到网络(例如,诸如互联网或蜂窝网络之类的广域网)的连接。一些计算设备可以被视为物联网(iot)设备或可以被实现为nb-iot(窄带物联网)设备。无线计算设备120a-e可以被包括在容纳无线计算设备的组件(诸如处理器组件、存储器组件、类似组件或它们的组合)的外壳内部。
[0050]
通常,可以在给定的地理区域中部署任意数量的通信系统和任意数量的计算网络。每个通信系统和无线网络可以支持特定的无线电接入技术(rat),并且可以在一个或多个频率上进行操作。rat也可以称为无线电技术、空中接口等。频率也可以称为载波、频率信道等。每个频率可以支持给定地理区域中的单个rat,以便避免不同rat的通信系统之间的干扰。在一些情况下,可以部署nr或5g rat网络。
[0051]
在一些实施方式中,两个或更多个设备(例如,示为车辆152a和车辆152b的控制器160)可以使用一个或多个侧链路信道直接进行通信(无需使用基站110a-d作为彼此进行通信的中介)。例如,车辆152a、152b可以使用对等(p2p)通信、设备到设备(d2d)通信、车辆到一切(v2x)协议(其可以包括车辆到车辆(v2v)协议、车辆到基础设施(v2i)协议、车辆到行人(v2p)协议或类似协议)、网状网络或类似网络或它们的组合。在这种情况下,车辆152a、152b中的控制器可以执行调度操作、资源选择操作以及本文在其他地方描述为由基站110a执行的其他操作。彼此通信的车辆152a、152b可以被认为是参考图1b所描述的子网络150。
[0052]
图1b是示出适用于实施各种实施例的具有组件和支持系统的系统150的系统和组件框图。参考图1a和图1b,车辆152a可以包括控制单元160,控制单元160可以包括用于控制车辆100的操作以及与类似装备的其他车辆通信的各种电路和设备。在图1b所示的示例中,控制单元160包括无线电模块162、处理器164、存储器166、输入模块168和输出模块170。控制单元160可以耦合到并被配置为控制车辆152a的驱动控制组件172、导航组件174和一个或多个传感器176。
[0053]
控制单元160可以包括处理器164,处理器164可以配置有处理器可执行指令以控制车辆152a的操纵、导航和/或其他操作,包括各种实施例的操作。处理器164可以耦合到存储器166。控制单元162可以包括输入模块168、输出模块170和无线电模块162。
[0054]
无线电模块162可以被配置用于无线通信,包括实施各种实施例的操作。如本文所述,无线电模块162可以与基站交换无线信号122并且与其他车辆152b中的控制单元交换无线信号124。在一些实施例中,无线电模块162还可以使车辆152a(例如,信息娱乐系统)能够通过双向无线通信链路178(诸如蓝牙无线数据链路)与无线通信设备120d通信。
[0055]
输入模块168可以接收来自一个或多个车辆传感器176的传感器数据以及来自包括驱动控制部件172和导航组件174的其他组件的电子信号。输出模块170可用于与车辆152a的各种组件通信或将它们激活,包括驱动控制组件172、导航组件174和(多个)传感器176。
[0056]
控制单元160可以耦合到驱动控制组件172以控制车辆152a中与车辆的操纵和导航相关的物理元件,诸如发动机、马达、油门、转向元件、飞行控制元件、制动或减速元件等。
[0057]
控制单元160可以耦合到导航组件174,并且可以从导航组件174接收数据并且被配置为使用这些数据来确定车辆152a的当前位置和方向,以及朝向目的地的适当路线。
[0058]
处理器164和/或导航组件174可以被配置为使用与蜂窝数据网络基站110a的无线连接122与核心网络140(例如,互联网)通信。处理器164还可以被配置为通过在本文所述的应用层中执行处理器可执行指令来执行各种软件应用程序。
[0059]
虽然控制单元160被描述为包括单独的组件,但在一些实施例中,一些或全部组件(例如,处理器164、存储器166、输入模块168、输出模块170和无线电模块162)可以被集成到单个设备或模块中,诸如片上系统(soc)或系统级封装(sip)处理设备,如参考图2所描述的。这样的soc或sip处理设备可以被配置用于车辆中并且被配置为诸如具有在处理器164中执行的处理器可执行指令,以在安装到车辆中时执行各种实施例的操作。
[0060]
在一些实施方式中,通信系统100可以包括被配置为作为智能交通系统(its)的一部分进行通信的一个或多个设备。its技术可以提高驾驶员所操作的车辆与自主车辆的互通性和安全性。第三代合作伙伴计划(3gpp)定义的蜂窝车辆到一切(c-v2x)协议支持its技术,并作为车辆与周围通信设备直接通信的基础。
[0061]
c-v2x定义了提供非视线感知和更高水平可预测性的传输模式,以增强道路安全和自主驾驶。这样的c-v2x传输模式可以包括v2v、v2i和v2p,并且可以利用独立于蜂窝网络的5.9千兆赫(ghz)频谱中的频率。c-v2x传输模式还可以包括移动宽带系统和技术中的车辆到网络通信(v2n),诸如3g移动通信技术(例如,gsm演进(edge)系统、cdma 2000系统等)、4g通信技术(例如,lte、高级lte、wimax等)以及5g系统。
[0062]
各种实施例可以在多个单处理器和多处理器计算机系统上实现,包括片上系统(soc)或系统级封装(sip)。图2示出了可以在实现各种实施例的计算设备中使用的示例性计算系统或sip 200架构。
[0063]
参考图1和图2,所示的示例性sip 200包括两个soc 202和204、时钟206和电压调节器208。在一些实施例中,第一soc 202可以作为计算设备的中央处理但单元(cpu)操作,其通过执行由指令指定的算术、逻辑、控制和输入/输出(i/o)操作来执行软件应用程序的指令。在一些实实施例中,第二soc 204可以作为专用处理单元操作。例如,第二soc 204可以作为专门的5g处理单元操作,其负责管理高容量、高速(例如5gbps等)或甚高频短波长(例如28ghz毫米波频谱等)通信。
[0064]
第一soc 202可以包括数字信号处理器(dsp)210、调制解调器处理器212、图形处
理器214、应用处理器216、连接到一个或多个处理器的一个或多个协处理器218(例如矢量协处理器)、存储器220、定制电路222、系统组件和资源224、互连/总线模块226、一个或多个温度传感器230、热管理单元232和热功率包络(tpe)组件234。第二soc 204可以包括5g调制解调器处理器252、功率管理单元254、互连/总线模块264、多个毫米波收发器256、存储器258和各种附加处理器260,诸如应用处理器、分组处理器等。
[0065]
每个处理器210、212、214、216、218、252、260可以包括一个或多个核,并且每个处理器/核可以独立于其他处理器/核执行操作。例如,第一soc 202可以包括执行第一类操作系统(例如freebsd、linux、os x等)的处理器和执行第二类操作系统(例如微软windows 10)的处理器。此外,处理器210、212、214、216、218、252、260中的任一个或全部可以被包括作为处理器集群架构(例如同步处理器集群架构、异步或异构处理器集群架构等)的一部分。
[0066]
第一soc 202和第二soc 204可以包括各种系统组件、资源和定制电路,以用于管理传感器数据、模数转换、无线数据传输,以及用于执行其他专门操作,诸如解码数据分组和处理编码音频和视频信号以用于在web浏览器中呈现。例如,第一soc 202的系统组件和资源224可以包括功率放大器、电压调节器、振荡器、锁相环、外围桥、数据控制器、存储器控制器、系统控制器、接入端口、定时器和用于支持在计算设备上运行的处理器和软件客户端的其他类似组件。系统组件和资源224和/或定制电路222还可以包括与外围设备接口的电路,外围设备为诸如相机、电子显示器、无线通信设备、外部存储器芯片等。
[0067]
第一soc 202和第二soc 204可以经由互连/总线模块250进行通信。各种处理器210、212、214、216、218可以经由互连/总线模块226互连到一个或多个存储器元件220、系统组件和资源224以及定制电路222和热管理单元232。类似地,处理器252可以经由互连/总线模块264互连到功率管理单元254、毫米波收发器256、存储器258和各种附加处理器260。互连/总线模块226、250、264可以包括可重构逻辑门阵列和/或实现总线架构(例如coreconnect、amba等)。通信可以由高级互连提供,诸如高性能片上网络(noc)。
[0068]
第一soc 202和/或第二soc 204还可以包括输入/输出模块(未示出),以用于与soc外部的资源通信,诸如时钟206和电压调节器208。soc外部的资源(例如时钟206、电压调节器208)可以由两个或更多个内部soc处理器/核共享。
[0069]
除了上面讨论的示例性sip 200之外,各种实施例可以在各种各样的计算系统中实现,这些计算系统可以包括单个处理器、多个处理器、多核处理器或它们的任何组合。
[0070]
图3示出了软件架构300的示例,该软件架构包括用于车辆控制器160(例如,车辆152a的控制器,或sip 200)和第二车辆152b中的第二计算设备350之间的无线通信中的用户和控制平面的无线电协议栈。在一些实施例中,车辆控制器160和第二车辆152b的第二计算设备350可以经由d2d通信或其他合适的设备到设备通信方法进行通信。参考图1至图3,车辆控制器160可以实现软件架构300以与通信系统(例如,100)的第二车辆152b进行通信。在各种实施例中,第一车辆152a的车辆控制器160中的软件架构300中的层可以与第二车辆152b的第二计算设备350的软件中的对应层形成逻辑连接。软件架构300可以分布在一个或多个处理器(例如处理器212、214、216、218、252、260)中。虽然关于一个无线电协议栈进行例示说明,但在多sim(用户身份模块)无线计算设备中,软件架构300可以包括多个协议栈,每个协议栈可以与不同的sim相关联(例如,在双sim无线通信设备中两个协议栈分别与两
个sim相关联)。虽然下面参考lte通信层进行描述,但是软件架构300可以支持用于无线通信的多种标准和协议中的任何一种,并且/或者可以包括支持多种标准和协议无线通信中的任何一种的附加协议栈。
[0071]
软件架构300可以包括非接入层面(nas)302和接入层面(as)304。nas 302可以包括支持分组过滤、安全管理、移动性控制、会话管理以及无线计算设备的(多个)sim(诸如sim 204)与其核心网络140之间的流量和信令的功能和协议。as 304可以包括支持(多个)sim(例如sim 204)和所支持的接入网络的实体(例如基站)之间的通信的功能和协议。具体地,as 304可以包括至少三层(第1层、第2层和第3层),每个层可以包含各种子层。
[0072]
在用户和控制平面中,as 304的第1层(l1)可以是物理层(phy)306,其可以监督通过空中接口实现发送和/或接收的功能。这种物理层306功能的示例可以包括循环冗余校验(crc)附件、编解码块、加扰和解扰、调制和解调、信号测量、mimo等。物理层可以包括各种逻辑信道,包括物理下行链路控制信道(pdcch)和物理下行链路共享信道(pdsch)。
[0073]
在用户和控制平面中,as 304的第2层(l2)可以负责第一车辆152a的控制器160和第二车辆152b的第二控制器之间通过物理层306的链路。在各种实施例中,第2层可以包括媒体访问控制(mac)子层308、无线电链路控制(rlc)子层310和分组数据汇聚协议(pdcp)312子层,每个子层形成终止于第二车辆152b的控制器的逻辑连接。
[0074]
在控制平面中,as 304的第3层(l3)可以包括无线电资源控制(rrc)子层3。虽然未示出,但软件架构300可以包括附加的第3层子层,以及第3层之上的各种上层。在各种实施例中,rrc子层313可以提供包括广播系统信息、寻呼以及在第一车辆152a的控制器160和第二车辆152b的控制器之间建立和释放rrc信令连接的功能。来自应用层的直接通信消息可以直接在l2或l3上传输,也可以经由另一个信令层(例如,pc5信令或pc5-s)在l2或l3上传输。
[0075]
在各种实施例中,pdcp子层312可以提供上行链路功能,包括不同无线电承载和逻辑信道之间的复用、序列号添加、切换数据处理、完整性保护、加密和报头压缩。在下行链路中,pdcp子层312可以提供包括数据分组的按序传递、重复数据分组检测、完整性验证、解密和报头解压缩的功能。
[0076]
在上行链路中,rlc子层310可以提供上层数据分组的分段和级联、丢失数据分组的重传以及自动重传请求(arq)。在下行链路中,虽然rlc子层310的功能可以包括对数据分组进行重新排序以补偿无序接收、重新组装上层数据分组和arq。
[0077]
在上行链路中,mac子层308可以提供包括逻辑和传输信道之间的复用、随机接入过程、逻辑信道优先级和混合arq(harq)操作的功能。在下行链路中,mac层功能可以包括小区内信道映射、解复用、非连续接收(drx)和harq操作。
[0078]
虽然软件架构300可以提供通过物理介质发送数据的功能,但是软件架构300还可以包括至少一个主机层314,以向第一车辆152a的控制器160中的各种应用提供数据传送服务。在一些实施例中,由至少一个主机层314提供的应用特定功能可以提供软件架构和通用处理器206之间的接口。
[0079]
在其他实施例中,软件架构300可以包括提供主机层功能的一个或多个更高逻辑层(例如传输层、会话层、表示层、应用层等)。例如,在一些实施例中,软件架构300可以包括网络层(例如ip层),在网络层中逻辑连接终止于数据分组网络(pdn)网关(pgw)。在一些实
施例中,软件架构300可以包括应用层,在应用层中逻辑连接终止于另一设备(例如终端用户设备、服务器等)。在一些实施例中,软件架构300还可以在as 304中包括物理层306和通信硬件(例如一个或多个射频收发器)之间的硬件接口316。
[0080]
图4是示出根据各种实施例的被配置用于在第一计算设备和第二计算设备之间提供安全通信的系统400的组件框图。在一些实施例中,系统400可以包括一个或多个车辆计算设备402和/或一个或多个其他车辆计算设备404。参考图1至图4,车辆计算设备402可以包括基站(例如,基站110a-110d)、车辆152a、152b的控制器160,和/或计算设备(例如,无线计算设备120a-120c、200)。其他车辆计算设备404可以包括基站(例如,基站110a-110d)、车辆152a、152b的控制器160,和/或计算设备(例如,无线计算设备120a-120c、200)。
[0081]
车辆计算设备402可以由机器可读指令406配置。机器可读指令406可以包括一个或多个指令模块。指令模块可以包括计算机程序模块。指令模块可以包括安全密钥建立信息确定模块408、安全密钥提供模块410、安全密钥建立信息接收模块412、安全密钥确定模块414、通信层接收模块416、算法选择模块418、加密和/或完整性算法模块420、应用软件提供模块422、应用软件接收模块424和/或其他指令模块中的一个或多个。
[0082]
安全密钥建立信息确定模块408可以被配置为在第一计算设备的处理器中执行的第一应用软件中确定第一安全密钥建立信息。在一些实施例中,第一应用软件可以是在第一计算设备的处理器中执行的应用层的第一应用。在一些实施例中,第一计算设备可以是第一车辆的第一车载计算设备。
[0083]
安全提供模块410可以被配置为以格式将第一安全密钥建立信息提供给第一计算设备的通信层以由通信层传输给第二计算设备。在一些实施例中,第一计算设备的通信层可以是第一计算设备的pc5层。在一些实施例中,根密钥可以是256位密钥。在一些实施例中,安全提供模块410可以被配置为将第二安全密钥提供给通信层以用于加密从第二应用软件到第二计算设备的消息传输。在一些实施例中,安全提供模块410可以被配置为向通信层提供其他安全密钥建立信息以用于传输给第二计算设备。在一些实施例中,安全密钥提供模块410可以被配置为将第一安全密钥提供给通信层以供通信层用于加密从第一应用软件到第二计算设备的消息传输。
[0084]
安全密钥建立信息接收模块412可以被配置为在第一应用软件中从第一计算设备的通信层接收从第二计算设备接收的第二安全密钥建立信息。在一些实施例中,第一安全密钥建立信息和第二安全密钥建立信息可以包括需要在两个应用之间交换以使两个应用能够就用于一对一通信的根密钥达成一致的信息。在一些实施例中,控制平面承载可以是第一计算设备和第二计算设备之间的pc5接口的控制平面承载。
[0085]
安全密钥确定模块414可以被配置为由第一应用软件至少部分地基于从第二计算设备接收的第二安全密钥建立信息来确定第一安全密钥。在一些实施例中,安全密钥确定模块414可以被配置为由在处理器中执行的第二应用软件至少部分地基于所接收的第三安全密钥建立信息和第二应用软件已知的信息来确定第二安全密钥和第三安全密钥建立信息。
[0086]
通信层接收模块416可以被配置为在第一计算设备的处理器中执行的第二应用软件中从通信层接收由第二计算设备发送的第三安全密钥建立信息。
[0087]
算法选择模块418可以被配置为由第一应用软件选择用于加密从第一应用软件到
第二计算设备的消息的加密算法。加密和/或完整性算法模块420可以被配置为将所选择的加密算法和/或完整性算法包括在第一安全密钥建立信息中。
[0088]
应用软件提供模块422可以被配置为由第一应用软件向通信层提供用于传输给第二计算设备的进一步的安全密钥建立信息。应用软件接收模块424可以被配置为由第一应用软件从通信层接收从第二计算设备接收的进一步的安全密钥建立信息。
[0089]
图5a和图5b是示出根据各种实施例的用于在第一计算设备和第二计算设备之间提供安全通信的方法500的过程流程图和消息流程图。参考图1至图5b,方法500可以由计算设备(诸如第一车辆152a的控制器160,无线计算设备120a-120c、200)的处理器(诸如212、216、252或260)来实现。
[0090]
在框502中,处理器可以在第一计算设备的处理器中执行的第一应用软件中确定第一安全密钥建立信息。例如,第一计算设备(例如,计算设备1)中的处理器可以在第一应用软件(例如,cd1应用层)中确定第一安全密钥建立信息(例如,key_est_info)。在一些实施例中,第一安全密钥建立信息可以包括可以使第二计算设备能够确定根密钥(例如,kd)的信息。在一些实施例中,第一应用软件可以是在第一计算设备的处理器中执行的应用层的第一应用。在一些实施例中,第一应用可以包括车辆到一切应用。在一些实施例中,第一计算设备可以包括第一车辆的第一车载计算设备。在一些实施例中,第二计算设备可以包括第二车辆的第二车载计算设备。在一些实施例中,第一安全密钥建立信息可以与建立通信的请求一起发送,而在其他实施例中,第一安全密钥建立信息可以响应于这样的请求而发送。在一些实施例中,安全密钥建立信息对通信层是透明的。在这样的实施例中,通信层并不理解安全密钥建立信息。这使得不同的应用软件可以使用不同的密钥建立方法,也使得应用能够改变其密钥建立方法。
[0091]
在框504中,处理器可以以格式将第一安全密钥建立信息提供给第一计算设备的通信层以由通信层传输给第二计算设备。例如,处理器可以从应用层(wd1应用层)向通信层(wd1通信层)提供包括安全密钥建立信息(例如,key_est_info)的消息1a(图5b)。在一些实施例中,用于由通信层传输的格式可以包括按照一定方式提供、封装或包装由第一应用软件提供的第一安全密钥建立信息,该方式使得通信层能够传输第一安全密钥建立信息而无需通信层对信息本身执行任何处理,诸如在消息包装器或消息容器中。
[0092]
在一些实施例中,处理器可以经由通信层将安全密钥建立信息(例如,消息1b)传输给第二计算设备(例如,计算设备2)。在一些实施例中,消息1b可以包括直接连接请求。在一些实施例中,可以将消息1b广播到一个或多个设备。在一些实施例中,直接连接请求可以包括安全密钥建立信息。第二计算设备的处理器可以在通信层接收安全密钥建立信息,并且可以在应用层(例如,cd2应用层)中将安全密钥建立信息(例如,消息1c)提供给运行在第二计算设备上的应用。在一些实施例中,多于一个的计算设备可能对建立与第一计算设备的直接通信感兴趣。在这种情况下,每个感兴趣的设备可以作为本文描述的第二计算设备独立地响应,以便在两个通信设备之间建立共享的根密钥(即,kd)。
[0093]
在各种实施例中,第一计算设备和第二计算设备可以在一个或多个消息或传输中交换安全密钥建立信息的一个或多个元素。例如,消息2a、2b和2c表示其中在第二计算设备的处理器中执行的第二应用能够根据从第一计算设备接收的安全密钥建立信息导出安全密钥(kd)的场景。在这种情况下,在第二计算设备上执行的应用可以将导出的安全密钥从
应用程序层(cd2应用层)提供给通信层(cd2通信层)。在第二计算设备上执行的应用还可以向第二计算设备的通信层提供附加的安全密钥建立信息。第二计算设备的通信层可以在消息2b中将附加的安全密钥建立信息提供给第一计算设备的通信层(cd2通信层)。第一计算设备的通信层可以在消息2c中将附加的安全密钥建立信息提供给在第一计算设备的应用层中执行的第一应用软件。在一些实施例中,第二计算设备可以省略消息2a-2c、3a-3c和4a-4c,并且可以用消息5a来对消息1c作出响应。
[0094]
消息3a、3b和3c表示第一计算设备和第二计算设备之间的安全密钥建立信息的一个或多个附加交换。在一些实施例中,在第一计算设备和第二计算设备的每一个中执行的应用可能需要不同类型的凭证来确定安全密钥。例如,不同类型的长期密钥可能需要在第一计算设备和第二计算设备中执行的应用之间交换不同类型的信息、不同数量的信息等。当应用能够确定安全密钥(kd)时,应用将所确定的安全密钥提供给通信层。例如,当在第一计算设备的应用层中执行的应用确定安全密钥时,应用可以经由如消息3a所示的消息将安全密钥提供给第一计算设备的通信层。类似地,当在第二计算设备的应用层中执行的应用确定安全密钥时,应用可以经由如消息3c所示的消息将安全密钥提供给第二计算设备的通信层。消息3a、3b和3c是任选的,并且在一些实施例中,不发送消息3a、3b和3c。
[0095]
消息4a、4b和4c可以表示其中在第一计算设备中执行的应用先于在第二计算设备中执行的应用确定安全密钥的场景。在这种情况下,在第一计算设备的应用层(cd1应用层)中执行的应用可以将安全密钥提供给第一计算设备的通信层(cd1通信层)。在一些实施例中,第一计算设备的应用可以向第一计算设备的通信层提供进一步的安全密钥建立信息,并且第一计算设备的通信层可以在消息4b中将附加的安全密钥建立信息提供给第二计算设备的通信层(cd2通信层)。第二计算设备的通信层可以在消息4c中将附加的安全密钥建立信息提供给在第二计算设备的应用层中执行的第二应用软件。当在第二计算设备的应用层(cd2应用层)中执行的应用能够确定安全密钥时,应用可以在消息5a中将所确定的安全密钥提供给第二计算设备的通信层(cd2通信层)。
[0096]
消息5a、5b和5c表示其中在第二计算设备上执行的应用能够先于在第一计算设备上执行的应用确定安全密钥的场景。如上所述,在第二计算设备上执行的应用可以在消息5a中将所确定的安全密钥提供给第二计算设备的通信层(cd2通信层)。第二计算设备的应用可以向第二计算设备的通信层提供进一步的安全密钥建立信息,并且第二计算设备的通信层可以在消息5b中将附加的安全密钥建立信息提供给第一计算设备的通信层(cd1通信层)。在一些实施例中,消息5b可以包括直接安全模式(sm)命令。在一些实施例中,消息5b可以包括指示由第二计算设备所选择的安全上下文确定的买方的信息。例如,消息5b可以包括指示第二计算设备已经选择的完整性算法或加密算法的信息。第一计算设备的通信层可以在消息5c中将附加的安全密钥建立信息提供给在第一计算设备的应用层中执行的第一应用软件。
[0097]
在一些实施例中,当在第一计算设备的应用层(cd1应用层)中执行的应用能够确定安全密钥时,应用可以在消息6a中将所确定的安全密钥提供给第一计算设备的通信层(cd1通信层)。
[0098]
在框506中,第一计算设备的处理器可以在第一应用软件中从第一计算设备的通信层接收从第二计算设备接收的第二安全密钥建立信息。例如,第一计算设备的处理器可
以在通信层接收第二安全密钥建立信息,并且可以将第二安全密钥建立信息(例如消息2c)提供给应用层(例如cd1应用层)。
[0099]
在一些实施例中,第一安全密钥建立信息和第二安全密钥建立信息可以包括需要在两个应用之间交换以使两个应用能够相互认证并就用于一对一通信的根密钥达成一致的信息。在一些实施例中,根密钥可以包括256位密钥。
[0100]
在框508中,第一计算设备的处理器可以由第一应用软件至少部分地基于从第二计算设备接收的第二安全密钥建立信息来确定第一安全密钥。在一些实施例中,第二安全密钥建立信息可以包括可以使第一计算设备能够确定根密钥(例如,kd)的信息。在一些实施例中,在处理器上执行的第一应用软件可以用来确定第一安全密钥的方法对于第一计算设备的通信层可以是未知的。在一些实施例中,可以改变或修改第一应用软件可以用来确定第一安全密钥的方法而不需要对通信层进行任何改变。
[0101]
在框510中,第一计算设备的处理器可以将第一安全密钥提供给通信层以供通信层用于保护从第一应用软件到第二计算设备的消息传输。在一些实施例中,保护从第一应用软件到第二计算设备的消息传输可以包括在第一计算设备的通信层和第二计算设备的通信层之间建立受保护的(即,被加密或完整性受保护中的至少一种)隧道。
[0102]
在一些实施例中,处理器可以使用相同的安全密钥建立信息来执行密钥确定过程的单独运行以导出用于保护在第一计算设备上的第一应用软件和在第二计算设备上执行的应用软件之间的通信的密钥。
[0103]
在一些实施例中,第一计算设备的处理器可以在消息6b中经由第一计算设备的通信层(cd1通信层)向第二计算设备的通信层(cd2通信层)发送指示在第一计算设备和第二计算设备之间成功建立安全上下文的消息。
[0104]
在一些实施例中,第二计算设备的处理器可以在消息7中向第一计算设备发送直接连接接受消息。在一些实施例中,第二计算设备的处理器可以在消息8中发送承载设置消息(例如,rrc用户平面承载设置)。在一些实施例中,承载设置消息可以包括代表(多个)应用建立的直接通信承载的安全简档信息。
[0105]
图6a至图6e是示出根据各种实施例的用于在第一计算设备和第二计算设备之间提供安全通信的方法600a至600e的过程流程图,其可以作为方法500(图5)的一部分或与之相结合来执行。参考图1至图6e,方法600a至600e可以由计算设备(诸如车辆152a的控制器160,或无线计算设备120a-120c、200)的处理器(诸如212、216、252或260)来实现。
[0106]
在一些实施例中,第一计算设备和第二计算设备可以发送和接收包括各种密钥建立信息的多个消息,以使得在每个计算设备中执行的应用能够确定安全密钥。参考图6a,在框510(图5a)的操作之后的一些实施方式中,在框602中,第一应用软件(即,在第一计算设备的处理器中执行的应用软件)可以从通信层接收由第二计算设备发送的第三安全密钥建立信息。
[0107]
在框508a中,处理器可以由在处理器中执行的第一应用软件至少部分地基于接收的第二安全密钥建立信息和第三安全密钥建立信息来确定第一安全密钥。处理器然后可以执行方法500的框510的操作,如参考图5a所描述的。
[0108]
参考图6b,在框510(图5a)的操作之后的一些实施方式中,在框608中,处理器可以由第一应用软件选择用于确定第一安全密钥建立信息的内容的密钥建立算法。
[0109]
在框610中,处理器可以在第一安全密钥建立信息中指示所选择的密钥建立算法。在一些实施例中,处理器可以包括指示所选择的密钥建立算法的信息的一个或多个元素。
[0110]
参考图6c,在框510(图5a)的操作之后的一些实施方式中,在框612中,处理器可以在第一计算设备的处理器中执行的第二应用软件中从通信层接收由第二计算设备发送的第四安全密钥建立信息。例如,在第一计算设备的处理器中执行的两个或更多个应用可以与在第二计算设备的处理器中执行的两个或更多个应用进行通信。
[0111]
在框614中,处理器可以由第二应用软件至少部分地基于从第二计算设备接收的第四安全密钥建立信息来确定第二安全密钥。例如,在第一计算设备和第二计算设备上执行的不同应用可以为它们的通信确定不同的安全密钥。
[0112]
参考图6d,在框614(图6c)的操作之后的一些实施方式中,在框616中,处理器可以由第二应用软件根据从第二计算设备接收的第四安全密钥建立信息中的信息来确定从第二应用软件到第二计算设备要使用的密钥建立机制。
[0113]
参考图6e,在框510(图5a)的操作之后的一些实施方式中,在框616中,处理器可以由第一应用软件向通信层提供用于传输给第二计算设备的进一步的安全密钥建立信息。
[0114]
在框618中,处理器可以由第一应用软件从通信层接收从第二计算设备接收的进一步的安全密钥建立信息。
[0115]
在框620中,处理器可以由第一应用软件使用进一步的安全密钥建立信息来确定第一安全密钥。
[0116]
参考图6f,在框510(图5a)的操作之后的一些实施方式中,在框622中,处理器可以由第一应用软件将数据分组提供给通信层以传输给第二计算设备。
[0117]
在框624中,处理器可以由通信层使用第一安全密钥来保护数据分组。在一些实施例中,通信层可以使用第一安全密钥来与第二计算设备的通信层建立安全隧道或加密隧道。
[0118]
在框626中,处理器可以将受保护的数据分组传输给第二计算设备。在一些实施例中,处理器可以由通信层使用prose协议来将受保护的数据分组传输给第二通信设备。在一些实施例中,将受保护的数据分组传输给第二计算设备可以包括在通信层的控制平面承载上将受保护的数据分组传输给第二计算设备。在一些实施例中,控制平面承载可以包括第一计算设备和第二计算设备之间的pc5接口的控制平面承载。在一些实施例中,将受保护的数据分组传输给第二计算设备可以包括:由通信层使用第一安全密钥来保护来自第一应用软件的数据分组,以及在通信层的用户平面承载上将受保护的数据分组传输给第二计算设备。
[0119]
各种实施例可以在各种网络设备上实现,其示例在图7中以网络计算设备700的形式示出,该网络计算设备用作通信网络的网络元件,诸如基站。这种网络计算设备可以至少包括图7中所示的组件。参考图1至图7,网络计算设备700通常可以包括耦合到易失性存储器702和大容量非易失性存储器(诸如磁盘驱动器703)的处理器701。网络计算设备700还可以包括外围存储器访问设备,诸如耦合到处理器701的软盘驱动器、压缩光盘(cd)或数字视频光盘(dvd)驱动器706。网络计算设备700还可以包括耦合到处理器701的网络接入端口704(或接口),以用于建立与诸如互联网和/或耦合到其他系统计算机和服务器的局域网的网络的数据连接。网络计算设备700可以包括用于发送和接收电磁辐射的一个或多个天线
707,一个或多个天线707可以连接到无线通信链路。网络计算设备700可以包括附加的接入端口,诸如usb、火线(firewire)、雷电接口(thunderbolt)等,以用于耦合到外围设备、外部存储器或其他设备。
[0120]
各种实施例可以在各种无线计算设备(例如,车辆152a的控制器160,或无线计算设备120a-120c、200)上实现,其示例在图8中以智能手机800的形式示出。智能手机800可以包括耦合到第二soc 204(例如具有5g能力的soc)的第一soc 202(例如soc-cpu)。第一soc 202和第二soc 204可以耦合到内部存储器806和816、显示器812以及扬声器814。此外,智能手机800可以包括用于发送和接收电磁辐射的天线804,天线804可以连接到无线数据链路和/或蜂窝电话收发器808,该蜂窝电话收发器耦合到第一soc 202和/或第二soc 204中的一个或多个处理器。智能手机800通常还包括用于接收用户输入的菜单选择按钮或摇臂开关820。
[0121]
典型的智能手机800还包括声音编码/解码(codec)电路810,声音编码/解码(codec)电路810将从麦克风接收的声音数字化为适合无线传输的数据分组并且解码所接收的声音数据分组以生成提供给扬声器来生成声音的模拟信号。此外,第一soc 202和第二soc 204中的一个或多个处理器、无线收发器808和codec 810可以包括数字信号处理器(dsp)电路(未单独示出)。
[0122]
无线网络计算设备700和智能手机800的处理器可以是任何可编程微处理器、微型计算机或多处理器芯片或多个芯片,它们可以通过软件指令(应用)进行配置以执行各种功能,包括以下所描述的各种实施例的功能。在一些无线计算设备中,可以提供多个处理器,诸如soc 204内的一个处理器专用于无线通信功能,而soc 202内的一个处理器专用于运行其他应用。通常,软件应用可以在它们被访问和加载到处理器中之前被存储在存储器806、816中。处理器可以包括足以存储应用软件指令的内部存储器。
[0123]
如在本技术中所使用的,术语“组件”、“模块”、“系统”等旨在包括与计算机有关的实体,诸如但不限于硬件、固件、硬件和软件的组合、软件或执行中的软件,它们被配置为执行特定操作或功能。例如,组件可以是但不限于是,在处理器上运行的过程、处理器、对象、可执行文件、执行线程、程序和/或计算机。作为例示说明,在计算设备上运行的应用和计算设备的电路(例如,soc)均可以被称为组件。一个或多个组件可以驻留在过程和/或执行线程中,并且某个组件可以位于一个处理器或核上和/或分布在两个或多个处理器或核之间。此外,这些组件可以通过其上存储有各种指令和/或数据结构的各种非暂时性计算机可读介质执行。组件可以通过本地和/或远程过程、功能或进程调用、电子信号、数据分组、存储器读/写和其他已知的网络、计算机、处理器和/或过程相关的通信方法进行通信。
[0124]
许多不同的蜂窝和移动通信服务和标准在未来是可用的或预期的,所有这些都可以实施并受益于各种实施例。此类服务和标准包括,例如第三代合作伙伴计划(3gpp)、长期演进(lte)系统、第三代无线移动通信技术(3g)、第四代无线移动通信技术(4g)、第五代无线移动通信技术(5g)、全球移动通信系统(gsm)、通用移动电信系统(umts)、3gsm、通用分组无线电服务(gprs)、码分多址(cdma)系统(例如cdmaone、cdma1020tm)、增强数据速率gsm演进(edge)、高级移动电话系统(amps)、数字amps(is-136/tdma)、演进数据优化(ev-do)、数字增强型无绳电信(dect)、全球微波接入互操作性(wimax)、无线局域网(wlan)、wi-fi保护接入i和ii(wpa、wpa2)和集成数字增强网络(iden)。例如,这些技术中的每一种都涉及语
音、数据、信令和/或内容消息的发送和接收。应当理解,任何对与单个电信标准或技术相关的术语和/或技术细节的引用仅用于例示说明目的,除非在权利要求中特别说明,否则并不旨在将权利要求的范围限制为特定的通信系统或技术。
[0125]
所示和描述的各种实施例仅作为示例提供以例示说明权利要求的各种特征。然而,关于任何给定实施例所示和描述的特征不一定限于相关联的实施例并且可以与所示和描述的其他实施例一起使用或组合。此外,权利要求不旨在受限于任何一个示例性实施例。例如,方法500和600a至600f的一个或多个操作可以被方法500和600a至600f的一个或多个操作替换或与之组合。
[0126]
以上方法描述和过程流程图仅被提供作为例示性示例,而并非旨在要求或暗示各种实施例的操作必须按照所提出的顺序执行。如本领域技术人员将理解的,前述实施例中的操作顺序可以以任何顺序执行。诸如“之后”、“随后”、“下一”等的词语并非旨在限制操作的次序,这些词语用于引导读者完成方法的描述。此外,以单数形式对权利要求要素的任何引用(例如,通过使用冠词“一”、“一个”或“该”)不应被解释为将要素限制为单数。
[0127]
结合本文中所公开的实施例进行描述的各种例示性的逻辑块、模块、组件、电路以及算法操作可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地例示说明硬件和软件的这种可互换性,以上已经大体上根据它们的功能描述了各种例示性的组件、块、模块、电路以及操作。此类功能是被实现为硬件还是软件取决于特定应用以及施加在整体系统上的设计约束。技术人员可以针对每种特定应用按照不同方式实现所述功能,但是此类实施例决策不应当被解释为导致脱离了权利要求的范围。
[0128]
用于实现结合本文公开的实施例所描述的各种例示性逻辑、逻辑块、模块和电路的硬件可以用被设计为执行本文所述功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑装置、分立门或晶体管逻辑、分立硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但是另选地,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为接收器智能对象的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器与dsp内核的结合,或者任何其它这样的配置。另选地,一些操作或方法可以由特定于给定功能的电路来执行。
[0129]
在一个或多个实施例中,所描述的功能可以以硬件、软件、固件或它们的任何组合来实现。如果以软件实现,则功能可以被存储为在非暂时性计算机可读存储介质或者非暂时性处理器可读存储介质上的一个或多个指令或代码。本文所公开的方法或算法的操作可以按照处理器可执行的软件模块或处理器可执行的指令来体现,其可以驻留在非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可由计算机或处理器访问的任何存储介质。以举例的方式而非限制,此类非暂时性计算机可读或处理器可读介质可以包括ram、rom、eeprom、闪存存储器、cd-rom或其他的光盘存储、磁盘存储或其他磁性存储智能对象,或者可以用于存储采用指令或数据结构形式的所需程序代码并且可以通过计算机访问的任何其他介质。如本文所使用的,磁盘和光盘包括光碟(cd)、激光光盘、光学光盘、数字化通用光盘(dvd)、软盘以及蓝光光盘,其中磁盘通常磁性地复制数据,而光盘利用激光光学地复制数据。以上的组合也包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令的一个或任
何组合或集合驻留在非暂时性处理器可读存储介质和/或计算机可读存储介质上,它们可以被结合到计算机程序产品中。
[0130]
所公开实施例的以上描述被提供为使本领域技术人员能够实现或使用权利要求。对这些实施例的各种修改对于本领域技术人员而言将是显而易见的,并且在不脱离权利要求范围的前提下在本文中定义的一般性原理可以应用于其他实施例。因此,本公开并不旨在被限制于本文中所示的实施例,而是应当被赋予符合以下权利要求以及本文所公开原理和新颖特征的最宽泛的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献