TWI423691B - 藍芽僕裝置及其相關認證方法 - Google Patents
藍芽僕裝置及其相關認證方法 Download PDFInfo
- Publication number
- TWI423691B TWI423691B TW099119306A TW99119306A TWI423691B TW I423691 B TWI423691 B TW I423691B TW 099119306 A TW099119306 A TW 099119306A TW 99119306 A TW99119306 A TW 99119306A TW I423691 B TWI423691 B TW I423691B
- Authority
- TW
- Taiwan
- Prior art keywords
- key
- link
- authentication
- keys
- link key
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
- G06F21/35—User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/047—Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
- H04W12/0471—Key exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
- Lock And Its Accessories (AREA)
- Telephone Function (AREA)
Description
本發明係關於一種認證方法及其相關裝置,尤指一種於藍芽系統中與具有多重作業系統之一主裝置系統進行認證的方法及其相關僕裝置。
藍芽(Bluetooth)系統是一種無線短程通訊系統,以微網(Piconet)為最小網路單位,利用分時多工(Time Division Duplexing)技術,讓一個主裝置(Master Device)與最多七個主動僕裝置(Active Slave Device)彼此傳達訊息。為了資料的安全性及保密性,主裝置與主動僕裝置之間需進行一認證程序,其建立在「挑戰-回覆」(challenge-response)的機制上。驗證端會傳送一亂數(視為「挑戰」)給要求端,要求端利用此亂數、要求端本身的一鏈結金鑰等參數計算出一「回覆」,並將此「回覆」傳回驗證端,驗證端也利用此亂數、驗證端本身的一鏈結金鑰等參數,透過與要求端相同的演算法,計算出一結果,若結果與此「回覆」相同,則表示認證成功。由上可知,認證程序鑰成功必須驗證端與要求端具有相同的鏈結金鑰內容。主裝置與主動僕裝置皆可為驗證端或要求端,當主裝置與主動僕裝置輪流扮演驗證端時,可視作主裝置與主動僕裝置進行相互認證。
請參考第1圖,第1圖為習知一藍芽系統10之架構示意圖。在藍芽系統10中,一主機100可為桌上型電腦、筆記型電腦或行動通訊裝置等等,包含作業系統OS(1)~OS(n)及其對應鏈結金鑰LK(1)~LK(n),當主機100操作於某一作業系統時,主機100無法存取其他作業系統所對應的鏈結金鑰。一主裝置110可為一藍芽滑鼠、耳機、喇叭等等藍芽周邊裝置的適配器件(Dangle),利用一主機控制介面(Host Controller Interface,HCI),如通用序列匯流排(Universal Serial Bus,USB)介面,與主機100交換藍芽訊息及命令,並作為一藍芽無線介面,與主機100的周邊藍芽裝置進行溝通。在藍芽系統10中,一主動僕裝置120可視為主機100的周邊藍芽裝置,如一藍芽滑鼠、藍芽耳機、藍芽喇叭等等。主裝置110利用一藍芽位址BTA,與主動僕裝置120建立一非同步無連線導向(Asynchronous Connection-Less,ACL)連線。在連線建立完成後,主裝置110與主動僕裝置120必須進行一相互認證的程序,但若任一方沒有用於認證之一鏈結金鑰或鏈結金鑰不合法時,必須先進行一金鑰配對程序,以產生新的鏈結金鑰。主動僕裝置120中之一非揮發性記憶單元122會將配對好的鏈結金鑰儲存起來,即鏈結金鑰LKP,其對應於藍芽位址BTA,並配有用來判斷鏈結金鑰LKP是否合法之一「有效性指標」欄位。主動僕裝置120利用鏈結金鑰LKP,而主裝置110利用主機100當下所操作之作業系統對應的鏈結金鑰,雙方進行相互認證的程序。舉例來說,當主機100操作於作業系統OS(n)時,主裝置110透過主機控制介面,向主機100取得鏈結金鑰LK(n),以與使用鏈結金鑰LKP之主動僕裝置120進行相互認證。
在藍芽系統10中,主動僕裝置120固定只能儲存一組鏈結金鑰。因此,每次主裝置110與主動僕裝置120之間配對產生新的鏈結金鑰時,非揮發性記憶單元122中舊的鏈結金鑰會被新的鏈結金鑰覆蓋。然而,支援多重作業系統的主機100再每次重新開機時,勢必更換鏈結金鑰,這樣的情形會造成主機100轉換作業系統之後,主裝置110與主動僕裝置120相互認證失敗而需要重新配對鏈結金鑰的情形。舉例來說,操作於作業系統OS(1)之主機100透過主裝置110,與主動僕裝置120進行已認證的藍芽通訊。在此情況下,主裝置110使用鏈結金鑰LK(1),而非揮發性記憶單元122的鏈結金鑰LKP的內容與鏈結金鑰LK(1)相同。之後,若主機100重新開機操作於作業系統OS(2)時,主裝置110與主動僕裝置120必須重新連線及相互認證。在此情況下,主裝置110從主機100取得鏈結金鑰LK(2),而主動僕裝置120取出與鏈結金鑰LK(1)內容相同的鏈結金鑰LKP,雙方進行相互認證。此時,由於雙方鏈結金鑰內容不同,相互認證的程序失敗,導致主裝置110與主動僕裝置120必須重新配對鏈結金鑰。然而,鏈結金鑰配對程序耗費時間及藍芽無線資源。
因此,本發明之主要目的在於提供一種主動藍芽僕裝置及相關認證方法,以解決在支援多重開機之主裝置系統轉換作業系統時,必須重新配對金鑰的問題。
本發明揭露一種用於一藍芽系統之主動僕裝置,其包含有一非揮發性儲存單元及一金鑰搜尋單元。該非揮發性儲存單元用來儲存對應於一主裝置之複數個鏈結金鑰。該主裝置可於複數個操作模式之間切換。該複數個鏈結金鑰是該主動僕裝置與該主裝置進行金鑰配對(Pairing)而產生,並對應該複數個操作模式。該金鑰搜尋單元用來搜尋該複數個鏈結金鑰中是否有一可用鏈結金鑰,其能於該主裝置之目前操作模式下,直接致能該主動僕裝置。
本發明另揭露一種用於一藍芽系統之一主動僕裝置中之認證方法,其包含有儲存對應於一主裝置之複數個鏈結金鑰於該主動僕裝置之一非揮發性儲存單元中;以及搜尋該複數個鏈結金鑰中是否有鏈結金鑰符合對應於該主裝置所使用之一第一鏈結金鑰。其中該複數個鏈結金鑰是該主動僕裝置與該主裝置進行金鑰配對而產生。
本發明所揭露之主動僕裝置及認證方法可重新使用與主裝置系統的多個作業系統所配對產生之鏈結金鑰,以減少主僕裝置相互認證失敗的機率,以及避免耗費時間資源的金鑰配對程序。
請參考第2圖,第2圖為本發明實施例一藍芽系統20之架構示意圖。第2圖與第1圖的架構類似,因此相同元件採用相同符號表示。在藍芽系統20中,一主動僕裝置220可為一藍芽滑鼠、藍芽耳機、藍芽喇叭等等,包含一非揮發性記憶單元222、一金鑰搜尋單元224及一認證單元226。非揮發性記憶單元222可為快閃(Flash)記憶體或電子式可抹除可編程唯讀記憶體(Electrically Erasable Programmable Read Only Memory,EEPROM),在對應於藍芽位址BTA的欄位下儲存鏈結金鑰LKS(1)~LKS(n),其每一鏈結金鑰最初可透過一金鑰配對(Pairing)程序而產生。此外,若主動僕裝置220與操作於作業系統OS(2)之主裝置110透過金鑰配對程序產生一新的鏈結金鑰時,主動僕裝置220可將鏈結金鑰LKS(1)~LKS(n)其中之一取代成為此新的鏈結金鑰,另一方面,主裝置110則將此新的鏈結金鑰取代成為新的LK(2)。金鑰搜尋單元224用來搜尋鏈結金鑰LKS(1)~LKS(n)中是否有鏈結金鑰符合對應於主裝置110所使用中之鏈結金鑰,其中主裝置110所使用之鏈結金鑰在不同操作模式(如第2圖所示的操作模式PMD(1)~PMD(m))下可能有所不同,端看主機100所操作之作業系統而定。舉例來說,若主機100操作於作業系統OS(n)並與金鑰搜尋單元224初始一認證程序時,金鑰搜尋單元224會搜尋鏈結金鑰LKS(1)~LKS(n)中是否有鏈結金鑰符合鏈結金鑰LK(n)。認證程序的初始可由主機100重新開機的事件所觸發。在本發明所有實施例中,任何被搜尋到符合主裝置110當前所使用之鏈結金鑰視為一可用鏈結金鑰,其可用鏈結金鑰能於該主裝置之目前操作模式下,直接致能(Enable)該主動僕裝置,換句話說,可用鏈結金鑰可讓主動僕裝置220直接與主裝置開始進行相關安全性功能,不需要透過一金鑰配對程序,與主裝置110重新產生一新的鏈結金鑰(以下稱更新鏈結金鑰)。另外,鏈結金鑰LKS(1)~LKS(n)的搜尋順序不設限,亦可透過輔助資訊來決定,其於下文將列舉一範例說明。認證單元226主要用來進行一與主裝置110相互認證的程序或一金鑰配對(Pairing)程序。當金鑰搜尋單元224指示搜尋到可用鏈結金鑰時,即當鏈結金鑰LKS(1)~LKS(n)中有一鏈結金鑰符合主裝置110所使用之鏈結金鑰時,認證單元226利用可用鏈結金鑰與主裝置110進行相互認證。當金鑰搜尋單元224指示無法從鏈結金鑰LKS(1)~LKS(n)中沒有搜尋到可用鏈結金鑰時,則認證單元226與主裝置110進行金鑰配對程序,以產生更新鏈結金鑰。接著,認證單元226利用更新鏈結金鑰與主裝置110相互認證,且非揮發性記憶單元222會儲存更新鏈結金鑰或將更新鏈結金鑰取代鏈結金鑰LKS(1)~LKS(n)其中之一,以便於下次重新使用。
舉例來說,主動僕裝置220的鏈結金鑰LKS(1)~LKS(n)分別配對於主機100的鏈結金鑰LKS(1)~LKS(n),換句話說,鏈結金鑰LKS(1)~LKS(n)的內容分別相同於鏈結金鑰LKS(1)~LKS(n)。在此情況下,操作於作業系統OS(1)之主機100透過主裝置110,與主動僕裝置120進行已認證的藍芽通訊。這表示主裝置110與主動僕裝置220分別使用鏈結金鑰LK(1)與LKS(1)。之後,若主機100重新開機操作於作業系統OS(2)時,主裝置110與主動僕裝置120必須重新連線,再接著進行認證。在此情況下,主裝置110從主機100取得鏈結金鑰LK(2),而主動僕裝置120的金鑰搜尋單元224從鏈結金鑰LKS(1)~LKS(n)中搜尋出鏈結金鑰LKS(2)符合鏈結金鑰LK(2),換句話說,鏈結金鑰LKS(2)為可用鏈結金鑰。於鏈結金鑰搜尋成功之後,認證單元226利用鏈結金鑰LK(2)與主裝置110進行後續相互認證的程序。
由上可知,本發明實施例可儲存多組與主機100不同作業系統所配對產生的鏈結金鑰,讓主動僕裝置220於每次認證程序初始時,從中搜尋與主裝置110(亦可視為主機100)相同的鏈結金鑰(即可用鏈結金鑰)。因此,這樣重新利用鏈結金鑰的方法可以免除在主機100重新開機更換作業系統的情況下必須重新配對鏈結金鑰的麻煩。
另外,本發明可在非揮發性記憶單元222中增加關於鏈結金鑰LKS(1)~LKS(n)的輔助資訊,以幫助主動僕裝置220決定鏈結金鑰LKS(1)~LKS(n)的搜尋順序及金鑰合法性。以第3圖為例,第3圖為非揮發性記憶單元222之一儲存格式30的示意圖。儲存格式30包含一「配對藍芽位址」、一「鏈結金鑰」、一「認證成功指標」(Used Cnt)及一「有效性指標」(Valid)欄位。「配對藍芽位址」欄位用來儲存曾經配對成功過的藍芽裝置,即主裝置110的藍芽位址BTA。「鏈結金鑰欄位用來儲存對應於藍芽位址BTA的鏈結金鑰LKS(1)~LKS(n)。「有效性指標」欄位代表對應的鏈結金鑰是否有效,其初始預設值可為「無效」。當「有效性指標」欄位顯示所有鏈結金鑰都無效時,表示沒有可用鏈結金鑰存在,主動僕裝置220直接與主裝置110進行金鑰配對,以產生更新鏈結金鑰。「認證成功指標」欄位表示對應的鏈結金鑰曾經成功認證的次數,其初始預設值可為0。成功認證的次數越多意謂使用者偏好主機100中特定的作業系統,相反地,次數越少則意謂對應的作業系統越少被使用。因此,當金鑰搜尋單元224搜尋鏈結金鑰LKS(1)~LKS(n)時,金鑰搜尋單元224可優先選擇成功認證次數較高的鏈結金鑰是否為可用鏈結金鑰。此外,當有更新鏈結金鑰經過配對程序而產生時,若鏈結金鑰儲存數目已滿載,則更新鏈結金鑰可優先取代標示為「無效」的鏈結金鑰,或是成功認證的次數最少的鏈結金鑰。
請注意,第3圖雖繪示單一認證對象(即主裝置110)所對應的多組鏈結金鑰,但不作為本發明範圍的限制條件,儲存格式30可包含多個認證對象,且每個認證對象可對應多組鏈結金鑰。
請參考第4及5圖,第4及5圖共同繪示本發明實施例一搜尋流程40之流程圖。搜尋流程40可用於主動僕裝置220已與主裝置110建立一籃芽系統所規範之一非同步無連線導向(Asynchronous Connection-Less,ACL)連線,用來搜尋鏈結金鑰LKS(1)~LKS(n)中是否有對應於主裝置110所使用之鏈結金鑰(即可用鏈結金鑰),其中非揮發性記憶單元222儲存如儲存格式30類型的資料。搜尋流程40包含下列步驟:步驟400:開始。
步驟405:判斷鏈結金鑰LKS(1)~LKS(n)中是否有任何鏈結金鑰為有效?若是,則進行步驟410;若否,則進行步驟465。
步驟410:傳送包含一隨機亂數之一鏈結管理認證亂數(LMP_au_rand)訊息至主裝置110,且啟動一計時器。
步驟415:判斷於該計時器期滿前,是否接收到包含一認證回覆結果之一鏈結管理認證回覆(LMP_sres)訊息?若是,則進行步驟420;若否,則進行步驟455。
步驟420:根據「有效性指標」欄位及「認證成功指標」欄位,從鏈結金鑰LKS(1)~LKS(n)中選擇一鏈結金鑰。
步驟425:透過一認證演算法E1,利用該隨機亂數與被選擇之鏈結金鑰,得出一認證演算結果。
步驟430:判斷該認證演算結果是否符合所接收之認證回覆結果?若是,則進行步驟435;若否,則進行步驟445。
步驟435:判斷被選擇之鏈結金鑰為可用鏈結金鑰,且增加被選擇之鏈結金鑰所對應之「認證成功指標」欄位。
步驟440:利用被選擇之鏈結金鑰,與主裝置110進行相互認證,並進行步驟470。
步驟445:判斷鏈結金鑰LKS(1)~LKS(n)的所有認證演算結果皆不符合所接收之認證回覆結果?若是,則進行步驟460;若否,則進行步驟450。
步驟450:根據「有效性指標」欄位及「認證成功指標」欄位,從鏈結金鑰LKS(1)~LKS(n)中選擇一尚未被搜尋之鏈結金鑰,並進行步驟425。
步驟455:判斷是否接收到一鏈結管理不接受(LMP_not_accepted)訊息?若是,則進行步驟460;若否,則進行步驟465。
步驟460:當所有「有效性指標」欄位皆為「有效」時,將對應於「認證成功指標」最小值的「有效性指標」標示成「無效」。
步驟465:判斷金鑰搜尋失敗。
步驟470:結束。
在流程40中,主動僕裝置220已與主裝置110雙方均具有認證演算法E1,其根據該隨機亂數與相關鏈結金鑰,產生用來判斷主動僕裝置220是否有可用鏈結金鑰,即判斷雙方是否使用相同鏈結金鑰的一結果,其中由主動僕裝置220所產生的是認證演算結果,由主裝置110所產生的是認證回覆結果。主動僕裝置220在步驟420及450中選擇鏈結金鑰的準則可參考第3圖說明。根據流程40,於有任一認證演算結果符合認證回覆結果時,則表示金鑰搜尋成功,金鑰搜尋單元224判斷有可用鏈結金鑰存在,並增加其成功認證的次數,即對應「認證成功指標」欄位。接著,認證單元226利用可用鏈結金鑰與與主裝置110相互認證。相反地,於鏈結金鑰LKS(1)~LKS(n)所有認證演算結果皆不符合認證回覆結果時,則表示金鑰搜尋失敗,即主動僕裝置220中沒有可用鏈結金鑰存在。在此情況下,當所有「有效性指標」欄位皆為「有效」時,金鑰搜尋單元224將對應於「認證成功指標」最小值的「有效性指標」標示成「無效」。換句話說,金鑰搜尋單元224把非揮發性記憶單元222中最少被使用的鏈結金鑰設定成將來最優先考慮移除的對象。由上可知,主動僕裝置220不斷搜尋鏈結金鑰LKS(1)~LKS(n),直到判斷有一可用鏈結金鑰存在或判斷鏈結金鑰LKS(1)~LKS(n)皆不為可用鏈結金鑰。
另外,主動僕裝置220於鏈結金鑰LKS(1)~LKS(n)中至少一個鏈結金鑰為有效時,傳送鏈結管理認證亂數訊息至主裝置110,並啟動計時器,其提供接收主裝置110回覆的期限。當計時器期滿前,若金鑰搜尋單元224接收到鏈結管理認證回覆(LMP_sres)訊息時,則表示主裝置110能順利從主機100取得鏈結金鑰並產生認證回覆結果。相反地,若金鑰搜尋單元224沒有收到鏈結管理認證回覆訊息,還需要判斷是否接收到鏈結管理不接受訊息。若金鑰搜尋單元224更進一步接收到鏈結管理不接受訊息時,則進行步驟460。相反地,若沒有接收到鏈結管理不接受訊息,則金鑰搜尋單元224直接判斷金鑰搜尋失敗。
由上可知,搜尋流程40利用非揮發性記憶單元222所儲存之多組鏈結金鑰,”釣”出目前主機100是使用哪一組鏈結金鑰,進而完成相互認證。因此,當主機100因為重新開機而轉換成使用一先前配對過的鏈結金鑰時,本發明可透過搜尋流程40,找出重新使用的鏈結金鑰,可除了可避免相互認證失敗,也可避免相當耗時的重新配對。
請參考第6至8圖,第6至8圖為本發明實施例一主機50、一主裝置52與一主動僕裝置54間關於金鑰搜尋之訊息交換序列圖。第6圖繪示金鑰搜尋成功的情況。於主機50、主裝置52與主動僕裝置54間的非同步無連線導向連線建立完成後,主動僕裝置54隨即初始認證程序,其先產生一亂數R1,並傳送包含亂數R1之一鏈結管理認證亂數(LMP_au_rand)訊息,如步驟510所示,而主裝置52在收到鏈結管理認證亂數(LMP_au_rand)訊息之後,透過步驟520及530向主機50取得一鏈結金鑰LKH,接著在步驟540中利用認證演算法E1,從鏈結金鑰LKH及亂數R1得出一認證回覆結果AU_RES,其於步驟550中透過一鏈結管理認證回覆(LMP_sres)訊息傳至主動僕裝置54。在步驟560中,主動僕裝置54亦利用認證演算法E1及亂數R1,從所儲存的鏈結金鑰LKG1~LKGm的”有效”鏈結金鑰中搜尋出鏈結金鑰LKG3的認證演算結果符合認證回覆結果AU_RES,換句話說,鏈結金鑰LKG3為可用鏈結金鑰。此情況表示主動僕裝置54成功”釣”出主裝置52所使用之鏈結金鑰。因此,在子流程570中,主動僕裝置54利用鏈結金鑰LKG3,而主裝置52利用鏈結金鑰LKH,雙方成功相互認證。
第7圖繪示金鑰搜尋失敗的情況。步驟610~650與步驟510~550相同,故請參考前述說明。在步驟660中,主動僕裝置54無法從鏈結金鑰LKG1~LKSm中搜尋出任何一個認證金要符合鏈結金鑰LKH,即鏈結金鑰LKG1~LKSm中沒有可用鏈結金鑰存在。因此,在子流程670中,主裝置52利用鏈結管理認證亂數訊息,提出相互認證的請求,但由於步驟660中金鑰搜尋失敗,主動僕裝置54利用一鏈結管理不接受訊息拒絕此請求。在此情況下,主裝置52與主動僕裝置54啟始一金鑰配對流程680,其利用一鏈結管理組合金鑰(LMP_comb_key)訊息、鏈結管理認證亂數訊息及鏈結管理認證回覆訊息,配對出更新鏈結金鑰並藉此相互認證。於相互認證成功之後,如步驟690,主動僕裝置54將更新鏈結金鑰儲存於非揮發性記憶單元中,若鏈結金鑰LKG1~LKSm皆為有效金鑰時,則更新鏈結金鑰可取代鏈結金鑰LKG1~LKSm中最少使用的鏈結金鑰。
第8圖繪示另一金鑰搜尋失敗的情況。步驟710~720與步驟510~520相同,故請參考前述說明。在步驟730中,在一主機70所操作的作業系統中沒有任何鏈結金鑰,所以主機70於步驟730時回覆一鏈結金鑰負回覆(Link Key Negative Reply)命令,而主裝置52對應地傳送鏈結管理不接受訊息,告知主動僕裝置54無法認證,如步驟740。主動僕裝置54隨即判斷沒有可用鏈結金鑰存在,即金鑰搜尋失敗,並透過子流程680及步驟690,配對出更新鏈結金鑰、利用更新鏈結金鑰相互認證以及儲存更新鏈結金鑰。
綜上所述,本發明非揮發性記憶單元針對一個認證對象,可儲存多組曾經與該認證對象配對成功之鏈結金鑰,此外還可儲存相關金鑰輔助資訊,例如紀錄鏈結金鑰的有效性及使用程度等等。本發明主動僕裝置及相關流程可在多組已配對成功過的鏈結金鑰中,找出與主裝置所選用之鏈結金鑰相同的鏈結金鑰(即可用鏈結金鑰)。如此一來,在主機因為轉換作業系統而使主裝置更換鏈結金鑰時,本發明主動僕裝置透過前述搜尋金鑰的方式,可以大大減少相互認證失敗的機率,也避免了後續耗時的金鑰配對流程,進而節省主僕裝置整體相互認證的時間及資源。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10、20...藍芽系統
100、50、70...主機
OS(1)、OS(2)、OS(n)...作業系統
LKP、LKG1、LKSm、LKG3、LKH、LK(1)、LK(2)、LK(n)、LKS(1)、LKS(2)、LKS(n)...鏈結金鑰
110、52...主裝置
120、220、54...主動僕裝置
122、222...非揮發性記憶單元
BTA...藍芽位址
224...金鑰搜尋單元
226...認證單元
30...儲存格式
40...搜尋流程
570、670...子流程
680...金鑰配對流程
PMD(1)、PMD(2)、PMD(m)...操作模式
400、405、410、415、420、425、430、435、440、445、450、455、460、465、470、510、520、530、540、550、560、610、620、630、640、650、660、690、710、720、730、740...步驟
第1圖為習知一藍芽系統之架構示意圖。
第2圖為本發明實施例一藍芽系統之架構示意圖。
第3圖為第2圖之非揮發性記憶單元之一儲存格式的示意圖。
第4及5圖為本發明實施例一搜尋流程之流程圖。
第6至8圖為本發明實施例關於金鑰搜尋之訊息交換序列圖。
20‧‧‧藍芽系統
100‧‧‧主機
OS(1)、OS(2)、OS(n)‧‧‧作業系統
LK(1)、LK(2)、LK(n)、LKS(1)、LKS(n)‧‧‧鏈結金鑰
PMD(1)、PMD(2)、PMD(m)‧‧‧操作模式
110‧‧‧主裝置
220‧‧‧主動僕裝置
222‧‧‧非揮發性記憶單元
BTA‧‧‧藍芽位址
224‧‧‧金鑰搜尋單元
226‧‧‧認證單元
Claims (26)
- 一種主動僕裝置,用於一藍芽系統,該主動僕裝置包含有:一非揮發性儲存單元,用來儲存對應於一主裝置之複數個鏈結金鑰,該主裝置可於複數個操作模式之間切換,其中該複數個鏈結金鑰是當該主動僕裝置操作於該複數個操作模式時,該主動僕裝置與該主裝置進行金鑰配對(Pairing)而產生,並對應該複數個操作模式;以及一金鑰搜尋單元,用來搜尋該複數個鏈結金鑰中是否有一可用鏈結金鑰,其中該可用鏈結金鑰能於該主裝置之目前操作模式下,致能(enable)該主動僕裝置而不需該主動僕裝置與該主裝置再進行另一金鑰配對;其中,該非揮發性儲存單元儲存該複數個鏈結金鑰於一儲存格式,該儲存格式包含有一配對藍芽位址欄位、一鏈結金鑰欄位、一認證成功指標欄位及一有效性指標欄位,該配對藍芽位址欄位用來儲存曾經配對成功過之一藍芽位址,該鏈結金鑰欄位用來儲存該複數個鏈結金鑰中對應於該藍芽位址之一鏈結金鑰,而該有效性指標欄位代表該對應的鏈結金鑰是否有效且其初始預設值為無效。
- 如請求項1所述之主動僕裝置,其另包含一認證單元,用來於該金鑰搜尋單元指示從該複數個鏈結金鑰中搜尋到該可用鏈結金鑰時,利用該可用鏈結金鑰與該主裝置相互認證,以及於 該金鑰搜尋單元無法從該複數個鏈結金鑰中搜尋到該可用鏈結金鑰時,與該主裝置進行用來產生一更新鏈結金鑰之金鑰配對程序。
- 如請求項1所述之主動僕裝置,其中該非揮發性儲存單元儲存該更新鏈結金鑰。
- 如請求項1所述之主動僕裝置,其中用來搜尋該複數個鏈結金鑰中是否有該可用鏈結金鑰之該金鑰搜尋單元執行下列步驟:傳送包含一隨機亂數之一第一訊息至該主裝置;接收對應於該第一訊息且包含一第一認證運算結果之一第二訊息;搜尋該複數個鏈結金鑰中被搜尋之鏈結金鑰所對應之第二認證運算結果是否符合該第一認證運算結果,其中每一第二認證運算結果是透過一認證演算法,從該隨機亂數與被搜尋之鏈結金鑰得出;於任一被搜尋之鏈結金鑰所對應之第二認證運算結果符合該第一認證運算結果時,判斷所選擇之該鏈結金鑰為該可用鏈結金鑰;以及於所有該複數個鏈結金鑰所對應之該第二認證運算結果皆不符合該第一認證運算結果時,判斷金鑰搜尋失敗。
- 如請求項4所述之主動僕裝置,其中該非揮發性儲存單元另儲 存對應於該複數個鏈結金鑰之複數個有效性指標,且該金鑰搜尋單元根據該複數個有效性指標,判斷該複數個鏈結金鑰的有效性。
- 如請求項5所述之主動僕裝置,其中該金鑰搜尋單元於根據該複數個有效性指標,判斷該複數個鏈結金鑰中至少一個鏈結金鑰具有效性時,傳送該第一訊息至該主裝置。
- 如請求項5所述之主動僕裝置,其另包含一認證單元,用來於該金鑰搜尋單元根據該複數個有效性指標,判斷該複數個鏈結金鑰中沒有鏈結金鑰具有效性時或於判斷金鑰搜尋失敗時,與該主裝置進行用來產生一更新鏈結金鑰之金鑰配對程序。
- 如請求項7所述之主動僕裝置,其中該非揮發性儲存單元儲存該更新鏈結金鑰。
- 如請求項1所述之主動僕裝置,其中該非揮發性儲存單元另儲存對應於該複數個鏈結金鑰之複數個認證成功指標,且該金鑰搜尋單元根據該複數個認證成功指標,決定該複數個鏈結金鑰被搜尋的優先次序。
- 如請求項9所述之主動僕裝置,其另包含一認證單元,用來於該金鑰搜尋單元指示從該複數個鏈結金鑰中搜尋到該可用鏈 結金鑰時,利用該可用鏈結金鑰與該主裝置相互認證,以及於該金鑰搜尋單元指示無法從該複數個鏈結金鑰中搜尋到該可用鏈結金鑰時,與該主裝置進行用來產生一更新鏈結金鑰之一金鑰配對(Pairing)程序。
- 如請求項10所述之主動僕裝置,其中該非揮發性儲存單元將對應於最小認證成功指標的鏈結金鑰取代成為更新鏈結金鑰。
- 如請求項1所述之主動僕裝置,其中該金鑰搜尋單元於該金鑰搜尋單元與該主裝置初始一認證程序時,搜尋該複數個鏈結金鑰中是否有該可用鏈結金鑰。
- 如請求項12所述之主動僕裝置,其中該認證程序是由該主裝置重新開機轉換操作模式的事件所觸發。
- 一種認證方法,用於一藍芽系統之一主動僕裝置中,該認證方法包含有:儲存對應於一主裝置之複數個鏈結金鑰於該主動僕裝置之一非揮發性儲存單元中,該主裝置可於複數個操作模式之間切換,其中該複數個鏈結金鑰是當該主動僕裝置操作於該複數個操作模式時,該主動僕裝置與該主裝置進行金鑰配對(Pairing)而產生,並對應該複數個操作模式;以及搜尋該複數個鏈結金鑰中是否有一可用鏈結金鑰,其中該可用 鏈結金鑰能於該主裝置之目前操作模式下,致能(enable)該主動僕裝置而不需該主動僕裝置與該主裝置再進行另一金鑰配對;其中,該非揮發性儲存單元儲存該複數個鏈結金鑰於一儲存格式,該儲存格式包含有一配對藍芽位址欄位、一鏈結金鑰欄位、一認證成功指標欄位及一有效性指標欄位,該配對藍芽位址欄位用來儲存曾經配對成功過之一藍芽位址,該鏈結金鑰欄位用來儲存該複數個鏈結金鑰中對應於該藍芽位址之一鏈結金鑰,而該有效性指標欄位代表該對應的鏈結金鑰是否有效且其初始預設值為無效。
- 如請求項14所述之認證方法,其另包含:於該金鑰搜尋單元指示從該複數個鏈結金鑰中搜尋到該可用鏈結金鑰時,利用該可用鏈結金鑰與該主裝置相互認證;以及於該金鑰搜尋單元無法從該複數個鏈結金鑰中搜尋到該可用鏈結金鑰時,與該主裝置進行用來產生一更新鏈結金鑰之金鑰配對程序。
- 如請求項15所述之認證方法,其中該非揮發性儲存單元儲存該更新鏈結金鑰。
- 如請求項14所述之認證方法,其中用來搜尋該複數個鏈結金 鑰中是否有該可用鏈結金鑰包含有:傳送包含一隨機亂數之一第一訊息至該主裝置;接收對應於該第一訊息且包含一第一認證運算結果之一第二訊息;搜尋該複數個鏈結金鑰中被搜尋之鏈結金鑰所對應之第二認證運算結果是否符合該第一認證運算結果,其中每一第二認證運算結果是透過一認證演算法,從該隨機亂數與被搜尋之鏈結金鑰得出;於任一被搜尋之鏈結金鑰所對應之第二認證運算結果符合該第一認證運算結果時,判斷所選擇之該鏈結金鑰為該可用鏈結金鑰;以及於所有該複數個鏈結金鑰所對應之該第二認證運算結果皆不符合該第一認證運算結果時,判斷金鑰搜尋失敗。
- 如請求項17所述之認證方法,其另包含:儲存對應於該複數個鏈結金鑰之複數個有效性指標於該非揮發性儲存單元中;以及根據該複數個有效性指標,判斷該複數個鏈結金鑰的有效性。
- 如請求項18所述之認證方法,其另包含於根據該複數個有效性指標,判斷該複數個鏈結金鑰中至少一個鏈結金鑰具有效性時,傳送該第一訊息至該主裝置。
- 如請求項18所述之認證方法,其另包含於根據該複數個有效性指標判斷該複數個鏈結金鑰中沒有鏈結金鑰具有效性時或於判斷金鑰搜尋失敗時,與該主裝置進行用來產生一更新鏈結金鑰之一金鑰配對程序。
- 如請求項20所述之認證方法,其另包含儲存該更新鏈結金鑰於該非揮發性儲存單元中。
- 如請求項14所述之認證方法,其另包含:儲存對應於該複數個鏈結金鑰之複數個認證成功指標於該非揮發性儲存單元中;以及根據該複數個認證成功指標,決定該複數個鏈結金鑰被搜尋的優先次序。
- 如請求項22所述之認證方法,其另包含:於該金鑰搜尋單元指示從該複數個鏈結金鑰中搜尋到該可用鏈結金鑰時,利用該可用鏈結金鑰與該主裝置相互認證;以及於該金鑰搜尋單元指示無法從該複數個鏈結金鑰中搜尋到該可用鏈結金鑰時,與該主裝置進行用來產生一更新鏈結金鑰之一金鑰配對(Pairing)程序。
- 如請求項23所述之認證方法,其另包含將該非揮發性儲存單 元中對應於最小認證成功指標的鏈結金鑰取代成為更新鏈結金鑰。
- 如請求項24所述之認證方法,其中搜尋該複數個鏈結金鑰中是否有一可用鏈結金鑰,是於該主動僕裝置與該主裝置初始一認證程序時,搜尋該複數個鏈結金鑰中是否有該可用鏈結金鑰。
- 如請求項25所述之認證方法,其中該認證程序是由該主裝置重新開機轉換操作模式的事件所觸發。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099119306A TWI423691B (zh) | 2010-06-14 | 2010-06-14 | 藍芽僕裝置及其相關認證方法 |
US13/045,538 US8607318B2 (en) | 2010-06-14 | 2011-03-11 | Slave device for a bluetooth system and related authentication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099119306A TWI423691B (zh) | 2010-06-14 | 2010-06-14 | 藍芽僕裝置及其相關認證方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201146031A TW201146031A (en) | 2011-12-16 |
TWI423691B true TWI423691B (zh) | 2014-01-11 |
Family
ID=45097365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099119306A TWI423691B (zh) | 2010-06-14 | 2010-06-14 | 藍芽僕裝置及其相關認證方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8607318B2 (zh) |
TW (1) | TWI423691B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713314B2 (en) | 2011-08-30 | 2014-04-29 | Comcast Cable Communications, Llc | Reoccuring keying system |
US9294983B2 (en) * | 2012-09-29 | 2016-03-22 | Intel Corporation | Methods and arrangements for a multistack bluetooth controller |
US9870138B2 (en) * | 2013-09-04 | 2018-01-16 | Samsung Electronics Co., Ltd. | Method for displaying content and electronic device thereof |
CN104022805B (zh) * | 2014-06-06 | 2017-01-04 | 深圳市爱美家电子科技有限公司 | 一种主从端蓝牙设备连接方法及装置 |
US9591684B2 (en) * | 2014-06-06 | 2017-03-07 | BBPOS Limited | System and method of bluetooth pairing with a group of bluetooth devices |
TWI513214B (zh) * | 2014-09-04 | 2015-12-11 | Quanta Comp Inc | 建立藍芽連線之方法和系統 |
KR101568332B1 (ko) | 2014-11-12 | 2015-11-12 | 현대자동차주식회사 | 효율적인 블루투스 연결을 지원하는 차량 및 그 제어방법 |
US10523261B2 (en) * | 2016-03-31 | 2019-12-31 | Apple Inc. | Co-channel wireless detection |
US11943608B2 (en) * | 2021-01-10 | 2024-03-26 | Realtek Semiconductor Corp. | Bluetooth communication system capable of increasing generation efficiency of cypher keys required for data transmission between Bluetooth host device and Bluetooth device set, and related Bluetooth device set |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060135065A1 (en) * | 2004-12-17 | 2006-06-22 | Samsung Electronics Co., Ltd. | Bluetooth device and method for providing service determined according to bluetooth pin |
TW200737877A (en) * | 2006-03-28 | 2007-10-01 | Shyh-Chyu Wang | Security parameter exchange system |
US20080280559A1 (en) * | 2007-05-07 | 2008-11-13 | Dandekar Shree A | Enabling Bluetooth Support Within a Secondary and/or Across Multiple Operating System Partitions |
US20090037743A1 (en) * | 2007-08-01 | 2009-02-05 | International Business Machines Corporation | Biometric authentication device, system and method of biometric authentication |
US20090174525A1 (en) * | 2004-03-02 | 2009-07-09 | Shinnichiro Yamauchi | Communication system and communication method |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6032207A (en) * | 1996-12-23 | 2000-02-29 | Bull Hn Information Systems Inc. | Search mechanism for a queue system |
US6829288B2 (en) * | 2000-12-11 | 2004-12-07 | Nokia Corporation | Communication system having wireless devices supporting ad hoc connections independent of the protocol version |
JP3671880B2 (ja) * | 2001-07-18 | 2005-07-13 | ソニー株式会社 | 通信システムおよび方法、情報処理装置および方法、通信端末および方法、拡張装置、並びにプログラム |
KR20100049118A (ko) * | 2001-10-16 | 2010-05-11 | 소니 주식회사 | 통신 시스템 및 방법, 정보 처리 장치 및 방법, 정보 처리 단말기 및 방법 |
TWI287383B (en) * | 2005-12-30 | 2007-09-21 | Acer Inc | An instant messaging audio connection management system and method thereof |
US8112794B2 (en) * | 2006-07-17 | 2012-02-07 | Research In Motion Limited | Management of multiple connections to a security token access device |
US8285860B2 (en) * | 2009-03-16 | 2012-10-09 | Apple Inc. | Efficient service discovery for peer-to-peer networking devices |
KR100931566B1 (ko) * | 2009-04-02 | 2009-12-14 | 주식회사 엠디아이 | 블루투스를 이용한 음성 수신 장치 및 방법 |
KR20110028056A (ko) * | 2009-09-11 | 2011-03-17 | 삼성전자주식회사 | 블루투스 통신 연결 방법 및 시스템 |
US8817642B2 (en) * | 2010-06-25 | 2014-08-26 | Aliphcom | Efficient pairing of networked devices |
US8750799B2 (en) * | 2010-09-30 | 2014-06-10 | Apple Inc. | Wireless accessory device pairing determination for multiple host devices |
US20120238216A1 (en) * | 2011-03-17 | 2012-09-20 | Polycom, Inc. | Systems and methods for managing bluetooth device pairings |
-
2010
- 2010-06-14 TW TW099119306A patent/TWI423691B/zh active
-
2011
- 2011-03-11 US US13/045,538 patent/US8607318B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090174525A1 (en) * | 2004-03-02 | 2009-07-09 | Shinnichiro Yamauchi | Communication system and communication method |
US20060135065A1 (en) * | 2004-12-17 | 2006-06-22 | Samsung Electronics Co., Ltd. | Bluetooth device and method for providing service determined according to bluetooth pin |
TW200737877A (en) * | 2006-03-28 | 2007-10-01 | Shyh-Chyu Wang | Security parameter exchange system |
US20080280559A1 (en) * | 2007-05-07 | 2008-11-13 | Dandekar Shree A | Enabling Bluetooth Support Within a Secondary and/or Across Multiple Operating System Partitions |
US20090037743A1 (en) * | 2007-08-01 | 2009-02-05 | International Business Machines Corporation | Biometric authentication device, system and method of biometric authentication |
Also Published As
Publication number | Publication date |
---|---|
TW201146031A (en) | 2011-12-16 |
US20110307945A1 (en) | 2011-12-15 |
US8607318B2 (en) | 2013-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI423691B (zh) | 藍芽僕裝置及其相關認證方法 | |
US20150229612A1 (en) | Secure protocol for peer-to-peer network | |
US20200272725A1 (en) | Authentication of a device | |
US9560043B2 (en) | Biometric-based wireless device association | |
JP4561704B2 (ja) | 無線通信システム、端末およびその状態報知方法ならびにプログラム | |
CN110602108B (zh) | 基于区块链网络的数据通信方法、装置、设备及存储介质 | |
EP2206312A2 (en) | Pairing exchange | |
WO2019007252A1 (zh) | 一种控制方法及装置 | |
WO2009003372A1 (fr) | Procédé, dispositif et système pour optimiser l'authentification dans un système de communication sans fil | |
CN102594554A (zh) | 蓝牙从设备及其相关认证方法 | |
US20100071033A1 (en) | Authentication coordination system, terminal apparatus, storage medium, authentication coordination method, and authentication coordination program | |
US8885827B2 (en) | System and method for enabling a host device to securely connect to a peripheral device | |
CN110620776A (zh) | 一种数据转移信息传输方法及其装置 | |
JP2008124847A (ja) | 暗号通信システム及び通信端末装置及び暗号通信プログラム及び暗号通信方法 | |
JP5384874B2 (ja) | 無線通信システム | |
US7502629B2 (en) | Methods and devices for transferring a secret to enable authenticated wireless communication | |
JP3944216B2 (ja) | 認証装置、携帯端末、及び、認証方法 | |
JP2008197991A (ja) | 情報処理システム | |
US9363290B2 (en) | Access control information generating system | |
CN113038444B (zh) | 生成应用层密钥的方法和装置 | |
US20220216987A1 (en) | Device and method for managing shared digital key | |
CN106817222B (zh) | 用于光模块的阿里斯塔认证方法、认证装置和光模块 | |
WO2019104989A1 (zh) | 终端和通信方法 | |
US20210083871A1 (en) | Method and device for implementation of safe transactions in blockchain infrastructure | |
JP4630310B2 (ja) | 通信端末、通信システム及び通信接続方法 |