TWI818116B - 解密的封包的即時軟組合、crc驗證和mic驗證 - Google Patents
解密的封包的即時軟組合、crc驗證和mic驗證 Download PDFInfo
- Publication number
- TWI818116B TWI818116B TW108141722A TW108141722A TWI818116B TW I818116 B TWI818116 B TW I818116B TW 108141722 A TW108141722 A TW 108141722A TW 108141722 A TW108141722 A TW 108141722A TW I818116 B TWI818116 B TW I818116B
- Authority
- TW
- Taiwan
- Prior art keywords
- crc
- decrypted
- pdu
- soft
- payload
- Prior art date
Links
- 238000010200 validation analysis Methods 0.000 title 2
- 238000004891 communication Methods 0.000 claims description 62
- 238000000034 method Methods 0.000 claims description 45
- 125000004122 cyclic group Chemical group 0.000 claims description 7
- 239000000463 material Substances 0.000 description 54
- 238000010586 diagram Methods 0.000 description 44
- 230000002093 peripheral effect Effects 0.000 description 43
- 238000012545 processing Methods 0.000 description 32
- 238000004364 calculation method Methods 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 19
- 238000012937 correction Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 238000012546 transfer Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000032258 transport Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 206010009944 Colon cancer Diseases 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 125000002791 glucosyl group Chemical group C1([C@H](O)[C@@H](O)[C@H](O)[C@H](O1)CO)* 0.000 description 2
- 230000009021 linear effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
- H04L1/1845—Combining techniques, e.g. code combining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
- H04L1/0003—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1614—Details of the supervisory signal using bitmaps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Abstract
裝置接收第一PDU和基於第一PDU的第一CRC。第一PDU是基於第一亂數來加密的。該裝置對第一PDU進行解密以獲得第一有效負荷和第一密碼串流。該裝置將解密的第一有效負荷與解密的有效負荷集合進行軟組合。有效負荷集合已經基於不同於第一亂數的至少一個亂數來被加密。該裝置基於經軟組合的解密的有效負荷並且基於第一密碼串流來產生第二CRC。該裝置決定針對經軟組合的解密的有效負荷產生的第二CRC是否通過了相對於第一CRC的CRC檢查。
Description
大體而言,本揭示內容關於通訊系統,且更特定地,關於解密的封包的軟組合。
無線個人區域網路(WPAN)是一種個人的短距無線網路,用於以距使用者特定距離為中心的互連設備。WPAN因其提供的連接上的靈活性和便利性而廣受歡迎。WPAN,諸如彼等基於短距通訊協定(例如,藍芽®
(BT)協定、低功耗藍芽®
(BLE)協定、Zigbee®
協定等),藉由提供允許特定距離(例如,5米、10米、20米、100米等)內連接的無線鏈路來提供到周邊設備的無線連接。
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檢查。
為了實現前述和相關的目的,一或多個態樣包括下文充分描述並且在請求項中特別地指出的特徵。以下描述和附圖詳細闡述了一或多個態樣的某些說明性特徵。然而,該等特徵僅指示可以採用各個態樣的原理的各種方式中的一些方式,並且本描述意欲包括所有此種態樣及其均等物。
下文結合附圖闡述的詳細描述意欲作為對各種配置的描述,而不是意欲表示在其中可以實踐本文描述的概念的唯一配置。出於提供對各種概念的透徹理解的目的,詳細描述包括具體細節。然而,對於本領域技藝人士而言,顯而易見的是,可以在沒有該等具體細節的情況下實踐該等概念。在一些實例中,為了避免模糊此種概念,以方塊圖形式圖示熟知的結構和部件。
現在將參考各種裝置和方法來呈現電信系統的若干態樣。該等裝置和方法將在下文的詳細描述中描述,並且在附圖中藉由各種方塊、部件、電路、過程、演算法等(統稱為「元素」)進行說明。該等元素可以使用電子硬體、電腦軟體、或其任意組合來實現。將此種元素實現為硬體還是軟體取決於特定應用和施加於整個系統上的設計約束。
舉例而言,元素、或元素的任何部分、或元素的任何組合可以被實現為包括一或多個處理器的「處理系統」。處理器的實例包括被配置為執行貫穿本揭示內容描述的各種功能的微處理器、微控制器、圖形處理單元(GPU)、中央處理單元(CPU)、應用處理器、數位訊號處理器(DSPs)、精簡指令集計算(RISC)處理器、片上系統(SoC)、基頻處理器、現場可程式設計閘陣列(FPGAs)、可程式設計邏輯設備(PLDs)、狀態機、閘控邏輯裝置、個別硬體電路、以及其他合適的硬體。處理系統中的一或多個處理器可以執行軟體。軟體應被廣義地解釋為意指指令、指令集、代碼、碼片段、程式碼、程式、副程式、軟體部件、應用、軟體應用、套裝軟體、常式、子常式、物件、可執行檔、執行的執行緒、程序、功能等,無論其被稱為軟體、韌體、中介軟體、微代碼、硬體描述語言、或其他。
因此,在一或多個示例實施例中,描述的功能可以在硬體、軟體、或其任何組合中來實現。若在軟體中實現,則該等功能可以在電腦可讀取媒體上被儲存在一或多個指令或代碼上或被編碼為一或多個指令或代碼。電腦可讀取媒體包括電腦儲存媒體。儲存媒體可以是能夠由電腦存取的任何可用的媒體。藉由舉例而非限制的方式,此種電腦可讀取媒體可以包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式設計ROM (EEPROM)、光碟儲存、磁碟儲存、其他磁儲存設備、上述類型的電腦可讀取媒體的組合、或能夠用來儲存以電腦可以存取的指令或資料結構的形式的電腦可執行代碼的任何其他媒體。
圖1示出根據本揭示內容的某些態樣的示例WPAN 100。在WPAN 100內,中央設備102可以使用BLE協定或修改後的BLE協定連接到一或多個周邊設備104、106、108、110、112、114並且與之建立BLE通訊鏈路116。BLE協定是BT核心規範的一部分,並且實現在全球認可的2.4 GHz工業、科學和醫療(ISM)頻段內進行射頻通訊。
中央設備102可以包括合適的邏輯裝置、電路、介面、處理器及/或代碼,該等邏輯裝置、電路、介面、處理器及/或代碼可以用於使用如下文結合圖2-圖13中的任何一個圖所描述的BLE協定或修改後的BLE協定與一或多個周邊設備104、106、108、110、112、114進行通訊。中央設備102可以作為發起者來操作,以請求與預期的周邊設備104、106、108、110、112、114建立鏈路層(LL)連接。
BLE協定堆疊及/或修改後的BLE協定堆疊(例如,見圖3)中的LL提供相比於BT的超低功率閒置模式操作、簡單的設備發現以及具有先進節能和加密功能的可靠的點對多點資料傳遞。在建立所請求的LL連接之後,中央設備102可以成為主設備,並且預期的周邊設備104、106、108、110、112、114可以成為所建立的LL連接的從設備。作為主設備,中央設備102能夠一次支援與各種周邊設備104、106、108、110、112、114(從設備)的多個LL連接。中央設備102(主設備)可以是可操作的來管理LL連接中的與相關聯的周邊設備104、106、108、110、112、114(從設備)的資料封包通訊的各個態樣。例如,中央設備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。預期的周邊設備104、106、108、110、112、114可以在從中央設備102接收到封包LL資料PDU之後發送LL資料PDU。在某些其他配置中,周邊設備104、106、108、110、112、114可以向中央設備102發送LL資料PDU,而無需首先從中央設備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經典(Classic)的設備、啟用802.15.4紫蜂(Zigbee)的設備或被配置為經由短距通訊協定進行通訊的任何無線設備。
如圖2中所示,無線設備200可以包括處理元件,諸如處理器202,其可以執行針對無線設備200的程式指令。無線設備200亦可以包括顯示電路204,其可以執行圖形處理並且向顯示器242提供顯示信號。處理器202亦可以耦合到記憶體管理單元(MMU)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可以在App 308下運行。主機區塊304可以包括通用存取設定檔(GAP)310、通用屬性協定(GATT)312、安全管理器(SM)314、屬性協定(ATT)316以及邏輯鏈路控制和適配協定(L2CAP) 318。控制器區塊306可以包括LL 320和實體層(PHY)322。
PHY 322可以定義用於在連接BLE設備的實體鏈路上發送位元串流的機制。位元串流可以被群組為編碼字元或符號,並且被轉換為在傳輸媒體上傳輸的PDU。PHY 322可以向傳輸媒體提供電氣、機械和程式介面。電連接器的形狀和屬性、用於傳輸的頻帶、調制方案以及類似的低級別參數可以由PHY 322來指定。
LL 320可以負責在PHY 322上的低級別通訊。LL 320可以管理用於發送和接收資料封包的序列和時序,並且使用LL協定,與關於連接參數和資料流控制的其他設備進行通訊。LL 320可以提供閘保持功能,以限制暴露和與其他設備的資料交換。若配置了過濾,則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可以將來自上層的多個協定封裝成資料封包格式(反之亦然)。L2CAP 318亦可以將來自上層的具有大量資料有效負荷的封包分隔成多個封包,其中資料有效負荷被分段成更小大小的資料有效負荷,該等資料有效負荷適配到發送側上的最大有效負荷大小(例如,27位元組)。類似地,L2CAP 318可以接收攜帶已經分段的資料有效負荷的多個資料封包,並且L2CAP 318可以將分段的資料有效負荷組合成攜帶可以發送到上層的資料有效負荷的單個資料封包。
ATT 316可以是基於與針對特定目的(例如,監測心率、監測溫度、廣播廣告等)配置的BLE設備相關聯的屬性的客戶端/伺服器協定。該等屬性可以由同級設備來發現、讀取和寫入。在ATT 316上執行的操作集合可以包括但不限於錯誤處理、伺服器配置、檢視資訊、讀取操作、寫入操作、排隊寫入等。ATT 316可以形成在BLE設備之間的資料交換的基礎。
SM 314可以負責設備配對和金鑰分發。由SM 314實現的安全管理器協定可以定義如何執行與對應BLE設備的SM的通訊。SM 314可以提供可由BLE協定堆疊300的其他部件使用的另外的關於密碼的功能。在BLE中使用的SM 314的架構可以被設計為藉由將工作轉移到假定的更強大的中央設備來最小化對周邊設備的依賴要求。BLE使用配對機制進行金鑰分發。SM 314提供了一種不僅對資料進行加密而且提供資料認證的機制。
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。在一些態樣中,解密的資料406可以在RTSC方塊410處與經解密的有效負荷集合進行軟組合。經解密的有效負荷集合可以基於與用於對第一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將經軟組合的解密的資料412輸出到CRC產生器414。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 420可以用於基於加密的資料(例如,第一CRC)來驗證接收的CRC。經計算的CRC 420可以基於經軟組合的解密的資料412並且基於第一密碼串流408。
本揭示內容利用CRC多項式的線性特性,基於經軟組合的解密的資料來進一步處理由CRC產生器414產生的CRC,並且基於密碼串流來進一步處理由CRC產生器416產生的CRC,以基於加密的資料來驗證CRC。例如:
若x
是未加密的資料,並且y
是用於對資料進行加密的密碼串流,則加密的資料的CRC將等於解密的資料和密碼串流的各自的CRC的XOR。因此:
CRC(經加密的資料)=CRC(經解密的資料)CRC(密碼串流)
在BLE中,未加密的資料是藉由使用密碼串流進行加密的。例如,將未加密的資料與密碼串流進行XOR會產生經加密的資料。密碼串流亦可以用於對加密的資料進行解密。例如,將經加密的資料與相同的密碼串流進行XOR將得出經解密的資料。例如,在運算式x y
=z
中,其中x
是未加密的資料,y
是密碼串流,並且z
是加密的資料,未加密的資料x
被密碼串流y
藉由對密碼串流和未加密的資料進行XOR來進行加密,並且得出加密的資料z
。密碼串流可以在使用相同的密碼串流來執行對資料進行加密和解密的情況下用於進行加密和解密二者。在此種情況下,對加密的資料z
和用於對未加密的資料x
進行加密的相同的密碼串流y
進行XOR將得出解密的資料x
,或如下所述,若x y
=z
,則z y
=x
。
可以用種子初始化CRC,並且發送設備和接收設備皆需要知道初始種子,以便使CRC(例如,經計算的CRC 420)是正確的。這樣,種子需要被應用於由CRC產生器414、416產生的CRC中一個CRC,以使經計算的CRC 420是正確的。此外,當基於經軟組合的解密的資料412的CRC與基於密碼串流408的CRC進行XOR時,亦需要調整標頭,以便使經計算的CRC 420是正確的。在一些態樣中,在CRC產生器414基於經軟組合的解密的資料412產生CRC之前,有效負荷標頭502可以被附加到經軟組合的解密的資料412。在一些態樣中,在CRC產生器416基於密碼串流408產生CRC之前,密碼串流408可以被零填充504。在又一些態樣中,有效負荷標頭502可以被附加到經軟組合的解密的資料412,並且在產生經計算的CRC 420之前,第一密碼串流408可以被零填充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。驗證經計算的CRC 420指示經軟組合的解密的資料412是正確的,此時,接收設備可以將ACK發送回發送設備。
本揭示內容的至少一個優點是,CRC的線性特性允許標頭被附加到經軟組合的解密的資料412或者密碼串流408。例如,在一些態樣中,標頭可以被附加到密碼串流408,而不是經軟組合的解密的資料412。在該等態樣中,標頭在密碼串流408之前被提供給CRC產生器416,並且零填充串流在經軟組合的解密的資料412之前被提供給CRC產生器414。一旦標頭已經被CRC產生器416完全地接收,密碼串流408可以被饋送到CRC產生器416。此外,一旦零填充串流已經被CRC產生器414完全地接收,經軟組合的解密的資料412可以被饋送到CRC產生器414。在饋送到CRC產生器414之前,利用標頭來給經軟組合的解密的資料412加首碼,並且類似地將針對長度等於標頭長度的零填充串流給密碼串流408加首碼提供了標頭調整,以確保經計算的CRC 420能夠相對於所接收的CRC被正確地驗證。
返回參考圖4,CRC產生器414將基於經軟組合的解密的資料412產生的CRC輸出到XOR方塊418,並且CRC產生器416將基於密碼串流408產生的CRC輸出到XOR方塊418。在這兩個產生的CRC之間的XOR結果得出經計算的CRC 420。經軟組合的解密的資料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。如上文論述,解密的資料406可以在RTSC方塊410處與解密的有效負荷集合進行軟組合。在一些態樣中,解密的有效負荷集合可以基於與用於加密第一PDU的第一亂數不同的至少一個亂數來被加密。然而,在一些態樣中,解密的有效負荷集合可以基於與第一亂數相同的亂數來被加密。而在一些態樣中,解密的有效負荷集合可以是先前接收的資料封包。
圖6示出方塊圖600,其示出根據本揭示內容的某些態樣的軟組合操作的態樣。圖6的態樣利用了先進加密標準(AES)加密特性,亦即若加密封包的一些位元由於空中損壞而翻轉,並且若損壞的封包用正確的密碼串流進行解密,則解密的封包將具有與損壞的加密封包相同的錯誤位元。
根據本揭示內容的某些態樣,圖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方塊410的方式來配置RTSC方塊608。在一些態樣中,解密的資料606可以在RTSC方塊608處與被解密的有效負荷集合進行軟組合。在一些態樣中,有效負荷集合已經基於不同於第一亂數的至少一個亂數來被加密。然而,在一些態樣中,有效負荷集合可以基於與第一亂數相同的亂數來被加密。在一些態樣中,解密的有效負荷集合可以是先前接收的資料封包,其可以儲存在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將錯誤位元映像610輸出到XOR方塊612。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的態樣基於符合BLE要求的軟組合的加密的資料614產生CRC。本揭示內容的另一個優點是,圖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可以包括AES解密方塊706,AES解密方塊706根據加密的資料702產生解密的資料710。AES解密方塊706接收加密的資料702並且產生解密的資料710,解密的資料710從解密方塊704輸出到RTSC方塊714。本揭示內容不意欲限於包括AES解密方塊的解密方塊。在一些態樣中,解密方塊704可以由許多不同的已知的加密/解密方塊組成。可以以類似於圖4的RTSC方塊410的方式來配置RTSC方塊714。RTSC方塊714接收解密的資料710,並且可以以類似於RTSC方塊410的方式在RTSC方塊714處與解密的有效負荷集合進行軟組合。解密的有效負荷集合可以基於與用於對第一PDU進行加密的第一亂數不同的至少一個亂數來被加密。然而,在一些態樣中,有效負荷集合可以基於與第一亂數相同的亂數來被加密。解密的有效負荷集合可以是先前接收的資料封包,該等資料封包可以儲存在RTSC方塊714內,或可以儲存在RTSC方塊714外部的記憶體中。例如,接收設備可以在接收加密的資料702之前接收PDU集合,並且可以在接收該PDU集合中之每一個PDU之後嘗試對PDU進行解密,以獲得解密的有效負荷集合的對應的解密的有效負荷。
RTSC方塊714可以被配置為將解密的資料710與先前接收的資料進行軟組合,以努力糾正(類似於上文針對RTSC方塊410所論述的)對相同封包的先前損壞的接收或不正確的接收。RTSC方塊714產生重構的資料(例如,軟組合的解密的資料716),並且亦以類似於RTSC方塊410的方式將經軟組合的解密的資料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處,經計算的MIC 728是相對於從加密的資料702中接收的MIC檢查的。若計算出的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方塊產生的糾正的資料(例如,軟組合的解密的資料)來計算的。因此,驗證經計算的MIC 728發生在經計算的CRC已經被驗證之後。
圖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,解密的資料810從解密方塊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處,經計算的MIC 824是相對於從加密的資料802中接收的MIC檢查的。若經計算的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)來進行計算的。這樣,對經計算的MIC 824進行驗證發生在經計算的CRC首次被驗證之後。
圖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是由第一設備不正確地接收到的。在一些態樣中,第一PDU(例如,加密的資料402、702)可以基於發送的NACK來被接收。
在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(例如,經計算的CRC 420、724)之前,將有效負荷標頭(例如,有效負荷標頭502)附加到經軟組合的解密的有效負荷(例如,經軟組合的解密的資料412、716)並且零填充(例如,零填充串流504)第一密碼串流(例如,密碼串流408、712)。
在910處,第一設備亦可以被配置為基於經軟組合的解密的有效負荷(例如,經軟組合的解密的有效負荷716)產生第二MIC(例如,圖7的經計算的MIC 728)。
在912處,第一設備可以被配置為基於經軟組合的解密的有效負荷(例如,經軟組合的解密的有效負荷412、716)並且基於第一密碼串流(例如,密碼串流408、712)產生第二CRC(例如,經計算的CRC 420、724)。在一些態樣中,例如在913處,為了產生第二CRC(例如,經計算的CRC 420、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)可以基於第一亂數來加密。在一些態樣中,第一設備可以接收PDU集合,並且在解密方塊404處,在接收到PDU集合中之每一個PDU之後,對該PDU進行解密,以獲得如參考圖4、圖5和圖7所論述的解密的有效負荷集合的對應的有效負荷。在一些態樣中,第一設備可以被配置為:在未能相對於基於經軟組合的資料所計算的CRC,在方塊422、726處正確地驗證接收的基於加密的資料的CRC之後發送NACK。在此種態樣中,發送NACK的第一設備可以指示PDU是由第一設備不正確地接收到的。在一些態樣中,第一PDU(例如,加密的資料402、702)可以基於發送的NACK來被接收。
解密部件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可以被配置為從軟組合部件接收軟組合的解密的資料,並且基於經軟組合的解密的資料412、716在CRC產生器414、718處產生CRC。XOR部件1016可以被配置為接收由第一CRC產生器部件1008產生的CRC和由第二CRC產生器部件1014產生的CRC,以基於經軟組合的解密的有效負荷(例如,經軟組合的解密的有效負荷412、716)並且基於第一密碼串流(例如,密碼串流408、712)來產生第二CRC(例如,經計算的CRC 420、724)。在一些態樣中,有效負荷標頭(例如,有效負荷標頭502)可以被附加到經軟組合的解密的有效負荷(例如,經軟組合的解密的資料412、716),並且零填充(例如,零填充串流504)可以在產生第二CRC(例如,經計算的CRC 420、724)之前被附加到第一密碼串流(例如,密碼串流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。例如,若經計算的CRC 420、724通過CRC檢查,則廣播部件1022可以向第二設備1050發送ACK,指示正確地接收到PDU。在其他態樣中,若經計算的CRC 420沒有通過CRC檢查,則廣播部件1022可以向第二設備1050發送NACK,指示未正確地接收到PDU,並且第二設備1050重新發送另一PDU。在一些態樣中,若經計算的MIC 728沒有通過MIC檢查,則廣播部件1022可以將NACK發送到第二設備1050,而在一些態樣中,若經計算的MIC 728通過了MIC檢查,則廣播部件1022可以將ACK發送到第二設備1050,指示PDU被正確地接收。
該裝置可以包括執行圖4、圖5、以及圖7的前述流程圖中的演算法的方塊之每一個方塊的另外的部件。這樣,圖4、圖5、以及圖7的前述流程圖中之每一個方塊可以由部件來執行,並且該裝置可以包括該等部件中的一或多個部件。該等部件可以是一或多個硬體部件,其被具體地配置為:執行所述過程/演算法、由被配置為執行所述過程/演算法的處理器實現、被儲存在電腦可讀取媒體內用於藉由處理器實現、或其某種組合。
圖11是示出採用處理系統1114的裝置1002’的硬體實現方式的實例的圖1100。處理系統1114可以利用通常由匯流排1124表示的匯流排架構來實現。匯流排1124可以包括任意數量的互連匯流排和橋,這取決於處理系統1114的具體應用以及整體設計約束。匯流排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處,第一設備可以被配置為接收如參考圖6和圖8所論述的PDU集合。在1203處,第一設備可以在解密方塊604、804處,在接收到PDU集合中之每一個PDU之後,對該PDU進行解密,以獲得(如參考圖6和圖8所論述的)解密的有效負荷集合的對應的解密的有效負荷。在1205處,第一設備可以被配置為:在未能相對於基於軟組合的資料所計算的CRC來正確地驗證接收的基於加密的資料的CRC之後,發送NACK。在此種態樣中,發送NACK的第一設備可以指示PDU是由第一設備不正確地接收到的。在一些態樣中,第一PDU(例如,加密的資料602、802)可以由第一設備基於發送的NACK來接收。
在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(例如,經計算的MIC 824)通過相對於第一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)可以基於第一亂數來加密。在一些態樣中,第一設備可以接收PDU集合,並且在解密方塊604、804處,在接收到PDU集合中之每一個PDU之後,對該PDU進行解密,以獲得如參考圖6、圖8所論述的解密的有效負荷集合的對應的有效負荷。在一些態樣中,第一設備可以被配置為:在未能相對於基於軟組合的資料所計算的CRC在方塊616、822處正確地驗證接收的基於加密的資料的CRC之後,發送NACK。在該等態樣中,發送NACK的第一設備可以指示PDU(例如,加密的資料602、802)是由第一設備不正確地接收到的。在一些態樣中,第一PDU可以基於發送的NACK來被接收(例如,加密的資料602、802)。
解密部件1306可以被配置為從接收部件1304接收加密的資料(例如,第一PDU),並且在解密方塊604、804處對第一PDU進行解密,以獲得第一有效負荷(例如,解密的資料606、810)。在一些態樣中,在解密方塊804處,可以進一步對第一PDU進行解密,以獲得對應於第一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表示的匯流排架構來實現。匯流排1424可以包括任意數量的互連匯流排和橋,這取決於處理系統1414的具體應用以及整體設計約束。匯流排1424將各種電路連結在一起,各種電路包括由處理器1404、部件1304、1306、1308、1310、1312、1314、1316、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的協定,諸如紫蜂,或任何其他無線協定,其中可以使用不同的加密參數來發送封包及其重傳的封包。
應當理解的是,揭示的過程/流程圖中的方塊的特定順序或層次是對示例性方法的說明。基於設計偏好,可以理解的是,可以重新排列過程/流程圖中的方塊的特定順序或層次。此外,一些方塊可以被組合或被省略。所附的方法請求項以取樣順序呈現各個方塊的元素,並且不意指限於呈現的特定順序或層次。
提供前面的描述是為了使本領域技藝人士能夠實踐本文描述的各個態樣。對該等態樣的各種修改對於本領域技藝人士而言將是顯而易見的,並且本文定義的一般原理可以應用於其他態樣。因此,請求項並不意欲限於本文圖示的態樣,而是要符合與語言請求項一致的全部範圍,其中引用單數形式的元素並不意欲意指「一個且僅一個」,而是「一或多個」,除非特別如此說明。本文使用的詞語「示例性」意指「用作示例、實例、或說明」。本文描述為「示例性」的任何態樣不必然地被解釋為比其他態樣更優選或更有利。除非另外特別說明,術語「一些」代表一或多個。諸如「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中的一或多個成員。本領域一般技藝人士已知的或以後將會知道的與貫穿本揭示內容描述的各個態樣的元素的所有結構上和功能上的均等物藉由引用的方式明確地併入本文,並且意欲被請求項所涵蓋。此外,本文揭示的任何內容皆不意欲奉獻給公眾,無論請求項中是否明確陳述了此種揭示內容。詞語「模組」、「機制」、「元素」、「設備」等不是用於詞語「構件」的代替物。因此,任何請求項元素皆不應被解釋為構件加功能,除非該元素是使用片語「用於……的構件」明確陳述的。
100:WPAN
102:中央設備
104:周邊設備
106:周邊設備
108:周邊設備
110:周邊設備
112:周邊設備
114:周邊設備
116:BLE通訊鏈路
120:亂數
202:處理器
204:顯示電路
206:記憶體
208:ROM
210:快閃記憶體
220:連接器介面
230:無線電單元
235a:天線
235b:天線
235c:天線
235d:天線
240:記憶體管理單元(MMU)
242:顯示器
250:WLAN控制器
252:短距通訊控制器
254:共存介面
256:WLAN控制器
300:BLE協定堆疊
302:應用區塊
304:主機區塊
306:控制器區塊
308:應用層(App)
310:通用存取設定檔(GAP)
312:通用屬性協定(GATT)
314:安全管理器(SM)
316:屬性協定(ATT)
318:邏輯鏈路控制和適配協定(L2CAP)
320:LL
322:實體層(PHY)
400:方塊圖
402:加密的資料
404:解密方塊
406:解密的資料
408:密碼串流
410:即時軟組合(RTSC)方塊
412:經軟組合的經解密的資料
414:CRC產生器
416:CRC產生器
418:XOR方塊
420:經計算的CRC
422:CRC檢查方塊
500:方塊圖
502:有效負荷標頭
504:零填充
600:方塊圖
602:加密的資料
604:解密方塊
606:解密的資料
608:RTSC方塊
610:錯誤位元映像
612:XOR方塊
614:軟組合的加密的資料
616:檢查CRC方塊
700:方塊圖
702:加密的資料
704:解密方塊
706:AES解密方塊
708:AES MIC計算方塊
710:解密的資料
712:密碼串流
714:RTSC方塊
716:軟組合的解密的資料
718:CRC產生器
720:CRC產生器
722:XOR
724:經計算的CRC
726:方塊
728:經計算的MIC
730:方塊
800:方塊圖
802:加密的資料
804:解密方塊
806:AES解密方塊
808:AES MIC計算方塊
810:解密的資料
812:RTSC方塊
814:錯誤位元映像
816:軟組合的解密的資料
818:XOR方塊
820:經計算的CRC
822:方塊
824:經計算的MIC
826:MIC檢查
900:流程圖
901:操作
902:操作
903:操作
904:操作
905:操作
906:操作
908:操作
909:操作
910:操作
912:操作
913:操作
914:操作
915:操作
916:操作
917:操作
918:操作
920:操作
1000:概念性資料流圖
1002:裝置
1002':裝置
1004:接收部件
1006:解密部件
1008:第一CRC產生器部件
1010:軟組合部件
1012:解密的有效負荷部件
1014:第二CRC產生器部件
1016:XOR部件
1018:CRC檢查部件
1020:廣播部件
1022:廣播部件
1050:第二設備
1100:圖
1104:處理器
1106:電腦可讀取媒體/記憶體
1110:收發機
1114:處理系統
1120:天線
1124:匯流排
1200:流程圖
1300:概念性資料流圖
1302:裝置
1302':裝置
1304:接收部件
1306:解密部件
1308:軟組合部件
1310:解密的有效負荷部件
1312:XOR部件
1314:CRC產生器部件
1316:CRC檢查部件
1318:MIC檢查部件
1320:廣播部件
1322:廣播部件
1350:第二設備
1400:圖
1404:處理器
1406:電腦可讀取媒體/記憶體
1410:收發機
1414:處理系統
1420:天線
1424:匯流排
圖1是示出根據本揭示內容的某些態樣的WPAN的實例的圖。
圖2是根據本揭示內容的某些態樣的無線設備的方塊圖。
圖3是示出根據本揭示內容的某些態樣的修改的BLE協定堆疊的圖。
圖4是示出根據本揭示內容的某些態樣的軟組合操作的方塊圖。
圖5是示出根據本揭示內容的某些態樣的標頭調整的方塊圖。
圖6是示出根據本揭示內容的某些態樣的另一軟組合操作的方塊圖。
圖7是示出根據本揭示內容的某些態樣的MIC計算操作的方塊圖。
圖8是示出根據本揭示內容的某些態樣的另一MIC計算操作的方塊圖。
圖9是無線通訊的方法的流程圖。
圖10是示出示例性裝置中不同構件/部件之間的資料流的概念性資料流圖。
圖11是示出採用處理系統的裝置的硬體實現方式的實例的圖。
圖12是無線通訊的方法的流程圖。
圖13是示出示例性裝置中不同構件/部件之間的資料流的概念性資料流圖。
圖14是示出採用處理系統的裝置的硬體實現方式的實例的圖。
900:流程圖
901:操作
902:操作
903:操作
904:操作
905:操作
906:操作
908:操作
909:操作
910:操作
912:操作
913:操作
914:操作
915:操作
916:操作
917:操作
918:操作
920:操作
Claims (19)
- 一種無線通訊的方法,包括以下步驟:接收一第一封包資料單元(PDU)和基於該第一PDU的一第一循環冗餘檢查(CRC),該第一PDU基於一第一密碼串流被加密;基於該第一密碼串流對該第一PDU進行解密以獲得一第一有效負荷;對所解密出的該第一有效負荷與被解密的一有效負荷集合進行軟組合,該有效負荷集合已經基於不同於該第一密碼串流的至少一個密碼串流被加密;基於所述軟組合的該等解密的有效負荷並且基於該第一密碼串流,來產生一第二CRC;及決定針對所述軟組合的該等解密的有效負荷所產生的該第二CRC是否通過了相對於該第一CRC的一CRC檢查。
- 如請求項1所述之方法,進一步包括以下步驟:接收一PDU集合;在接收到該PDU集合中之每一個PDU之後,對該PDU進行解密,以獲得該被解密的有效負荷集合中的對應的被解密的一有效負荷;及在未能相對於一經計算的CRC正確地驗證一接收的CRC之後,發送用於指示該PDU未被正確地接收的一否定認可(NACK), 其中該第一PDU是基於所發送的該NACK被接收的。
- 如請求項1所述之方法,進一步包括以下步驟:在產生該第二CRC之前,將一有效負荷標頭附加到所述軟組合的解密的該等有效負荷,以及對該第一密碼串流進行零填充。
- 如請求項1所述之方法,其中該第二CRC是藉由以下操作產生的:基於所述軟組合的解密的該等有效負荷來產生一第三CRC;基於該第一密碼串流來產生一第四CRC;及將所產生的該第三CRC和所產生的該第四CRC進行XOR,以獲得該第二CRC。
- 如請求項4所述之方法,進一步包括以下步驟:在產生該第三CRC之前,將一標頭附加到所述軟組合的解密的該等有效負荷;及在產生該第四CRC之前,對該第一密碼串流進行零填充。
- 如請求項1所述之方法,其中該第一PDU的一訊息完整性檢查(MIC)部分被解密以獲得一第一MIC,該方法進一步包括基於所述軟組合的解密的該等有效負荷來產生一第二MIC,該方法進一步包括決定所產生的該第二MIC是否通過相對於該第一MIC的一 MIC檢查。
- 一種用於無線通訊的裝置,包括:用於接收一第一封包資料單元(PDU)和基於該第一PDU的一第一循環冗餘檢查(CRC)的構件,該第一PDU是基於一第一密碼串流被加密的;用於基於該第一密碼串流對該第一PDU進行解密以獲得一第一有效負荷的構件;用於對所解密出的該第一有效負荷與被解密的一有效負荷集合進行軟組合的構件,該有效負荷集合已經基於不同於該第一密碼串流的至少一個密碼串流被加密;用於基於所述軟組合的解密的該等有效負荷並且基於該第一密碼串流來產生一第二CRC的構件;及用於決定針對所述軟組合的解密的該等有效負荷所產生的該第二CRC是否通過了相對於該第一CRC的一CRC檢查的構件。
- 如請求項7所述之裝置,進一步包括:用於接收一PDU集合的構件;用於在接收到該PDU集合中之每一個PDU之後,對該PDU進行解密,以獲得該被解密的有效負荷集合中的對應的被解密的一有效負荷的構件;及用於在未能相對於一經計算的CRC正確地驗證一接收的CRC之後,發送用於指示該PDU未被正確地接收的一否定認可(NACK)的構件,其中該第一PDU是基於所發送的該NACK被接收 的。
- 如請求項7所述之裝置,進一步包括用於在產生該第二CRC之前,將一有效負荷標頭附加到所述軟組合的解密的該等有效負荷,以及對該第一密碼串流進行零填充的構件。
- 如請求項7所述之裝置,進一步包括:用於基於所述軟組合的解密的該等有效負荷來產生一第三CRC的構件;用於基於該第一密碼串流來產生一第四CRC的構件;及用於將所產生的該第三CRC和所產生的該第四CRC進行XOR以獲得該第二CRC的構件。
- 如請求項10所述之裝置,進一步包括:用於在產生該第三CRC之前將一標頭附加到所述軟組合的解密的該等有效負荷的構件;及用於在產生該第四CRC之前對該第一密碼串流進行零填充的構件。
- 如請求項7所述之裝置,其中該第一PDU的一訊息完整性檢查(MIC)部分被解密以獲得一第一MIC,進一步包括用於基於所述軟組合的解密的該等有效負荷來產生一第二MIC的構件,進一步包括用於決定所產生的該第二MIC是否通過相對於該第一MIC的一MIC檢查的構件。
- 一種用於無線通訊的裝置,包括: 一記憶體;及至少一個處理器,其被耦合到該記憶體並且被配置為:接收一第一封包資料單元(PDU)和基於該第一PDU的一第一循環冗餘檢查(CRC),該第一PDU基於一第一密碼串流被加密;基於該第一密碼串流對該第一PDU進行解密以獲得一第一有效負荷;對所解密出的該第一有效負荷與被解密的一有效負荷集合進行軟組合,該有效負荷集合已經基於不同於該第一密碼串流的至少一個密碼串流被加密;基於所述軟組合的解密的該等有效負荷並且基於該第一密碼串流,來產生一第二CRC;及決定針對所述軟組合的解密的該等有效負荷所產生的該第二CRC是否通過了相對於該第一CRC的一CRC檢查。
- 如請求項13所述之裝置,其中該至少一個處理器進一步被配置為:接收一PDU集合;在接收到該PDU集合中之每一個PDU之後,對該PDU進行解密,以獲得該被解密的有效負荷集合中的對應的被解密的一有效負荷;及在未能相對於一經計算的CRC正確地驗證一接收的CRC之後,發送用於指示該PDU未被正確地接收的一 否定認可(NACK),其中該第一PDU是基於所發送的該NACK被接收的。
- 如請求項13所述之裝置,其中該至少一個處理器進一步被配置為:在產生該第二CRC之前,將一有效負荷標頭附加到所述軟組合的解密的該等有效負荷,以及對該第一密碼串流進行零填充。
- 如請求項13所述之裝置,其中為了產生該第二CRC,該至少一個處理器被配置為:基於所述軟組合的解密的該等有效負荷來產生一第三CRC;基於該第一密碼串流來產生一第四CRC;及將所產生的該第三CRC和所產生的該第四CRC進行XOR,以獲得該第二CRC。
- 如請求項16所述之裝置,其中該至少一個處理器進一步被配置為:在產生該第三CRC之前,將一標頭附加到所述軟組合的解密的該等有效負荷;及在產生該第四CRC之前,對該第一密碼串流進行零填充。
- 如請求項13所述之裝置,其中該第一PDU的一訊息完整性檢查(MIC)部分被解密以獲得一第一MIC,其中該至少一個處理器進一步經配置以:基於所述軟組合的解密的該等有效負荷來產生一第 二MIC;以及決定所產生的該第二MIC是否通過相對於該第一MIC的一MIC檢查。
- 一種儲存電腦可執行代碼的非暫態性電腦可讀取媒體,包括用於進行以下操作的代碼:接收一第一封包資料單元(PDU)和基於該第一PDU的一第一循環冗餘檢查(CRC),該第一PDU基於一第一密碼串流被加密;基於該第一密碼串流對該第一PDU進行解密以獲得一第一有效負荷;對所解密出的該第一有效負荷與被解密的一有效負荷集合進行軟組合,該有效負荷集合已經基於不同於該第一密碼串流的至少一個密碼串流被加密;基於所述軟組合的解密的該等有效負荷並且基於該第一密碼串流,來產生一第二CRC;及決定針對所述軟組合的解密的該等有效負荷所產生的該第二CRC是否通過了相對於該第一CRC的一CRC檢查。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/218,396 | 2018-12-12 | ||
US16/218,396 US11553343B2 (en) | 2018-12-12 | 2018-12-12 | Real-time soft combining, CRC validation, and MIC validation of decrypted packets |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202030608A TW202030608A (zh) | 2020-08-16 |
TWI818116B true TWI818116B (zh) | 2023-10-11 |
Family
ID=69160248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108141722A TWI818116B (zh) | 2018-12-12 | 2019-11-18 | 解密的封包的即時軟組合、crc驗證和mic驗證 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11553343B2 (zh) |
EP (1) | EP3895355A1 (zh) |
CN (1) | CN113169829B (zh) |
TW (1) | TWI818116B (zh) |
WO (1) | WO2020123081A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11582638B2 (en) | 2019-01-03 | 2023-02-14 | Qualcomm Incorporated | Selective relay of data packets |
US11677494B2 (en) * | 2021-01-19 | 2023-06-13 | Avago Technologies International Sales Pte. Limited | Enhanced error protection of payload using double CRC |
CN114443347B (zh) * | 2021-12-23 | 2022-11-22 | 湖南毂梁微电子有限公司 | 一种可配置crc码计算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006890A1 (en) * | 2012-06-28 | 2014-01-02 | Olof Liberg | Method And Apparatus For Retransmission Processing in a Communication Receiver |
US20140059407A1 (en) * | 2012-08-23 | 2014-02-27 | Broadcom Corporation | Chase coding for error correction of encrypted packets with parity |
US20160021066A1 (en) * | 2014-07-21 | 2016-01-21 | Imagination Technologies Limited | Encryption key updates in wireless communication systems |
CN106688295A (zh) * | 2014-08-07 | 2017-05-17 | Lg 电子株式会社 | 无线通信系统中发送和接收信号的方法及其装置 |
CN107257271A (zh) * | 2006-10-19 | 2017-10-17 | 三星电子株式会社 | 数据通信的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255754B2 (en) | 2007-05-15 | 2012-08-28 | Texas Instruments Incorporated | Range extension and noise mitigation for wireless communication links utilizing a CRC based single and multiple bit error correction mechanism |
US20090262683A1 (en) * | 2008-04-18 | 2009-10-22 | Amit Khetawat | Method and Apparatus for Setup and Release of User Equipment Context Identifiers in a Home Node B System |
US8913748B2 (en) | 2011-07-05 | 2014-12-16 | Texas Instruments Incorporated | Methods to improve bluetooth low energy performance |
US8938663B2 (en) | 2012-01-24 | 2015-01-20 | Broadcom Corporation | Modem architecture for joint source channel decoding |
US10111071B2 (en) * | 2014-09-19 | 2018-10-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Bluetooth low energy automation mesh network |
-
2018
- 2018-12-12 US US16/218,396 patent/US11553343B2/en active Active
-
2019
- 2019-11-13 EP EP19836218.8A patent/EP3895355A1/en active Pending
- 2019-11-13 WO PCT/US2019/061150 patent/WO2020123081A1/en unknown
- 2019-11-13 CN CN201980080989.2A patent/CN113169829B/zh active Active
- 2019-11-18 TW TW108141722A patent/TWI818116B/zh active
-
2022
- 2022-12-06 US US18/062,562 patent/US20230111742A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107257271A (zh) * | 2006-10-19 | 2017-10-17 | 三星电子株式会社 | 数据通信的方法和装置 |
US20140006890A1 (en) * | 2012-06-28 | 2014-01-02 | Olof Liberg | Method And Apparatus For Retransmission Processing in a Communication Receiver |
US20140059407A1 (en) * | 2012-08-23 | 2014-02-27 | Broadcom Corporation | Chase coding for error correction of encrypted packets with parity |
US20160021066A1 (en) * | 2014-07-21 | 2016-01-21 | Imagination Technologies Limited | Encryption key updates in wireless communication systems |
CN106688295A (zh) * | 2014-08-07 | 2017-05-17 | Lg 电子株式会社 | 无线通信系统中发送和接收信号的方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020123081A1 (en) | 2020-06-18 |
EP3895355A1 (en) | 2021-10-20 |
CN113169829A (zh) | 2021-07-23 |
TW202030608A (zh) | 2020-08-16 |
US20230111742A1 (en) | 2023-04-13 |
US20200196153A1 (en) | 2020-06-18 |
US11553343B2 (en) | 2023-01-10 |
CN113169829B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI745841B (zh) | 針對短程無線通訊系統中的資料封包的糾錯 | |
TWI818116B (zh) | 解密的封包的即時軟組合、crc驗證和mic驗證 | |
JP5347067B2 (ja) | 暗号化エラー検出および回復のためのシステム、方法、および装置 | |
US10784993B1 (en) | Soft combining packets received from different piconets | |
US20200329052A1 (en) | System and method for aligning a packet counter in short-range wireless communications systems | |
US11558155B2 (en) | Broadcast relay piconet for low energy audio | |
US11870885B2 (en) | Communication apparatus and communication method for multi-link secured retransmissions | |
US11452005B2 (en) | System and method for construction of a protocol data unit using selective relay | |
US11275648B2 (en) | Empty data packet hard align | |
TWI452887B (zh) | 無線通訊系統之加密保護方法及其相關裝置 | |
TWI779383B (zh) | Br/edr 鏈路的mic 恢復 | |
TWI831861B (zh) | 用於對經解密的資料進行即時軟組合的裝置和方法 | |
TWI836053B (zh) | 用於使用選擇性中繼來構造協定資料單元的系統和方法 | |
TW202011718A (zh) | 用於使用非同步無連接通訊鏈路發送的資料封包的糾錯 | |
TW202341780A (zh) | 低功率自我調整功率控制 |