本申请根据35U.S.C.§119(e)要求递交于2015年1月19日的美国临时申请号62/105,000、以及递交于2015年3月31日的美国临时申请号62/140,926的权益,这两个申请通过引用整体合并于此。
具体实施方式
以下提供对与本公开的实施例一致的系统和方法的详细描述。虽然描述了一些实施例,但应当理解本公开不限于任何一个实施例,而是包括许多替代、修改和等效。此外,虽然在下面的描述中阐述了许多具体细节以提供对本文公开的实施例的透彻理解,但可以在没有这些细节中的一些或全部的情况下实践一些实施例。此外,为清楚起见,没有详细描述相关技术中已知的某些技术材料,以避免不必要地使本公开变得模糊。
公开了使用基于分组数据汇聚协议(PDCP)的封装而无需互联网协议(IP)寻址来实现设备到设备(D2D)通信的技术、装置和方法。非IP D2D PDCP封装的通信还可以包括两种形式的安全数据传输。第一非IP D2D PDCP封装的通信可以是经协商的非IP D2D PDCP封装的通信。第二非IP D2D PDCP封装的通信可以是非经协商的非IP D2D通信。非经协商的非IP D2D PDCP封装的通信可以包括共用密钥管理服务器(KMS)版本和分布式KMS版本。封装的通信可以用于各种协议,包括PC5和车辆环境中的无线接入(WAVE)协议。
例如,PDCP头部包括服务数据单元类型(SDU类型)。SDU类型可以定义新的SDU类型以包括PC5协议(例如PC5信令协议)。PDCP头部可以使用新的PC5协议类型来指示将使用不需要IP地址支持的PC5协议。替代地,可以使用层2ID(例如,PC5MAC层标识符)。发送UE可以发送直接通信请求消息给接收UE。接收UE可以执行认证过程以允许PC5上的安全层2链路。随后,发送UE可以将用户数据作为有效载荷在PC5协议消息(例如,用户数据消息)内发送。
在另一示例中,可以修改SDU类型以包括逻辑链路控制/子网络接入协议(LLC/SNAP)类型。随后可以使用LLC/SNAP封装来在以太类型字段中标识:将使用PC5协议(例如PC5信令协议)。发送UE和接收UE被配置为使用基于身份的密码技术并且依赖于共用信任根。发送UE获知接收UE的层2ID和公共身份信息。发送UE使用下述项来构建PC5数据报消息:公共身份信息、针对基于身份的加密的基于椭圆曲线的无证书签名(ECCSI)的签名、Sakai-Kasahara密钥加密(SAKKE)有效载荷以及以SAKKE有效载荷中的密钥加密的用户数据。发送UE通过PDCP将由LLC/SNAP封装的PC5数据报消息发送到接收UE。
无线移动通信技术使用各种标准和协议在基站和无线移动设备之间传输数据。无线通信系统标准和协议可以包括:第三代合作伙伴计划(3GPP)长期演进(LTE);电气和电子工程师协会(IEEE)802.16标准(业界通常将其称为全球微波接入互操作性(WiMAX));以及IEEE802.11标准(业界通常将其称为Wi-Fi)。在LTE系统中的3GPP无线电接入网络(RAN)中,基站可以包括演进通用陆地无线电接入网(E-UTRAN)节点B(通常也表示为演进节点B、增强型节点B、eNodeB或eNB)和/或E-UTRAN中的无线电网络控制器(RNC),其与称为用户设备(UE)的无线通信设备通信。
可以使用IP传输来在两个设备(两个UE)之间传输数据。3GPP设备到设备(D2D)版本12(又称临近服务-(ProSe))规范支持基于IP的通信[3GPP TR 23.303,36.300]。然而在某些情况下,使用IP不是最佳方法。例如,使用小型设备来进行机器到机器通信。由于在实现方面被认为太过昂贵,小型设备可能不支持IP。在另一示例中,要发送的数据非常小,从而IP头部的开销无法被证明为合理的。
非IP分组的数据传输可以例如通过用户平面传输(例如,分组在用户平面中作为PDCP SDU发送)在两个设备之间发生。此外,可以通过经由PC5协议(例如PC5信令协议)将分组背负(piggyback)到信令消息中来在两个设备之间传输数据。这种方法:1)不需要当前解决方案中所需的IP头部开销,2)不需要在PDCP中添加新的SDU类型,并且3)重复使用PC5信令协议3GPP TR 23.713。
在1中,在多种类型的设备之间的环境100中示出非IP D2D PDCP封装的通信。非IPD2D PDCP封装的通信可以根据通信内容进行分类。虽然D2D描述了通用系统(例如在移动设备102和移动设备104之间),但在D2D定义下还包括其它具体实施例。例如,设备到基础设施(D2I)通信发生在移动设备102和诸如增强路标108(包括路边单元(RSU))之类的固定系统之间。在另一示例中,设备到车辆(D2V)通信发生在移动设备102和车辆106之间。在一个示例中,车辆到基础设施(V2I)通信发生在车辆106和诸如增强路标108(包括RSU)之类的固定系统之间。在示例中,非IP D2D PDCP封装的通信位于诸如控制冰箱的蜂窝电话之类的家庭传感器之间。在一个示例中,家用电器(例如,洗衣机、烘干机、空调)由用电力箱基于在电力网中的当前功率利用情况使用非IP D2D PDCP封装的通信来控制。其它互通示例是可能的和预期中的,其中一些在下面进一步描述。
非IP D2D PDCP封装的通信可以再使用PC5信令协议[TR 23.713]或其它PC5协议来使得设备之间能够进行通信。通过再使用PC5信令,设备的复杂度可得以减少,这是因为设备不需要支持IP。非IP D2D PDCP封装的通信不需要IP头部开销。非IP D2D PDCP封装的通信可以消除链路建立过程中IP地址分配的开销。非IP D2D PDCP封装的通信不需要在PDCP中添加新的SDU类型,而是可以使用一个SDU类型。
图2示出了版本12ProSe[3GPP R2-145305]中的PDCP协议数据单元的实施例200。PDCP协议数据单元可以包括:SDU类型,ProSe组密钥(PGK)204,ProSe业务密钥(PTK)身份206、208,以及PDCP序列号(PDCP SN)210、212。SDU类型202是层3协议数据单元的类型。PDCP实体根据SDU类型202来以不同方式处理SDU。例如,头部压缩适用于IP SDU,但不适用于地址解析协议(ARP)SDU。下表显示所支持的SDU类型,即IP和ARP。其它值被保留。[R2-145305]
位 |
描述 |
000 |
IP |
001 |
ARP |
010-111 |
保留 |
表1-PDCP SDU类型
存在使用基于IP的通信可能不实用的用例。例如,在车辆到车辆(V2V)或车辆到基础设施(V2I)通信的情况下,数据交换(例如,各种安全警报)通常被限制在安装在车辆上的一对车载单元(OBU)之间或者在OBU和RSU之间。这些单元由专门的供应商(例如,汽车制造商或路边设备的制造商)制造,并且不需要向更广泛的应用开发者社区开放该系统。对于这种情况,使用IP可能会增加不必要的开销(例如IPv6情况下的128位)。
除了基于IP的通信之外,用于车辆环境中的无线接入(WAVE)的IEEE 1609标准套件允许非IP,如图3的协议栈300所示。较高层302可以包括专有应用304和306,安全应用308和费用收集310(等等)。应用可以通过IPv6 322或WAVE短消息协议(WSMP)协议312来使用TCP 320或UDP 324。协议312可以由LLC层314封装并由媒体访问控制(MAC)层326和316以及物理层328和318所支持。
基于非IP的通信使用称为WAVE短消息协议(WSMP)的专用消息协议来执行,如图4所示。LLC头部400包括目的地服务接入点(DSAP)字段402、源服务接入点(SSAP)字段404、和控制字段406。SNAP头部包括协议身份字段408以及以太类型字段410。LLC子层处使用的LLC/SNAP封装指示上面的协议数据单元是IP分组还是WSMP消息:以太类型字段410被设置为0x88DD(针对IPv6)或0x88DC(针对WSMP)。在一些实施例中,WSMP可用于D2D协议栈,其可以使用LLC/SNAP封装。
通过向PDCP SDU类型添加条目,可以使用LTE D2D通信来支持WSMP。在第一实施例中,可以在SDU类型202字段中添加专用WSMP、PC5或其它协议值,如表2所示。鉴于SDU类型202字段的大小有限,可能不期望用于特定非IP通信协议的专用值。在第二实施例中,SDU类型202中支持的LLC/SNAP封装可以被添加到SDU类型202字段中,如表3所示。在第三实施例中,从八位字节(octet)六开始的封装头部可以是(除了LLC/SNAP之外的)新的封装头部。
位 |
描述 |
000 |
IP |
001 |
ARP |
010 |
WSMP |
011 |
PC5 |
100-111 |
保留 |
表2-SDU类型中的专用WSMP值
位 |
描述 |
000 |
IP |
001 |
ARP |
010 |
LLC/SNAP |
011-111 |
保留 |
表3-SDU类型中支持LLC/SNAP封装
表4-通用封装支持
对WSMP、PC5或其它协议的使用可以被封装在LLC/SNAP头部中。当SDU类型202被设置为LLC/SNAP时,数据单元(从图1中的八位字节六开始)是经LLC/SNAP封装的。随后把对WSMP(PC5或另一协议)的使用指示为LLC/SNAP封装头部的一部分(参见图3)。该方案的优点是可用于支持其它基于非IP的协议。然而在本实施例中,LLC/SNAP封装浪费八个八位字节中的六个(例如参考图3,仅两个八位字节以太网类型得以有效地用于区分上层数据单元)。
图5示出了实施例500,其中两个设备502和504彼此直接通信而分组无需穿过3GPP核心网络。在图中,示出了可用于D2D的PC5协议栈。该协议栈可以包括:PC5信令协议层506a和506b,PDCP层508a和508b,无线电链路控制(RLC)层510a和510b,媒体访问(MAC)层512a和512b,以及物理(PHY)层514a和514b。由于可以通过ProSe层2ID(例如,PC5MAC层标识符512a和512b)来标识设备,因此不需要IP地址。在这种情况下,对IP地址的使用是多余的。
例如,在3GPP TR 23.713中,一对一ProSe直接通信可以通过在两个UE之间经由PC5建立安全的层2链路来实现。UE具有用于单播通信的层2ID,其被包括在层2链路上发送的帧的源层2ID字段中以及在层2链路上接收的帧的目的地层2ID中。
用于单播通信的层2ID可以是全局唯一的,或者UE可以确保层2ID至少在本地是唯一的。如果存在冲突,则UE可以检测层2ID是否与相邻UE冲突,并在检测到冲突时自行分配新的ProSe UE ID。
用于一对一ProSe直接通信的层2链路可以通过两个UE的层2ID的组合来标识。UE可以使用同一层2ID来参与用于一对一ProSe直接通信的多个层2链路。
3GPP TR 23.713中提出了PC5信令协议。PC5信令协议通过PC5建立安全的层2链路。SDU类型=PC5信令协议可以被添加到PDCP中的SDU类型字段。
可以在单播、组播或广播目的地层2ID上发送PC5信令协议消息。在图6中,示出了基于IP的通信的过程600。发起UE(UE-1)602(例如,通过监听由另一UE广播的通告或通过执行ProSe发现过程来)获知对等UE(UE-2)604的层2ID,并且发送直接通信请求消息到UE-2604以触发相互认证(606)。UE-2 604启动相互认证的过程(608)。成功完成相互认证的过程(608)便完成了在PC5上建立安全层2链路。两个UE中的一个用作DHCP服务器或IPv6默认路由器,或者UE自行分配链路本地IP地址(610)。使用SDU类型=IP来在用户平面上使用IP地址发送数据(612)。
与图6相反,图7-图9示出了基于非IP的通信过程。在这两种过程中,用户数据都被携带在PC5信令协议消息中。可以使用协商过程或非协商过程。在协商过程中,两个UE首先建立安全的层2链路。在层2链路建立期间交换的密钥材料用于后续用户数据的机密性和/或完整性保护。在非协商过程中,两个UE在没有先前的层2链路建立的情况下交换数据。发送方在每个消息中(例如,使用ECCSI签名来)宣称身份并对其进行数字签名。可选地,消息的一部分还可以被加密,并且用于加密的一次性(one-shot)密钥(例如,作为SAKKE有效载荷)在消息本身内传送。
图7示出了协商过程700。发起UE(UE-1)702(例如,通过监听由另一个UE广播的通告或者通过执行ProSe发现过程)获知对等UE(UE-2)704的层2ID,并且发送直接通信请求消息到UE-2 704以触发相互认证(706)。UE-2 704启动相互认证的过程。成功完成认证过程便完成了通过PC5建立安全的层-2链路(708)。通过在PC5信令协议消息(例如,使用PC5用户数据消息)内背负用户数据来发送数据(710)。在一些实施例中,可以将SDU类型设置为PC5信令协议。用户数据可以作为被称为PC5用户数据的PC5信令协议消息的有效载荷的一部分来携带(710)。
在图8中,示出了非协商过程800的示例。UE 802和804被配置为使用基于身份的密码技术,并且依赖于被称为密钥管理系统的共用信任根(806)。UE 802和804被配置为使用ECCSI签名方案(IETF RFC 6507并结合图10描述)和SAKKE算法(IETF RFC 6508并结合图11描述)作为用于数字签名所宣称的身份和安全交换秘密密钥的机制。除了公共用户身份(这里称为用户-1信息或用户-2信息,两者都以具有附加时间戳的用户@域(user@realm)格式或以与IETF RFC 6509中的准则兼容的任何其它格式被编码);UE 802和804配置有以下信息:
KPAK-KMS公共认证密钥(IETF RFC 6507)
SSK-秘密签名密钥(IETF RFC 6507)
PVT-公共验证令牌(IETF RFC 6507)
KMS公开密钥(IETF RFC 6508)
RSK-接收方秘密密钥(IETF RFC 6508)
发起UE(UE-1)802获知对等UE(UE-2)804的层2ID和UE-2 804的用户的公开身份(用户-2信息)。例如,UE-1 802可以监听由UE-2 804广播的通告或通过执行ProSe发现过程。
UE-1 802向UE-2 804发送包括诸如用户-1信息、SIGN、SAKKE或用户数据消息之类的参数的PC5数据报(808)。用户-1信息参数是由UE-1 802的用户宣称的公共身份。SIGN参数是PC5数据报808消息的ECCSI签名。可以在消息中的全部参数或参数的子集上计算签名。在一个实施例中,通过用户-1信息参数来计算签名。在IETF RFC 6507中描述了用于计算ECCSI签名的过程,其使用KPAK、SSK和SVT参数。
在一些实施例中,SAKKE有效载荷是可选的。如果同一消息中携带的用户数据参数要被加密,则可以使用SAKKE有效载荷。例如,使用KMS公开密钥和UE-2 804用户的公共身份(用户-2信息),UE-1 802在IETF RFC 6508中生成加密密钥(也称为共享秘密值(SSV)),并根据IETF RFC 6508中描述的算法将其编码到SAKKE有效载荷中。用户数据参数指定用户数据。它使用SAKKE有效载荷内提供的加密密钥被加密。
图9示出了针对基于不同的密钥管理服务器(KMS)的UE经由PC5的非协商非IP数据的过程900。在一些部署中,UE 902和904群(population)可以在几个KMS之间被划分。这可能是因为KMS由不同的管理部门操作,或者因为UE的数量太大,因此使用单个KMS进行处理可能不实际。
在这些多KMS部署场景中,UE属于通过唯一KMS标识符(KMS ID)标识的特定KMS。KMS ID可以(例如,以服务器@域(server@realm)的格式)被编码为URI(其是文本字符串)。然而,如果处理整个UE群的KMS集合依赖于单个“超级管理员”,则可以使用更短的KMS ID(例如,一个或两个八位字节的数量级)。
在所示的实施例中,发起UE(UE-1)902和对等UE(UE-2)904被配置为使用基于身份的密码技术并且依赖于不同的KMS。在一个实施例中,它们被配置为使用ECCSI签名方案(IETF RFC 6507)和SAKKE算法(IETF RFC 6508)作为用于所宣称的身份的数字签名和秘密密钥的安全交换的机制。除了其公共用户身份(这里称为用户-1信息或用户-2信息,两者都以具有附加时间戳的user@realm格式或以与IETF RFC 6509中的准则兼容的任何其它格式被编码);实施例中的每个UE被配置有以下信息:
对于UE所属的每个KMS,都配置以下参数:
KMS ID(KMS的唯一标识符;在一些实施例中,它可以从用户信息推导得出)
KPAK-KMS公共认证密钥(IETF RFC 6507)
SSK-秘密签名密钥(IETF RFC 6507)
PVT-公共验证令牌(IETF RFC 6507)
KMS公开密钥(IETF RFC 6508)
RSK-接收方秘密密钥(IETF RFC 6508)
对于所有其它KMS,UE被配置有以下信息:
KMS公开密钥(IETF RFC 6508)
UE-1 902和UE-2 904依赖于共用信任根(906)。UE-1 902获知对等UE-2 904的层2ID和UE-2 904的用户的公共身份(用户-2信息),以及UE-2 904的用户所属的KMS的KMS-2ID(注意在某些实施例中,KMS-2ID可以从用户-2信息推导出)。这可以例如通过监听由对等UE广播的通告或通过执行ProSe发现过程来完成。UE-1 902向UE-2 904发送具有KMS-1ID、用户-1信息、SIGN、SAKKE的参数和用户数据的PC5数据报消息908。KMS-1ID参数是UE-1902的用户所属的KMS的标识符(注意,可以从用户-1信息推导出KMS-1ID)。用户-1信息参数是由UE-1 902的用户宣称的公共身份。SIGN参数是PC5数据报消息908的ECCSI签名。可以在消息中的全部参数或参数的子集上计算签名。在一个实施例中,在用户-1信息参数上计算签名。在IETF RFC 6507中描述了用于计算ECCSI签名的过程;它利用与UE-1 902所属的KMS相对应的KPAK、SSK和SVT参数。
在一个实施例中,SAKKE有效载荷可以是可选的。如果需要对同一消息中携带的用户数据参数进行加密则使用SAKKE有效载荷。在一个实施例中,UE-1 902使用KMS-2(即,UE-2 904的用户所属的KMS)的KMS公开密钥和UE-2 904的用户的公共身份(用户-2信息)生成加密密钥(在RFC 6508中又称共享秘密值(SSV)),并根据IETF RFC 6508中描述的算法将其编码到SAKKE有效载荷中。用户数据参数指定用户数据。它可以使用SAKKE有效载荷内提供的加密密钥被加密。
图8和图9中描述的非协商过程在用户数据被封装在通用封装头部中的情况下也可以使用(即,不必将其作为PC5信令协议有效载荷的一部分来携带)。在这种情况下,封装头部的存在由PDCP头部中的SDU类型字段的适当值来表示。
图8和图9中描述的非协商过程在用户数据是IP分组的情况下也可以使用。在这种情况下,同样,通过PDCP头部中的SDU类型字段的适当值来表示封装头部的存在。SDU类型值也意味着所封装的数据是IP分组。
图10示出了IETF RFC 6507中的ECCSI签名方案1000的实施例,其允许消息(M)1016由签名器1004签名随后由验证器1006使用基于身份的密码技术来进行行验证。签名器1004和验证器1006具有被称为密钥管理服务器(包括KMS 1002)的共用信任根。KMS 1002拥有KMS 1002的用户已知的KMS公共认证密钥(KPAK)1008。此外,每个用户都具有公知的身份(例如,ID_s 1014是签名器1004的公共身份(ID_r,未示出,其是接收方的公共身份)。
希望对其消息进行数字签名(1020)的用户可以向KMS 1002请求一对秘密签名密钥(SSK)1012和公共验证令牌(PVT)1010。签名器1004使用KPAK 1008、SSK 1012和PVT 1010参数来根据IETF RFC 6507中描述的过程产生数字签名(SIGN)1018。在一些实施例中,PVT1010参数不是秘密的,并且作为明文被包括在SIGN 1018有效载荷内。当接收到经数字签名的消息时,验证器1006使用KPAK 1008和签名器1004的公共身份(ID_s 1014)来执行如IETFRFC 6507中所述的验证过程1022。
图11示出了在IETF RFC 6508中定义的SAKKE算法1100的实施例,其允许使用基于身份的密码技术在发送方1104和接收方1106之间加密交换共享秘密密钥。发送方1104和接收方1106同样具有共用信任根(例如,KMS 1102)。KMS 1102拥有用户已知的KMS公共密钥1108。每个用户具有公知的身份(例如,ID_r 1114是接收方1106的公共身份;ID_s(未示出)是发送方1104的公共身份)。为了使得用户能够解密消息,用户向KMS 1102提供对接收方秘密密钥(RSK)1110的请求。发送方1104使用KMS公开密钥1108和接收器1106的公共身份(ID_r 1114)根据IETF RFC 6508中描述的过程来对共享秘密值(SSV)1110进行编码。所得到的经加密的有效载荷被称为SAKKE有效载荷1116。当接收到SAKKE有效载荷1116时,接收方1106使用KMS公开密钥1108、RSK1110和接收方1106的公共身份(ID_r 1114)来执行如IETFRFC 6508中所述的解密算法。
图12示出了根据各种实施例的电子设备电路1202,其可以是eNB电路、UE电路或形成系统1200的一些其它类型的电路。在实施例中,电子设备电路1202可以是eNB、UE或其它类型的电子设备,或者可以并入eNB、UE或其它类型的电子设备中或以其他方式成为他们的一部分。在实施例中,电子设备电路1202可以包括耦接到控制电路1208的无线电发送电路1204和接收电路1206。在实施例中,发送电路1204和/或接收电路1206可以是收发器电路的元件或模块,如图所示。电子设备电路1202可以与一个或多个天线中的一个或多个天线元件1210a至1210x耦接。电子设备电路1202和/或电子设备电路1202的组件可以被配置为执行与本公开中其它部分描述的操作类似的操作。
在其中电子设备电路1202是UE、或者是UE的一部分、或并入UE中的实施例中,发送电路1204可以能够基于第二用户设备(UE)的层2身份向第二UE发送建立用于通过PC5进行通信的安全链路的请求。接收电路1206可以能够从第二UE接收第二UE完成对安全链路的建立的指示。控制电路1208可能能够将数据分组封装在PC5信令协议消息内。
附加地或替代地,发送电路1204可以能够由第二UE基于第二UE的层2身份向第一UE发送这样的指示:第二UE基于来自第一UE的请求完成了用于通过PC5与第一UE进行直接数据通信的安全链路的建立。接收电路1206可以能够基于完成指示的传输来通过PC5从第一UE接收安全链路中的PC5信令协议消息中的数据分组。
附加地或替代地,控制电路1208可以能够生成包括作为经封装的数据的数据和封装头部的数据传输,封装头部包括第一UE的用户的所宣称的公共身份、与第一UE相关的数字签名、(数据被加密的情况下)用于加密数据的加密密钥和/或密钥管理服务器。发送电路1204可以能够将数据传输发送到第二UE。
附加地或替代地,接收电路1206可以能够接收包括经封装的数据和封装头部的数据传输。控制电路1208可以能够基于下述项来识别经封装的数据中的数据:封装头部中的第一UE的用户的所宣称的公共身份、与第一UE相关的数字签名、(数据被加密的情况下)用于加密数据的加密密钥和/或密钥管理服务器。
如本文所使用的,术语“电路”可以指代如下项或者是如下项的一部分或者包括如下项:执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、处理器(共享、专用或群组)和/或存储器(共享、专用或群组),组合逻辑电路和/或提供所述功能的其它合适的硬件组件。在一些实施例中,可以通过一个或多个软件或固件模块来实现电子设备电路或者与电路相关联的功能。
方法1
在一些实施例中,图12的电子设备电路1202可以被配置为执行一个或多个过程,例如图13的过程1300。例如,在电子设备电路1202是UE或者被并入到UE中或者以其它方式作为UE的一部分的实施例中,过程1300可以包括在第一用户设备(UE)和第二UE之间进行直接数据通信的方法。过程1300可以包括由第一UE识别(1302)第二UE的层2身份。过程1300还可以包括由第一UE发起(1304)建立用于通过PC5与第二UE进行通信的安全链路。过程1300还可以包括由第一UE接收(1306)第二UE完成建立安全链路的指示。过程1300还可以包括由第一UE将数据分组封装在(1308)PC5信令协议消息内。
附加地或替代地,图12的电子设备电路1202可以被配置为执行一个或多个过程,例如图14的过程1400。例如,在电子设备电路1202是UE或者被并入到UE中或者以其它方式作为UE的一部分的实施例中,过程1400可以包括在第一用户设备(UE)和第二UE之间进行直接数据通信的方法。过程1400可以包括由第二UE基于第二UE的层2身份从第一UE接收(1402)对建立用于通过PC5与第二UE进行通信的安全链路的请求。过程1400还可以包括由第二UE基于该请求完成(1404)对安全链路的建立。过程1400还可以包括由第二UE发送(1406)对第二UE完成建立安全链路的指示。过程1400还可以包括由第二UE基于安全链路的建立的完成通过PC5从第一UE接收(1408)安全链路中的PC5信令协议消息内的数据分组。
附加地或替代地,图12的电子设备电路1202可以被配置为执行一个或多个过程,例如图15的过程1500。例如,在电子设备电路1202是UE或者被并入到UE中或者以其它方式作为UE的一部分的实施例中,过程1500可以包括在第一用户设备(UE)和第二UE之间直接数据通信的方法,该方法无需先前基于对基于身份的密码技术的使用在第一UE和第二UE之间建立层2安全链路。过程1500可以包括发现(1502)第二UE。过程1500可以包括由第一UE生成(1504)包括数据传输,该数据传输包括作为经封装的数据的数据和封装头部,封装头部包括第一UE的用户的所宣称的公共身份、与第一UE相关的数字签名、(数据被加密的情况下)用于加密数据的加密密钥和/或密钥管理服务器。过程1500还可以包括由第一UE向第二UE发送(1506)数据传输。
附加地或替代地,图12的电子设备电路1202可以被配置为执行一个或多个过程,例如图16的过程1600。例如,在电子设备电路1202是UE或者被并入到UE中或者以其它方式作为UE的一部分的实施例中,过程1600可以包括在第一用户设备(UE)和第二UE之间直接数据通信的方法,该方法无需先前基于对基于身份的密码技术的使用在第一UE和第二UE之间建立层2安全链路。过程1600可以包括由第二UE接收(1602)包括经封装的数据和封装头部的数据传输。过程1600还可以包括由第二UE基于封装头部中第一UE的用户的所宣称的公共身份、与第一UE相关的数字签名、(数据被加密的情况下)用于加密数据的加密密钥和/或密钥管理服务器来识别(1604)经封装的数据中的数据。过程1600可以包括对数据进行解码(1606)。
本文描述的实施例可以实现为使用任何适当配置的硬件和/或软件的系统。图17示出了示例系统1700,对于一个实施例,其包括至少如图所示彼此耦接的射频(RF)电路1714、基带电路1712、应用电路1710、存储器/存储设备1716、显示器1702、摄像头1704,传感器1706和输入/输出(I/O)接口1708。
应用电路1710可以包括例如但不限于一个或多个单核或多核处理器的电路。(一个或多个)处理器可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器等)的任何组合。处理器可以与存储器/存储设备1716耦接并且被配置为执行存储在存储器/存储设备1716中的指令,以使能在系统1700上运行的各种应用和/或操作系统。
基带电路1712可以包括例如但不限于一个或多个单核或多核处理器的电路。(一个或多个)处理器可以包括基带处理器。基带电路1712可以处理能够经由RF电路1714与一个或多个无线电网络通信的各种无线电控制功能。无线电控制功能可以包括但不限于信号调制、编码、解码、射频移位等。在一些实施例中,基带电路1712可以提供与一个或多个无线电技术兼容的通信。例如在一些实施例中,基带电路1712可以支持与演进的通用陆地无线电接入网络(E-UTRAN)和/或其它无线城域网(WMAN)、无线局域网(WLAN)和无线个人网络(WPAN)进行通信。其中基带电路1712被配置为支持多于一个无线协议的无线电通信的实施例可称为多模式基带电路。
在各种实施例中,基带电路1712可以包括用不被严格地认为处于基带频率的信号进行操作的电路。例如在一些实施例中,基带电路1712可以包括利用处于基带频率和射频之间的中频的信号进行操作的电路。
RF电路1714可以使得能够经由非固体介质使用经调制的电磁辐射与无线网络的通信。在各种实施例中,RF电路1714可以包括用于辅助与无线网络的通信的交换机、滤波器、放大器等。
在各种实施例中,RF电路1714可以包括使用不被严格地认为处于射频的信号进行操作的电路。例如,在一些实施例中,RF电路1714可以包括利用处于基带频率和射频之间的中频的信号进行操作的电路。
在各种实施例中,本文讨论或描述的发送电路、控制电路和/或接收电路可以全部或部分地体现在RF电路1714、基带电路1712和/或应用电路1710中的一个或多个中。如本文所使用的,术语“电路”可以指代如下项、成为如下项的一部分、或者包括如下项:执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、处理器(共享,专用或组)和/或存储器(共享,专用或组)、组合逻辑电路和/或提供所述功能的其它合适的硬件组件。在一些实施例中,可以在一个或多个软件或固件模块中实现电子设备电路,或者与电路相关联的功能可以由一个或多个软件或固件模块实现。
在一些实施例中,基带电路1712、应用电路1710和/或存储器/存储设备1716的组合组件中的一些或全部可以一起在片上系统(SOC)上实现。
存储器/存储设备1716可以用于加载和存储数据和/或指令。一个实施例的存储器/存储设备1716可以包括合适的易失性存储器(例如,动态随机存取存储器(DRAM))和/或非易失性存储器(例如,闪存)的任何组合。
在各种实施例中,I/O接口1708可以包括被设计来使得用户能够与系统1700和/或外围设备组件接口(其被设计来实现与系统1700的外围组件交互)进行交互的一个或多个用户接口。用户接口可以包括但不限于物理键盘或键板、触摸板、扬声器、麦克风等。外围组件接口可以包括但不限于非易失性存储器端口、通用串行总线(USB)端口、音频插座和电源接口。
在各种实施例中,传感器1706可以包括用于确定与系统1700相关的环境条件和/或位置信息的一个或多个感测设备。在一些实施例中,传感器1706可以包括但不限于陀螺传感器、加速度计、接近传感器、环境光传感器和定位单元。定位单元还可以是基带电路1712和/或RF电路1714的一部分或与其交互,从而与定位网络(例如全球定位系统(GPS))卫星的组件进行通信。
在各种实施例中,显示器1702可以包括显示器(例如,液晶显示器,触摸屏显示器等)。
在各种实施例中,系统1700可以是诸如但不限于膝上型计算设备、平板计算设备、上网本、超级本、智能手机等的移动计算设备。在各种实施例中,系统1700可以具有更多或更少的组件和/或不同的体系架构。
在各种实施例中,系统1700可以是移动计算设备,例如但不限于膝上型计算设备、平板计算设备、上网本、超级本、智能手机等。在各种实施例中,系统1700可以具有更多或更少的组件和/或不同的体系架构。例如,在一些实施例中,RF电路1714和/或基带电路1712可以体现在通信电路(未示出)中。通信电路可以包括诸如但不限于一个或多个单核或多核处理器和逻辑电路之类的电路,以提供适合于通信将通过其发生的适当通信接口的信号处理技术,例如编码、调制、滤波、转换、放大等。通信电路可以通过有线、光或无线通信介质进行通信。在系统1700被配置用于无线通信的实施例中,通信电路可以包括RF电路1714和/或基带电路1712以提供与一种或多种无线电技术兼容的通信。例如在一些实施例中,通信电路可以支持与E-UTRAN和/或其它WMAN、WLAN和WPAN的通信。
本技术的实施例可以被描述为与第三代合作伙伴计划(3GPP)长期演进(LTE)或LTE高级(LTE-A)标准相关。例如,可以使用诸如eNodeB(eNB)、移动性管理实体(MME)、用户设备(UE)之类的术语或实体,其可被视为LTE相关术语或实体。然而在其它实施例中,本技术可以用于其他无线技术或与其它无线技术相关,例如电气和电子工程师协会(IEEE)802.16无线技术(WiMax)、IEEE 802.11无线技术(Wi-Fi)、各种其它无线技术(例如全球移动通信系统(GSM)、GSM演进增强数据速率(EDGE)、GSM EDGE无线电接入网络(GERAN)、通用移动通信系统(UMTS)、UMTS陆地无线电接入网(UTRAN)或其它已经开发或将要开发的2G、3G、4G、5G等技术)。在使用诸如eNB、MME、UE等的LTE相关术语的那些实施例中,可以使用一个或多个实体或组件,其可以被认为是与一个或多个基于LTE的术语或实体等同或大体等同。
图18是移动设备1800(例如UE、移动站(MS)、移动无线设备、移动通信设备、平板电脑、手持设备或其它类型的移动无线设备)的示例。移动设备1800可以包括被配置为与传输站(例如,基站(BS)、eNB、基带单元(BBU)、远程无线电头部(RRH)、远程无线电设备(RRE)、中继站(RS)、无线电设备(RE)或另一类型的无线广域网(WWAN)接入点)通信的一个或多个天线。移动设备1800可以被配置为使用包括3GPP LTE、WiMAX、HSPA、蓝牙和Wi-Fi的至少一个无线通信标准进行通信。移动设备1800可以针对每个无线通信标准使用单独的天线进行通信,或者针对多个无线通信标准使用共享天线。移动设备1800可以在WLAN、WPAN和/或WWAN中进行通信。
图18还提供可以用于来自移动设备1800的音频输入和输出的麦克风和一个或多个扬声器的图示。显示屏可以是液晶显示器(LCD)屏幕或其它类型的显示屏,例如有机发光二极管(OLED)显示器。显示屏可以配置为触摸屏。触摸屏可以使用电容式、电阻式或其它类型的触摸屏技术。应用处理器和图形处理器可以耦接到内部存储器以提供处理和显示能力。非易失性存储器端口也可用于向用户提供数据输入/输出选项。非易失性存储器端口也可以用于扩展移动设备1800的存储器能力。键盘可以与移动设备1800集成或无线地连接到移动设备1800以提供额外的用户输入。也可以使用触摸屏来提供虚拟键盘。
图19是计算系统1900的示意图。计算系统1900可以被视为连接各种组件的信息传递总线。在所示的实施例中,计算系统1900包括具有用于处理指令的逻辑的处理器1902。指令可以被存储在包括计算机可读存储介质的存储器1906和存储设备1908中和/或从其获取指令。指令和/或数据可以从可以包括有线1914或无线1912能力的网络接口1910到达。指令和/或数据也可以来自可包括诸如扩展卡、辅助总线(例如,USB)、设备等的I/O接口1916。用户可以通过用户接口设备1918和呈现系统1904与计算系统1900交互,从而允许计算机接收并向用户提供反馈。
应该认识到PC5信令协议已被用作可以使用的PC5协议的示例。也可以在字段中使用、标识其它PC5协议等。
示例
以下示例涉及其他实施例。
示例1是包括无线接口、存储器和处理器的用户设备(UE)。无线接口被配置为使用非IP通信与接收UE直接通信。存储器被配置为存储指令和数据。处理器被配置为执行指令。指令使得UE从分组数据汇聚协议(PDCP)中的服务数据单元(SDU)类型字段中选择非互联网协议(非IP)SDU类型,使用所选择的非IP SDU类型将消息封装在PDCP数据单元中,并且使用PDCP数据单元将消息发送到接收UE。
在示例2中,示例1的SDU类型可选地是车辆环境中的无线接入(WAVE)短消息协议(WSMP)。
在示例3中,示例1的SDU类型可选地是逻辑链路控制/子网络接入协议(LLC/SNAP)。
在示例4中,示例3中的LLC/SNAP可以可选地用于使用PC5信令协议来封装消息。
在实施例5中,示例1的SDU类型可选地是PC5信令协议。
在示例6中,示例1中的UE可以可选地使用PC5协议与接收UE建立安全链路,使用PDCP数据单元将用户数据封装在PC5协议消息中,并使用PC5协议通过安全链路发送PC5协议消息。
在示例7中,示例1中的UE可以可选地确定接收UE的身份,使用PDCP数据单元将用户数据封装在PC5协议消息中,并使用PC5协议通过安全链路发送PC5协议用户数据。
在示例8中,示例1的UE可以可选地确定接收UE的身份,使用PDCP数据单元将用户数据封装在PC5协议消息中,提供使得接收UE能够从PC5协议用户数据提取用户数据的标识符,并使用PC5协议通过安全链路发送消息。
在示例9中,示例1的UE可以可选地在不建立层2安全链路的情况下确定接收UE的身份,使用PDCP数据单元将消息封装在PC5协议消息中,提供UE的用户的所宣称的公开身份和数字签名。
在示例10中,示例9的数字签名可以可选地使用用于基于身份的加密的基于椭圆曲线的无证书签名(ECCSI)签名。
在示例10.5中,示例9的UE可以可选地提供用于加密用户数据的加密密钥和密钥管理服务器标识符。
在示例11中,示例10.5的加密密钥可选地被包括在使用接收UE的公开身份所编码的Sakai-Kasahara密钥加密(SAKKE)有效载荷中。
在示例12中,示例9的用户数据可以可选地是非IP分组。
在示例13中,示例9的用户数据可以可选地是IP分组。
示例14是用于设备到设备(D2D)非互联网协议(非IP)通信的电路,被配置为确定是否与接收设备协商安全连接。当确定协商安全连接时,电路使用D2D非IP协议与接收设备建立安全链路,将数据封装在D2D非IP协议消息中,并使用D2D非IP协议通过安全链路发送D2D非IP协议消息。当确定在不协商安全连接的情况下进行通信时,处理器确定接收设备的身份,使用能够使接收设备从D2D非IP协议消息提取数据的标识符将用户数据封装在D2D非IP协议消息中,并使用D2D非IP协议通过安全链路发送D2D非IP协议消息。
在示例15中,示例14的D2D非IP协议可选地是PC5信令协议。
在示例16中,示例14的设备可以可选地确定接收设备的身份而不建立层2安全链路,并使用设备的用户的所宣称的公开身份、数字签名、用于加密数据的加密密钥、和密钥管理服务器标识符来将数据封装在PC5协议消息中。
在示例17中,示例16的数字签名可以可选地使用用于基于身份的加密的基于椭圆曲线的无证书签名(ECCSI)签名。
在示例18中,示例16的加密密钥可以可选地被包括在使用接收UE的公开身份所编码的Sakai-Kasahara密钥加密(SAKKE)有效载荷中。
在示例19中,示例16的数据可以可选地是非IP分组。
在示例20中,示例16的数据可以可选地是IP分组。
示例21是一种UE,被配置为:使用非互联网协议(非IP)协议从发送UE接收消息,从分组数据汇聚协议(PDCP)头部中的服务数据单元(SDU)类型字段确定非IP SDU类型,并且使用所选择的非IP SDU类型对PDCP数据单元中的数据进行解码。
在示例22中,示例21的SDU类型可选地是车辆环境中的无线接入(WAVE)短消息协议(WSMP)。
在示例23中,示例21的SDU类型可选地是逻辑链路控制/子网络接入协议(LLC/SNAP)。
在示例24中,示例23中的LLC/SNAP可以可选地用于使用PC5协议来封装消息。
在示例25中,示例21的SDU类型可选地是PC5信令协议。
在示例26中,示例21的UE可以可选地使用PC5协议与发送UE建立安全链路,并且使用PC5协议通过安全链路接收PC5协议消息。
在示例27中,示例21的UE可以可选地使用PC5协议通过安全链路接收PC5协议消息,确定发送UE的身份,并至少部分地基于发送UE的身份来解码PC5协议消息中的数据。
在示例28中,示例21的UE可以可选地使用PC5协议通过安全链路接收PC5协议消息,并提取使得数据能够从PC5协议消息被提取的标识符。
在示例29中,示例21的UE可以选择地使用PC5协议通过安全链路接收PC5协议消息,并从PC5协议消息提取发送UE的用户的所宣称的公开身份、数字签名、用于加密数据的加密密钥、和密钥管理服务器标识符。
在示例30中,示例29的数字签名可以可选地使用用于基于身份的加密的基于椭圆曲线的无证书签名(ECCSI)签名。
在示例31中,示例29的加密密钥可选地被包括在使用接收UE的公开身份所编码的Sakai-Kasahara密钥加密(SAKKE)有效载荷中。
在示例32中,示例29的数据可以可选地是非IP分组。
在实施例33中,示例29的数据可以可选地是IP分组。
本文描述的系统和方法的实施例和实现方式可以包括各种操作,其可以体现在要由计算机系统执行的机器可执行指令中。计算机系统可以包括一个或多个通用或专用计算机(或其它电子设备)。计算机系统可以包括包括用于执行操作的特定逻辑的硬件组件或者可以包括硬件、软件和/或固件的组合。
计算机系统和计算机系统中的计算机可以经由网络连接。如本文所述的用于配置和/或使用的合适网络包括一个或多个局域网、广域网、城域网和/或互联网或IP网络,例如万维网,专用互联网、安全互联网、增值网络、虚拟专用网络、外部网、内部网、甚至通过介质的物理传输与其它机器通信的独立机器。特别地,合适的网络可以由两个或更多个其它网络(包括使用不同的硬件和网络通信技术的网络)的部分或全部形成。
一个合适的网络包括服务器和一个或多个客户端;其它合适的网络可以包含服务器、客户端和/或对等节点的其它组合,并且给定的计算机系统可以既作为客户端又作为服务器。每个网络包括至少两个计算机或计算机系统,例如服务器和/或客户端。计算机系统可以包括工作站、膝上型计算机、可分离的移动计算机、服务器、大型机、集群、所谓的“网络计算机”或“瘦客户端”、平板电脑、智能电话、个人数字助理或其它手持计算设备、“智能”消费电子设备或器具、医疗设备或其组合。
合适的网络可以包括通信或联网软件(例如可从 和其它供应商获得的软件),并且可以使用TCP/IP、SPX、IPX和其它协议通过双绞线、同轴或光纤电缆、电话线、无线电波、卫星、微波继电器、经调制的交流电力线、物理介质传输和/或本领域技术人员已知的其它数据传输“线”操作。网络可以包括较小的网络和/或可以通过网关或类似的机构连接到其它网络。
各种技术或其某些方面或部分可以采用体现在有形介质中的程序代码(即,指令)的形式,有形介质例如可以是软盘、CD-ROM、硬盘驱动器、磁卡或光卡、固态存储器件、非暂态计算机可读存储介质,或任何其它机器可读存储介质,其中当程序代码被加载到诸如计算机的机器并由其执行时,该机器成为用于实施各种技术的设备。在可编程计算机上执行程序代码的情况下,计算设备可以包括处理器、可由处理器读取的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。易失性和非易失性存储器和/或存储元件可以是RAM、EPROM、闪存驱动器、光驱动器、磁性硬盘驱动器或用于存储电子数据的其它介质。eNB(或其它基站)和UE(或其它移动站)还可以包括收发器组件、计数器组件、处理组件和/或时钟组件或定时器组件。可以实现或利用本文描述的各种技术的一个或多个程序可以使用应用编程接口(API)、可重用控制等。这样的程序可以以高级程序或面向对象的编程语言来实现,以与计算机系统通信。然而如果需要,(一个或多个)程序可以以汇编或机器语言来实现。在任何情况下,语言可以是编译或解释语言,并与硬件实现相结合。
每个计算机系统包括一个或多个处理器和/或存储器;计算机系统还可以包括各种输入设备和/或输出设备。处理器可以包括通用设备,例如或其它“现成的”微处理器。处理器可以包括专用处理设备,例如ASIC、SoC、SiP、FPGA、PAL、PLA、FPLA、PLD或其它定制或可编程设备。存储器可以包括静态RAM、动态RAM、闪存、一个或多个触发器、ROM、CD-ROM、DVD、盘、带、或者磁性、光学或其它计算机存储介质。(一个或多个)输入设备可以包括键盘、鼠标、触摸屏、光笔、平板电脑、麦克风、传感器或具有附带的固件和/或软件的其它硬件。(一个或多个)输出设备可以包括监视器或其它显示器、打印机、语音或文本合成器、开关、信号线或具有附带的固件和/或软件的其它硬件。
应当理解,本说明书中描述的许多功能单元可以被实现为一个或多个组件,“组件”是用于更特别地强调其实现独立性的术语。例如,组件可以被实现为包括定制的非常大规模集成(VLSI)电路或门阵列的硬件电路,或诸如逻辑芯片、晶体管或其它分立组件的现成的半导体。组件还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件之类的可编程硬件设备中实现。
组件也可以用软件实现以便由各种类型的处理器执行。可执行代码的所标识的组件可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或功能。然而,所标识的组件的可执行文件不需要物理上位于一起,而是可以包括存储在不同位置的不同的指令,当在逻辑上一起组合时,它们包括组件并实现组件声明的目的。
实际上,可执行代码的组件可以是单个指令或许多指令,并且甚至可以分布在多个存储器设备中不同程序之间的几个不同代码段上。类似地,操作数据可以在组件内被标识和说明,并且可以以任何合适的形式实现并且被组织在任何适当类型的数据结构内。操作数据可以作为单个数据集来收集,或者可以分布在包括不同存储设备在内的不同位置,并且可以至少部分地仅存在于系统或网络上的电子信号。组件可以是无源的或有源的,包括可操作以执行所需功能的代理。
所描述的实施例的一些方面将被示为软件模块或组件。如本文所使用的,软件模块或组件可以包括位于存储器设备内的任何类型的计算机指令或计算机可执行代码。例如,软件模块可以包括计算机指令的一个或多个物理或逻辑块,其可以被组织为执行一个或多个任务或实现特定数据类型的例程、程序、对象、组件、数据结构等。应当理解,软件模块可以在硬件和/或固件中来代替软件或附加软件来实现。本文描述的一个或多个功能模块可以被分成子模块和/或组合成单个或更少数量的模块。
在某些实施例中,特定软件模块可以包括存储在存储器设备的不同位置、不同存储器设备或不同计算机中的不同的指令,这些指令一起实现模块所描述的功能。实际上,模块可以包括单个指令或许多指令,并且可以多个不同代码段之间分布、在不同程序之间分布、以及跨多个存储器设备分布。一些实施例可以在分布式计算环境中实践,在分布式计算环境中,任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,软件模块可以位于本地和/或远程存储器存储设备中。此外,在数据库记录中绑定或一起呈现的数据可以驻留在相同的存储器设备中或者跨多个存储器设备,并且可以通过网络在数据库中的记录的字段中链接在一起。
在本说明书中通篇对“示例”的提及意味着结合该示例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在本说明书通篇各个地方出现短语“在示例中”不一定都指代同一实施例。
如本文所使用的,为方便起见,可以在共用列表中呈现多个项目、结构元件、组成元件和/或材料。然而,这些列表应该被解释为列表中的每个成员被单独地标识为独立且唯一的成员。因此,仅基于其在一个共同组中的呈现(如果没有相反的指示的话),这种列表的任何单独成员都不应被视为与同一列表中任何其它成员的事实上的等同物。另外,本发明的各种示例和实施例可以与其各种组分的替代方案一起参照。应当理解,这样的实施例、示例和替代方案不应被解释为彼此的事实上的等同物,而是被认为是本发明的单独和自主的表示方式。
此外,所描述的特征、结构或特性可以以任何合适的方式组合在一个或多个实施例中。在下面的描述中,提供了许多具体的细节,例如材料、频率、尺寸、长度、宽度、形状等的例子,以提供对本发明的实施例的透彻理解。然而相关领域的技术人员将认识到,可以在没有一个或多个具体细节,或用其它方法、组件、材料等的情况下实践本发明。在其它情况下,未示出或详细描述公知的结构、材料或操作以避免模糊本发明的方面。
应当认识到,本文描述的系统包括具体实施例的描述。这些实施例可以组合成单个系统,部分地组合成其它系统,分成多个系统,或以其它方式分开或组合。另外,可以设想一个实施例的参数/属性/方面/等可以在另一实施例中使用。除非在此特别说明,否则参数/属性/方面/等在一个或多个实施例中仅为了清楚而描述,并且认识到这些参数/属性/方面/等可以与另一实施例的参数/属性/等组合或替代另一实施例的参数/属性/等。
虽然为了清楚起见已经对一些细节进行了描述,但容易想到的是,在不脱离其原理的情况下可以进行某些改变和修改。应当注意,存在实现本文描述的过程和设备的许多替代方式。因此,本文的实施例被认为是说明性的而不是限制性的,并且本发明不限于本文给出的细节,而是可以在所附权利要求的范围和等同内容中进行修改。
本领域技术人员将理解,在不脱离本发明的基本原理的情况下,可以对上述实施例的细节进行许多改变。因此,本发明的范围应仅由所附权利要求书来确定。