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

用于在无线通信系统中设置加密密钥的方法、装置和计算机程序及其记录介质与流程

2022-07-14 05:19:00 来源:中国专利 TAG:


1.本公开内容涉及用于无线通信系统中的加密密钥配置的方法、装置、计算机程序及其记录介质。


背景技术:

2.蓝牙是一种短程无线通信标准,并且包括br(基本速率)/edr(增强数据速率)技术和le(低功耗)技术。br/edr也被称为蓝牙经典,并且包括由蓝牙1.0应用的br技术和由蓝牙2.0应用的edr技术。在蓝牙4.0之后应用的蓝牙le(ble)是一种支持以低功耗发送和接收相对大量的数据的技术。
3.蓝牙标准包括各种配置文件。例如,免提配置文件(hfp)定义了一个设备用作音频网关(ag)例如智能电话和另一个设备用作免提设备例如耳机的必要条件。另外,a2dp(高级音频分发配置文件)定义了一个设备用作音频源例如音乐回放器和另一个设备用作音频信宿例如扬声器的必要条件。
4.随着近来无线设备的普及,对在多对多或m对n连接类型的各种拓扑中发送和接收音频数据的需求正在增加。例如,需要5.1通道环境的流式传输服务正在出现,并且正在讨论使用多个蓝牙便携式扬声器来支持5.1通道环境,从而摆脱常规5.1通道专用有线扬声器的限制。然而,由于常规蓝牙音频技术主要是考虑到两个设备之间一对一连接的使用情况而开发的,因此它不适合支持多个设备之间的音频数据发送/接收,并且延迟是一个大问题。另外,随着蓝牙音频设备数量的增加,存在搜索外围设备的功耗增加的问题。
5.常规蓝牙标准中使用的加密密钥支持8位至128位的大小。然而,常规加密密钥大小由于其长度短而具有安全性较弱的问题,因此需要对其进行修正。


技术实现要素:

6.【技术问题】
7.本公开内容的技术问题是提供用于在无线通信系统中在与设备相关的主机和控制器之间控制加密密钥的方法和装置。
8.本公开内容的另一个技术问题是提供用于在无线通信系统中在与设备相关的主机和控制器之间配置加密密钥大小的方法和装置。
9.本公开内容的又一个技术问题是提供以下方法和装置:在无线通信系统中,与设备相关的控制器向主机提供有关加密密钥大小的信息。
10.本公开内容中要实现的技术问题不限于上面提到的技术问题,并且本公开内容所属领域的普通技术人员将从以下描述中清楚地理解没有提到的其他技术问题。
11.【技术方案】
12.根据本公开内容的一方面的一种在无线通信系统中配置加密密钥大小的方法可以包括:由与第一设备相关的第一控制器从与第一设备相关的第一主机接收第一消息,该
第一消息包括有关第一加密密钥大小的最小值的信息;以及由第一控制器将指示加密变化的第二消息发送至第一主机,并且第二消息可以包括有关第一加密密钥大小的信息。
13.一种用于在无线通信系统中配置加密密钥大小的第一设备可以包括:收发器,该收发器用于执行与另一设备的信号发送和接收;以及处理器,该处理器用于控制收发器和设备。处理器可以被配置成:使与第一设备相关的第一控制器从与第一设备相关的第一主机接收第一消息,该第一消息包括有关第一加密密钥大小的最小值的信息;以及使第一控制器将指示加密变化的第二消息发送至第一主机。第二消息可以包括有关第一加密密钥大小的信息。
14.上面关于本公开内容简要概述的特征仅是下面的本公开内容的详细描述的示例性方面,并且不限制本公开内容的范围。
15.【技术效果】
16.根据本公开内容,可以提供用于在无线通信系统中在与设备相关的主机和控制器之间控制加密密钥的方法和装置。
17.根据本公开内容,可以提供用于在无线通信系统中在与主机相关的主机和控制器之间配置加密密钥大小的方法和装置。
18.根据本公开内容,可以提供以下方法和装置:在无线通信系统中,与设备相关的控制器向主机提供有关加密密钥大小的信息。
19.本公开内容的技术效果不限于上述效果,并且本领域技术人员可以从下面的描述中理解本文中没有提到的其他效果。
附图说明
20.图1是示例性地示出了常规音频连接类型和本公开内容适用的音频连接类型的图。
21.图2是示例性地示出了常规音频相关协议和本公开内容适用的音频相关协议栈的图。
22.图3是示出了本公开内容适用的5.1通道环绕系统硬件的示例的图。
23.图4是示出了本公开内容适用的音频数据编码/解码处理的图。
24.图5是示出了本公开内容适用的两个设备的通道分配的示例的图。
25.图6是用于描述本公开内容适用的两个流的同步延迟的图。
26.图7是用于描述本公开内容适用的多个设备的广播操作的图。
27.图8和图9是用于描述本公开内容适用的icl类型和incl类型的操作的图。
28.图10是示出了本公开内容适用的广播音频流状态机的图。
29.图11是示出了本公开内容适用的音频设置过程的图。
30.图12是示出了本公开内容适用的链路层状态机的图。
31.图13是示出了本公开内容适用的音频拓扑的示例的图。
32.图14至图16是示出了本公开内容适用的客户端与服务器之间的消息交换过程的图。
33.图17是示出了本公开内容适用的呼叫服务的状态机的图。
34.图18是示出了本公开内容适用的每个层的分组格式的图。
35.图19是示出了本公开内容适用的数据单元格式的示例的图。
36.图20是示出了本公开内容适用的广告单元格式的示例的图。
37.图21示出了本公开内容适用的示例性hci分组格式。
38.图22是示出了本公开内容适用的加密配置方法的示例的图。
39.图23是示出了本公开内容适用的加密配置方法的附加示例的图。
40.图24示例性地示出了本公开内容适用的与加密配置相关的设备。
41.图25是示出了本公开内容适用的配置加密密钥大小的示例的图。
42.图26是示出了本公开内容适用的配置加密密钥大小的附加示例的图。
43.图27示出了本公开内容适用的针对每个服务/配置文件来配置最小加密密钥大小的示例。
44.图28是示出了本公开内容适用的第一设备和第二设备的配置的图。
具体实施方式
45.在下文中,参照附图,将详细描述本公开内容的实施方式,使得本公开内容所属的领域的普通技术人员可以容易地实现它们。然而,本公开内容可以以几种不同的形式被体现,并且不限于本文中描述的实施方式。
46.在描述本公开内容的实施方式时,如果确定公知配置或功能的详细描述可能模糊本公开内容的主旨,则将省略对其的详细描述。并且在附图中,省略了与本公开内容的描述无关的部分,并且相似的附图标记被附于相似的部分。
47.在本公开内容中,当组件“连接”、“耦接”或“访问”另一个组件时,它不仅可以包括直接连接关系,而且还包括其中另一个组件存在于中间的间接连接关系。此外,在本公开内容中,术语“包括”或“具有”指出叙述的特征、步骤、操作、元件和/或组件的存在,但是它不排除存在或添加一个或更多个其他特征、步骤、操作、元件、组件和/或其组。
48.在本公开内容中,诸如“第一”和“第二”的术语仅用于区分一个组件和其他组件的目的,并且不用于限制组件。并且,除非另有说明,否则术语不会限制组件之间的顺序或重要性。因此,在本公开内容的范围内,在一个实施方式中的第一组件在另一实施方式中可以被称为第二组件,并且类似地,在一个实施方式中的第二组件在另一实施方式中可以被称为第一组件。
49.在本公开内容中,彼此区分开的组件用于清楚地描述每个特性,并不一定意味着组件是分开的。也就是说,可以集成多个组件以形成一个硬件单元或软件单元,或者可以分配一个组件以形成多个硬件单元或软件单元。因此,即使没有具体提及,这样的集成的或分散的实施方式也被包括在本公开内容的范围内。
50.本公开内容的各种实施方式不旨在列出组件的所有可能组合,而是旨在示出本公开内容的代表性方面,并且各种实施方式中描述的组件中的一些或所有可以独立地或者两个或更多个组合地被应用。也就是说,本公开内容的各种实施方式中描述的组件不一定是指必要的组件,并且一些组件可能是可选组件。因此,由一个实施方式中描述的组件的子集组成的实施方式也被包括在本公开内容的范围内。另外,除了在各种实施方式中描述的组件之外,包括其他组件的实施方式也被包括在本公开内容的范围内。
51.为了描述清楚起见,本公开内容的示例方法被表示为一系列操作,但这并不旨在
限制执行步骤的顺序,并且如果有必要的话,可以同时或以不同的顺序执行每个步骤。另外,为了实现根据本公开内容的方法,除了所示出的步骤之外,还可以包括其他步骤,除了一些步骤之外,还可以包括步骤,或者除了一些步骤之外,还可以包括其他步骤。
52.本公开内容中使用的术语用于描述特定实施方式,并且不旨在限制权利要求。除非上下文另有清楚地说明,否则如在实施方式的描述中以及在所附权利要求中使用的,单数形式也旨在包括复数形式。此外,在本公开内容中使用的术语“和/或”可以指代相关列举中的一个,或者意在指代和包括其两个或更多个的所有可能(或随机)组合。
53.本公开内容中使用的术语的定义如下。
54.音频信宿是从音频源接收音频数据的实体。
55.音频源是将音频数据发送至音频信宿的实体。
56.音频通道是编码或未编码的音频数据的单一流。
57.音频流是单向逻辑通信通道,其携载从音频源流至音频信宿的音频数据。音频数据可以在音频流会话(ass)上流动。音频流可以携载一个或更多个音频通道的音频数据。
58.音频组可以包括一个或更多个同步的音频流。
59.内容类型指示音频组的内容的分类。分类可以包括音频是否由用户发起。内容类型指示音频组的内容的分类。分类可以包括音频是否由用户发起。内容类型的示例可以包括未分类音频(uncategorizedaudio)、铃声(ringtone)、系统声音(systemsound)、卫星导航(satnav)、呼叫音频(callaudio)、媒体(media)等。
60.元数据是描述和提供音频数据的上下文的可变长度数据。可以针对较高层定义元数据。
61.音频流会话(ass)是指音频流的单向或双向传输/交换过程。ass的端点对应于音频流会话的音频输入和/或音频输出,并且可以对应于一个设备或一组设备。ass的末端驻留在服务器上,并且可以由服务器或客户端来配置。服务器可以存储、改变和管理ass状态。
62.qos(服务质量)是指音频流的服务质量并且可以对应于对特定服务的要求。
63.音频位置是指打算用于呈现音频的设备的空间布置内的音频通道的逻辑空间呈现位置。例如,耳机的左位置和右位置可以对应于音频位置。音频位置可以被分配给音频通道。
64.cbis(基于连接的等时流)是在核心层中定义的术语,并且是与ass服务中的音频流相对应的概念。单向cbis可以具有一个音频流,并且双向cbis可以具有两个音频流。
65.cbiss(基于连接的等时流集)是在核心层中定义的术语,并且是与ass服务中的音频组相对应的概念。
66.音频场景应用(asa)是指执行特定内容类型的音频组。
67.asc(音频流能力)是配置音频会话能力所需的参数集。
68.音频广告是为了发现asa参与的可用性。音频通用广告是不指定目标的音频广告,并且音频定向广告是针对特定目标的音频广告。
69.等时数据是指受时间限制的数据。例如,等时数据可以是时间相关的音频比如需要相对于视频的图像被同步的电视音频或者需要在构成多通道的多个设备中被同步和被再现的音频。
70.等时通道是指用于将等时数据从发送设备发送至一个或更多个接收设备的逻辑
发送端。
71.等时流是指携载一个或更多个等时通道的逻辑链路。
72.图1是示例性地示出了常规音频连接类型和本公开内容适用的音频连接类型的图。
73.图1(a)示出了br/edr音频连接类型的示例。在br/edr的情况下,支持一对一连接类型。一个设备(例如,智能电话)可以用作中央设备,并且可以与若干个设备中的每一个一对一连接。也就是说,可能存在多个一对一连接。因此,可以支持诸如通过耳机的电话呼叫或通过扬声器的音乐再现的服务。这种连接类型中的服务的中心是音频源,并且音频信宿(audio sink)例如耳机、扬声器和avn(音频视频导航)可以作为音频源的外围设备进行操作。
74.图1(b)示出了ble音频连接类型的示例。在ble的情况下,可以支持多对多连接。在这种情况下,可以存在多个中心设备例如tv、智能电话和网关等,并且可以配置复杂的m对n连接。因此,可以支持通过耳机的电话呼叫和音乐再现的服务,并且可以支持广播音频服务,例如闹钟、门铃和广告语音。这种连接类型中的服务的中心是音频信宿,并且可以通过移动多个音频源来使用音频服务。
75.图2是示例性地示出了常规音频相关协议栈和本公开内容适用的音频相关协议栈的图。
76.图2(a)示出了音频相关协议栈的示例。l2cap(逻辑链路控制和适配协议)层在上层与下层之间起到仲裁和调解的作用。在上层中,可以包括诸如rfcomm(射频通信)、avdtp(音频/视频分发传输协议)、avctp(音频/视频控制传输协议)等的协议和诸如hfp(免提配置文件)、a2dp(高级音频分发配置文件)、avrcp(音频/视频远程控制配置文件)等的配置文件。下层可以包括mac/phy层。mac(媒体访问控制)层可以包括链路管理器和链路控制器,并且phy(物理)层可以包括br/edr无线电。另外,面向同步连接(sco)/扩展sco(esco)可以提供用于语音的同步数据通信路径。因此,在br/edr中,可以为每个配置文件设计协议栈。l2cap层、br/edr协议、通用访问配置文件(gap)和br/edr配置文件层可以被统称为主机层,并且链路管理器、链路控制器和br/edr无线电层可以被称为控制器层。主机与控制器之间的接口可以被称为hci(主机控制器接口)。
77.图2(b)示出了ble音频相关协议栈的示例。与为每个配置文件配置协议的br/edr不同,在ble中,可以设计用于各种配置文件的通用协议栈。该通用协议栈可以被称为中间件。例如,可以配置以中间件形式的用于诸如助听器、高质量音频/音乐、语音识别和呼叫/媒体的各种配置文件的通用协议。例如,中间件可以包括诸如设备发现、流控制(或流管理)、编解码器和遗留管理的协议。另外,核心层可以包括链路层(link layer,ll)、le无线电(即,phy层),并且ll可以包括与由蓝牙5定义的多播支持等时通道相关的功能。
78.另外,配置文件和中间件可以被称为主机层,核心层可以被称为控制器层,并且可以在主机与控制器之间定义hci。
79.除了图2(b)中示出的主机配置文件和协议之外,主机可以包括le配置文件、通用访问配置文件(gap)、通用属性配置文件(gatt)、属性(att)协议、安全管理器(sm)等。
80.从主机发送至控制器的信息可以被称为hci命令分组。从控制器发送至主机的信息可以被称为hci事件分组。另外,可以在主机与控制器之间交换hci异步数据分组或hci同
步数据分组。
81.此外,除了图2(b)中所示的中间件配置文件和服务之外,中间件还可以包括如下各种配置文件和/或服务:
82.音频会话能力服务(ascs):音频会话能力服务(ascs)是支持与音频会话相关的广告或发现能力的服务;
83.音频流会话服务(audio stream session service,asss):音频流会话服务(asss)是支持与音频会话相关的发现、设置、建立、控制和管理的服务;
84.音频输入管理服务(aims):用于管理音频输入音量等的服务;
85.音频路由服务(ars):用于选择音频输入和输出的位置的服务;
86.音频中间件配置文件(amp):用于分发音频的设备的行为的基本配置文件;
87.呼叫管理配置文件(cmp):两个设备之间为呼叫而进行交互的角色和过程的配置文件;
88.音频通用中间件配置文件(agmp):使实现内容和/或流控制的基本配置文件;
89.组标识服务(gis):用于发现属于组的设备的服务。组标识服务(gis)或组标识配置文件(gip)可以允许设备作为组的一部分而被发现。组被定义为一起操作以支持特定场景的一组设备,并且这些设备可以被称为组成员。例如,一起响应于控制命令的一组设备例如一对助听器、一对耳塞式耳机(earbud)或接收多通道(例如,5.1ch)音频的扬声器集合可能是这样的示例:
90.音频回放器管理配置文件(apmp):支持音频回放器的控制或交互的配置文件;
91.音频回放器管理服务(apms):支持音频回放器的控制或交互的服务;
92.麦克风管理配置文件:用于麦克风状态管理的配置文件;
93.麦克风管理服务:支持用于麦克风状态管理的接口和状态的服务;
94.快速服务发现服务(qsds):支持快速发现诸如音频回放器管理和呼叫管理的服务的服务;
95.呼叫承载服务:支持设备上承载的呼叫接口和呼叫状态的管理的服务;
96.音量管理配置文件:支持设备的音频音量管理的配置文件;
97.音量管理服务:支持设备的音频音量接口和状态的服务;
98.音量偏移管理服务:用于音频输出的音量管理的服务。
99.图3示出了本公开内容适用的5.1通道环绕系统硬件的示例。
100.在图3中,le音频源设备可以执行发起者的功能,并且le音频信宿设备可以执行接受者的功能。发起者是指发起音频会话的设备,而接受者是指接受发起的音频会话的设备。在此,源并不总是发起者或者信宿(sink)并不总是接受者,源可以是接受者或者信宿可以是发起者。
101.例如,音频源可以是tv设备,并且音频信宿可以是扬声器设备。音频源可以将音频数据发送至音频信宿。另外,音频源可以从音频信宿接收反馈数据。多个音频信宿可以分别接收与5.1通道——fl(左前)、fr(右前)、rl(左后)、rr(右后)、c(中央)和w(低音扬声器)——中的一个相对应的音频数据,并且通过扬声器输出该音频数据。
102.音频编码器或解码器可以支持各种音频格式。例如,音频格式可以包括蓝牙低功耗音频编解码器(bleac)、杜比5.1ch、数字环绕声(dts)等,并且每种格式的特性如下。
bleac是单通道编解码器,并且bleac的96kbps的传输速率可以提供与sbc(子带编解码器)的256kbps和mp3的200kbps相同的质量。杜比5.1ch可以支持48khz采样速率,支持1到5.1(或1到6)通道,并且支持高达448kbps的传输速率。dts可以支持48khz或96khz采样速率,支持2至6.1通道,并且支持768kbps半速率和1,536kbps全速率的传输速率。
103.图4是示出了本公开内容适用的音频数据编码/解码处理的图。
104.参照图4(a),dts格式流或杜比5.1ch格式流可以被输入至发送端(tx)的dts解码器或杜比5.1ch解码器,并且pcm(脉冲编码调制)格式的音频信号可以被输出。pcm信号可以被输入至bleac编码器并作为bleac格式的音频信号被输出。在此,可以添加可选的供应商特定信息。bleac信号可以通过ble接口被发送至接收端(rx)的ble接口。接收端可以通过bleac解码器处理bleac信号并将该bleac信号转换成可以通过扬声器输出的信号。
105.在此,可以将多个流从发送端发送至多个接收端。例如,多个流中的每一个可以包括与5.1ch之中的一个通道相对应的音频信号。可以从多个接收端在不同时间接收多个流,但是所述多个流具有需要同时回放或呈现的等时性质,并且这些流可以被称为cbis(基于连接的等时流)。也就是说,可以将与5.1ch相对应的六个cbis从发送端发送至接收端,并且这六个cbis的集合可以被称为一个cbiss(基于连接的等时流集)。
106.图4(b)和图4(c)概念性地示出了通过多个流的音频流式传输。一个或更多个音频流可以对应于cbis,并且音频组可以对应于cbiss。例如,一个音频流可以对应于一个cbis,而两个或更多个音频流可以对应于一个cbis。多个cbis可以被包括在一个音频组或cbiss中。
107.图5是示出了本公开内容适用的两个设备的通道分配的示例的图。
108.接收端可以根据由发送端提供的定时信息而发起流接收。例如,定时信息可以表示从包括定时信息的数据单元被发送的时间点的预定偏移之后的时间点。接收端可以接收与流中包括的一个或更多个通道相对应的音频数据。例如,可以将包括在一个流中的多个通道分别分配给多个接收端。可以以时分多路复用(tdm)方法来发送包括在一个流中的多个通道(或多个音频数据)。例如,可以在第一定时处发送第一通道的音频数据,并且可以在第二定时处发送第二通道的音频数据。
109.广播接收端可以通过使用由发送端周期性广告的数据单元中包括的信息来检测当前可获得的广播音频流、流偏移值、流间隔值等。
110.在作为基于无连接的等时链路的等时非连接链路(incl)的情况下,可以在源设备与信宿设备之间没有连接的情况下发送/接收(例如,以广播方式)等时通道。从诸如由发送端广告的aux_sync_ind协议数据单元(pdu)中包括的bsg(广播同步组)的信息,接收端可以检查incl流偏移或bsg偏移并确定锚点定时。incl流传输可以从锚点开始。两个连续的锚点之间的定时差可以被定义为间隔(例如,图5的inclch1间隔或iso间隔)。一个或更多个子事件可以被包括在流传输事件中。
111.在图5的示例中,一个音频流可以包括两个通道的音频数据。第一通道(ch1)可以被分配给第一设备(设备#1),并且第二通道(ch2)可以被分配给第二设备(设备#2)。在锚点之后的一个或更多个定时处,可以将包括在incl流中的ch1发送至设备#1,此后,可以在一个或更多个定时处将ch2发送至设备#2。另外,incl流事件可以包括ch1的事件和ch2的事件。ch1的事件可以包括两个子事件。ch2的事件可以包括两个子事件。子事件之间的定时差
可以被定义为子事件间隔。
112.等时音频数据可能具有有限的寿命。也就是说,在预定时间到期之后,音频数据可能无效。例如,可以在icl通道中定义预定超时值,并且在预定超时值到期之后,可以丢弃发送至多个设备的等时音频数据。例如,超时可以被表达为多个子事件。
113.图6是用于描述本公开内容适用的两个流的同步延迟的图。
114.假设多个流被包括在一个音频组中,并且多个流具有需要同时被再现的等时性。可以从一个设备发送多个流或者可以从不同的设备发送多个流。此外,多个流可以由一个设备接收或者可以由不同的设备接收。
115.由于蓝牙通信方法不支持同时传输多个流,因此可以根据预定顺序在不同时间资源(或定时)上以tdm方法发送多个流。在这种情况下,在多个流的传输定时中可能出现差异,因此,在多个流的接收定时中也可能出现差异。另外,由于需要同时再现多个流,因此首先接收到的流不能首先被再现,而是可以在等待直到接收到最后的流之后才被再现。也就是说,可以直到完成所有流的接收的定时才发生同步延迟。
116.在图6的示例中,第一流(cbis#1)和第二流(cbis#2)可能需要同时被再现,并且可以被包括在一个cbiss中。cbiss锚点可以与cbis#1的锚点相同,并且在可以发送cbis#1音频数据之后,继在cbis#1间隔之后的时间点(例如,t1)之后的cbis#1音频数据可以被发送。接下来,在从cbis#2的锚点发送cbis#2音频数据之后,继在cbis#2间隔(例如,t2)之后的时间点之后的cbis#2音频数据可以被发送。在接收到一个cbiss中包括的所有流之后,可以同时再现它们。也就是说,可以在完成相对晚发送的cbis#2的接收时处理和再现cbis#1和cbis#2的音频数据。
117.在此,cbiss的同步延迟可以被定义为直到从cbiss相对晚地接收的cbis#2的接收完成时间(t2)的时间间隔。例如,cbis#1的接收完成时间t1和cbis#2的接收完成时间t2之中的较晚时间点可以被确定为cbiss的同步延迟。也就是说,多个流的同步延迟之中的较晚接收完成时间可以被确定为cbiss的同步延迟。具体地,当cbis#1和cbis#2被绑定到相同的单个cbiss中时,可以在等待直到发送接收的流cbis#2信息之后再现先前接收的流cbis#1。
118.发送端(tx)可以向接收端(rx)通知预先考虑到cbis的数目、cbis事件、子事件和间隔而计算的预期延迟值。例如,发送端可以在配置通道时向接收端通知预期延迟值。
119.在基于连接的等时连接链路(icl)的情况下,由于发送端和接收端连接,因此接收端可以向发送端通知实际延迟值。
120.在incl的情况下,由于发送端和接收端不连接,因此接收端无法向发送端通知实际延迟值。即使可以从接收端向发送端通知延迟值,发送端也不能控制特定设备的回放时间以便使多个设备同步。
121.例如,甚至在incl的情况下,当在一个cbiss中包括多个cbis(例如,与5.1ch的六个通道相对应的六个cbis)时,发送端也可以接收来自接收器的反馈以调整同步。通过反馈,接收端可以向发送端通知其延迟信息。
122.图7是用于描述本公开内容适用的多个设备的广播操作的图。
123.音频源设备可以计算用于等时流的同时再现的同步延迟值,并将该同步延迟值发送至多个音频信宿设备。信宿设备中的每一个可以基于从源设备提供的延迟值来确定回放定时。也就是说,由于源设备无法准确地知道信宿设备接收和处理音频数据所花费的时间
量,因此信宿设备可以提供延迟值作为用于确定回放定时的基本信息。信宿设备可以根据其设备特性来确定再现定时并再现音频数据。
124.例如,在等时广播操作中,源设备(例如,tv)可以计算传输延迟、呈现延迟等,并将传输延迟、呈现延迟等发送至信宿设备(例如,扬声器)。信宿设备可以通过反映接收的延迟值来调整音频数据的回放或呈现定时。由于对每个信宿设备制造商而言,设备特性是不同的,因此可以由信宿设备确定实际回放定时。
125.如果信宿设备可以将信息发送至源设备,则信宿、信宿设备可以计算延迟值并将延迟值发送至源设备。因此,源设备可以基于从信宿设备提供的延迟值来确定传输定时。
126.例如,可以形成反馈通道,信宿设备(例如,扬声器)可以通过该反馈通道将信息传送至源设备(例如,tv)。在这种情况下,可以执行基于等时连接的单播操作。信宿设备可以计算呈现延迟值并通过反馈通道将呈现延迟值发送至源设备。因此,源设备可以通过反映从信宿设备提供的延迟值来调整音频数据的传输时间。
127.参照图7,在发送端是tv并且两个接收端是第一扬声器(扬声器#1)和第二扬声器(扬声器#2)的情况下,示例性地示出了等时流操作。可以为第一扬声器分配第一流/通道(例如,5.1ch中的rr通道),并且可以为第二扬声器分配第二流/通道(例如,5.1ch中的rl通道)。
128.第一扬声器和第二扬声器可以分别发送音频通用广告或音频定向广告。tv和第一扬声器或第二扬声器中的至少一个可以彼此连接或可以不彼此连接。
129.当tv和扬声器中的至少一个连接时,扬声器可以计算呈现延迟值并将该呈现延迟值报告给tv。当tv和扬声器没有连接时,tv可以计算传输延迟、呈现延迟值等并将其发送至扬声器。
130.考虑到音频内容特性、音频/视频同步、编解码器特性等,tv可以执行同步操作并将延迟强制地应用于特定音频流。例如,由于音频编解码器编码/解码延迟与bleac的40ms、sbc的200ms、apt-x的100ms等不同,因此可以根据编解码器特性来确定延迟值。另外,由于a/v内容的特性根据游戏、电影、动画等而不同,因此可能考虑到这一点来确定延迟值。此外,可以考虑到媒体时钟与ble接口的时钟之间的差异来确定延迟值。可以通过a/v时标信息来确认媒体时钟。
131.另外,如图7的左侧所示,可以考虑到在各种广播标准中定义的音频/视频信号处理时间来确定延迟值。例如,在高级电视系统委员会(atsc)中,音频-视频-音频之间的时间间隔为15ms和45ms;在itu-r bt.1359-1中,音频-视频-音频之间的时间间隔为125ms和45ms;以及在smpte(电影电视工程师协会)中,音频-视频-音频之间的时间间隔被定义为22ms和22ms,而且可以考虑到这些时间间隔来确定延迟值。
132.tv可以配置每个流的呈现延迟值并向扬声器通知该呈现延迟值,或者tv可以基于从扬声器提供的延迟值来确定流的传输定时。
133.tv可以基于所确定的延迟值将流发送至扬声器。也就是说,作为发送端的源设备或tv可以与作为接收端的信宿设备和扬声器交换延迟值,并且可以通过反映延迟值来执行同步操作。
134.图8和图9是用于描述本公开内容适用的icl类型和incl类型的操作的图。
135.在ble中,可以将用于音频传输的通道分类为icl类型和incl类型。icl通道和incl
通道两者都可以使用流id和通道id将音频数据发送至多个设备和/或多个配置文件。根据icl类型和incl类型,可以确定要对用于音频数据传输的ble通道执行什么操作。
136.icl通道对应于基于连接的用例,该基于连接的用例通过一个源设备与一个信宿设备之间的点对点物理链路来支持单向或双向通信。另外,incl通道对应于广播用例,该广播用例通过一个源设备与一个或更多个信宿设备之间的点对多点物理链路来支持仅单向通信。
137.设备的协议栈可以按照从上层到下层的顺序包括配置文件层、通道管理器层、主机层和控制器层。可以以通道为单位在配置文件层与通道管理器层之间递送数据,并且可以以流为单位在通道管理器层与主机层之间递送数据。
138.参照图8,在icl类型的情况下,主设备(m)与第一从设备s1之间的连接以及主设备m与第二从设备s2之间的连接。在这种情况下,可以通过通道标识符来划分包括在一个流中的两个通道,并将这两个通道发送至两个从设备。也就是说,可以将通道id 1分配给s1,并且可以将通道id 2分配给s2。通道id 1和通道id 2两者都可以通过相同的流id 1被发送。另外,由于基于连接可以进行双向通信,因此从设备可以将反馈信息提供至主设备m。例如,当s1是安装在右耳上的无线耳机并且s2是安装在左耳上的无线耳机时,可以通过s1和s2以立体声收听由主设备m发送的音乐。
139.参照图9,在incl类型的情况下,在主设备m与从设备(s1,s2)之间没有连接,并且从设备可以基于由主设备广告的同步信息与incl流偏移、事件、子事件的定时同步,并且可以接收广播音频数据。另外,主设备m可以包括两个配置文件(配置文件#1和配置文件#2)。第一从设备s1可以包括配置文件#1,第二从设备s2可以包括配置文件#1和配置文件#2。在配置文件#1中,可以通过一个流——流id 1——从主设备m广播通道id 1和通道id 2,并且类似于图8,从设备s1和s2分别接收配置文件#1中的通道id 1和通道id。另外,在配置文件#2中,可以通过流id 2从主设备m广播通道id 1,并且第二从设备s2可以接收配置文件#2中的通道id 1。
140.图10是示出了本公开内容适用的广播音频流状态机的图。
141.广播音频流的控制可以被描述为广播发送端处的广播音频流状态机和状态转换。
142.广播音频流状态机可以允许广播发送器在没有连接的情况下以单向方式与一个或更多个广播接收器(或广播发现客户端)进行通信或者不与广播接收器(或广播发现客户端)进行通信。广播发送器可以以广播音频源会话(bass)的形式使用广播音频广告进行通信。广播音频流可以由广播发送器发送。
143.音频待机状态是指没有发送广播音频流的状态。
144.音频配置状态是指广播接收器(或广播发现发起者)通过周期性广告事件来开始用于检测音频流的广告信息的状态。周期性广告事件可以包括递送广告元数据、流配置、同步信息等。在该状态下,没有音频数据分组从广播发送器被发送。
145.音频流式传输状态是指在广播发送器中启用广播音频流并且可以发送音频数据分组的状态。广播发送器可以在发送广播音频流时通过周期性广告连续地执行元数据广告。如果在音频待机状态下配置流,则它可以转换到音频配置状态,并且如果在音频配置状态下释放流,则它可以转换到音频待机状态。如果在音频配置状态下启用流,则它可以转换到音频流式传输状态,并且如果在音频流式传输状态下禁用流,则它可以转换到音频配置
状态。如果在音频配置状态下发生流重新配置,则它可以转换到音频配置状态。当在音频流式传输状态下发生内容重新分配时,它可以转换到音频流式传输状态。
146.图11是示出了本公开内容适用的音频设置过程的图。
147.当不存在发现结果(即,零发现)时,可以转换音频待机状态,并且如果存在发现结果,则用于音频流能力(asc)的发现可以被执行并转换到音频待机状态。
148.当发生ass(音频流会话)配置时,它可以转换到音频配置状态。如果在音频配置状态下释放ass,则它可以转换到音频待机状态。当在音频配置状态下发生重新配置时,它可以通过ass配置转换到音频配置状态。
149.当ass被激活时,它可以转换到音频流式传输状态。如果在音频流式传输状态下发生ass停用,则它可以转换到音频配置状态。如果在音频流式传输状态下发生内容重新分配,则它可以转换到音频流式传输状态。
150.图12是示出了本公开内容适用的链路层状态机的图。
151.链路层ll的操作可以被表示为(根据等时通道)待机状态、广告状态、扫描状态、发起状态、连接状态、同步化(同步性)状态和流式传输(等时广播)状态。
152.待机状态对应于转换到另一状态之前的待机状态。
153.在广告状态下,ll可以作为发送广告分组的广告者而操作。当在广告状态下建立连接时,设备可以作为从设备而操作。
154.在发起状态下,ll可以充当发起者,该发起者监听来自其他广告者的分组,并且响应于分组而发起连接。当在发起状态下建立连接时,设备可以作为主设备而操作。
155.在扫描状态下,ll可以充当扫描者,该扫描者监听来自其他广告者的分组并请求附加信息。
156.同步化状态可以是指可以接收或与另一设备同步接收音频流的状态。
157.流式传输状态可以是指音频流被发送至另一同步化设备的状态。
158.图13是示出了本公开内容适用的音频拓扑的图。
159.在单播的情况下,可以支持单向音频流或双向音频流。可以执行基于耳机与智能电话之间的连接的单播音频数据发送/接收,以及可以执行基于耳机与智能电话之间的连接和耳机与平板计算机之间的连接的单播音频数据发送/接收。在这种情况下,单播音频服务的服务器可以是头戴式耳机,并且客户端可以是智能电话或平板计算机。此外,头戴式耳机可以对应于音频信宿,并且智能电话或平板计算机可以对应于音频源。
160.在广播的情况下,通知系统、门铃、tv等可以以广播方式发送音频数据,并且一个或更多个设备可以接收广播音频数据。在这种情况下,广播音频服务的服务器可以是通知系统、门铃、tv等,并且客户端可以是头戴式耳机。此外,头戴式耳机可以对应于音频信宿,并且通知系统、门铃和tv可以对应于音频源。
161.图14至图16是示出了本公开内容适用的服务器与客户端之间的消息交换过程的图。
162.在图14至图16的示例中,客户端可以是音频源,服务器可以是音频信宿。或者客户端可以是音频信宿,服务器可以是音频源。
163.图14示例性地示出了音频会话能力(asc)发现过程和asc更新过程。
164.在图14(a)的音频会话能力发现过程中,客户端可以通过将asc发现请求消息发送
至服务器来请求能力发现,并且响应于这,服务器可以通过将asc发现响应消息发送至客户端来发送能力的详细信息。
165.在图14(b)的音频会话能力更新过程中,服务器可以将asc更新指示消息发送至客户端以通知已经发生了能力更新,并且客户端可以通过发送asc更新确认消息来通知服务器执行能力更新。随后,可以执行音频会话能力发现过程或asc发现过程。
166.在图14的示例中使用的消息的格式可以如下面表1中所示地被定义。
167.【表1】
[0168][0169]
asc更新指示消息和asc更新确认消息可以分别包括指示需要asc发现的信息和用于此的确认信息。
[0170]
图15示例性地示出了单播音频流配置过程和单播音频流建立过程。
[0171]
在图15(a)的单播音频流配置过程中,客户端在音频待机状态下可以将编解码器配置请求消息发送至服务器,以向服务器通知编解码器请求配置等。作为响应,服务器可以将编解码器配置响应消息发送至客户端,以向服务器通知由服务器支持的qos和呈现延迟值。另外,客户端可以将qos协商请求消息发送至服务器以指定特定的音频流会话(ass)、音频组和音频流,以向客户端通知由客户端支持的qos和呈现延迟值。作为响应,服务器可以将qos协商响应消息发送至客户端。因此,可以通过客户端与服务器之间的协商来确定带宽(bw)、比特率等,并且客户端和服务器可以转换到配置状态。
[0172]
在图15(b)的单播音频流建立过程中,客户端可以在音频配置状态下将ass启用请求消息发送至服务器,以通知关于ass请求激活的信息。作为响应,服务器可以将ass启用响应消息发送至客户端以通知关于要激活哪个ass。针对基于连接的等时链路参数的配置可以在客户端处被执行,并且可以通过客户端和服务器配置基于连接的等时流连接和相关参数来建立cbis。如果客户端是音频信宿并且服务器是音频源,则服务器可以准备播放音频数据并将ass rx就绪指示消息发送至客户端,并且客户端可以在接收到ass接收就绪指示
通知消息之后准备提供音频数据。因此,客户端和服务器可以转换到音频流式传输状态。
[0173]
在图15的示例中使用的消息的格式可以如下面表2中所示地被定义。
[0174]
【表2】
[0175][0176]
图16示例性地示出了用于通过客户端禁用音频流的过程和用于通过服务器禁用音频流的过程。
[0177]
在图16(a)中的客户端禁用音频流的过程中,如果客户端是音频源并且服务器是音频信宿,则当客户端决定在音频流式传输状态下停止音频时,可以将ass禁用请求消息发
送至服务器。因此,服务器可以停止流式传输音频数据并将ass禁用响应消息发送至客户端。在接收到这时,客户端可以停止音频数据编码和音频应用操作。
[0178]
可替选地,如果客户端是音频信宿并且服务器是音频源,则客户端可以停止音频数据流式传输,并将ass禁用请求消息发送至客户端。因此,服务器可以停止音频数据编码和音频应用操作,并将ass禁用响应消息发送至客户端。
[0179]
此后,客户端和服务器可以执行基于连接的等时流释放和相关参数设置释放。在此,为客户端与服务器之间的重新连接作准备,可以将设备信息连同等时流连接相关参数存储在客户端和/或服务器中。因此,客户端可以释放基于连接的等时链路相关参数设置。因此,客户端和服务器可以转换到音频配置状态。
[0180]
在图16(b)的示例中,在通过服务器禁用音频流的过程中,如果服务器是音频源并且客户端是音频信宿,则当服务器决定在音频流式传输状态下停止音频时,可以将ass禁用指示消息发送至客户端。因此,客户端可以停止流式传输音频数据,并且可以或可以不将ass禁用确认消息发送至服务器。服务器可以在接收或没有接收ass停用响应的情况下停止编码音频数据和音频应用操作。
[0181]
可替选地,如果服务器是音频信宿并且客户端是音频源,则服务器可以停止音频数据流式传输并将ass禁用指示消息发送至客户端。因此,客户端可以停止音频数据编码和音频应用操作,并且可以或可以不将ass禁用确认消息发送至服务器。
[0182]
此后,客户端和服务器可以执行基于连接的等时流释放和相关参数配置释放。在此,为客户端与服务器之间的重新连接作准备,可以将设备信息连同等时流连接相关参数存储在客户端和/或服务器中。因此,客户端可以释放基于连接的等时链路相关参数配置。因此,客户端和服务器可以转换到音频配置状态。
[0183]
在图16的示例中使用的消息的格式可以如下面表3中所示地被定义。
[0184]
【表3】
[0185][0186]
下面的表4示例性地示出了内容重新分配请求/响应、ass释放请求/响应、通用广告和定向广告消息格式。
[0187]
【表4】
[0188][0189]
图17是示出了用于本公开内容适用的呼叫服务的状态机的图。
[0190]
当在音频待机状态下接收到呼叫时,它可以转换到呼叫接受状态。当在呼叫接受状态下接受呼叫时,它可以转换到呼叫激活状态。当在呼叫接受状态下拒绝呼叫时,它可以转换到音频待机状态。在呼叫接受状态下不能接收呼叫的保持的情况下,它可以转换到呼叫保持状态,并且当在呼叫保持状态下释放保持时,它可以转换到呼叫激活状态。当呼叫保持状态或呼叫激活状态被终止时,它可以转换到音频待机状态。
[0191]
此外,当呼叫在音频待机状态下呼出时,它可以转换到呼叫发起状态。当它在呼叫发起状态下应答来自远程位置或其他方的呼叫时,它可以转换到呼叫激活状态。当它在呼叫发起状态下结束时,它可以转换到音频待机状态。
[0192]
在这样的呼叫服务状态机中,可能发生需要在音频待机状态下被递送至耳机的音频数据。例如,当通过声音通知拨打电话号码时的响应时,可以将音频数据发送至耳机。
[0193]
可替选地,明确地指示与呼叫服务相关的各种无线接入技术(例如,2g、3g、4g、5g、wi-fi、gsm、cdma、wcdma等)的信息。例如,可以定义大小为1个八位字节的承载技术字段。这可能与上述呼叫承载服务相关。
[0194]
在多路呼叫的情况下,可以存在多条线路,并且可以针对每条线路来维护如图17中所示的状态机。例如,在第一线路处于呼叫激活状态时,当第二线路从音频待机状态转换到呼叫接受状态时,第一线路或第二线路可以根据用户的控制转换到呼叫保持状态。
[0195]
在下文中,将描述蓝牙系统的逻辑链路和逻辑传输。
[0196]
可以使用各种各样的逻辑链路来支持不同的应用数据传送要求。每个逻辑链路与逻辑传输相关联,该逻辑传输可能具有各种特性。这些特性可以包括流量控制、确认/重复机制、序列编号和调度操作等。逻辑传输可以根据其类型承载各种类型的逻辑链路。可以将多个逻辑链路多路复用成相同的单个逻辑传输。逻辑传输可以由特定通道上的物理链路承载。
[0197]
逻辑传输标识和实时(链路控制)信令可以被包括在分组报头中,并且可以在有效
载荷的报头中包括特定的逻辑链路标识。
[0198]
下面的表5示例性地示出了逻辑传输类型、支持的逻辑链路类型、支持的物理链路和物理通道类型以及逻辑传输的描述。
[0199]
【表5】
[0200][0201]
图18是示出了本公开内容适用的每个层的分组格式的图。
[0202]
图18(a)示出了链路层(ll)分组格式的示例。ll分组格式可以包括前导码、访问地址(或访问代码)、pdu和循环冗余码(crc)字段。前导码可以具有1个八位字节的大小,可以用于在接收侧的频率同步、符号定时估计、自动增益控制(agc)训练等,并且可以用预定的位序列来配置。访问地址可以具有4个八位字节的大小,并且可以被用作物理通道的相关代码。可以在蓝牙4.0版本中用2个至39个八位字节的大小来定义pdu,并且可以在版本4.2中将pdu定义为2个至257个八位字节的大小。crc可以包括被计算为pdu的24位长校验和的值。
[0203]
图18(b)示出了图18(a)的pdu的示例性格式。可以以两种类型定义pdu,一种类型是数据通道pdu(data channel pdu),另一种类型是广告通道pdu(advertising channel pdu)。将参照图19详细描述数据通道pdu,并且将参照图20详细描述广告通道pdu。
[0204]
图18(c)示出了l2cap pdu格式的示例,其可以对应于图18(b)的有效载荷字段的示例性格式。l2cap pdu可以包括长度、通道id和信息有效载荷字段。长度字段可以指示信息有效载荷的大小,并且信息有效载荷字段可以包括较高层的数据。通道标识符字段可以指示信息有效载荷字段包括哪个上层数据。例如,如果通道标识符字段的值是0x0004,则它可以指示att(属性协议),如果通道标识符字段的值是0x0004,则它可以指示smp(安全管理器协议),或者可以定义和使用指示不同类型的上层或中间件值的另一个通道标识符。
[0205]
当图18(c)的l2cap分组是在信令通道上发送的l2cap pdu(即,控制帧)时,图18(c)的信息有效载荷字段可以如图18(d)中所示地被配置。信息有效载荷字段可以包括代码(code)字段、标识符(identifier)字段、长度(length)字段和数据(data)字段。例如,代码字段可以指示l2cap信令消息的类型。标识符字段可以包括与请求和响应匹配的值。长度字段可以指示数据字段的大小。数据字段可以包含属性。属性是任意数据的单元,并且可以包括例如在设备的各种状态下的各个时间点处的数据,比如位置、大小、重量、温度和速度。
[0206]
属性可以具有包括属性类型、属性句柄、属性值和属性权限的格式。
[0207]
属性类型可以包括指示由通用唯一标识符(uuid)标识的属性数据的类型的值。
[0208]
属性句柄可以包含由服务器分配以标识属性数据的值。
[0209]
属性值可以包括属性数据的值。
[0210]
属性权限可以由gatt(通用属性配置文件)来配置,并且可以包括指示被允许访问(例如,它是否可以读取/写入、是否需要加密、是否需要认证、是否需要授权等)相应的属性数据的类型的值。
[0211]
从属性协议(att)/通用属性配置文件(gatt)的角度来看,设备可以用作服务器和/或客户端。服务器可以用于提供属性和相关值,并且客户端可以发挥在服务器上发现、读取或写入属性的作用。
[0212]
在att/gatt中,它可以支持服务器与客户端之间的属性数据的发送和接收。为此,由att协议支持的pdu可以包括六种方法类型,即请求、响应、命令、通知、指示和确认。
[0213]
请求从客户端被发送至服务器,并且需要来自服务器的响应。响应从服务器被发送至客户端,并且当存在来自客户端的请求时被发送。命令从客户端被发送至服务器,并且不需要响应。通知从服务器被发送至客户端,并且不需要确认。指示从服务器被发送至客户端,并且需要客户端的确认。确认从客户端被发送至服务器,并且当存在来自服务器的指令时被发送。
[0214]
此外,gatt可以支持各种配置文件。基于gatt的配置文件的结构可以被描述为服务(service)和特性(characteristics)。设备可以支持一个或更多个配置文件。一个配置文件可以包括零个或者一个或更多个服务。多个配置文件可以使用相同的服务。一个服务可以包括一个或更多个特性。特性是指作为读取、写入、指示或通知的主题的数据值。也就是说,服务可以被理解为用于描述特定功能或特征的数据结构,并且作为特性的组合的服务可以指示由设备执行的操作。所有服务都由服务器实现并且可以由一个或更多个客户端访问。
[0215]
图19是示出了本公开内容适用的数据单元格式的示例的图。
[0216]
图19(a)示出了数据物理通道pdu(协议数据单元)的示例性格式。数据通道pdu可以用于在数据物理通道(例如,通道编号0至36)上发送分组。数据物理通道pdu包括16位或24位长度报头和可变大小(例如,0个到251个八位字节大小)有效载荷,并且还可以包括消息完整性检查(mic)字段。例如,可以在有效载荷字段大小不是0的加密的链路层连接的情况下包括mic字段。
[0217]
如图19(b)中所示,报头字段可以包括llid(逻辑链路标识符)、nesn(下一个预期序列号)、sn(序列号)、md(更多数据)、cp(cteinfo存在)、rfu(被保留供将来使用)。rfu对应于被保留供在必要时将来使用的部分,并且其值通常可以用0来填充。此外,根据cp字段的
值,报头字段还可以包括恒定音调扩展信息(cteinfo)子字段。另外,长度字段可以指示有效载荷的大小,并且当mic被包括时,它可以指示mic和有效载荷的长度。
[0218]
图19(c)示出了ll控制pdu的示例性格式。ll控制pdu可以对应于用于控制链路层连接的数据物理通道pdu。ll控制pdu可以根据操作码(opcode)具有固定值。opcode字段可以指示ll控制pdu的类型。控制数据(ctrdata)字段可以具有由opcode指定的各种格式和长度。
[0219]
例如,ll控制pdu的opcode可以具有指示ll_cbis_req、ll_cbis_rsp、ll_cbis_ind、ll_cbis_terminate_ind、ll_cbis_sdu_config_req和ll_cbis_sdu_config_rsp中的一个的值(例如,0x1f、0x20、0x21、0x22、
……
)。
[0220]
当opcode指示ll_cbis_req时,ctrdata字段可以包括cbis请求所需的信息连同cbiss标识信息和cbis标识信息。类似地,在opcode指示ll_cbis_rsp、ll_cbis_ind、ll_cbis_terminate_ind、ll_cbis_sdu_config_req、ll_cbis_sdu_config_rsp中的一个的每种情况下,ctrdata可以包括cbis响应、cbis指示、cbis终止指示、cbis服务数据单元(sdu)设置请求和cbis sdu设置响应所需的信息。
[0221]
图19(d)示出了音频数据pdu格式的示例。
[0222]
音频数据pdu可以是cbis pdu或广播等时pdu。当在cbis流中被使用时,音频数据pdu可以被定义为cbis pdu。当在广播等时pdu中被使用时,音频数据pdu可以被定义为广播等时pdu。
[0223]
音频数据pdu可以包括16位长度报头字段和可变长度有效载荷字段。此外,音频数据pdu还可以包括mic字段。
[0224]
在cbis pdu的情况下,报头字段的格式可以包括2位llid、1位nesn、1位sn、1位关闭等时事件(cie)、1位rfu、1位空pdu指示符(npi)、1位rfu、9位长度子字段。
[0225]
在广播等时pdu的情况下,报头字段的格式可以包括2位llid、3位控制子事件序列号(cssn)、1位控制子事件传输号(cstf)、2位rfu和8位长度子字段。
[0226]
音频数据pdu的有效载荷字段可以包括音频数据。
[0227]
图20是示出了本公开内容适用的广告单元格式的示例的图。
[0228]
图20(a)示出了广告物理通道pdu(协议数据单元)的示例性格式。广告通道pdu可以用于在广告物理通道(例如,通道号37、38、39)上发送分组。广告通道pdu可以由2个八位字节的报头和6个到37个八位字节的有效载荷组成。
[0229]
图20(b)示出了广告通道pdu的报头的示例性格式。报头可以包括pdu类型、被保留供将来使用(rfu)、发送地址(txadd)、接收地址(rxadd)、长度(length)和rfu字段。报头的长度字段可以指示有效载荷的大小。
[0230]
图20(c)示出了广告通道pdu的有效载荷的示例性格式。有效载荷可以包括长度为6个八位字节的广告者地址(adva)字段以及长度为0个到31个八位字节的advdata字段。adva字段可以包括广告者的公共地址或随机地址。advdata字段可以包括零个或更多个广告数据(ad)结构,必要时还可以包括填充。
[0231]
图20(d)示出了一个ad结构的格式。ad结构可以包括三个字段。长度字段可以指示ad数据字段的长度。也就是说,通过从由长度字段指示的值中减去1获得的值可以对应于ad数据字段的长度。ad类型字段可以指示ad数据字段中包括的数据的类型。ad数据字段可以
包括从广告者的主机提供的广告数据。
[0232]
在下文中,将描述根据本公开内容的加密密钥配置。
[0233]
在蓝牙通信系统中,当用于br/edr的链路管理器协议(lmp)或双模式蓝牙控制器使用e0或aes(高级加密标准)-ccm(密码块链接-消息认证码)块密码方法对无线(ota)通道进行加密时,用于选择加密密钥的最小长度的过程被定义。这是遵守对用户设备中使用的加密算法的强度的规定的措施之一。然而,在蓝牙通信系统中引入该过程之后,这些规定在各个地区被改变或更新。
[0234]
在针对加密密钥长度的协商处理期间,可能会发生分组注入攻击。由于这个原因,mitm(中间人)设备可能会有意减少用于特定基带链路的密钥长度,从而生成可以实时地不加选择地解密的链路。如果涉及建立加密链路的两个设备同时都易受攻击,则可能会发生这样的攻击。
[0235]
对于当前蓝牙通信系统,可以考虑这样的攻击的可能性,例如,gap部分(例如,br/edr安全模式4)包括以下步骤:检查在建立加密之后链路的加密密钥大小以确认选择了足够用于特定目的的密钥大小。此外,一些蓝牙配置文件使用这种方法来要求一定的最小密钥长度。
[0236]
存在如下实现,所述实现通过允许协商密钥长度而易受安全性影响并且并不总是检查协商的密钥长度;并且在一些实现中,如果可以协商减小的密钥长度,则可能容易且不加选择地解密最小允许长度。
[0237]
更新蓝牙通信系统以强制进行gap级密钥长度检查并在蓝牙主机实现中推荐或强制实施新的加密密钥长度,并且也进行了改进以支持蓝牙控制器硬件中推荐的最小加密密钥长度。还需要资格测试来验证实现符合这些要求。
[0238]
在采用对蓝牙标准的改变之前,实现必须遵循加密密钥大小不足的现有标准。因此,推荐由主机针对正被建立的每个加密链路强制实施7个八位字节或更多八位字节的秘钥加密密钥。使用主机控制器接口(hci)的主机和支持hci命令“读取加密密钥大小”的控制器可以被鼓励:在指示成功加密建立的事件已经被接收到之后,使用该命令来确定加密链路的选择的加密密钥的长度。需要更新来要求支持hci接口的控制器支持这些hci命令。在不支持hci的控制器或主机和控制器被集成的结构中,gap层或更高层可以执行等同操作。
[0239]
如果向后兼容性要求允许,则蓝牙设备可以在仅安全连接模式下操作,并使用与联邦信息处理标准(fips)兼容的随机数发生器(rng)、散列和块加密算法。另外,需要改进以确保密码连接模式的最小密钥长度符合16个八位字节密码密钥长度要求。
[0240]
如上所述,因为由于短的加密密钥长度而引起的安全漏洞是现有蓝牙通信系统中的问题,所以需要对加密密钥长度的修正。在下文中,将描述根据本公开内容的加密密钥设置特别是加密密钥大小(或长度)的设置的实施方式。
[0241]
如参照图2描述的,蓝牙设备可以包括主机层和控制器层,并且主机层与控制器层之间的接口层被称为主机控制器接口(hci)。
[0242]
hci提供了主机访问控制器的功能的统一方式。通过hci接口进行的通信采用分组的形式。主机可以将hci命令分组发送至控制器,并且使用hci事件来异步地从控制器接收通知。在hci接口上发送/接收的分组可以具有四种类型之一。这四种类型被限定为hci命令分组、hci异步数据分组、hci同步数据分组和hci事件分组。
[0243]
图21示出了本公开内容适用的示例性hci分组格式。
[0244]
图21(a)示出了hci命令分组格式的示例,并且图21(b)示出了hci事件分组格式的示例。
[0245]
如在图21(a)的示例中的hci命令分组由主机用来将命令发送至控制器。
[0246]
为每个命令分配大小为2个字节(或八位字节)的唯一opcode,并且opcode被分为两个字段ogf(opcode组字段)和ocf(opcode命令字段)。ogf用于对类似的opcode进行分组,并且ocf用于标识opcode组内的特定指令。
[0247]
1字节参数总长度字段指定以八位字节为单位包括在hci命令分组的其余部分中的所有参数的总长度。在参数全长字段之后,可以包括一个或更多个命令参数。
[0248]
如在图21(b)的示例中的hci事件分组由控制器用来在事件将发生时通知主机。hci事件可以作为对先前从主机发送的hci命令的响应而产生,或者由于另一事件(例如,错误发生、断开连接、连接请求接收等)而产生。
[0249]
hci事件分组包括大小为1个字节的事件代码字段。事件代码可以包括标识已经发生的事件的值。
[0250]
1字节参数总长度字段指定以八位字节为单位包括在hci事件分组的其余部分中的所有参数的总长度。在参数全长字段之后,可以包括一个或更多个事件参数。
[0251]
尽管在图21中未示出,但是hci异步数据分组可以用于在主机与控制器之间交换数据,并且可以在建立连接之后被交换。hci同步数据分组用于在主机与控制器之间交换同步数据。
[0252]
下面的表6示出了用于连接加密的hci命令或事件的示例。
[0253]
【表6】
[0254]
设置连接加密命令
[0255][0256]
connection_handle:大小:2个八位字节(有意义的12位)
[0257][0258]
encryption_enable:大小:1个八位字节
[0259]
值参数描述0x00链路级加密关闭0x01链路级加密开启
[0260]
set_connection_encryption(或hci_set_connection_encryption)命令可以用于启用和禁用链路级加密。
[0261]
connection_handle命令参数可以用于标识正在建立连接的另一个控制器。connection_handle可以是异步连接的connection_handle。加密配置可以应用于具有相同远程控制器的所有connection_handle参数。当加密正在改变时,链路管理器可能会停止连
接上的所有异步流量。
[0262]
当两个设备都支持两个安全连接(控制器支持)特征和安全连接(主机支持)特征并且当前在特定的connection_handle上启用加密时,如果encryption_enable参数被配置为指示链路级加密关闭(使链路级加密关闭)的值,则控制器可以返回指示加密模式不可接受的错误代码(例如,0x25)。
[0263]
当控制器接收hci_set_connection_encryption命令时,控制器可以将hci_command_status事件发送至主机。当链路管理器完成对连接的加密启用/禁用时,本地控制器可以将hci_encryption_change事件发送至主机,并且远程设备上的控制器也可以生成hci_encryption_change事件。
[0264]
当设计了各种hci命令例如hci_set_connection_encryption的上述示例时,它们可以以软件如hci_map结构被实现。表7示出了包括hci_map结构的源代码的示例(例如bluez,它是开源的蓝牙协议栈)。
[0265]
【表7】
[0266][0267]
可以将新设计的指令添加至如在表7的示例中的hci_map结构。例如,如表8中所示,诸如read_encrypt_key_size_cmd和read_encrypt_key_size_rsp的命令可以另外被设计,并且可以通过set_bredr_command进行调用和使用。
[0268]
【表8】
[0269][0270]
返回参照图2,将描述本公开内容适用的协议栈。
[0271]
图2(a)示出了br/edr协议栈,图2(b)示出了ble协议栈。
[0272]
主机通常以软件来实现,并且控制器通常以硬件来实现,但是本公开内容的范围不限于此。每个主机或控制器都可以以软件、硬件、软件和硬件的组合或固件的形式被配置。
[0273]
在br/edr的情况下,与安全相关的实体可以包括在控制器中。同时,在le的情况下,安全管理器sm的功能可以包括在控制器或主机中。在本公开内容的示例中,加密功能以及与安全相关的功能不限于仅包括在控制器或主机中。
[0274]
向控制器和主机/配置文件/服务发出hci命令的实体都可以包括在主机中。与配置文件/服务对应的部分可以包括在较高的层中。
[0275]
例如,命令可以按以下顺序被传递:配置文件、安全实体(例如,用于le的sm)、hci、控制器(例如,用于le的ll)。
[0276]
图22是示出了本公开内容适用的加密配置方法的示例的图。
[0277]
参照图22,第一设备包括控制器和主机,第二设备也包括控制器和主机。
[0278]
在步骤s2210中,可以在第一设备的控制器与第二设备的控制器之间交换lmp_encryption_mode_req消息和lmp_encryption_key_size_req消息(或pdu)。
[0279]
lmp_encryption_mode_req消息可以用于启动或结束加密模式(或安全模式)。lmp_encryption_mode_req消息可以从启动/结束通过hci_set_connection_encryption命令设置的加密模式的设备(例如,第一设备)被发送至对应设备(例如,第二设备)。接收lmp_encryption_mode_req消息的设备可以使用lmp_accepted消息(未示出)进行响应。
[0280]
lmp_encryption_key_size_req消息可以包括关于由主设备建议的加密密钥大小的信息。lmp_encryption_key_size_req消息可以从主设备被发送至从设备。接收lmp_encryption_key_size_req消息的设备可以使用lmp_accepted消息(未示出)进行响应。
[0281]
另外,尽管在图22中未示出,但是在交换了lmp_encryption_key_size_req消息及其响应之后,可以交换lmp_start_encrption_req消息及其响应(例如,lmp_accepted消息)以根据配置的加密模式和密钥大小来准备加密应用。
[0282]
在步骤s2220中,第一设备的控制器可以将hci_encryption_change事件发送至主机。hci_encryption_change事件可以包括指示(例如,利用指示开启的信息发送)由connection_handle事件参数指定的connection_handle的加密的变化已经被完成的信息(例如,encryption_enable参数)。
[0283]
在从控制器接收hci_encryption_change事件之后,在操作s2230中,第一设备的主机可以将hci_read_encryption_key_size命令发送至控制器。hci_read_encryption_key_size命令可以用于读取给定connection_handle的加密密钥大小。
[0284]
在从主机接收hci_read_encryption_key_size命令之后,在步骤s2240中,第一设备的控制器可以将包括有关密钥大小的信息的hci_command_complete事件发送至主机。hci_command_complete事件可以用于发送每个hci命令的返回状态或发送其他事件参数。例如,hci_command_complete事件可以与hci_encryption_change事件类似地被配置,并且可以包括例如connection_handle、加密启用和密钥大小信息。
[0285]
在该示例中,控制器可以使用具有被实现为默认值的长度的加密密钥来配置链路安全。然而,如上所述,存在以下问题:默认密钥长度是短的,这在安全性上是差的。
[0286]
另外,没有限定主机针对控制器配置加密密钥的最小长度的命令,并且必须由主机使用读取命令获得控制器中的改变的密钥大小。
[0287]
图23是示出了本公开内容适用的加密设置方法的附加示例的图。
[0288]
在操作s2310中,第一设备的主机可以将hci_configure_minimum_key_size命令发送至控制器。hci_configure_minimum_key_size命令被限定为主机针对控制器设置加密密钥的最小长度的命令。
[0289]
响应于hci_configure_minimum_key_size命令,在步骤s2320中,控制器可以将hci_command_complete事件发送至主机。
[0290]
控制器可以通过使用hci_command_complete事件将指示成功或错误的信息发送至主机。例如,控制器可以具有可支持的密钥大小的范围或候选值,并且可以将可支持的密钥大小之中的特定的一个密钥大小设置为默认密钥大小。例如,当由控制器配置的默认密钥大小等于或大于由主机配置的最小密钥大小并且由主机配置的最小密钥大小对应于可
由控制器支持的密钥大小时,可以指示成功。当由控制器配置的默认密钥大小小于由主机配置的最小密钥大小或者由主机配置的最小密钥大小不对应于由控制器支持的密钥大小时,可以指示错误。
[0291]
如果控制器支持大于由主机配置的最小密钥大小的密钥大小,则类似于图22中所描述的,在操作s2330中,在第一设备的控制器和第二设备的控制器之间交换lmp_encryption_mode_req消息和lmp_encryption_key_size_req消息,使得可以配置或改变加密模式和加密密钥大小。
[0292]
与图22的示例不同,在图23的示例中,可以省略主机从控制器读取密钥大小的命令以及对其的响应。代替地,通过步骤s2340中的hci_encryption_change事件,指示特定connection_handle的加密的变化已经被完成的信息(开启)以及有关密钥大小的信息可以从控制器被提供到主机。也就是说,hci_encryption_change事件还可以包括指示控制器中设置/改变的密钥大小的信息。
[0293]
在该示例中,仅当在控制器中被配置为默认值的密钥大小小于由主机配置的最小密钥大小时,才将错误信息发送至主机。在这种情况下,由于主机不知道控制器支持哪个密钥大小,因此存在以下问题:如果再次配置最小密钥大小,则主机无法清楚地确定要配置什么值以防止错误。
[0294]
此外,即使主机限定了命令(例如,hci_configure_minimum_key_size命令)并使用该命令针对控制器配置最小密钥大小,当在一个设备中存在多个链路/连接/服务/配置文件时,存在以下问题:不清楚是针对每个链路/连接/服务/配置文件共同地配置最小密钥大小还是针对每个链路/连接/服务/配置文件单独地配置最小密钥大小。
[0295]
图24示例性地示出了本公开内容适用的与加密配置相关的设备。
[0296]
假定示例第一设备可以支持各种应用或服务。例如,第一设备可以支持感测数据服务、医疗服务、音频服务等。第一设备的服务信息可以通过广告分组(例如,镜像、控制、文件传输服务等)被递送到第二设备。第二设备可以检查从第一设备递送的服务相关信息。
[0297]
图25是示出了本公开内容适用的加密密钥大小配置的示例的图。
[0298]
如在上面示例中描述的,当由主机配置的密钥大小的最小值小于控制器的默认配置值(也就是说,在控制器中被配置为默认值的密钥大小值)时,控制器可以将错误信息发送至主机。
[0299]
然而,存在从控制器接收错误信息的主机的错误响应操作的模糊性。具体而言,在图24的情况下,控制器仅将错误信息发送至主机,并且不将有关由主机配置的最小密钥大小与控制器中的默认密钥大小进行比较更小的程度的信息提供给主机。因此,由于主机反复尝试以盲法配置最小密钥大小,因此消耗了不必要的时间和资源。因此,可以通过控制器向主机通知有关可由控制器支持的密钥大小的信息以及如在以下示例中的错误信息来消除这种模糊性。
[0300]
在根据本公开内容的以下示例中,关于加密密钥大小的信息(例如,密钥大小信息)可以包括以下中的一个或更多个:密钥大小或长度本身;密钥大小或长度的最小值、最大值、范围或者一个或更多个候选值。
[0301]
作为代表性示例,虽然描述了主机可以生成密钥大小的最小值以及/或者经由第一消息(或命令)将密钥大小的最小值提供给控制器,但是本公开内容的范围不限于此,并
且密钥大小本身、密钥大小的最大值、范围或者一个或更多个候选值中的一个或更多个可以被生成和/或被提供给控制器。
[0302]
尽管控制器被描述为能够生成表明控制器可支持或为控制器默认的密钥大小本身的信息以及/或者经由第二消息(或事件)将该信息提供给主机,但是本公开内容的范围不限于此,并且密钥大小的最小值、最大值、范围或者一个或更多个候选值中的一个或更多个可以被生成和/或被提供给主机。
[0303]
尽管配置文件/服务被描述为能够生成密钥大小的最小值以及/或者经由第三消息将密钥大小的最小值提供给主机,但是本公开内容的范围不限于此,并且密钥大小本身、密钥大小的最大值、范围或者一个或更多个候选值中的一个或更多个可以被生成和/或被提供给主机。
[0304]
在本公开内容的各种示例中,可以针对预定单元来配置密钥大小信息。预定单元可以由配置文件、服务、链路、连接或设备(或主机)中的一个或者两个或更多个的组合来限定。
[0305]
作为更具体的示例,控制器可以为主机提供关于由控制器支持的密钥大小的信息。控制器可以为主机提供关于在控制器中被设置为默认值的密钥大小的信息。控制器可以在响应于通过来自主机的命令配置加密密钥最小值的命令的消息中包括关于可支持的(或在控制器中默认配置的)密钥大小的信息。
[0306]
如果通过来自主机的命令对最小密钥大小的配置成功,则控制器可以在响应(或响应事件)中为主机提供关于由控制器支持的(或在控制器中默认配置的)密钥大小的信息。如果通过来自主机的命令配置的密钥大小的最小值大于或等于控制器的默认配置值(也就是说,由控制器支持或在控制器中默认配置的密钥大小值),则控制器可以为主机提供关于由控制器支持的(或在控制器中默认配置的)密钥大小的信息。
[0307]
如果通过来自主机的命令对最小密钥大小的配置是错误的,则控制器可以在响应(或响应事件)中为主机提供关于由控制器支持的(或在控制器中默认配置的)密钥大小的信息。当通过来自主机的命令配置的密钥大小的最小值小于控制器的默认设置值(也就是说,由控制器支持或在控制器中默认配置的密钥大小值)时,控制器可以为主机提供关于由控制器支持的(或在控制器中默认配置的)密钥大小的信息。
[0308]
因此,当主机基于进一步包括在来自控制器的包括错误信息的响应消息中的关于由控制器支持的(或在控制器中默认设置的)密钥大小的信息来针对控制器配置最小加密密钥大小时,可以通过调整/改变要针对控制器配置的最小加密密钥大小来再次执行最小加密密钥大小配置。
[0309]
作为另一个示例,当通过来自主机的命令对最小密钥大小的配置是错误的时,控制器可以将包括错误信息的第一事件发送至主机,并另外将包括有关可由控制器支持(或在控制器中被配置为默认值)的密钥大小的信息的第二事件发送至主机。当通过来自主机的命令配置的密钥大小的最小值小于控制器的默认配置值(也就是说,由控制器支持或在控制器中默认配置的密钥大小值)时,控制器可以将包括错误信息的第一事件发送至主机,并另外将包括有关可由控制器支持(或在控制器中被配置为默认值)的密钥大小的信息的第二事件发送至主机。
[0310]
由主机用来针对控制器配置加密密钥大小的最小值的命令还可以包括有关应用
加密密钥大小的最小值的单元的信息。例如,应用由主机配置的加密密钥大小的最小值的单元可以由链路、连接、配置文件、服务或设备(或主机)中的一个或者两个或更多个的组合组成。
[0311]
例如,可以针对每个链路配置单独的密钥大小最小值。可以配置由多个链路共用的单个密钥大小最小值。可以针对设备(或主机)中配置的所有链路之中的一些链路来配置单个的最小密钥大小值,并且可以针对其余链路来配置共用的最小密钥大小值。可以配置由设备(或主机)中配置的所有链路共用的一个密钥大小最小值。
[0312]
例如,可以针对每个配置文件来配置单独的密钥大小最小值。可以配置由多个配置文件共用的单个最小密钥大小值。可以针对设备(或主机)中配置的所有配置文件之中的一些配置文件配置单个最小密钥大小值,并且可以针对其余配置文件来配置共用的最小密钥大小值。可以配置由设备(或主机)中配置的所有配置文件共用的单个最小密钥大小值。
[0313]
例如,可以针对每个服务配置单个最小密钥大小。可以配置由多个服务共用的单个最小密钥大小值。可以针对设备(或主机)中设置的所有服务之中的一些服务来配置单个最小密钥大小值,并且可以针对其余服务来配置共用的最小密钥大小值。可以配置由设备(或主机)中配置的所有服务共用的一个密钥大小最小值。
[0314]
例如,可以配置在设备(或主机)上配置的链路/连接和配置文件组合的单元、链路/连接和服务组合的单元、配置文件和服务组合的单元、或者链路、连接、配置文件和服务组合的单元中的单个或共用密钥大小的最小值。
[0315]
在步骤s2510中,第一设备的特定配置文件/服务可以将密钥大小设置(key_size_set)消息发送至主机。key_size_set消息可以包括配置文件标识符、服务标识符、链路/连接标识符(或链路/连接处理程序)、密钥大小信息等。这意味着key_size_set消息指定链路/连接、配置文件或服务的一个或更多个组合的单元,并且包括有关应用于指定单元的加密密钥大小的最小值的信息。
[0316]
在步骤s2520中,主机可以基于从配置文件/服务提供的有关最小加密密钥大小的信息将hci_configure_minimum_key_size命令发送至控制器。hci_configure_minimum_key_size命令可以包括配置文件标识符、服务标识符、链路/连接标识符(或链路/连接处理程序)、密钥大小信息等。这意味着hci_configure_minimum_key_size命令指定链路、连接、配置文件或服务的一个或更多个组合的单元,并且包括有关应用于指定单元的加密密钥大小的最小值的信息。
[0317]
在步骤s2530中,控制器可以将通过主机的命令配置的加密密钥大小的最小值与可由控制器支持(或在控制器中被配置为默认值)的加密密钥大小进行比较。
[0318]
作为比较的结果,如果通过主机命令配置的加密密钥大小的最小值小于可由控制器支持(或在控制器中默认配置)的加密密钥大小,则包括错误信息的响应事件(例如,hci_command_complete)可以被发送至主机。另外,有关可由控制器支持(或在控制器中被配置为默认值)的加密密钥大小的信息还可以包括在包括错误信息的响应事件中,并且被发送至主机。替选地,在将包括错误信息的第一响应事件发送至主机之后,控制器可以将包括有关可支持(或在控制器中被配置为默认值)的加密密钥的大小的信息的第二响应事件发送至主机。
[0319]
作为比较的结果,如果通过主机命令设置的加密密钥大小的最小值等于或大于可
由控制器支持(或在控制器中被设置为默认值)的加密密钥大小,则包括成功信息的响应事件(例如,hci_command_complete)可以发送至主机。另外,有关可由控制器支持(或在控制器中被配置为默认值)的加密密钥大小的信息还可以包括在包括成功信息的响应事件中,并且被发送至主机。替选地,在将包括成功信息的第一响应事件发送至主机之后,控制器可以将包括有关可支持(或在控制器中被配置为默认值)的加密密钥大小的信息的第二响应事件发送至主机。
[0320]
图26是示出了本公开内容适用的加密密钥大小配置的附加示例的图。
[0321]
为了简洁起见,在图26的示例中,将省略对与图25的部分相同的部分的描述。
[0322]
在图26的示例中,在步骤s2610中,可以基于配置文件/服务特性或特性在第一设备的配置文件/服务与主机之间执行管理密钥大小和链路的操作。
[0323]
例如,在配置文件/服务与主机之间,可以配置有关每个配置文件/服务的密钥大小的信息。表9示出了密钥大小表的示例,该密钥大小表指示每个配置文件/服务的密钥大小与链路/连接标识符(或链路/连接处理程序)之间的映射关系。
[0324]
【表9】
[0325][0326]
在表9的示例中,对于感测数据配置文件/服务,将密钥大小的最小值配置为5个八位字节,并且相应的链路/连接可以是acl#1。对于医疗配置文件/服务,将密钥大小的最小值配置为16个八位字节,并且相应的链路/连接可以是acl#2。对于音频配置文件/服务,将密钥大小的最小值配置为8个八位字节,并且相应的链路/连接可以是iso#31和sco#34。
[0327]
当在配置文件/服务与主机之间确定特定配置文件/服务/链路/连接的加密密钥大小的最小值时,包括该信息的key_size_set消息可以从配置文件/服务被递送至主机。key_size_set消息可以包括配置文件标识符、服务标识符、链路/连接标识符(或链路/连接处理程序)、密钥大小信息等。这意味着key_size_set消息指定链路、连接、配置文件或服务的一个或更多个组合的单元,并且包括有关应用于指定单元的加密密钥大小的最小值的信息。
[0328]
当通过来自主机的命令来设置特定配置文件/服务/链路/连接的加密密钥大小的最小值时,控制器可以将针对相应配置文件/服务/链路/连接指示的最小密钥大小与可由控制器支持(或在控制器中被设置为默认值)的密钥大小进行比较,并根据比较结果将响应事件(例如,包含成功/错误和/或密钥大小信息的事件)发送至主机。
[0329]
图27示出了本公开内容适用的每个服务/配置文件的最小加密密钥大小配置的示例。
[0330]
图27(a)示出了连接具有不同服务/配置文件的多个设备的情况。
[0331]
例如,医疗保健设备(包括心脏监测功能)的主机和控制器可以将医疗保健服务/配置文件的加密密钥大小最小值配置成为16个八位字节(例如,使用如在图25或图26的示
例中的第一设备的主机与控制器之间的hci_configure_minimum_key_size命令和hci_command_complete事件)。因此,为了在医疗保健设备与远程设备(例如,智能电话)之间交换医疗数据,可以使用具有16个八位字节或更多的长度的加密密钥来建立安全连接(例如,使用如在图22或图23的示例中的第一设备的控制器与第二设备的控制器之间的lmp_encryption_mode_req和lmp_encryption_key_size_req以及响应于其的lmp_accepted消息)。
[0332]
音频设备的主机和控制器可以将医疗服务/配置文件的加密密钥大小最小值配置成为8个八位字节(例如,使用如在图25或图26的示例中的第一设备的主机与控制器之间的hci_configure_minimum_key_size命令和hci_command_complete事件)。因此,为了在音频设备与远程设备(例如,智能电话)之间发送和接收音频数据,可以使用具有8个八位字节或更多的长度的加密密钥来建立安全连接(例如,使用如在图22或图23的示例中的第一设备的控制器与第二设备的控制器之间的lmp_encryption_mode_req和lmp_encryption_key_size_req以及响应于其的lmp_accepted消息)。
[0333]
照明设备的主机和控制器可以将照明服务/配置文件的最小加密密钥大小配置成为5个八位字节(例如,使用如在图25或图26的示例中的第一设备的主机与控制器之间的hci_configure_minimum_key_size命令和hci_command_complete事件)。因此,为了在照明设备与远程设备(例如,智能电话)之间发送和接收音频数据,可以使用具有5个八位字节或更多的长度的加密密钥来建立安全连接(例如,使用如在图22或图23的示例中的第一设备的控制器与第二设备的控制器之间的lmp_encryption_mode_req和lmp_encryption_key_size_req以及响应的lmp_accepted消息)。
[0334]
图27(b)示出了连接具有多个服务/配置文件的单个设备的情况。
[0335]
可穿戴设备可以包括多个服务/配置文件。例如,多个服务/配置文件可以包括感测数据服务、医疗服务和音频服务。
[0336]
可穿戴设备的主机和控制器可以分别针对多个感测数据、医疗和音频服务/配置文件配置5个、16个和8个八位字节的最小加密密钥大小(例如,使用如在图25或图26的示例中的第一设备的主机与控制器之间的hci_configure_minimum_key_size命令和hci_command_complete事件)。因此,为了在可穿戴设备与远程设备(例如,智能电话)之间交换感测、医疗和音频数据,可以使用具有5个、16个或8个八位字节或更多的长度的加密密钥来建立安全连接(例如,使用如在图22或图23的示例中的第一设备的控制器与第二设备的控制器之间的lmp_encryption_mode_req和lmp_encryption_key_size_req以及响应于其的lmp_accepted消息)。
[0337]
在上述示例中,当满足预定条件时,可以执行主机针对控制器配置加密密钥大小信息的操作。
[0338]
预定条件可以是以下情况:主机基于应用/配置文件/服务/链路/连接的标识符(例如,uuid等)检查加密密钥大小信息,该加密密钥大小信息映射到相应的应用/配置文件/服务/链路/连接。可以预先配置应用/配置文件/服务/链路/连接的标识符与密钥大小信息之间的映射关系。因此,当启动特定应用/配置文件/服务/链路/连接的使用时,可以配置相应的密钥大小信息。
[0339]
预定条件可以是以下情况:通过用户接口请求关于是否利用针对特定应用/配置
文件/服务/链路/连接的加密密钥大小配置信息继续进行(或者是否要启动特定应用/配置文件/服务/链路/连接)的用户确认,并且通过用户接口执行用户确认。
[0340]
在上面描述的本公开内容的示例中,主要通过以下操作来描述一种用于配置由控制器支持的密钥大小的方法:限定与密钥大小配置相关的命令和事件并且在第一设备的配置文件/服务层、主机层与控制器层之间特别是在主机与控制器之间交换与密钥大小配置相关的命令和事件。然而,本公开内容的范围不限于此,并且还可以在第二设备中执行密钥大小配置。
[0341]
例如,可以在第一设备上的主机与控制器之间以及在第二设备上的主机与控制器之间执行在第一设备与第二设备之间进行针对预定单元(例如,配置文件、服务、链路和连接中的一个或更多个的组合)的密钥大小配置。
[0342]
另外,在本公开内容的示例中,在每个设备的控制器将有关它可以支持的密钥大小的信息发送至主机的事件中,它还可以包括有关预定单元(例如,配置文件、服务、链路和连接中的一个或更多个的组合)的信息或有关是否激活加密的信息中的一个或更多个。
[0343]
在上述示例中,在主机与控制器之间交换和配置有关加密密钥大小的信息可能与链路级加密的配置相关。也就是说,当应用链路级加密时,可以交换和设置有关加密密钥大小的信息。因此,如果根据预定单元(例如,配置文件、服务、链路和连接中的一个或多个的组合)共同地或独立地应用有关加密密钥大小的信息,则根据单元,链路级加密设置也被预定,链路级加密设置可以包括在共同地或独立地应用的有关加密密钥大小的信息中。例如,当将链路级加密应用于特定链路时,可以交换和配置有关特定链路的加密密钥大小的信息。作为另一个示例,当将链路级加密应用于与特定配置文件/服务相关的所有链路时,可以针对与特定配置文件/服务相关的所有链路交换和配置有关加密密钥大小的信息。例如,预定单元(配置文件/服务/链路/连接)可以对应于br/edr类型或le类型。例如,有关链路级加密配置和/或加密密钥大小的信息可以与br/edr类型和le类型分开被配置,或者可以在br/edr类型与le类型之间共同地被配置。
[0344]
图28是示出了本公开内容适用的第一设备和第二设备的配置的图。
[0345]
第一设备2800可以包括处理器2810、天线单元2820、收发器2830和存储器2840。
[0346]
处理器2810可以执行基带相关的信号处理,并且可以包括主机处理器2811和控制器处理器2815。主机处理器2811和控制器处理器2815可以通过hci交换信息。主机处理器2811可以处理诸如l2cap配置文件层、att配置文件层、gatt配置文件层、gap配置文件层和le配置文件层的操作。控制器处理器2815可以处理诸如ll层和phy层的操作。除了执行基带相关的信号处理之外,处理器2810还可以控制第一设备2800的整体操作。
[0347]
天线单元2820可以包括一个或更多个物理天线。收发器2830可以包括rf(射频)发送器和rf接收器。存储器2840可以存储由处理器2810和软件处理的信息、操作系统以及与第一设备2800的操作相关的应用,并且可以包括诸如缓冲器等的部件。
[0348]
第一设备2800的处理器2810可以被配置成:实现本公开内容中描述的实施方式中的第一设备(或者音频源设备或编码设备)的操作。
[0349]
例如,第一设备2800的处理器2810的主机处理器2811可以将包括有关加密密钥大小的最小值的信息的第一消息(命令)发送至控制器处理单元2815。
[0350]
控制器处理单元2815可以将指示加密变化的第二消息(事件)发送至主机处理器
2811。第二消息可以包括有关第一加密密钥的大小的信息。
[0351]
第二设备2850可以包括处理器2860、天线单元2870、收发器2880和存储器2890。
[0352]
处理器2860可以执行基带相关的信号处理,并且可以包括主机处理器2861和控制器处理器2865。主机处理器2861和控制器处理器2865可以通过hci交换信息。主机处理器2861可以处理诸如l2cap配置文件层、att配置文件层、gatt配置文件层、gap配置文件层和le配置文件层的操作。控制器处理器2865可以处理ll层、phy层等的操作。除了执行基带相关的信号处理之外,处理器2860还可以控制第二设备2860的整体操作。
[0353]
天线单元2870可以包括一个或更多个物理天线。收发器2880可以包括rf发送器和rf接收器。存储器2890可以存储由处理器2860和软件处理的信息、操作系统以及与第二设备2850的操作相关的应用,并且可以包括诸如缓冲器等的部件。
[0354]
第二终端设备2850的处理器2860可以被配置成:实现本公开内容中描述的实施方式中的第二设备(或者音频信宿、或者服务器设备)的操作。
[0355]
例如,第二设备2850的处理器2860的主机处理器2861可以将包括有关加密密钥大小的最小值的信息的第一消息(命令)发送至控制器处理单元2865。
[0356]
控制器处理单元2865可以将指示加密变化的第二消息(事件)发送至主机处理器2861。第二消息可以包括有关第一加密密钥的大小的信息。
[0357]
在第一设备2800和第二设备2850的操作中,在本公开内容的示例中,可以同样地应用源设备/编码设备和信宿设备/解码设备的描述,因此将省略相同描述。
[0358]
本公开内容的各种实施方式可以由硬件、固件、软件或其组合来实现。为了通过硬件实现,本公开内容的各种实施方式可以被实现为一个或更多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用器件。它可以由处理器(通用处理器)、控制器、微控制器、微处理器等来实现。
[0359]
本公开内容的范围包括软件或机器可执行指令(例如,操作系统、应用、固件、程序等)以及非暂态计算机可读介质,所述软件或机器可执行指令使根据各种实施方式的方法的操作在设备或计算机上被执行,这样的软件或指令被存储在所述非暂态计算机可读介质中并且在设备或计算机上被执行。可以被用于编程处理系统以执行本公开内容中描述的特征的指令可以被存储在存储介质或计算机可读存储介质上/中,并且可以使用包括这样的存储介质的计算机程序产品来实现本公开内容中描述的特征。存储介质可以包括但不限于诸如dram、sram、ddr ram的高速随机存取存储器或其他随机存取固态存储器设备、一个或更多个磁盘存储设备、光盘存储设备、闪存设备;或者存储介质可以包括非易失性存储器,例如其他非易失性固态存储设备。存储器可选地包括从处理器远程定位的一个或更多个存储设备。存储器或可替选地存储器内的非易失性存储器设备包括非暂态计算机可读存储介质。本公开内容中描述的特征可以被存储在机器可读介质中的任何一个上以控制处理系统的硬件,并且它可以被并入至如下软件和/或固件中,所述软件和/或固件允许处理系统与其他机构进行交互,所述其他机构利用根据本公开内容的实施方式的结果。这样的软件或固件可以包括但不限于应用代码、设备驱动程序、操作系统和执行环境/容器。
[0360]
【工业实用性】
[0361]
本公开内容的实施方式可以应用于各种无线通信系统以提高无线通信系统的性能。
再多了解一些

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

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

相关文献