藍牙設備及其通信方法
2023-07-04 10:25:41
專利名稱:藍牙設備及其通信方法
技術領域:
本發明涉及藍牙技術領域,尤其涉及一種藍牙設備及其通信方法。
背景技術:
藍牙技術是以2. 4GHz為載波頻率的一種無線傳輸方式。目前的應用日趨廣泛,如藍牙耳機、藍牙鍵盤、藍牙滑鼠、藍牙手機等等。這些藍牙設備具備體積小、功耗低、對硬體要求不高、傳輸速度快、覆蓋範圍廣等諸多優勢。廣泛應用在點到點的傳輸模式以及網絡拓撲模式。目前藍牙設備之間進行數據通訊,主要為根據藍牙協議內容規定的具體要求逐步實現由搜索設備到最後傳輸數據的過程。目前應用比較廣泛的藍牙設備通信方法,具體包括1)主機HOST發送詢問inquiry命令,以搜索周圍有效範圍內的其他藍牙設備 device ;2)其它藍牙設備device接收到此命令後,返回應答數據,報告自己的設備地址 BD_ADDRESS;3)主機HOST篩選接收到的應答數據,其中包括device的設備地址,HOST與選中的藍牙設備間進行相關密鑰協商,協商完相關密鑰後,主機HOST向選中的設備發送連接請求,上述相關密鑰包括初始密鑰、認證密鑰及計算各自數據使用的加解密密鑰,其中認證密鑰和加解密密鑰的計算中,初始密鑰和選中的設備地址將作為參數參與密鑰計算;4)藍牙設備應答主機HOST發送的連接請求;5)主機HOST針對藍牙設備支持的數據類型,選擇對應的數據格式進行數據傳送, 在傳送數據時,使用協商好的加密密鑰進行數據加密,在傳輸過程中要求以接收方的地址作為參數一起發送。接收方接到底層的數據信息,要通過協商好的解密密鑰進行解密,獲取明文。在HOST與device之間通信過程中,不管是發送命令或是發送數據,都遵循固定格式,具體為遵循藍牙協議內容規定的命令頭和參數。設備地址BD_ADDRESS作為重要的參數,參與密鑰計算過程、命令的發送及數據傳輸過程。但由於藍牙通信屬於無線傳輸方式,每次傳輸的數據包會暴露出來,容易被截取, 不像線纜傳輸那樣具備了更好的保密性。如果通過其他方式截取到了無線傳輸的數據,尤其是初始連接密鑰及設備地址,則可以獲取各種密鑰,並能夠解密數據內容,如命令內容、 地址參數內容都可以被輕鬆的獲取,還可以對自己進行身份偽裝,從而破壞正常的數據通訊。
發明內容
本發明提供一種藍牙設備及其通信方法,用以有效提高藍牙設備之間數據傳輸的安全性,防範數據被截取,破譯的風險。
本發明提供一種藍牙設備通信方法,包括在與對端藍牙設備建立連接前,與對端藍牙設備交互各自的第一地址;使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰,其中各藍牙設備的第一地址與第二地址中的一個地址唯一標識該藍牙設備,另一地址由唯一標識該藍牙設備的地址按設定規則計算得到;使用協商的相關密鑰與對端藍牙設備建立連接並數據通信,通信過程中需要攜帶對端藍牙設備地址信息時,具體攜帶對端藍牙設備的第一地址。本發明還提供一種藍牙設備,包括交互單元,在與對端藍牙設備建立連接前,與對端藍牙設備交互各自的第一地址;密鑰協商單元,用於使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰,其中各藍牙設備的第一地址與第二地址中的一個地址唯一標識該藍牙設備, 另一地址由唯一標識該藍牙設備的地址按設定規則計算得到;數據通信單元,使用協商的相關密鑰與對端藍牙設備建立連接並數據通信,通信過程中需要攜帶對端藍牙設備地址信息時,具體攜帶對端藍牙設備的第一地址。利用本發明提供的藍牙設備及其通信方法,具有以下有益效果由於藍牙設備間無線傳輸的地址信息與藍牙設備進行密鑰計算時使用的地址信息不同,因此,作為在密鑰計算過程中的重要信息-設定地址信息不容易被截取,能夠有效提高藍牙設備之間數據傳輸的安全性,防範數據被截取,破譯的風險。
圖1為本發明實施例藍牙設備間通信方法流程圖;圖2為本發明實施例中藍牙設備間通信方法詳細流程圖;圖3為本發明實施例初始密鑰生成示意圖;圖4為本發明實施例中認證密鑰協商過程示意圖;圖5為本發明實施例中加解密密鑰協商過程示意圖;圖6為本發明實施例中密鑰Kc生成示意圖;圖7為本發明實施例中藍牙設備結構圖。
具體實施例方式下面結合附圖和實施例對本發明提供的藍牙設備及其通信方法進行更詳細地描述。本發明實施例針對藍牙設備,提供一種藍牙設備通信方法,用於提高藍牙設備之間傳送數據時的安全性,使得在數據傳送過程中不易被截取、破譯,如圖1所示,本發明實施例提供的藍牙設備通信方法,具體包括步驟101,在與對端藍牙設備建立連接前,與對端藍牙設備交換各自的第一地址;步驟102,使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰,其中各藍牙設備的第一地址與第二地址中的一個地址唯一標識該藍牙設備,另一地址由唯一標識該藍牙設備的地址按設定規則計算得到;
在密鑰協商過程,根據具體的密鑰協商機制,有如下三類情況1)密鑰的生成僅需要使用藍牙設備自身的第二地址;2)密鑰的生成僅需要使用對端藍牙設備的第二地址;3)密鑰的生成既需要使用藍牙設備自身的第二地址,也需要使用對端藍牙設備的第二地址。因此,可以根據具體的密鑰生成機制,使用藍牙設備自身的第二地址和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰。步驟103,使用協商的相關密鑰與對端藍牙設備建立連接並數據通信,通信過程中需要攜帶對端藍牙設備地址信息時,具體攜帶對端藍牙設備的第一地址。本發明實施例提供的藍牙設備通信方法,只要涉及到藍牙設備地址的傳輸,選擇傳輸藍牙設備的第一地址,只要涉及到密鑰的計算,選擇使用設備的第二地址進行密鑰計算,這樣,即使無線傳輸的設備地址被截取,但由於其並不是實際用於密鑰生成的地址,因此可以保證各類密鑰不容易被破譯,也就提高藍牙設備之間數據傳輸的安全性,可以防範數據被截取,破譯的風險。藍牙設備間通信時,最先發送信號的藍牙設備稱為主機HOST,優選地,上述藍牙設備通信方法既適用於作為主機HOST的藍牙設備,也適用於與主機通信的藍牙設備。不管是主機或是與主機通信的藍牙設備,在通信過程中傳輸的地址信息不再是密鑰計算時使用的地址,具體地通信流程這裡不作限定,可以根據需要定製各種通信流程。各藍牙設備通信時會使用自身的兩個地址,具體地,協商密鑰時使用的地址既可以是唯一標識該藍牙設備的地址,也可以是按設定規則計算得到的地址,本實施例中,密鑰協商使用按設定規則計算得到的地址,即各藍牙設備的第一地址唯一標識該藍牙設備,則藍牙設備在使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰之前, 還包括由自身的第一地址和/或對端藍牙設備的第一地址,按設定規則對應得到自身的第二地址和/或對端藍牙設備的第二地址,以進行相關密鑰協商時使用。或者,本實施例中密鑰協商時使用唯一標識藍牙設備的地址,即各藍牙設備的第二地址唯一標識該藍牙設備,則在與對端藍牙設備交互各自的第一地址之前,還包括根據自身的第二地址按設定規則計算得到自身的第一地址,以進行第一地址交互;使用對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰之前,還包括根據對端藍牙設備的第一地址,根據所述設定規則計算得到對端藍牙設備的第二地址,以使用對端藍牙設備的第二地址進行相關密鑰協商。上述相關密鑰可以包括各類需要設備地址參與計算的密鑰,優選地,上述相關密鑰包括認證密鑰和/或加解密密鑰,在所述藍牙設備作為主機時,使用對端藍牙設備的第二地址與對端藍牙設備協商認證密鑰;使用自身的第二地址與對端藍牙設備協商加解密密鑰。這樣,對於與主機通信的藍牙設備,則是使用自身的第二地址與主機協商認證密鑰;使用主機的第二地址與主機協商加解密密鑰。當然,還可以根據密鑰生成機制改變約定的雙方生成上述密鑰使用的地址,只要保證雙方使用的地址一致。
優選地,在協商相關密鑰之前,進一步包括與對端藍牙設備協商初始密鑰,在所述藍牙設備作為主機時,使用初始密鑰、對端藍牙設備的第二地址與對端藍牙設備協商認證密鑰;使用初始密鑰、自身的第二地址與對端藍牙設備協商加解密密鑰。這樣,對於與主機通信的藍牙設備,則是使用初始密鑰、自身的第二地址與主機協商認證密鑰;使用初始密鑰、主機的第二地址與主機協商加解密密鑰。初始密鑰在兩個藍牙設備建立連接之前,雙方協商計算出來的密鑰,其作用是會作為一個參數參與到計算其它密鑰的過程中。初始密鑰的協商過程中,不需要使用設備地址,但協商好的初始密鑰可以參與密鑰計算可以提高密鑰的安全性。在藍牙設備為主機時,與對端藍牙設備交互各自的第一地址,具體包括發送詢問inquiry命令;接收收到inquiry命令的對端藍牙設備返回的應答消息,所述應答消息攜帶對端設備的第一地址;選擇對端藍牙設備,並將自身的第一地址發送給選擇的對端設備,優選地,主機是在與對端藍牙設備協商初始密鑰的過程中將自身的第一地址發送給對方。這樣,對於與主機通信的藍牙設備,與對端藍牙設備交互各自的第一地址,具體包括接收主機發送的詢問inquiry命令;返回應答消息,所述應答消息攜帶自身的第一地址;接收主機發送的攜帶主機的第一地址的信息,優選地,是在與主機協商初始密鑰的過程中接收主機的第一地址。優選地,各藍牙設備的第一地址與第二地址中唯一標識該藍牙設備的地址,具體為該藍牙設備出廠時的原始地址,即第一地址為藍牙設備出廠時的原始地址,第二地址為將所述原始地址按設定規則計算得到的虛擬地址;或者第二地址為設備出廠時的原始地址,第一地址為將所述原始地址按設定規則計算得到的虛擬地址。當然,第一地址和第二地址還可以是其它形式,如第一地址為對設備出廠時的原始地址按約定變換關係變換得到的唯一標識該設備的地址,第二地址為將第一地址按設定規則計算得到的地址;或者第二地址為設備出廠時的原始地址按約定變換關係變換得到的唯一標識藍牙設備的地址,第一地址為將第二地址按約定映射關係映射後得到的地址。優選地,由唯一標識藍牙設備的地址按設定規則計算得到另一地址,具體包括將唯一標識藍牙設備的地址與設定數值進行異或計算,當然,還可以是其它形式的計算。實施例1下面結合附圖給出本發明實施例中藍牙設備通信方法詳細流程圖,如圖2所示, 具體包括步驟201,符合藍牙協議的主機設備A以廣播形式發出符合藍牙協議標準格式的 inquiry命令數據包,等待周圍對端設備B返回的應答信息,設備A附近符合藍牙協議的設備B接收設備A發出的inquiry命令數據包;步驟202,設備B解析收到的數據包,根據數據包中具體命令內容進行應答,在應答消息中攜帶自身的第一地址BD_ADDIV ;本實施例中以第一地址為設備B出廠後的6位元組、全球唯一地址BD_ADDIV為例進行說明。設備B在應答設備A的inquiry後,更新其自身的地址信息。對出廠地址與設定數值進行異或計算,當然也可以是其他計算方法,本發明對此不做限定。例如設備B 出廠後的地址是 AlH A2H A3H A4H A5H A6H,將 A1H、A2H、A3H、A4H、 A5H、A6H逐一與55H進行異或計算,得到新的地址信息BD_ADD&,即F4F7F6F1F0F3。然後使用新的地址信息BD_ADD&,更新自身的地址寄存器內容。由於無線傳輸與有線傳輸不同,在數據傳輸過程中,可以被其他設備所截獲,那麼設備的地址信息一旦被其他設備所截獲,就可以被用來計算相關的解密密鑰和認證密鑰等重要信息。因此,通過傳遞一個虛擬地址信息給主機,設備B自身獲得真實的地址信息,這樣,設備B與HOST都可以通過虛擬地址信息,計算出真實的地址信息,由於這個環節雙方是在本地設備內部完成的,不會被其他設備獲取,相對提高了重要參數的安全性,從而進一步提高數據傳輸的安全性。步驟203,設備A接收設備B返回的應答消息,獲取應答消息中包含的設備B的第一地址BD_ADDIV,處理得到BD_ADD& ;這樣,設備A可以獲取到重要參數BD_ADDIV信息內容,並將接收到的具體BD_ ADDRb'內容也進行同樣的求異或的計算。獲得新的BD_ADDI bR容,同時將此信息記錄到存儲器中,後續的操作都以此地址為真實地址信息,即用於參與密鑰計算。此時設備A與設備B之間都存儲了由設備B的原始BD_ADDIV計算得出的新的BD_ ADD&信息。步驟204,設備A與設備B之間進行初始密鑰、認證密鑰和加解密密鑰協商,在初始密鑰協商過程中設備A將自身的第一地址BD_ADDIV發送給設備B,設備B對BD_ADDRa』處理得到BD-ADDIV同樣,設備A會存儲對原出廠地址BD_ADDRa』求異或運算後的地址BD_ADDRa,發送原出廠地址BD_ADDRa』,設備B接收到該地址同樣進行求異或運算得到新地址BD_ADDI a。1)具體的初始密鑰協商過程如圖3所示,設備A和設備B使用設定算法(用氏2算法表示)計算初始密鑰key 使用三個參數,分別是L』、PIN、RAND,其中L,PIN 碼長度;PIN:PIN 碼內容;RAND:隨機數。平時使用藍牙設備時,在進行設備配對時,兩個設備輸入的PIN碼一致,則可以配對成功,具體可以是人工輸入或設備出廠時設置為固定值。具體由主機將產生的隨機數 RAND發送給對端設備,則此時雙方就具備了初始key。例如藍牙耳機,配對成功了,就可以使用藍牙耳機通話。正常情況下,這次傳輸是沒有特殊保護的,可以被第三者截取。2)具體的認證密鑰協商過程認證密鑰的用途是設備A認證設備B是否是合法的。如圖4所示,設備A取一個隨機數作為元素AU_RANDa ;BD_ADDRb為對inquiry過程獲取到的設備B的第一地址處理後的第二地址;Ling key為通過上述協商過程得到的初始密鑰,利用這三個採用設定算法(用E1算法表示),使用這三個元素為初始元素,計算得到認證密鑰SRES』。在SRES』計算過程中,同時還可以生成ACO(Authenticated Ciphering Offset,授權密碼偏移量)。同時,設備A將隨機數AU_RANDa發給設備B,設備B此時也具備了上述三個元素, 因此可以同樣使用E1算法計算得到一個值SRES,並將該值回傳給設備A。設備A在比較設備B回傳的SRES與其自身的SRES』是否一致,如果一致則說明設備B是合法的。認證成功, 否則相反。在過程中可以看到設備地址的重要性,它是參加認證密鑰計算的一部分。3)具體的加解密密鑰協商過程加解密密鑰用於對發送數據進行加密及對接收的數據進行解密使用,如圖5所示,加解密密鑰的計算使用設定算法(用算法表示),具體需要使用如下元素設備A 的第二地址BD_ADDI A ;26位主機實時時鐘clockA ;密鑰Kc。如圖6所示,密鑰使用如下元素採用設定算法(用&算法表示)生成設備A產生的隨機數AU_RANDa ;COF(Ciphering offset number,密碼偏移量),獲取的途徑有兩個是由主機的 BD_ADDRb變化得到;使用認證密鑰產生過程中生成的ACO作為COF使用;link key,初始密鑰。設備A會將產生的隨機數AU_RANDa傳遞給設備B。由此可見,link key以及設備地址在計算密鑰過程的重要性。步驟205,設備A與設備B建立連接並數據通信,在數據通信過程中,使用協商好的加解密密鑰Kcipher,通信過程中需要攜帶對端設備地址信息時,具體攜帶對端設備的第一地址。根據現有協議,設備A向設備B發送的消息中需攜帶設備B的地址信息,本發明實施例中具體攜帶設備B的第一地址,如BD_ADDIV。
實施例2與實施例1不同的是,密鑰協商是使用唯一標識藍牙設備的地址,具體流程如下步驟1,符合藍牙協議的主機設備A以廣播形式發出符合藍牙協議標準格式的 inquiry命令數據包,等待周圍對端設備B返回的應答信息,設備A附近符合藍牙協議的設備B接收設備A發出的inquiry命令數據包;步驟2,設備B解析收到的數據包,根據數據包中具體命令內容進行應答,在應答消息中攜帶自身的第一地址BD_ADD& ;本實施例中以第二地址為設備B出廠後的6位元組、全球唯一地址BD_ADDIV為例進行說明。設備B在應答設備A的inquiry之前,根據第二地址BD_ADDIV按設定規則計算第一地址BD_ADD&,如出廠地址與設定數值進行異或計算。例如設備B 出廠後的地址是 AlH A2H A3H A4H A5H A6H,將 A1H、A2H、A3H、A4H、 A5H、A6H逐一與55H進行異或計算,得到新的地址信息BD_ADD&,即F4F7F6F1F0F3。步驟3,設備A接收設備B返回的應答消息,獲取應答消息中包含的設備B的第一地址BD_ADD&,處理得到設備B的第二地址BD_ADDIV ;
這樣,設備A可以獲取到重要參數BD_ADDI dlr息內容,並將接收到的具體BD_ADD& 內容也進行同樣的求異或的計算。獲得新的BD_ADDIV內容,同時將此信息記錄到存儲器中,後續的操作都以此地址為真實地址信息,即用於參與密鑰計算。此時設備A與設備B之間都存儲了設備B的原始BD_ADDIV及虛擬地址BD_ADD&
fn息ο步驟4,設備A與設備B之間進行初始密鑰、認證密鑰和加解密密鑰協商,在初始密鑰協商過程中設備A將自身的第一地址BD_ADDI a發送給設備B,設備B對BD_ADDI a處理得到 BD_ADDIV。同樣,設備A會存儲對原出廠地址BD_ADDIV求異或運算後的地址BD_ADDI a,發送處理後的地址BD_ADDI a,設備B接收到該地址同樣進行求異或運算得到新地址BD_ADDIV。具體的初始密鑰協商過程、認證密鑰協商過程及加解密密鑰協商過程同實施例1, 不同的是本實施例中使用設備B的BD_ADDIV進行相關密鑰協商。步驟5,設備A與設備B建立連接並數據通信,在數據通信過程中,使用協商好的加解密密鑰Kcipher,通信過程中需要攜帶對端設備地址信息時,具體攜帶對端設備的第一地址。根據現有協議,設備A向設備B發送的消息中需攜帶設備B的地址信息,本發明實施例中具體攜帶設備B的第一地址,如BD_ADD&。基於同一發明構思,本發明實施例中還提供了一種藍牙設備,由於這些設備解決問題的原理與一種藍牙設備通信方法相似,因此這些設備的實施可以參見方法的實施,重複之處不再贅述。本發明實施例提供的藍牙設備,如圖7所示,包括交互單元701,用於在與對端藍牙設備建立連接前,與對端藍牙設備交互各自的第一地址;密鑰協商單元702,用於使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰,其中各藍牙設備的第一地址與第二地址中的一個地址唯一標識該藍牙設備,另一地址由唯一標識該藍牙設備的地址按設定規則計算得到;數據通信單元703,用於使用協商的相關密鑰與對端藍牙設備建立連接並數據通信,通信過程中需要攜帶對端藍牙設備地址信息時,具體攜帶對端藍牙設備的第一地址。優選地,若各藍牙設備的第一地址唯一標識該藍牙設備,則密鑰協商單元702在使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰之前,還用於由自身和/或對端藍牙設備的第一地址,按設定規則對應得到自身和/或對端藍牙設備的第二地址。優選地,若各藍牙設備的第二地址唯一標識該藍牙設備,則交互單元701在與對端藍牙設備交互各自的第一地址之前,還用於根據自身的第二地址按設定規則計算得到自身的第一地址;密鑰協商單元702使用對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰之前,還用於根據對端藍牙設備的第一地址,根據所述設定規則計算得到對端藍牙設備的第二地址。優選地,所述相關密鑰包括認證密鑰和/或加解密密鑰,所述藍牙設備還包括初始密鑰協商單元700,用於在協商相關密鑰之前,與對端藍牙設備協商初始密鑰;在所述藍牙設備作為主機時,所述密鑰協商單元702,具體使用初始密鑰、對端藍牙設備的第二地址與對端藍牙設備協商認證密鑰;使用初始密鑰、自身的第二地址與對端藍牙設備協商加解密密鑰。優選地,所述藍牙設備為主機,所述交互單元701與對端藍牙設備交互各自的第一地址,具體包括發送詢問命令;接收收到所述詢問命令的對端藍牙設備返回的應答消息,所述應答消息攜帶對端藍牙設備的第一地址;選擇對端藍牙設備,並將自身的第一地址發送給選擇的對端藍牙設備。優選地,所述對端藍牙設備為主機,所述交互單元701與對端藍牙設備交互各自的第一地址,具體包括接收到對端藍牙設備發送的詢問命令時返回應答消息,所述應答消息攜帶自身的第一地址;接收對端藍牙設備發送的所述對端藍牙設備的第一地址。優選地,第一地址為設備出廠時的原始地址,第二地址為將所述原始地址按設定規則計算得到得到的虛擬地址;或者第二地址為設備出廠時的原始地址,第一地址為將所述原始地址按設定規則計算得到得到的虛擬地址。本發明實施例中,藍牙設備的地址信息BD_ADDR可以是動態變化的,生成新BD_ ADDR的具體的算法,可以使用各種算法來計算,使用地址變化這一方法影響了 key(密鑰信息)的計算(key (密鑰信息)的計算需要用BD_ADDR為參數)。本發明實施例能夠有效提高藍牙設備之間數據傳輸的安全性,防範數據被截取,破譯的風險。本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。 顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1.一種藍牙設備通信方法,其特徵在於,包括在與對端藍牙設備建立連接前,與對端藍牙設備交互各自的第一地址; 使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰,其中各藍牙設備的第一地址與第二地址中的一個地址唯一標識該藍牙設備,另一地址由唯一標識該藍牙設備的地址按設定規則計算得到;使用協商的相關密鑰與對端藍牙設備建立連接並數據通信,通信過程中需要攜帶對端藍牙設備地址信息時,具體攜帶對端藍牙設備的第一地址。
2.如權利要求1所述的方法,其特徵在於,若各藍牙設備的第一地址唯一標識該藍牙設備,則在使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰之前, 還包括由自身和/或對端藍牙設備的第一地址,按設定規則對應得到自身和/或對端藍牙設備的第二地址。
3.如權利要求1所述的方法,其特徵在於,若各藍牙設備的第二地址唯一標識該藍牙設備,在與對端藍牙設備交互各自的第一地址之前,還包括根據自身的第二地址按設定規則計算得到自身的第一地址;使用對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰前,還包括根據對端藍牙設備的第一地址,根據所述設定規則計算得到對端藍牙設備的第二地址。
4.如權利要求1所述的方法,其特徵在於,所述相關密鑰包括認證密鑰和/或加解密密鑰,在協商相關密鑰之前,進一步包括與對端藍牙設備協商初始密鑰;在所述藍牙設備作為主機時,使用初始密鑰、對端藍牙設備的第二地址與對端藍牙設備協商認證密鑰;使用初始密鑰、自身的第二地址與對端藍牙設備協商加解密密鑰。
5.如權利要求1 4任一所述的方法,其特徵在於,在所述藍牙設備為主機時,與對端藍牙設備交互各自的第一地址,具體包括發送詢問命令;接收收到所述詢問命令的對端藍牙設備返回的應答消息,所述應答消息攜帶對端藍牙設備的第一地址;選擇對端藍牙設備,並將自身的第一地址發送給選擇的對端藍牙設備。
6.一種藍牙設備,其特徵在於,包括交互單元,在與對端藍牙設備建立連接前,與對端藍牙設備交互各自的第一地址; 密鑰協商單元,用於使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰,其中各藍牙設備的第一地址與第二地址中的一個地址唯一標識該藍牙設備,另一地址由唯一標識該藍牙設備的地址按設定規則計算得到;數據通信單元,使用協商的相關密鑰與對端藍牙設備建立連接並數據通信,通信過程中需要攜帶對端藍牙設備地址信息時,具體攜帶對端藍牙設備的第一地址。
7.如權利要求6所述的藍牙設備,其特徵在於,若各藍牙設備的第一地址唯一標識該藍牙設備,則密鑰協商單元在使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰之前,還用於由自身和/或對端藍牙設備的第一地址,按設定規則對應得到自身和/或對端藍牙設備的第二地址。
8.如權利要求6所述的藍牙設備,其特徵在於,若各藍牙設備的第二地址唯一標識該藍牙設備,則交互單元在與對端藍牙設備交互各自的第一地址之前,還用於根據自身的第二地址按設定規則計算得到自身的第一地址;密鑰協商單元使用對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰之前,還用於根據對端藍牙設備的第一地址,根據所述設定規則計算得到對端藍牙設備的第二地址。
9.如權利要求6所述的藍牙設備,其特徵在於,所述相關密鑰包括認證密鑰和/或加解密密鑰,所述藍牙設備還包括初始密鑰協商單元,用於在協商相關密鑰之前,與對端藍牙設備協商初始密鑰;在所述藍牙設備作為主機時,所述密鑰協商單元,具體使用初始密鑰、對端藍牙設備的第二地址與對端藍牙設備協商認證密鑰;使用初始密鑰、自身的第二地址與對端藍牙設備協商加解密密鑰。
10.如權利要求6 9任一所述的藍牙設備,其特徵在於,所述藍牙設備為主機,所述交互單元與對端藍牙設備交互各自的第一地址,具體包括發送詢問命令;接收收到所述詢問命令的對端藍牙設備返回的應答消息,所述應答消息攜帶對端藍牙設備的第一地址;選擇對端藍牙設備,並將自身的第一地址發送給選擇的對端藍牙設備。
11.如權利要求6 9任一所述的藍牙設備,其特徵在於,所述對端藍牙設備為主機,所述交互單元與對端藍牙設備交互各自的第一地址,具體包括接收到對端藍牙設備發送的詢問命令時返回應答消息,所述應答消息攜帶自身的第一地址;接收對端藍牙設備發送的所述對端藍牙設備的第一地址。
全文摘要
本發明公開了一種藍牙設備及其通信方法,該方法包括在與對端藍牙設備建立連接前,與對端藍牙設備交互各自的第一地址;使用自身和/或對端藍牙設備的第二地址與對端藍牙設備協商相關密鑰,其中各藍牙設備的第一地址與第二地址中的一個地址唯一標識該藍牙設備,另一地址由唯一標識該藍牙設備的地址按設定規則計算得到;使用協商的相關密鑰與對端藍牙設備建立連接並數據通信,通信過程中需要攜帶對端藍牙設備地址信息時,具體攜帶對端藍牙設備的第一地址。本發明能夠有效提高藍牙設備之間數據傳輸的安全性,防範數據被截取,破譯的風險。
文檔編號H04L9/32GK102420642SQ201110421570
公開日2012年4月18日 申請日期2011年12月15日 優先權日2011年12月15日
發明者楊俊 申請人:北京握奇數據系統有限公司