首页> 中国专利> 经解密分组的实时软组合、CRC验证和MIC验证

经解密分组的实时软组合、CRC验证和MIC验证

摘要

装置接收第一PDU和基于第一PDU的第一CRC。第一PDU基于第一随机数被加密。该装置解密第一PDU以获得第一有效载荷以及第一密码流。该装置将经解密第一有效载荷与经解密有效载荷集进行软组合。有效载荷集已经基于与第一随机数不同的至少一个随机数被加密。该装置基于软组合的经解密有效载荷并基于第一密码流生成第二CRC。该装置确定针对软组合的经解密有效载荷生成的第二CRC是否通过了对照第一CRC的CRC校验。

著录项

  • 公开/公告号CN113169829A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201980080989.2

  • 发明设计人 V.阿加瓦尔;H.登博尔;G.戈亚尔;

    申请日2019-11-13

  • 分类号H04L1/18(20060101);H04L1/00(20060101);H04L29/06(20060101);H04L9/06(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人安之斐

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 11:55:48

说明书

相关申请的交叉参考

本专利申请要求2018年12月12日提交的题为“REAL-TIME SOFT COMBINING,CRCVALIDATION,AND MIC VALIDATION OF DECRYPTED PACKETS”的第16/218,396号非临时申请的优先权,该非临时申请被转让给本受让人,并通过引用明确并入本文作为参考。

技术领域

本公开的总体上涉及通信系统,更具体地,涉及经解密分组的软组合。

背景技术

无线个人局域网(WPAN)是一种个人的、短程的无线网络,用于将集中于用户特定距离周围的设备进行互连。WPAN因其在连接性方面提供的灵活性和便利性而广受欢迎。WPAN(诸如基于短程通信协议(例如

BT是短程无线通信协议,其可以支持中心设备(例如主设备)与至少一个外围设备(例如从设备)之间的WPAN。与BT通信相关联的功率消耗可能致使BT在某些应用中无法实行,诸如发生数据的不频繁传输的应用。

为了解决与BT相关联的功率消耗问题,BLE被开发并在发生数据的不频繁传输的各种应用中被采用。BLE通过使用低占空比操作并在数据传输之间将中心设备和/或(多个)外围设备中的至少一个转换到数据传输之间的睡眠模式,来利用数据的不频繁传输。可以使用例如硬件、固件、主机操作系统、主机软件栈和/或主机应用支持来建立两个设备之间的BLE通信链路。使用BLE的示例应用包含在各种医疗、工业、消费者和健身应用中的电池操作的传感器和致动器。BLE可用于连接诸如BLE使能的智能电话、平板电脑和笔记本电脑的设备。虽然传统的BLE比BT有一定的优势,但BLE和BT可能无法验证经解密数据分组的组合,从而无错误地解码数据。可以使用不同的加密参数来加密传输的和重传的数据分组,这可能导致重传的数据分组尽管具有相同有效载荷但表现为不同的数据分组。

需要一种操作来验证无线通信中经解密数据分组的组合,其中可以使用不同的加密参数来发送数据分组及其重传。

发明内容

以下呈现了一个或多个方面的简化概述,以便提供对这样的方面的基本理解。该概述不是所有预期方面的广泛概述,并且既不旨在标识所有方面的关键或重要元素,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。

BLE被开发并在发生数据的不频繁传输的各种应用中被采用。BLE通过使用低占空比操作并将中心设备和/或(多个)外围设备中的至少一个转换到数据传输之间的睡眠模式,来利用数据的不频繁传输。使用BLE的示例应用包含在各种医疗、工业、消费者和健身应用中的电池操作的传感器和致动器。BLE应用程序通常连接至诸如BLE使能的智能电话、平板电脑和笔记本电脑的设备。

虽然传统的BLE协议具有某些优势,但传统的BLE协议通过使用循环冗余校验(CRC)仅在数据分组的有效载荷中提供错误检测。因此,根据传统的BLE协议,重传是可以“校正”有效载荷中的错误的手段,其中经由重传的校正不同于通过FEC实现的对相同数据分组的动态校正。也就是说,FEC实际上校正同一数据分组中的错误,而重传通过用数据有效载荷的另一版本替换当前数据分组来校正当前数据分组的错误,该另一版本可能包括或可能不包括错误。

在传统的BLE协议中,如果错误校正失败,错误的数据分组可能会被特殊的分组替换,该分组实际上定义了静默分组或分组丢失隐藏。静默分组和/或分组丢失隐藏可能降低通信质量,因为通信的部分可能被省略(例如语音呼叫期间的语音中断)。

由于许多应用,诸如与蜂窝电话一起使用的无线耳机,需要大部分无错误(例如,低错误率数据流)数据来准确地再现电话对话,未校正的错误数据分组可能影响给定应用的感知质量。

此外,使用传统BLE的错误校正技术可能不仅会降低给定应用的感知音频质量,可能还会由于接收设备的有限灵敏度而限制BLE空中接口分组的发射功率降低。接收设备灵敏度可以与最低信号功率水平相关,接收设备可以从该最低信号功率水平获得来自BLE空中接口分组的信息,而不达到误码率(BER)阈值。因此,接收设备的灵敏度可能会限制BLE空中接口分组的发射功率降低。

可以通过使用CRC来完成对正确接收的数据分组的验证。未正确接收的分组可能导致分组响应于针对接收设备发送给发送设备的新消息的请求而被重传。两个或多个分组可以被组合,直到接收设备能够无错误地解码消息。经由空中比特错误可能导致多次重传,但是如果使用不同的加密参数(诸如但不限于随机数)对重传的分组进行加密,则重传的分组尽管具有相同的有效载荷,但将表现为不同于最初传输的分组。

存在对错误校正技术的需求,以在使用不同的加密参数(例如,随机数)对传输和重传的分组进行加密的情况下,验证无线通信(例如,BLE)中传输和重传的经解密数据分组的组合。

本公开的错误校正技术通过以下来促进对于数据分组的一个或多个部分缺乏FEC或其他嵌入式错误校正机制的通信系统中的错误校正:对数据分组进行解密以获得第一有效载荷,将经解密第一有效载荷与经解密有效载荷集进行软组合,基于软组合的经解密有效载荷生成CRC,以及确定生成的CRC是否通过了对照第一CRC的CRC校验。因此,该技术为整个分组提供错误校正,包括不受任何嵌入式错误校正机制保护的分组部分。结果,通过噪声通信介质的数据通信可以得到改善,因为该技术可以降低误码率,并增加接收设备的灵敏度,从而可以降低数据分组的传输功率。对于涉及语音或其他流式音频数据的数据通信,这些技术比不采用本公开中描述的技术的系统提高了音频质量。

在本公开的一个方面,提供了一种方法、计算机可读介质和装置。该装置可以接收第一分组数据单元(PDU)和基于第一PDU的第一CRC。在一个方面,第一PDU可以基于第一随机数被加密。该装置可以解密第一PDU以获得第一有效载荷以及第一密码流。该装置可以将经解密第一有效载荷与经解密有效载荷集进行软组合。在一个方面,该有效载荷集可以基于与第一随机数不同的至少一个随机数被加密。然而,在一些方面,该有效载荷集可以基于与第一随机数相同的随机数被加密。该装置可以基于软组合的经解密有效载荷并基于第一密码流来生成第二CRC。该装置可以确定针对软组合的经解密有效载荷生成的第二CRC是否通过了对照第一CRC的CRC校验。

在本公开的另一个方面,提供了一种方法、计算机可读介质和装置。该装置可以接收第一PDU和基于第一PDU的第一CRC。在一个方面,可以基于第一随机数对第一PDU进行加密。该装置可以解密第一PDU以获得第一有效载荷。该装置可以通过将经解密第一有效载荷与经解密有效载荷集进行软组合来获得错误比特图。在一个方面,该有效载荷集可以基于与第一随机数不同的至少一个随机数被加密。然而,在一些方面,可以基于与第一随机数相同的随机数来加密该有效载荷集。该装置可以对接收的第一PDU和所获得的错误比特图执行异或(XOR)运算,以获得软组合的经加密有效载荷。该装置可以基于软组合的经加密有效载荷生成第二CRC。该装置可以确定针对软组合的经加密有效载荷生成的第二CRC是否通过了对照第一CRC的CRC校验。

为了实现前述和相关目的,上述一个或多个方面包括在下文中充分描述并在权利要求中特别指出的特征。以下描述和附图详细阐述了上述一个或多个方面的某些说明性特征。然而,这些特征仅指示了可以采用各个方面的原理的各种方式中的一部分,并且该描述旨在包括所有这些方面及其等同物。

附图说明

图1是示出根据本公开的某些方面的WPAN的示例的图。

图2是根据本公开的某些方面的无线设备的框图。

图3是示出根据本公开的某些方面的修改的BLE协议栈的图。

图4是示出根据本公开的某些方面的软组合操作的框图。

图5是示出根据本公开的某些方面的报头调整的框图。

图6是示出根据本公开的某些方面的另一软组合操作的框图。

图7是示出根据本公开的某些方面的MIC计算操作的框图。

图8是示出根据本公开的某些方面的另一MIC计算操作的框图。

图9是无线通信方法的流程图。

图10是说明示例性装置中不同部件/组件之间的数据流的概念性数据流图。

图11是示出采用处理系统的装置的硬件实现的示例的图。

图12是无线通信方法的流程图。

图13是说明示例性装置中不同部件/组件之间的数据流的概念性数据流图。

图14是示出采用处理系统的装置的硬件实现的示例的图。

具体实施方式

以下结合附图阐述的详细描述旨在作为各种配置的描述,而非旨在表示可以实践本文中描述的概念的仅有配置。详细描述包括具体细节,以便提供对各种概念的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践这些概念。在一些实例中,以框图形式示出了公知的结构和组件,以避免模糊这些概念。

现在将参考各种装置和方法来呈现电信系统的若干方面。这些装置和方法将在以下详细描述中进行描述,并通过各种框、组件、电路、过程、算法等(统称为“元件”)在附图中图示。可以使用电子硬件、计算机软件或其任何组合实现这些元件。将这些元件实现为硬件或软件取决于特定的应用和施加在整个系统上的设计约束。

举例来说,元件或元件的任何部分或元件的任何组合可以被实现为包含一个或多个处理器的“处理系统”。处理器的示例包含微处理器、微控制器、图形处理单元(GPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上系统(SoC)、基带处理器、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、门控逻辑、分立硬件电路以及其他合适的硬件,这些硬件被配置为进行贯穿本公开中描述的各种功能。处理系统中的一个或多个处理器可以执行软件。软件应广义地解释为指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行线程、过程、功能等等,无论是否被称为软件、固件、中间件、微码、硬件描述语言或其他。

因此,在一个或多个示例实施例中,可以以硬件、软件或其任何组合来实现所描述的功能。如果以软件来实现,则该功能可以被储存在计算机可读介质上或在计算机可读介质上被编码为一个或多个指令或代码。计算机可读介质包含计算机存储介质。存储介质可以是计算机可以访问的任何可用介质。通过示例而非限制,这种计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、光盘存储、磁盘存储、其他磁存储设备、上述类型的计算机可读介质的组合、或者可以用于储存可以由计算机访问的指令或数据结构形式的计算机可执行代码的任何其他介质。

图1示出了根据本公开的某些方面的示例WPAN 100。在WPAN 100内,中心设备102可以使用BLE协议或修改的BLE协议连接到一个或多个外围设备104、106、108、110、112、114并与之建立BLE通信链路116。BLE协议是BT核心规范的部分,并且使能射频通信在全球公认的2.4GHz工业、科学和医学(ISM)频段内操作。

中心设备102可以包含合适的逻辑、电路、接口、处理器和/或代码,该逻辑、电路、接口、处理器和/或代码可以用于使用BLE协议或修改的BLE协议来与一个或多个外围设备104、106、108、110、112、114通信,如以下结合图2至图13中的任何一个所描述的。中心设备102可以作为发起方操作,以请求与预期的外围设备104、106、108、110、112、114建立链路层(LL)连接。

与BT相比,BLE协议栈和/或修改的BLE协议栈(例如,参见图3)中的LL提供了超低功率空闲模式操作、简单的设备发现以及可靠的具有先进的节能和加密功能的点对多点的数据传输。在建立请求的LL连接之后,中心设备102可以成为主设备,并且预期的外围设备104、106、108、110、112、114可以成为所建立的LL连接的从设备。作为主设备,中心设备102能够一次支持与各种外围设备104、106、108、110、112、114(从设备)的多个LL连接。中心设备102(主设备)可操作地管理与关联的外围设备104、106、108、110、112、114(从设备)的LL连接中的数据分组通信的各个方面。例如,中心设备102可操作地确定与外围设备104、106、108、110、112、114的LL连接中的操作调度。中心设备102可操作地发起在LL连接上的LL协议数据单元(PDU)交换序列。LL连接可以配置为在专用数据信道中运行周期性连接事件。中心设备102与外围设备104、106、108、110、112、114中的一个或多个之间的LL数据PDU传输的交换可以在连接事件内发生。

在某些配置中,中心设备102可以被配置为将每个连接事件中的第一LL数据PDU发送到期望的外围设备104、106、108、110、112、114。在某些其他配置中,中心设备102可以利用轮询方案来对轮询连接事件期间的LL数据PDU传输的预期的外围设备104、106、108、110、112、114。在从中心设备102接收到分组LL数据PDU时,预期的外围设备104、106、108、110、112、114可以发送LL数据PDU。在某些其他配置中,外围设备104、106、108、110、112、114可以将LL数据PDU发送到中心设备102而无需先从中心设备102接收LL数据PDU。

中心设备102的示例可以包含蜂窝电话、智能电话、会话发起协议(SIP)电话、移动站(STA)、笔记本电脑、个人计算机(PC)、台式计算机、个人数字助理(PDA)、卫星广播、全球定位系统、多媒体设备、视频设备、数字音频播放器(例如,MP3播放器)、相机、游戏机、平板电脑、智能设备、可穿戴设备(例如,智能手表、无线耳机等)、车辆、电表、气泵、烤面包机、恒温器、助听器、体内血糖仪、物联网(IoT)设备或任何其他相似功能的设备。

一个或多个外围设备104、106、108、110、112、114的示例可以包含蜂窝电话、智能电话、SIP电话、STA、笔记本电脑、PC、台式计算机、PDA、卫星广播、全球定位系统、多媒体设备、视频设备、数字音频播放器(例如,MP3播放器)、相机、游戏机、平板电脑、智能设备、可穿戴设备(例如,智能手表、无线耳机等)、车辆、电表、气泵、烤面包机、恒温器、助听器、体内血糖仪、IoT设备或任何其他相似功能的设备。尽管示出了中心设备102与WPAN 100中的六个外围设备104、106、108、110、112、114通信,但是中心设备102可以与WPAN 100内的多于六个外围设备或少于六个外围设备通信,而不会脱离本公开的范围。

再次参考图1,在某些方面,中心设备102和/或外围设备(例如外围设备112)可以被配置为:如果使用不同的随机数对数据分组的传输和重传进行加密,则在数据分组解密之后执行软组合操作(120),例如,如下面结合图2-13中的任何一个所描述的。

图2是根据本公开的某些方面的无线设备200的框图。无线设备200可以对应于例如中心设备102和/或以上结合图1描述的外围设备104、106、108、110、112、114中的一个。在某些方面,无线设备200可以是BLE使能的设备。然而,本公开并不旨在将无线设备200局限于BLE使能的设备。在一些方面,无线设备200可以是BT经典使能的设备、802.15.4Zigbee使能的设备或被配置为通过短程通信协议进行通信的任何无线设备。

如图2所示,无线设备200可以包含可以执行无线设备200的程序指令的处理元件,诸如(多个)处理器202。无线设备200还可以包含可以执行图形处理并向显示器242提供显示信号的显示电路204。(多个)处理器202还可以耦合到存储器管理单元(MMU)240,该存储器管理单元240可以被配置为从(多个)处理器202接收地址并将该地址转换为存储器(例如存储器206、ROM 208、闪存210)中的地址位置和/或其他电路或设备(诸如显示电路204、无线电230、连接器接口220和/或显示器242)中的地址位置。MMU 240可配置为执行存储器保护和页表转换或设置。在一些实施例中,MMU 240可以被包含为(多个)处理器202的部分。

如图所示,(多个)处理器202可以耦合到无线设备200的各种其他电路。例如,无线设备200可以包含各种类型的存储器、连接器接口220(例如,用于耦合到计算机系统)、显示器242和无线通信电路(例如,用于Wi-Fi、BT、BLE、蜂窝等)。无线设备200可以包含多个天线235a、235b、235c、235d,用于执行与其他BLE设备的无线通信。

在某些方面,无线设备200可以包含硬件和软件组件(处理元件),其被配置为:如果使用不同的随机数来加密数据分组的传输和重传,则在数据分组解密之后执行软组合操作,例如,使用以下结合任何图3至图13所述的技术。无线设备200还可包括BLE固件或用于控制BLE操作的其他硬件/软件。此外,无线设备200可以存储和执行用于控制WLAN操作的无线局域网(WLAN)软件驱动程序。

无线设备200可以被配置为,例如,通过执行储存在存储器介质(例如非暂时性计算机可读存储器介质)上的程序指令和/或通过硬件或固件操作,实现以下结合图3至图13中的任何一个所述的技术的部分或全部。在其他实施例中,以下结合图3至图13中的任何一个所述的技术可以至少部分地由可编程硬件元件(诸如现场可编程门阵列(FPGA))和/或专用集成电路(ASIC)实现。

在某些方面,无线电230可以包含配置为控制各种相应的无线电接入技术(RAT)协议的通信的单独控制器。例如,如图2所示,无线电230可以包含配置为控制WLAN通信的WLAN控制器250、配置为控制短程通信(例如BLE通信)的短程通信控制器252。共存接口254(例如有线接口)可以用于在WLAN控制器250与短程通信控制器252之间发送信息。

在一些方面,WLAN控制器250和/或短程通信控制器252中的一个或多个可以被实现为硬件、软件、固件或其某种组合。

在某些配置中,WLAN控制器250可以被配置为使用所有天线235a、235b、235c、235d使用WLAN链路与第二设备通信。在某些配置中,短程通信控制器252可以被配置为实现BLE协议栈(见图3),以及使用天线235a、235b、235c、235d中的一个或多个与至少一个第二设备通信。短距离通信控制器252可以被配置为:如果使用不同的随机数来加密数据分组的传输和重传,则在数据分组解密之后执行软组合操作。

图3示出了根据本公开的某些方面可以在BLE设备中实现的BLE协议栈300。例如,BLE协议栈300可以由例如图2所示的(多个)处理器202、存储器206、闪存210、ROM 208、无线电230和/或短程通信控制器252中的一个或多个来实现。

参考图3,BLE协议栈300可以组织为三个块,即,应用块302、主机块304和控制器块306。应用块302可以是与BLE协议栈300的其他块和/或层接口的用户应用。主机块304可以包含BLE协议栈300的上层,并且控制器块306可以包含修改的BLE协议栈300的下层。

主机块304可以使用主机控制器接口(HCI)(图3中未示出)与无线设备中的BLE控制器(例如图2中的短程通信控制器252)进行通信。HCI也可以用于将控制器块306与主机块304接口。将控制器块306与主机块304接口可以使能各种各样的主机与控制器块306接口。

应用块302可以包含更高级别的应用层(App)308,并且BLE协议栈300可以在App308下运行。主机块304可以包含通用接入配置文件(GAP)310、通用属性协议(GATT)312、安全管理器(SM)314、属性协议(ATT)316以及逻辑链路控制和适配协议(L2CAP)318。控制器块306可以包含LL320和物理层(PHY)322。

PHY 322可以定义用于在连接BLE设备的物理链路上发送比特流的机制。比特流可以被分组为代码字或符号,并转换为通过传输介质发送的PDU。PHY 322可以向传输介质提供电接口、机械接口和过程接口。PHY 322可以指定用于电连接器的形状和属性、用于传输的频带、调制方案以及相似的低级别参数。

LL 320可以负责在PHY 322上的低级别通信。LL 320可以管理发送的和接收的数据分组的序列和时序,并且使用LL协议与其他设备关于连接参数和数据流控制进行通信。LL 320可以提供把关(gate keeping)功能以限制曝光和与其他设备的数据交换。如果配置了过滤,则LL 320可以维持允许的设备列表,并忽略来自不在列表中的设备的对数据交换的所有请求。LL 320还可以减少功耗。LL 320可以使用HCI(图3中未示出)来与BLE协议栈300的上层通信。LL 320可以包括第三方的专有LL,其可以用于发现对等设备(例如与第三方相关联的其他设备),并与之建立安全通信信道。

在某些方面,LL 320可以负责在WPAN的设备之间传输数据分组。每个数据分组可以在报头字段中包括逻辑传输地址LT_ADDR,该报头字段指定用于携带数据分组的逻辑传输的类型。主设备与从设备之间可能存在逻辑传输。此外,逻辑传输可以携带具有不同类型的逻辑链路。

逻辑传输的一种类型是ACL逻辑传输。ACL逻辑传输可用于携带数据分组,诸如下面参考图4描述的数据分组。当设备加入WPAN时,每个设备可能会接收到默认ACL逻辑传输。每个ACL逻辑传输可以携带一个或多个ACL通信链路,这些链路由报头的逻辑链路ID(LLID)字段来区分。经由ACL通信链路携带的重传数据分组如果未被接收设备确认,则可以自动被接收,从而允许对受到干扰的无线电链路进行校正。ACL逻辑传输可以允许对时间敏感或有时间限制的应用的数据进行通信,诸如流服务、包括基于互联网协议的语音(VoIP)和更标准的蜂窝电话呼叫的语音应用。如果错误校正失败,则经由ACL通信链路携带的错误数据分组可能会被特殊的通信分组替换,该特殊的通信分组实际上定义了在实施传统的BLE协议时的静默或分组丢失隐藏。特殊的静默通信分组和/或分组丢失隐藏可能降低在ACL通信链路上经历的通信质量,因为通信的部分可能被省略(例如语音呼叫期间的语音中断)。

L2CAP 318可以将来自上层的多个协议封装为数据分组格式(反之亦然)。L2CAP318还可以将来自上层的具有大数据有效载荷的分组分成多个分组,其中数据有效载荷被分割成较小尺寸的数据有效载荷,该较小尺寸的数据有效载荷适合于发送侧的最大有效载荷尺寸(例如27字节)。类似地,L2CAP318可以接收携带已经被分割的数据有效载荷的多个数据分组,并且L2CAP318可以将分割的数据有效载荷组合成携带可以被发送到上层的数据有效载荷的单个数据分组。

ATT 316可以是基于与为特定目的(例如监视心率、监视温度、广播广告等)而配置的BLE设备相关联的属性的客户端/服务器协议。这些属性可以由其他BLE使能的设备发现、读取和写入。在ATT 316上执行的操作集可以包含但不限于错误处理、服务器配置、查找信息、读取操作、写入操作、排队写入等。ATT 316可以构成BLE设备之间数据交换的基础。

SM 314可以负责设备配对和密钥分配。由SM 314实现的安全管理器协议可以定义如何执行与对应BLE设备的SM进行的通信。SM 314可以提供可由BLE协议栈300的其他组件使用的附加密码功能。在BLE中使用的SM314的架构可以被设计为通过将工作转移到一个假定更强大的中心设备来最小化对外围设备的资源要求。BLE使用配对机制进行密钥分发。SM314提供机制以不仅加密数据而且提供数据认证。

GATT 312描述了使用属性协议的服务框架,以用于发现服务并用于在对等设备上读取和写入特征值。GATT 312通过App的配置文件与App 308接口。App 308配置文件定义了属性和与要在BLE通信中使用的属性相关联的任何许可的集合。

GAP 310可以为App 308提供接口,以发起、建立和管理与对应BLE设备的连接。

BLE提供了一种用于传输和重传消息,直到接收设备无错误地解码该消息的方法。可以通过使用CRC和/或消息完整性校验(MIC)来完成对正确接收的数据分组的验证。例如,当使用AES-CCM加密分组时,CRC是基于加密的分组被计算出的。在发送侧,当CRC被生成和发送时,CRC是基于经加密数据的。为了在接收侧验证CRC,接收器对经加密数据进行分析。

未正确接收的分组可能导致分组响应于针对接收设备发送给发送设备的新消息(例如NACK)的请求而被重传。传输的分组和重传的分组可以被软组合,直到接收设备能够无错误地解码消息。然而,如果在传输和重传期间使用不同的密码流对相同的分组进行加密,则重传的分组尽管具有相同的有效载荷,但将不会表现为与最初传输的分组相同。

例如,面向扩展同步连接(eSCO)的分组用于音频,并且eSCO分组传输和每次重传各自都使用不同的随机数(例如计数器)进行加密。此外,加密eSCO分组的密码流也不同。软组合是在不同接收期间将接收的比特组合以便猜测正确比特的过程。如果在解密之前执行软组合,则软组合eSCO分组将不起作用,因为不同的随机数用于加密分组。如果eSCO分组在被解密后进行软组合,则不能直接对已校正的软组合数据执行CRC验证,因为CRC是基于经加密数据被计算出的。因此,这就提出了如何验证CRC的难题。分组已经被解密以生成已校正的软组合数据,但是不能对经解密数据进行CRC验证,CRC验证必须是基于经加密数据发生,因为CRC已经基于经加密数据而被计算。

因此,在使用不同的随机数和/或密码流对传输和重传的分组进行加密的情况下,需要一种错误校正技术来验证BLE通信中传输和重传的经解密数据分组的组合。

本公开提供了一种错误校正技术来验证已经使用不同随机数和/或密码流加密的传输和重传的经解密数据分组的组合。错误校正技术可以被配置为对照基于已经被解密并软组合以生成重构数据的数据而计算出的CRC来验证(基于经加密数据的)CRC,但是不重新加密软组合的重构数据。

图4示出了说明根据本公开的某些方面的软组合操作的框图400。图5是示出根据本公开的某些方面的报头调整的框图500。根据本公开的某些方面,软组合操作可以发生在WPAN的第一设备与第二设备之间的通信中。第一设备可以对应于例如中心设备102、外围设备104、106、108、110、112、114、无线设备200、装置902/902'或网格节点950。第二设备可以对应于例如中心设备102、外围设备104、106、108、110、112、114、无线设备200、装置902/902'或网格节点950。

如图4所示,第一设备(例如发送设备)可以向第二设备(例如接收设备)发送经加密数据402。经加密数据402可以包括第一PDU和基于加密的第一PDU计算出的第一CRC。在一些方面,第一PDU可以基于第一随机数被加密。第二设备接收经加密数据402,并将经加密数据402提供给解密块404。解密块404解密经加密数据402,并输出经解密数据406(例如第一有效载荷)和密码流408。解密块404被配置为生成用于对经加密数据402进行加密的密码流408。密码流408也可以用于解密数据。

解密块404将经解密数据406输出到实时软组合(RTSC)块410。在一些方面,在RTSC块410,经解密数据406可以与经解密有效载荷集进行软组合。经解密有效载荷集可以基于与用于加密第一PDU的第一随机数不同的至少一个随机数被加密。然而,在一些方面,经解密有效载荷集可以基于与第一随机数相同的随机数被加密。经解密有效载荷集可以是可被存储在RTSC块410中的先前接收的数据分组,或者可以被存储于在RTSC块410外部的存储器中。例如,接收设备可以在接收经加密数据402之前接收一组PDU,并且可以在PDU被接收之后尝试解密该组PDU中的每个PDU,以获得经解密有效载荷集中的对应的经解密有效载荷。接收设备可以被配置为:在接收设备未能对照基于软组合数据计算出的CRC来正确验证基于经加密数据的、接收的CRC的情况下,发送否定确认(NACK)。从接收设备到发送设备的NACK传输可以指示PDU未被正确地接收。响应于NACK,发送设备向接收设备发送另一个PDU。在一些方面,重传的PDU可以是来自经加密数据402的第一个PDU。

RTSC块410可以被配置为:将经解密数据406与先前接收的数据软组合,从而对相同分组的先前的损坏接收或不正确接收进行校正。RTSC块410不能对经加密数据进行操作,因为加密(例如随机数)随分组而改变,而对经加密数据402进行解密允许RTSC块410生成软组合的经解密数据412来重建数据。然而,如上所述,BLE规范要求CRC基于经加密数据而不是经解密数据被计算。由RTSC块410生成的重构数据(例如软组合的经解密数据412)是解密数据的组合,并且仅基于经解密数据计算出的CRC不允许基于经加密数据的第一CRC被验证。需要验证基于经加密数据的第一CRC,以确定软组合的经解密数据412是否已被正确接收。在确定已经正确接收到软组合的经解密数据412时,接收设备可以向发送设备发送确认(ACK)。ACK向发送设备提供接收设备已经正确接收到PDU的指示。

RTSC块410向CRC生成器414输出软组合的经解密数据412。CRC生成器414被配置为基于软组合的经解密数据412生成CRC。尽管由CRC生成器414生成的CRC是基于经解密数据的CRC,但是该CRC可以用于基于重构数据计算由接收设备生成的CRC,而无需对重构数据进行重新加密。由CRC生成器414基于经解密数据生成的CRC可以被进一步处理,以便CRC模仿好像其是基于经加密数据而生成的。

当解密块404正在解密经加密数据402时,解密块404将并行输出密码流408。密码流408被输出到CRC生成器416,并且可以被配置为生成仅所该密码流408的CRC。由CRC生成器416生成的密码流408的CRC可以与由CRC生成器414生成的软组合的经解密数据412的CRC结合使用,以生成计算出的CRC 420,然后其可用于验证基于经加密数据的接收的CRC(例如第一CRC)。计算出的CRC 420可以基于软组合的经解密数据412和第一密码流408。

本公开利用CRC多项式的线性特性,基于软组合的经解密数据进一步处理由CRC生成器414生成的CRC,并基于密码流进一步处理由CRC生成器416生成的CRC,以验证基于经加密数据的CRC。例如:

如果x是未加密的数据,y是用于加密该数据的密码流,那么由此得出,经加密数据的CRC将等于经解密数据和密码流的各个CRC的异或(XOR)。因此:

在BLE中,未加密的数据通过密码流进行加密。例如,用密码流对未加密数据进行XOR运算会产生经加密数据。密码流也可以用于对经加密数据进行解密。例如,用相同的密码流对经加密数据进行XOR运算将得出经解密数据。例如,在表达式

可以用种子初始化CRC,并且发送设备和接收设备都需要知道初始种子,以便使CRC(例如计算出的CRC 420)是正确的。这样,种子需要被应用到由CRC生成器414、416生成的CRC之一,以便使计算出的CRC 420是正确的。此外,当基于软组合的经解密数据412的CRC与基于密码流408的CRC进行XOR时,还需要调整报头,以便使计算出的CRC 420是正确的。在一些方面,在CRC生成器414基于软组合的经解密数据412生成CRC之前,可以将有效载荷报头502附加到软组合的经解密数据412。在一些方面,在CRC生成器416基于密码流408生成CRC之前,密码流408可以被零填充504。在又一些方面,有效载荷报头502可以被附加到软组合的经解密数据412,并且第一密码流408可以在生成计算出的CRC 420之前被零填充504。例如,如图5中所示,当经解密数据406经过RTSC块410时,经解密数据406被软组合以重构出正确数据,但报头不经过RTSC块410运行。相反,在数据被解密块404解密之后,报头被提供给有效载荷报头502。当解密块404正在处理报头部分时,由于报头没有被加密,解密块404不生成对应于报头部分的密码流部分。报头被提供给有效载荷报头502,并且在软组合的经解密数据412之前被提供给CRC生成器414。由于有效载荷报头502被提供给CRC生成器414,密码流408不被提供给CRC生成器416。相反,零填充流504被提供给CRC生成器416,CRC生成器416可以被配置为与提供给CRC生成器414的有效载荷报头502相对应。一旦有效载荷报头502已经被CRC生成器414完全接收,则第一开关可以被切换以形成与RTSC块410的输出的连接,并且允许软组合的经解密数据412被馈送到CRC生成器414。此外,一旦相应的零填充流504已经被CRC生成器416完全接收,则第二开关可以被切换以形成与对应于密码流408的解密块404的输出的连接,以允许密码流408被馈送到CRC生成器416。

零填充流504的长度可以等于有效载荷报头502的长度。零填充流504的长度可以等于有效载荷报头502的长度,以确保当基于软组合的经解密数据412生成的CRC与基于密码流408生成的CRC进行XOR时,有效载荷报头502与零填充流504进行XOR。对有效载荷报头502与零填充流504执行XOR将产生有效载荷报头502,并且实质上模仿了用全零的密码流加密的报头。这将有助于确保计算出的CRC 420包括正确的报头信息,使得当在422处将计算出的CRC 420对照接收的CRC进行校验时,可以验证计算出的CRC 420。验证计算出的CRC420指示软组合的经解密数据412是正确的,此时,接收设备可以向发送设备发送ACK。

本公开的至少一个优点在于,CRC的线性属性允许报头被附加到软组合的经解密数据412或密码流408。例如,在一些方面,报头可以被附加到密码流408,而不是软组合的经解密数据412。在这些方面中,报头在密码流408之前被提供给CRC生成器416,并且零填充流在软组合的经解密数据412之前被提供给CRC生成器414。一旦报头已经被CRC生成器416完全接收,密码流408可以被馈送到CRC生成器416。此外,一旦零填充流已经被CRC生成器414完全接收,软组合的经解密数据412可以被馈送到CRC生成器414。在软组合的经解密数据412被馈送到CRC生成器414之前,用报头对其加前缀(prefixing),以及类似地用零填充流对密码流408加上等于报头长度的长度前缀提供了报头调整,以确保计算出的CRC 420能够对照接收的CRC被正确地验证。

再次参考图4,CRC生成器414将基于软组合的经解密数据412生成的CRC输出到XOR块418,CRC生成器416将基于密码流408生成的CRC输出到XOR块418。这两个生成的CRC之间的XOR结果产生计算出的CRC420。如上所述,软组合的经解密数据412的CRC与密码流408的CRC之间进行的XOR产生经加密数据的CRC。由于经加密数据是未加密数据与密码流XOR的结果,因此经加密数据的CRC是经解密数据的CRC与密码流的CRC进行XOR的结果,其中经解密数据的CRC是基于经解密数据(例如,软组合的经解密数据412)计算出的,经解密数据可以是校正的经解密数据。因此,对经解密数据的CRC和密码流的CRC进行XOR运算可以被配置为用经加密数据402的CRC来验证计算出的CRC 420。

计算出的CRC 420被输出到CRC校验块422,在那里,计算出的CRC 420与接收的经加密CRC(例如第一CRC)进行比较,以确定计算出的CRC 420是否通过了对照经加密CRC的CRC校验。如果计算出的CRC 420通过了对照经加密CRC的CRC校验(例如两者相同),则经加密数据已经被成功地组合,使得接收设备向发送设备发送ACK。然而,如果计算出的CRC 420与经加密CRC不同,则经加密数据没有被成功地组合,并且接收设备可以向发送设备发送NACK。本公开的至少一个优点是,可以利用软组合的经解密数据412的CRC来验证计算出的CRC 420,而不必对数据进行重新加密,这可以提高效率并减少处理资源。本公开的至少另一个优点是,如果经加密数据没有被成功组合并且导致NACK被发送到发送设备,并且另一个数据分组被发送到接收设备,则RTSC块410可以利用未成功组合的数据来帮助生成软组合的经解密数据412。如上文讨论的,在RTSC块410,经解密数据406可以与经解密有效载荷集进行软组合。在一些方面,可基于至少一个与用于加密第一PDU的第一随机数不同的随机数来对经解密有效载荷集进行加密。然而,在一些方面,经解密有效载荷集可以基于与第一随机数相同的随机数被加密。而在一些方面,经解密有效载荷集可以是先前接收的数据分组。

图6示出了框图600,其示出了根据本公开的某些方面的软组合操作的一个方面。图6的方面利用了高级加密标准(AES)加密属性,即如果加密分组的一些比特由于空中(over-the-air)损坏而翻转(flipped),并且如果损坏的分组用正确的密码流解密,则经解密分组将具有与损坏的经加密分组相同的错误比特。

根据本公开的某些方面,图6的软组合操作可以发生在WPAN的第一设备和第二设备之间的通信中。第一设备可以对应于例如中心设备102、外围设备104、106、108、110、112、114、无线设备200、装置902/902'或网格节点950。第二设备可以对应于例如中心设备102、外围设备104、106、108、110、112、114、无线设备200、装置902/902'或网格节点950。

参考图6所示,第一设备(例如发送设备)可以向第二设备(例如接收设备)发送经加密数据602。经加密数据602可以类似于图4的经加密数据402。经加密数据602可以包括第一PDU和基于加密的第一PDU计算出的第一CRC。在一些方面,第一PDU可以基于第一随机数被加密。第二设备接收经加密数据602,并且经加密数据602被提供给解密块604。解密块604可以以类似于图4的解密块404的方式来配置。解密块604解密经加密数据602(例如第一PDU),并输出经解密数据606(例如第一有效载荷)。

解密块604将经解密数据606输出到RTSC块608。在一些方面,解密块604可以被配置为以128比特的分组向RTSC块608提供经解密数据606。RTSC块608可以以类似于RTSC块410的方式来配置。在一些方面,在RSTC块608,经解密数据606可以与经解密有效载荷集进行软组合。在一些方面,该有效载荷集已经基于与第一随机数不同的至少一个随机数被加密。然而,在一些方面,可以基于与第一随机数相同的随机数来加密该有效载荷集。在一些方面,经解密有效载荷集可以是可被存储在RTSC块608中的先前接收的数据分组,或者可以被存储于在RTSC块608外部的存储器中。例如,接收设备可以在接收经加密数据602之前接收一组PDU,并且可以在PDU被接收之后尝试解密该组PDU中的每个PDU,以获得经解密有效载荷集中的对应的经解密有效载荷。接收设备可以被配置为在接收设备未能对照基于软组合数据计算出的CRC来正确验证基于经加密数据的、接收的CRC的情况下,发送NACK。从接收设备到发送设备的NACK传输可以指示PDU未被正确地接收。响应于NACK,发送设备向接收设备发送另一个PDU。在一些方面,重传的PDU可以是来自经加密数据602的第一PDU。

RTSC块608可以被配置为将经解密数据606与经解密有效载荷集进行软组合,以便将数据重建并生成错误比特图610。在一些方面,附加信息可以与经解密数据606软组合,诸如但不限于来自调制解调器的相同分组和/或软比特信息的先前损坏的接收。RTSC块608将输出重构的经解密数据以及错误比特图610,错误比特图610可以是错误比特(例如,由于空中损坏而翻转的比特)的列表。在一些方面,重建的数据和/或错误的比特图可以是128比特长。当RTSC块608软组合的经解密数据606时,错误比特图可以被安排来跟踪哪些比特可能已经翻转的或者是错误的。

RSTC块608向XOR块612输出错误比特图610。XOR块612还接收经加密数据602的输入。XOR块612将经加密数据602(例如第一PDU)与生成的错误比特图610进行XOR,以获得软组合的经加密数据614。CRC是基于软组合的经加密数据614生成的,然后被提交给校验CRC块616。校验CRC块616确定基于软组合的经加密数据614生成的CRC是否通过了对照经加密数据602的第一CRC的CRC校验。如果CRC匹配,则软组合后的数据有效,并且接收设备向发送设备发送ACK,指示分组已经被正确接收。然而,如果基于软组合的经加密数据614的CRC没有通过校验CRC块616的CRC校验,则软组合的经加密数据614未被成功组合,并且接收设备可以向发送设备发送NACK。本公开的至少一个优点是,图6的方面基于软组合的经加密数据614生成CRC,这符合BLE要求。本公开的另一个优点是,图6的方面产生与图4的方面相同的结果,因为它在数学上等同于图4的方面。

图7示出了框图700,其示出了根据本公开的某些方面的消息完整性校验(MIC)计算操作的一个方面。MIC包括可用于验证数据分组的信息。接收设备可以使用MIC来确认所接收的数据来自所述发送设备(例如,数据分组真实性),并确认有效载荷没有被改变(例如,数据分组完整性)。MIC通过使接收设备能够检测有效载荷的任何变化来保护有效载荷的完整性和数据分组的真实性。框图700部分类似于图4的框图400,并且具有许多以类似于图4的相应组件的方式操作的类似组件,诸如但不限于RTSC块、基于软组合的经解密数据生成CRC的CRC生成器、基于密码流生成CRC的CRC生成器,并且计算出的CRC是对照接收的CRC被校验的。然而,框图700可以被配置为基于经解密数据来计算MIC,并且对照包括在经加密数据702中的接收的MIC来验证。为了减少重复工作,这里不包括对框图400和700的类似组件的讨论。图7的讨论将针对图4的图400中没有出现的附加组件和/或特征。

如图7所示,发送设备向接收设备发送经加密数据702。经加密数据702被提供给解密块704。解密块704可以被配置为从经加密数据702生成经解密数据710。在一些方面,解密块704可以包括从经加密数据702生成经解密数据710的AES解密块706。AES解密块706接收经加密数据702并生成经解密数据710,经解密数据710从解密块704输出到RTSC块714。

本公开不旨在局限于包括AES解密块的解密块。在一些方面,解密块704可以由许多不同的已知加密/解密块组成。RTSC块714可以以类似于图4的RTSC块410的方式来配置。RTSC块714接收经解密数据710,并且可以以类似于RTSC块410的方式,在RTSC块714处被与经解密有效载荷集软组合。可基于至少一个与用于加密第一PDU的第一随机数不同的随机数来对经解密有效载荷集进行加密。然而,在一些方面,可以基于与第一随机数相同的随机数来加密该有效载荷集。经解密有效载荷集可以是可被存储在RTSC块714中的先前接收的数据分组或者可以被存储于在RTSC块714外部的存储器中。例如,接收设备可以在接收经加密数据702之前接收一组PDU,并且可以在PDU被接收之后尝试解密该组PDU中的每个PDU,以获得经解密有效载荷集中的对应的经解密有效载荷。

RTSC块714可以被配置为将经解密数据710与先前接收的数据软组合,以努力校正相同分组的先前的损坏接收或不正确接收,类似于上面针对RTSC块410所讨论的。RTSC块714也以类似于RTSC块410的方式生成重构数据(例如,软组合的经解密数据716),并将软组合的经解密数据716输出到CRC生成器718。然而,RTSC块714进一步将软组合的经解密数据716输出回解密块704,以计算MIC。在一些方面,解密块704可以进一步包括用于MIC计算的AES MIC计算块708。AES MIC计算块708基于校正数据(例如软组合的经解密数据716)来生成计算出的MIC 728。本公开并不旨在局限于包括AES MIC计算块708的MIC计算块。在一些方面,MIC计算块可以由许多不同的已知MIC计算块组成。在块730处,对照从经加密数据702中接收的MIC来校验计算出的MIC 728。如果计算出的MIC 728与从经加密数据702接收的MIC相同,则软组合的经解密数据716被验证为是正确的,使得分组的内容在从发送设备到接收设备的传输中没有改变。然而,如果计算出的MIC 728与接收的MIC不同,则软组合的经解密数据716可能不会被RTSC块714正确校正,并且计算出的MIC 728失败。在某些方面,如果计算出的MIC失败,则发送设备与接收设备之间的链路可能发生了某种情况,导致一个或多个比特翻转。

计算出的MIC 728可以被配置为在计算出的CRC通过了对照从发送设备接收的CRC的CRC校验的情况下被验证。当计算出的CRC通过CRC校验时,验证计算出的MIC 728确保了计算出的MIC 728是基于由RTSC块生成的校正数据(例如软组合的经解密数据)被计算出的。因此,在计算出的CRC已经被验证之后,对计算出的MIC 728进行验证。

图8示出了框图800,其示出了根据本公开的某些方面的MIC计算操作的一个方面。框图800部分类似于图6的框图600,并且具有许多以类似于图6的相应组件的方式操作的类似组件,诸如但不限于生成错误比特图的RTSC块、将加密数据和错误比特图进行XOR以生成计算出的CRC的XOR块。框图800可以被配置为基于经解密数据来计算MIC,类似于图7的图700,并且对照包括在经加密数据802中的接收的MIC来验证。为了减少重复工作,这里不包括对框图600和800的类似组件的讨论。图8的讨论可以针对图600中没有出现的附加组件和/或特征。

如图8所示,发送设备向接收设备发送经加密数据802。经加密数据802被提供给解密块804。解密块804可以被配置成从经加密数据802生成经解密数据810。在一些方面,解密块804包括从经加密数据802生成经解密数据810的AES解密块806。AES解密块806接收经加密数据802并生成经解密数据810,经解密数据710从解密块804输出到RTSC块812。本公开不旨在局限于包括AES解密块的解密块。在一些方面,解密块804可以由许多不同的已知加密/解密块组成。RTSC块812可以以类似于图6的RTSC块608的方式来配置。RTSC块812接收经解密数据810,并生成错误比特图814,该错误比特图814被提供给XOR块818,XOR块818基于错误比特图814和经加密数据802的XOR来生成计算出的CRC 820。

RSTC块812可以进一步被配置为生成软组合的经解密数据流816,该软组合的经解密数据流被反馈到解密块804中以计算MIC。在一些方面,解密块804可以进一步包括用于MIC计算的AES MIC计算块808。AES MIC计算块808基于校正数据(例如软组合的经解密数据816)来生成计算出的MIC 824。本公开并不旨在局限于包括AES MIC计算块808的MIC计算块。在一些方面,MIC计算块可以由许多不同的已知MIC计算块组成。在框826处,对照从经加密数据802中接收的MIC来校验计算出的MIC 824。如果计算出的MIC 824与从经加密数据802接收的MIC相同,则软组合的经解密数据816被验证为是正确的,使得分组的内容在从发送设备到接收设备的传输中没有改变。然而,如果计算出的MIC 824与接收的MIC不同,则软组合的经解密数据816可能不会被RTSC块812正确校正,并且计算出的MIC 824失败。如图7的图700所示,计算出的MIC 824可以被配置为在计算出的CRC通过了对照从发送设备接收的CRC的CRC校验的情况下被验证。当计算出的CRC通过CRC校验时,验证计算出的MIC 824有助于确保计算出的MIC 824是基于由RTSC块生成的校正数据(例如软组合的经解密数据816)被计算出的。因此,在计算出的CRC首先已经被验证之后,对计算出的MIC 728进行验证。

图9是无线通信方法的流程图900。该方法可以由与第二设备(例如,中心设备102、外围设备104、106、108、110、112、114、无线设备200)通信的第一设备(例如,中心设备102、外围设备104、106、108、110、112、114、无线设备200、装置1002/1002')来执行。在图9中,可选的操作用虚线表示。

参考图9,在901处,第一设备可以接收一组PDU,如参考图4、5和7所讨论的。在903处,第一设备可以在解密块404、704处在接收到PDU之后解密该组PDU中的每个PDU,以获得经解密有效载荷集的对应解密有效载荷,如参考图4、5和7所讨论的。在905处,第一设备可以被配置为在对照基于软组合数据的计算出的CRC未能正确验证基于经加密数据的、接收的CRC之后发送NACK。在这些方面中,第一设备发送NACK可以指示该PDU未被第一设备正确地接收。在一些方面,可以基于发送的NACK接收第一PDU(例如,经加密数据402、702)。

在902处,第一设备可以接收第一PDU(例如,经加密数据402、702)和基于第一PDU的第一CRC。在一些方面,如参考图4、5和7所讨论的,可以基于第一随机数来加密第一PDU(例如,经加密数据402、702)。

在904处,第一设备可以在解密块404、704解密第一PDU(例如,经加密数据402、702),以获得第一有效载荷(例如,经解密数据406、710)和第一密码流(例如,密码流408、712)。例如,参考图4、5和7,解密块404、704接收经加密数据402、702,并生成经解密数据406、710和密码流408、712。在906处,第一设备可以被配置为在解密块704处解密第一PDU,以获得第一消息完整性校验(MIC)。

在908处,第一设备可以被配置为将经解密第一有效载荷与经解密有效载荷集进行软组合。例如,RTSC块410、714可以被配置为将经解密数据406、710与经解密有效载荷集进行实时软组合。在一些方面,如上文参考903所讨论的,经解密有效载荷集可以包括先前接收的解密数据分组。在一些方面,该有效载荷集可能已经基于与第一随机数不同的至少一个随机数被加密。然而,在一些方面,可以基于与第一随机数相同的随机数来加密该有效载荷集。在909处,第一设备可以被配置为在生成第二CRC(例如,计算出的CRC420、724)之前,将有效载荷报头(例如,有效载荷报头502)附加到软组合的经解密有效载荷(例如,软组合的经解密数据412、716)并且对第一密码流(例如,密码流408、712)进行零填充(例如,零填充流504)。

在910处,第一设备可以进一步被配置为基于软组合的经解密有效载荷(例如,软组合的经解密有效载荷716)生成第二MIC(例如,图7的计算出的MIC 728)。

在912处,第一设备可以被配置为基于软组合的经解密有效载荷(例如,软组合的经解密有效载荷412、716)和基于第一密码流(例如,密码流408、712)生成第二CRC(例如,计算出的CRC 420、724)。在一些方面,例如在913处,为了生成第二CRC(例如,计算出的CRC420、724),第一设备可以被配置为基于软组合的经解密有效载荷(例如,软组合的经解密数据412、716)在CRC生成器414、718处生成第三CRC。在一些方面,例如在915处,第一设备可以进一步被配置为基于第一密码流(例如,密码流408、712)在CRC生成器416、720处生成第四CRC。在一些方面,例如在917处,第一设备可以被配置为在XOR 418、722处对第三CRC和第四CRC进行XOR,以获得第二CRC(例如,计算出的CRC 420、724)。在一些方面,第一设备可以被配置为在CRC生成器414处生成第三CRC之前,将报头(例如,报头有效载荷502)附加到软组合的经解密有效载荷(例如,软组合的经解密数据412、716),并且在CRC生成器416、720处生成第四CRC之前,对第一密码流(例如,密码流408、712)进行零填充(例如,零填充流504)。

在914处,第一设备可以确定针对软组合的经解密有效载荷生成的第二CRC(例如,计算出的CRC 420、724)是否通过了对照第一CRC的CRC校验(例如,块422、726)。如果生成的第二CRC没有通过CRC校验,则在918处,第一设备向第二设备发送NACK,这导致PDU的重传,并且从902处开始重复该过程。如果生成的第二CRC确实通过了CRC校验,则在916处,第一设备可以确定所生成的第二MIC(例如,计算出的MIC 728)是否通过了对照第一MIC的MIC校验(例如,MIC校验730)。如果生成的第二MIC没有通过MIC校验,则在918处,第一设备向第二设备发送NACK,这可能导致PDU的重传,并且从902处开始重复该过程。如果生成的第二MIC通过了MIC校验,则在920处,第一设备向第二设备发送ACK。向第二设备发送ACK指示PDU被正确地接收,使得软组合的经解密数据412、716被正确地组合。

图10是说明示例性装置1002中不同部件/组件之间的数据流的概念性数据流图1000。该装置可以是与第二设备(例如,中心设备102、外围设备104、106、108、110、112、114、无线设备200)通信的第一设备(例如,中心设备102、外围设备104、106、108、110、112、114、无线设备200、装置1002')。该装置可以包括接收组件1004、解密组件1006、第一CRC生成器组件1008、软组合组件1010、解密有效载荷组件1012、第二CRC生成器组件1014、XOR组件1016、CRC校验组件1018和广播组件1020。

接收组件1004可以被配置为从第二设备1050接收第一PDU和基于第一PDU的第一CRC。在一些方面,可以基于第一随机数来加密第一PDU(例如,经加密数据402)。在一些方面,第一设备可以在解密块404处在接收到PDU之后解密该组PDU中的每个PDU,以获得经解密有效载荷集的对应有效载荷,如参考图4、5和7所讨论的。在一些方面,第一设备可以被配置为在块422、726处,在对照基于软组合数据计算出的CRC未能正确验证基于经加密数据的、接收的CRC之后发送NACK。在这些方面中,第一设备发送NACK可以指示该PDU未被第一设备正确地接收。在一些方面,可以基于发送的NACK接收第一PDU(例如,经加密数据402、702)。

解密组件1006可以被配置为从接收组件1004接收经加密数据402、702(例如,第一PDU)并且解密第一PDU以获得第一有效载荷和第一密码流。例如,参考图4、5和7,解密块404、704接收经加密数据402、702,并生成经解密数据406、710和密码流408、712。在一些方面,解密组件1006可以被配置为通过解密块704解密第一PDU,以获得第一消息完整性校验(MIC)。在一些方面,解密组件1006可以被配置为基于软组合的经解密有效载荷(例如,软组合的经解密有效载荷716)生成第二MIC(例如,图7的计算出的MIC 728)。

第一CRC生成器组件1008可以被配置为从解密组件1006接收密码流408、712,并在CRC生成器416、720处基于密码流408、712生成CRC。软组合组件1010可以被配置为在RTSC块410、714处将经解密第一有效载荷(例如,经解密数据406、710)与经解密有效载荷集进行软组合。经解密有效载荷组件1012可以被配置为存储已经基于与第一随机数不同的至少一个随机数进行加密的有效载荷集,并将该有效载荷集提供给软组合组件1010。然而,在一些方面,可以基于与第一随机数相同的随机数来加密该有效载荷集。在一些方面,经解密有效载荷集可以包括先前接收的解密数据分组。

第二CRC生成器组件1014可以被配置为从软组合组件接收软组合的经解密数据,并在CRC生成器414、718处基于软组合的经解密数据412、716生成CRC。XOR组件1016可以被配置为接收由第一CRC生成器组件1008生成的CRC和由第二CRC生成器组件1014生成的CRC,以基于软组合的经解密有效载荷(例如,软组合的经解密有效载荷412、716)和基于第一密码流(例如,密码流408、712)生成第二CRC(例如,计算出的CRC 420、724)。在一些方面,在生成第二CRC(例如,计算出的CRC 420、724)之前,可以将有效载荷报头(例如,有效载荷报头502)附加到软组合的经解密有效载荷(例如,软组合经解密数据412、716),并且可以将零填充(例如,零填充流504)附加到第一密码流(例如,密码流408、712)。

CRC校验组件1018可以被配置为确定针对软组合的经解密有效载荷生成的第二CRC(例如,计算出的CRC 420、724)是否通过了对照第一CRC的CRC校验(例如,块422、726)。MIC校验组件1020可以被配置为确定计算出的MIC(例如,计算出的MIC 728)是否通过了对照第一MIC的MIC校验(例如,块730)。广播组件1022可以被配置为基于针对软组合的经解密有效载荷生成的第二CRC(例如,计算出的CRC 420、724)是否通过了CRC校验和/或计算出的MIC 728是否通过了对照与加密数据一起接收的MIC的MIC校验,向第二设备1050发送ACK或NACK。例如,如果计算出的CRC420、724通过了CRC校验,则广播组件1022可以向第二设备1050发送指示PDU被正确接收的ACK。在其他方面,如果计算出的CRC 420没有通过CRC校验,则广播组件1022可以向第二设备1050发送指示该PDU未被正确接收的NACK,并且第二设备1050重传另一个PDU。在一些方面,如果计算出的MIC 728没有通过MIC校验,则广播组件1022可以向第二设备1050发送NACK,而在一些方面,如果计算出的MIC 728确实通过了MIC校验,则广播组件1022可以向第二设备1050发送指示PDU被正确接收的ACK。

该装置可以包括执行图4、5和7的前述流程图中的算法的每个块的附加组件。这样,图4、5和7的前述流程图中的每个块可以由一个组件来执行,并且该装置可以包括这些组件中的一个或多个。这些组件可以是一个或多个硬件组件,其被具体配置为执行所述过程/算法,由被配置为执行所述过程/算法的处理器实现,存储在计算机可读介质中用于由处理器实现,或者它们的某种组合。

图11是示出采用处理系统1114的装置1002'的硬件实现的示例的图1100。处理系统1114可以用总线架构来实现,其通常由总线1124表示。根据处理系统1114的特定用途和总体设计约束,总线1124可以包括任何数量的互连总线和桥接。总线1124将各种电路链接在一起,包括由处理器1104表示的一个或多个处理器和/或硬件组件、组件1004、1006、1008、1010、1012、1014、1016、1018、1020、1022和计算机可读介质/存储器1106。总线1124还可以链接各种其他电路,例如定时源、外围设备、电压调节器和功率管理电路,这些在本领域中是公知的,因此将不再进一步描述。

处理系统1114可以耦接到收发器1110。收发器1110耦接到一个或多个天线1120。收发器1110提供了用于通过传输介质与各种其他装置进行通信的部件。收发器1110从一个或多个天线1120接收信号,从接收的信号中提取信息,并将提取的信息提供给处理系统1114,特别是接收组件1004。另外,收发器1110从处理系统1114接收信息,具体是广播组件1020,并基于接收的信息,生成要应用到一个或多个天线1120的信号。处理系统1114包括耦接到计算机可读介质/存储器1106的处理器1104。处理器1104负责一般处理,包括执行存储在计算机可读介质/存储器1106上的软件。该软件在由处理器1104执行时,使处理系统1114对任何特定装置执行上述各种功能。计算机可读介质/存储器1106还可以用于存储在执行软件时由处理器1104操纵的数据。处理系统1114还包括组件1004、1006、1008、1010、1012、1014、1016、1018、1020和1022中的至少一个。这些组件可以是在处理器1104中运行、驻留/存储在计算机可读介质/存储器1106的软件组件,耦合到处理器1104的一个或多个硬件组件,或其某种组合。

在某些配置中,用于无线通信的装置1002/1002'可以包括:用于接收第一分组数据单元(PDU)和基于第一PDU的第一循环冗余校验(CRC)的部件,该第一PDU是基于第一随机数被加密的;用于解密第一PDU以获得第一有效载荷和第一密码流的部件;用于将经解密第一有效载荷与经解密有效载荷集进行软组合的部件,该有效载荷集已经基于与第一随机数不同的至少一个随机数被加密;用于基于软组合的经解密有效载荷并基于第一密码流生成第二CRC的部件;用于确定针对软组合的经解密有效载荷生成的第二CRC是否通过了对照第一CRC的CRC校验的部件;用于接收一组PDU的部件;用于在接收到PDU后解密该组PDU中的每个PDU以获得经解密有效载荷集中的对应解密有效载荷的部件;用于在对照基于软组合数据计算出的CRC未能正确地验证基于经加密数据的、接收的CRC之后发送用于指示PDU未被正确接收的否定ACK(NACK)的部件;用于其中第一PDU是根据发送的NACK接收的部件;用于在生成第二CRC之前将有效载荷报头附加到软组合的经解密有效载荷并且对第一密码流进行零填充的部件;用于基于软组合的经解密有效载荷来生成第三CRC的部件;用于生成基于第一密码流的第四CRC的部件;用于对生成的第三CRC和生成的第四CRC进行XOR以获得第二CRC的部件;用于在生成第三CRC之前将报头附加到软组合的经解密有效载荷的部件;用于在生成第四CRC之前对第一密码流进行零填充的部件,其中,第一PDU被进一步解密以获得第一消息完整性校验(MIC);还包括用于基于软组合的经解密有效载荷来生成第二MIC的部件;还包括用于确定生成的第二MIC是否通过了对照第一MIC的MIC校验的部件。前述部件可以是图2中的前述(多个)处理器202、短程通信控制器252和/或无线电230中的一个或多个,装置1002/1002'的组件被配置为执行前述部件的功能。

图12是无线通信方法的流程图1200。该方法可以由与第二设备(例如,中心设备102、外围设备104、106、108、110、112、114、无线设备200)通信的第一设备(例如,中心设备102、外围设备104、106、108、110、112、114、无线设备200、装置1002/1002')来执行。在图12中,可选操作用虚线表示。

参考图12,在1201处,第一设备可以被配置为接收一组PDU,如参考图6和8所讨论的。在1203处,第一设备可以在解密块604、804处在接收到PDU之后解密该组PDU中的每个PDU,以获得经解密有效载荷集的对应解密有效载荷,如参考图6和8所讨论的。在1205处,第一设备可以被配置为在对照基于软组合数据计算出的CRC未能正确验证基于经加密数据的、接收的CRC之后发送NACK。在这些方面中,第一设备发送NACK可以指示该PDU未被第一设备正确地接收。在一些方面,第一设备可以基于发送的NACK来接收第一PDU(例如,经加密数据602、802)。

在1202处,第一设备可以接收第一PDU(例如,经加密数据602、802)和基于第一PDU的第一CRC。在一些方面,如参考图6和8所讨论的,可以基于第一随机数来加密第一PDU(例如,经加密数据602、802)。

在1204处,第一设备可以被配置为在解密块604、804处解密第一PDU(例如,经加密数据602、802)以获得第一有效载荷(例如,经解密数据606、810)。例如,参考图6和8,解密块604、804接收经加密数据602、802,并生成经解密数据606、810。在1206处,第一设备可以被配置为在解密块804处解密第一PDU(例如,经加密数据802)以获得第一MIC。

在1208处,第一设备可以被配置为在RTSC块608、812处将经解密第一有效载荷(例如,经解密数据606、810)与经解密有效载荷集进行软组合,以获得错误比特图610、814。在一些方面,该有效载荷集已经基于与第一随机数不同的至少一个随机数被加密。然而,在一些方面,可以基于与第一随机数相同的随机数来加密该有效载荷集。在1210处,第一设备可以被配置为基于软组合的经解密有效载荷(例如,软组合的经解密数据816)生成第二MIC(例如,计算出的MIC 824)。例如,经解密数据810在RTSC块812处被软组合,并且软组合的经解密数据816被输出回解密块804,使得解密块804可以进一步解密软组合的经解密数据816以获得第二MIC(例如,计算出的MIC 824)。在一些方面,解密块804可以包括用于MIC计算的AES块808,其接收软组合的经解密数据816并基于软组合的经解密数据816生成计算出的MIC 824。

在1212处,第一设备可以被配置为在XOR 612、818处,将接收的第一PDU(例如,经加密数据602、802)与获得的错误比特图610、814进行XOR,以获得软组合的经加密有效载荷。在1214处,第一设备可以被配置为基于软组合的经加密有效载荷614生成第二CRC(例如,计算出的CRC 820),该软组合的经加密有效载荷614是接收的第一PDU(例如,经加密数据602、802)和获得的错误比特图610、814进行XOR的结果。

在1216处,第一设备可以确定针对软组合的经加密有效载荷(例如,软组合的经加密数据614)生成的第二CRC(例如,计算出的CRC 820)在CRC校验616、822处是否通过了对照基于经加密数据602、802的第一CRC的CRC校验。如果生成的第二CRC没有通过CRC校验,在1220处,第一设备向第二设备发送NACK,这导致PDU的重传,并且从1202处开始重复该过程。如果生成的第二CRC确实通过了CRC校验,则在1218处,第一设备可以确定所生成的第二MIC(例如,计算出的MIC 824)是否通过了对照第一MIC的MIC校验(例如,MIC校验826)。如果生成的第二MIC没有通过MIC校验,则在1220处,第一设备向第二设备发送NACK,这可能导致PDU的重传,并且从1202处开始重复该过程。如果生成的第二MIC通过了MIC校验,则在1222处,第一设备向第二设备发送ACK。向第二设备发送ACK指示PDU被正确地接收,使得在RTSC块608、812处执行的软组合的经解密数据被正确地组合。

在又一些方面,当生成的第二CRC(例如,计算出的CRC 820)通过了对照第一CRC的CRC校验616并且生成的第二MIC(例如,计算出的MIC824)通过了对照第一MIC的MIC校验826时,第一设备可以发送ACK。

图13是说明示例性装置1302中不同部件/组件之间的数据流的概念性数据流图1300。该装置可以是与第二设备(例如,中心设备102、外围设备104、106、108、110、112、114、无线设备200)通信的第一设备(例如,中心设备102、外围设备104、106、108、110、112、114、无线设备200、装置1002')。该装置包括接收组件1304、解密组件1306、软组合组件1308、解密有效载荷组件1310、XOR组件1312、CRC生成器组件1314、CRC校验组件1316、MIC校验组件1318和广播组件1320。

接收组件1304可以被配置为从第二设备1350接收第一PDU和基于第一PDU的第一CRC。在一些方面,第一PDU(例如,经加密数据602、802)可以基于第一随机数被加密。在一些方面,第一设备可以在解密块604、804处在接收到PDU之后解密该组PDU中的每个PDU,以获得经解密有效载荷集的对应有效载荷,如参考图6和9所讨论的。在一些方面,第一设备可以被配置为在块616、822处,在对照基于软组合数据计算出的CRC未能正确验证基于经加密数据的、接收的CRC之后发送NACK。在这些方面中,第一设备发送NACK可以指示该PDU(例如,解密数据602、802)未被第一设备正确地接收。在一些方面,第一PDU(例如,经加密数据602、802)可以基于发送的NACK被接收。

解密组件1306可以被配置为从接收组件1304接收加密数据(例如,第一PDU),并且在解密块604、804处解密第一PDU,以获得第一有效载荷(例如,经解密数据606、810)。在一些方面,第一PDU可以在解密块804处被进一步解密,以获得对应于第一PDU的第一MIC(例如,经加密数据602、802)。

软组合组件1308可以被配置为在RTSC块612、812处将经解密第一有效载荷(例如,经解密数据606、810)与经解密有效载荷集进行软组合,以获得错误比特图814。在一些方面,该有效载荷集已经基于与第一随机数不同的至少一个随机数被加密。然而,在一些方面,可以基于与第一随机数相同的随机数来加密该有效载荷集。MIC生成组件1318可以被配置为基于软组合的经解密有效载荷(例如,软组合的经解密数据816)生成第二MIC(例如,计算出的MIC 824)。例如,经解密数据810在RTSC块812处被软组合,并且软组合的经解密数据816被输出回解密块804,使得解密块804可以进一步解密软组合的经解密数据816以获得第二MIC(例如,计算出的MIC 824)。在一些方面,解密块804包括用于MIC计算的AES块808,其接收软组合的经解密数据816并基于软组合的经解密数据816生成计算出的MIC 824。

XOR组件1312可以被配置为从软组合组件1308接收错误比特图814,并接收经加密数据802,以在错误比特图814和经加密数据802之间进行XOR运算,从而获得软组合的经加密有效载荷(例如,软组合的经加密数据614)。CRC生成器组件1314可以从XOR组件1312接收软组合的经加密数据,以便基于软组合的经加密有效载荷614生成第二CRC(例如,计算出的CRC 820)。CRC校验组件1316可以被配置为确定针对软组合的经加密有效载荷(例如,软组合的经加密数据614)生成的第二CRC(例如,计算出的CRC 820)在CRC校验616处是否通过了对照基于经加密数据602的第一CRC的CRC校验。MIC校验组件1320可以被配置为确定生成的MIC(例如,计算出的MIC 824)是否通过了对照基于经加密数据的第一MIC的MIC校验(例如,块826)。广播组件1322可以被配置为:当生成的CRC(例如,计算出的CRC 820)通过了对照基于第一PDU的第一CRC的CRC校验822时,以及当生成的第二MIC(例如,计算出的MIC 824)通过了对照基于第一PDU的第一MIC的MIC校验826时,发送ACK。如果生成的第二CRC没有通过CRC校验,则广播组件1322可以向第二设备发送NACK,这可能导致PDU的重传。如果生成的第二CRC确实通过了CRC校验,则MIC校验组件1320可以确定所生成的第二MIC(例如,计算出的MIC 824)是否通过了对照第一MIC的MIC校验(例如,MIC校验826)。如果生成的第二MIC没有通过MIC校验,则广播组件1322可以向第二设备发送NACK,这可能导致PDU的重传。如果生成的第二MIC确实通过了MIC校验,则广播组件1322可以向第二设备1350发送ACK。向第二设备1350发送ACK指示PDU被正确地接收,使得在RTSC块608、812处执行的软组合的经解密数据被正确地组合。

该装置可以包括执行图6和8的前述流程图中的算法的每个块的附加组件。这样,前述图6和8的前述流程图中的每个块可以由一个组件来执行,并且该装置可以包括这些组件中的一个或多个。这些组件可以是一个或多个硬件组件,其被具体配置为执行所述过程/算法,由被配置为执行所述过程/算法的处理器实现,存储在计算机可读介质中用于由处理器实现,或者它们的某种组合。

图14是示出采用处理系统1414的装置1302'的硬件实现的示例的图1400。处理系统1414可以用总线架构来实现,其通常由总线1424表示。根据处理系统1414的特定用途和总体设计约束,总线1424可以包括任何数量的互连总线和桥接。总线1424将各种电路链接在一起,包括由处理器1404表示的一个或多个处理器和/或硬件组件、组件1304、1306、1308、1310、1312、1314、1316、1018、1020、1318和计算机可读介质/存储器1406。总线1424还可以链接各种其他电路,例如定时源、外围设备、电压调节器和电源管理电路,这些在本领域中是公知的,因此将不再进一步描述。

处理系统1414可以耦接到收发器1410。收发器1410耦接到一个或多个天线1420。收发器1410提供了用于通过传输介质与各种其他装置进行通信的部件。收发器1410从一个或多个天线1420接收信号,从接收的信号中提取信息,并将提取的信息提供给处理系统1414,特别是接收组件1304。另外,收发器1410从处理系统1414接收信息,具体是广播组件1320,并基于接收的信息,生成要应用到一个或多个天线1420的信号。处理系统1414包括耦接到计算机可读介质/存储器1406的处理器1404。处理器1404负责一般处理,包括执行存储在计算机可读介质/存储器1406上的软件。该软件在由处理器1404执行时,使处理系统1414对任何特定装置执行上述各种功能。计算机可读介质/存储器1406还可以用于存储在执行软件时由处理器1404操纵的数据。处理系统1414还包括组件1304、1306、1308、1310、1312、1314、1316、1318、1320和1322中的至少一个。这些组件可以是在处理器1404中运行、驻留/存储在计算机可读介质/存储器1406的软件组件,耦合到处理器1404的一个或多个硬件组件,或其某种组合。

在某些配置中,用于无线通信的装置1302/1302'可以包括:用于接收第一分组数据单元(PDU)和基于第一PDU的第一循环冗余校验(CRC)的部件,该第一PDU是基于第一随机数被加密的;用于解密第一PDU以获得第一有效载荷的部件;用于通过将经解密第一有效载荷与经解密有效载荷集进行软组合以获得错误比特图的部件,该有效载荷集已经基于与第一随机数不同的至少一个随机数被加密;用于将接收的第一PDU与所获得的错误比特图进行XOR以获得软组合的经加密有效载荷的部件;用于基于软组合的经解密有效载荷生成第二CRC的部件;用于确定针对软组合的经解密有效载荷生成的第二CRC是否通过了对照第一CRC的CRC校验的部件;用于接收一组PDU的部件;用于在接收到PDU后解密该组PDU中的每个PDU以获得经解密有效载荷集的对应解密有效载荷的部件;用于在对照基于软组合数据计算出的CRC未能正确地验证基于经加密数据的、接收的CRC之后发送用于指示PDU未被正确接收的否定ACK(NACK)的部件,其中第一PDU是根据发送的NACK接收的,其中第一PDU被进一步解密以获得第一消息完整性校验(MIC);还包括用于基于软组合的经解密有效载荷生成第二MIC的部件,其中,当生成的第二CRC通过了对照第一CRC的CRC校验并且生成的第二MIC通过了对照第一MIC的MIC校验时,ACK被发送。前述部件可以是图2中的前述(多个)处理器202、短程通信控制器252和/或无线电230中的一个或多个,装置1002/1002'的组件被配置为执行前述部件的功能。

尽管本公开讨论了与BLE技术相关的验证解密数据分组组合的方案,但是应当理解,这种方案也可以适用于BT技术。此外,该方案可以应用于基于802.15.4的协议,例如Zigbee,或者任何其他无线协议,其中可以使用不同的加密参数发送分组及其重传的分组。

应该理解,所公开的过程/流程图中的块的特定顺序或层次是示例性方法的说明。基于设计偏好,应当理解,可以重新布置过程/流程图中的块的特定顺序或层次。此外,可以组合或省略一些块。所附方法权利要求以示例顺序呈现了各个块的元素,并且并不意味着限于所呈现的特定顺序或层次。

提供先前描述是为了使本领域的任何技术人员都能够实践本文所述的各个方面。对于本领域技术人员来说,对这些方面的各种修改将是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,本权利要求并不意欲被限制于本文所示的各方面,而是符合与语言权利要求一致的全部范围,其中,除非特别说明,否则以单数提及元素并不意欲表示“一个且仅有一个”,而是表示“一个或多个”。词语“示例性”在此用来表示“用作示例、实例或说明”。本文中描述为“示例性”的任何方面不一定被解释为优于或胜于其他方面。除非另外特别说明,否则术语“一些”是指一个或多个。对诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B和C中的一个或多个”和“A、B、C或其任何组合”的组合包含A、B和/或C的任何组合,以及可以包含多个A、多个B、或多个C。具体地,对诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B和C中的一个或多个”和“A、B、C或其任何组合”的组合可以是仅A、仅B、仅C、A和B、A和C、B和C、或A和B和C,其中任何这种组合可以含有A、B或C中的一个或多个成员。本领域普通技术人员已知或以后将知道的贯穿本公开内容所描述的各个方面的元件的所有结构和功能等同物通过引用明确地并入本文,并且旨在由权利要求涵盖。而且,无论在权利要求中是否明确记载了这种公开,本文所公开的任何内容都不旨在献给公众。词语“模块”、“机制”、“元件”、“设备”等不能代替词语“部件”。因此,除非使用短语“用于...的部件”明确地叙述该元素,否则不得将任何权利要求元素解释为部件加功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号