一種在從屬藍牙設備抵御非法連接攻擊的方法和裝置的制造方法
【專利摘要】本發明提供一種在從屬藍牙設備抵御非法連接攻擊的方法和裝置。本發明的方法包括:當從屬藍牙設備與任一主藍牙設備連接時,把從屬藍牙設備的開關參數的值設置為“主藍牙設備身份不合法”,啟動定時器,并執行對該主藍牙設備的身份認證;當身份認證確定主藍牙設備合法,則把開關參數的值設置為“主藍牙設備身份合法”,否則斷開與該主藍牙設備的連接;根據定時器,在設定的時間期滿后立刻檢查開關參數的值,當開關參數的值是“主藍牙設備身份不合法”,則斷開與該主藍牙設備的連接;當主藍牙設備訪問從屬藍牙設備內的數據,如果開關參數的值是“主藍牙設備身份合法”,則允許訪問,否則斷開與該主藍牙設備的連接。
【專利說明】
_種在從屬藍牙設備抵御非法連接攻擊的方法和裝置
技術領域
[0001] 本發明涉及信息安全技術領域,特別地涉及一種在從屬藍牙設備抵御非法連接攻 擊的方法和裝置。
【背景技術】
[0002] 低功耗藍牙,又稱BLE(Bluetooth Low Energy)。在處于連接狀態的一對BLE設備 中,必然有一個是Master(主角色),另一個是Slave(從角色)。在進入連接狀態之前,Slave 一直在廣播信息,Master掃描到Slave的廣播信息之后可以對其發起連接請求,并且在 Slave接受請求后雙方建立連接關系。
[0003] Slave對于連接請求是來者不拒的,任何一個掃描到Slave廣播的BLE Master設備 都可以向Slave發起連接請求,Slave只要收到連接請求就會立即接受。如圖1所示,是低功 耗藍牙設備的連接狀態示意圖,因為一個slave只能連接一個master,所以如果一個非法 mas ter連接上了 slave,此時合法的mas ter就無法連接這個slave,從而也就無法與這個 slave實現藍牙通訊。在非法mas ter和slave連接的這段時間里合法mas ter-直無法和 slave建立連接,更無法與其通信。這樣就構成了拒絕服務攻擊。
[0004] 要想讓合法master有機會連接slave,就得使slave重新進入廣播狀態,目前常用 的辦法是將slave斷電重新上電,或者使得slave遠離非法master。
[0005] 但是目前常用的方法,由于不能保證合法master會第一時間與slave連接上,因此 可能需要頻繁的將slave斷電和重新加電,導致用戶體驗度差。而且,由于slave不能記錄非 法mas ter,因此不能避免同一非法mas ter的多次連接。
【發明內容】
[0006] 為了至少部分地解決上述問題,本發明提供一種在從屬藍牙設備抵御非法連接攻 擊的方法和裝置,能夠保證當slave被非法master連接之后,不用重新斷電或者遠離即可在 很短的時間之內使slave自動斷開和非法master的連接,并且可以對非法master進行記錄, 以更快速地斷開同一非法master與slave的重復連接,給合法master以重新與slave建立合 法連接的機會。
[0007] 為實現上述目的,根據本發明的一個方面,提供了一種在從屬藍牙設備抵御非法 連接攻擊的方法。
[0008] -種在從屬藍牙設備抵御非法連接攻擊的方法,包括:當所述從屬藍牙設備與任 一主藍牙設備連接時,把所述從屬藍牙設備的開關參數的值設置為"主藍牙設備身份不合 法",啟動定時器,并執行對該主藍牙設備的身份認證;其中,當所述身份認證確定所述主藍 牙設備合法,則把所述開關參數的值設置為"主藍牙設備身份合法",否則斷開與該主藍牙 設備的連接;其中,根據所述定時器,在設定的時間期滿后立刻檢查所述開關參數的值,當 所述開關參數的值是"主藍牙設備身份不合法",則斷開與該主藍牙設備的連接;其中,當所 述主藍牙設備訪問所述從屬藍牙設備內的數據,如果所述開關參數的值是"主藍牙設備身 份合法",則允許訪問,否則斷開與該主藍牙設備的連接。
[0009] 可選地,檢查所述開關參數的值通過所述定時器發出定時中斷來觸發,其中當所 述設定的時間期滿后,所述定時器立即發出所述定時中斷。
[0010] 可選地,所述設定的時間是根據所述從屬藍牙設備的硬件能力和產品需求設置 的。
[0011] 可選地,所述開關參數沒有標簽,且不能被主藍牙設備操作。
[0012] 可選地,所述身份認證包括:從屬藍牙設備生成隨機數,并將該隨機數發送給主藍 牙設備;所述主藍牙設備使用自己的私鑰對所述隨機數進行數字簽名,并將所述數字簽名 發送給所述從屬藍牙設備;所述從屬藍牙設備對所述數字簽名使用所述主藍牙設備的公鑰 進行驗證,如果能夠還原出所述隨機數,則認證所述主藍牙設備身份合法,否則認證所述主 藍牙設備身份不合法。
[0013] 可選地,還包括:通過使所述隨機數盡量隨機并且足夠長,和/或通過使用對稱加 密算法對隨機數及其數字簽名進行加密,以抵御不合法的主藍牙設備對身份認證數據的竊 聽。
[0014] 可選地,還包括:通過設置黑名單,用于保存之前與所述從屬藍牙設備連接過的身 份不合法的主藍牙設備,使得不合法的主藍牙設備與所述從屬藍牙設備再次連接后會直接 斷開連接。
[0015] 根據本發明的另一方面,提供了一種在從屬藍牙設備抵御非法連接攻擊的裝置。
[0016] -種在從屬藍牙設備抵御非法連接攻擊的裝置,包括:存儲器和處理器,其中,所 述存儲器存儲指令;所述處理器執行所述指令用于:當所述從屬藍牙設備與任一主藍牙設 備連接時,把所述從屬藍牙設備的開關參數的值設置為"主藍牙設備身份不合法",啟動定 時器,并執行對該主藍牙設備的身份認證;其中,當所述身份認證確定所述主藍牙設備合 法,則把所述開關參數的值置為"主藍牙設備身份合法",否則斷開與該主藍牙設備的連接; 其中,根據所述定時器,在設定的時間期滿后立刻檢查所述開關參數的值,當所述開關參數 的值是"主藍牙設備身份不合法",則斷開與該主藍牙設備的連接;其中,當所述主藍牙設備 訪問所述從屬藍牙設備內的數據,如果所述開關參數的值是"主藍牙設備身份合法",則允 許訪問,否則斷開與該主藍牙設備的連接。
[0017] 可選地,所述處理器檢查所述開關參數的值通過所述定時器發出定時中斷來觸 發,其中當所述設定的時間期滿后,所述定時器立即發出所述定時中斷。
[0018] 可選地,所述設定的時間是根據所述從屬藍牙設備的硬件能力和產品需求設置 的。
[0019 ]可選地,所述開關參數沒有標簽,且不能被主藍牙設備操作。
[0020] 可選地,所述處理器進行所述身份認證包括:從屬藍牙設備生成隨機數,并將該隨 機數發送給主藍牙設備;所述主藍牙設備使用自己的私鑰對所述隨機數進行數字簽名,并 將所述數字簽名發送給所述從屬藍牙設備;所述從屬藍牙設備對所述數字簽名使用所述主 藍牙設備的公鑰進行驗證,如果能夠還原出所述隨機數,則認證所述主藍牙設備身份合法, 否則認證所述主藍牙設備身份不合法。
[0021 ] 可選地,所述處理器還用于:通過使所述隨機數盡量隨機并且足夠長,和/或通過 使用對稱加密算法對隨機數及其數字簽名進行加密,以抵御不合法的主藍牙設備對身份認 證數據的竊聽。
[0022] 可選地,所述處理器還用于:通過設置黑名單,用于保存之前與所述從屬藍牙設備 連接過的身份不合法的主藍牙設備,使得不合法的主藍牙設備與所述從屬藍牙設備再次連 接后會直接斷開連接。
[0023] 根據本發明的技術方案,通過為從屬藍牙設備引入開關參數switch來標識主藍牙 設備的身份是否合法,并通過對主藍牙設備進行身份認證以修改開關參數的值,以及根據 開關參數的值來確定是保持還是斷開與主藍牙設備的連接,能夠保證當slave被非法 master連接之后,不用重新斷電或者遠離,至多在設定的短時間期滿后立刻使slave自動斷 開與非法master的連接。同時,對主藍牙設備的身份認證進行加密,可以抵御非法master對 身份認證數據的被動偷聽,提高藍牙設備連接的安全性。另外,通過設置黑名單的方式可以 對非法master進行記錄,以更快速地斷開同一非法master與slave的重復連接,從而給合法 master以重新與slave建立合法連接的機會。
【附圖說明】
[0024] 附圖用于更好地理解本發明,不構成對本發明的不當限定。其中:
[0025] 圖1是低功耗藍牙設備的連接狀態示意圖;
[0026] 圖2是根據本發明實施例的在從屬藍牙設備抵御非法連接攻擊的方法的主要步驟 示意圖;
[0027]圖3是本發明實施例的身份認證過程示意圖;
[0028] 圖4是根據本發明實施例的在從屬藍牙設備抵御非法連接攻擊的裝置的主要模塊 示意圖。
【具體實施方式】
[0029] 以下結合附圖對本發明的示范性實施例做出說明,其中包括本發明實施例的各種 細節以助于理解,應當將它們認為僅僅是示范性的。因此,本領域普通技術人員應當認識 到,可以對這里描述的實施例做出各種改變和修改,而不會背離本發明的范圍和精神。同 樣,為了清楚和簡明,以下的描述中省略了對公知功能和結構的描述。
[0030]圖2是根據本發明實施例的在從屬藍牙設備抵御非法連接攻擊的方法的主要步驟 示意圖。根據本發明的實施例,本發明主要可以包括兩部分內容:一是對主藍牙設備的身份 認證;二是根據身份認證的結果確定是否斷開與主藍牙設備的連接。如圖2所示,本發明的 在從屬藍牙設備抵御非法連接攻擊的方法主要包括如下的步驟S21和步驟S22。
[0031 ]步驟S21:當從屬藍牙設備與任一主藍牙設備連接時,把從屬藍牙設備的開關參數 的值設置為"主藍牙設備身份不合法",同時啟動定時器,并執行對該主藍牙設備的身份認 證;
[0032]步驟S22:當身份認證確定主藍牙設備合法,則把開關參數的值設置為"主藍牙設 備身份合法",否則斷開與該主藍牙設備的連接;根據定時器,在設定的時間期滿后立刻檢 查開關參數的值,當開關參數的值是"主藍牙設備身份不合法",則斷開與該主藍牙設備的 連接;當主藍牙設備訪問從屬藍牙設備內的數據,如果開關參數的值是"主藍牙設備身份合 法",則允許訪問,否則斷開與該主藍牙設備的連接。
[0033] 在從屬藍牙設備slave上,至少要設置一個服務service,這個service至少要包括 --個會κ寫write的特性characteristic)不管是write with response還是write without response)。這樣主藍牙設備master才能夠寫slave的數據,才能夠控制slave。當然了,如果 slave設備想讓master讀自己的數據的話,那么應當在service之下設置一個指示特性 indication characteristic或者通知特性notification characteristic。
[0034] 在本發明中,為從屬藍牙設備slave引入一個開關參數switch用于記錄主藍牙設 備master的身份是否合法。該開關參數switch沒有標簽,且不能被主藍牙設備操作。由于 switch數據沒有編制標簽Tag,因此主藍牙設備master無法對其尋址,也就無法讀寫這個數 據。其中。本發明的slave設備中數據存儲的方式將于后詳述。
[0035] 當從屬藍牙設備slave開始加電并運行時,即將switch的初值設置成"Master身份 不合法"。同樣地,當slave與任一master連接時,也會立即將switch的值設置成"Master身 份不合法",同時,立即使能一個定時器,并執行對該master進行身份認證的程序。
[0036]根據本發明的實施例,對master進行身份認證主要可以包括以下步驟:
[0037]從屬藍牙設備生成隨機數,并將該隨機數發送給主藍牙設備;
[0038]所述主藍牙設備使用自己的私鑰對所述隨機數進行數字簽名,并將所述數字簽名 發送給所述從屬藍牙設備;
[0039]所述從屬藍牙設備對所述數字簽名使用所述主藍牙設備的公鑰進行驗證,如果能 夠還原出所述隨機數,則認證所述主藍牙設備身份合法,否則認證所述主藍牙設備身份不 合法。
[0040]圖3是本發明實施例的身份認證過程示意圖。如圖3所示,當有master與slave建立 連接之后,slave將強制master進行身份認證。認證過程如下:
[0041 ] 1、slave設備端生成隨機數random,并將隨機數random發送給master,注意:一旦 使能定時器之后就立即將隨機數random發送給master以進行身份認證;
[0042] 2、master使用自己的私鑰priv_key對random進行數字簽名,并將數字簽名發送給 slave;
[0043] 3、slave對數字簽名使用master的公鑰pub_key進行驗證;
[0044] 4、如果能夠還原出random,那么說明master身份合法,如果還原不出random,那么 說明master身份不合法。
[0045] 如果認證mas ter的身份合法,將switch的值置成"Mas ter身份合法";如果認證 master的身份不合法,則保持switch的初值"Master身份不合法"不變。
[0046]在根據身份認證的結果確定是否斷開與主藍牙設備的連接時,主要是根據全局變 量switch的值來進行。
[0047]如前所述,在身份認證之后,如果switch的值為"Master身份合法"時,將保持 slave與該master的連接,如果switch的值為"Master身份不合法"時,將斷開與master的連 接。
[0048] 在slave與任一 master連接后,立即使能一個定時器。在不能及時確定master的身 份是否合法的情況下,利用定時器根據一設定的時間^!1^_1是否期滿來決定是否需要斷開 slave和master的連接。由于在進行身份認證的時候,會出現網絡延遲或者master惡意拖延 回復時間等情況,導致不能及時完成身份認證。為了保證安全性,在設定的時間期滿時將可 能的不合法m a s t e r的連接斷開,因此利用定時器根據設定的時間t i m e _ x將可能不合法 master的連接斷開。
[0049] 上述設定的時間是根據所述從屬藍牙設備的硬件能力和產品需求設置的。
[0050] 根據本發明的實施例,檢查所述開關參數的值可以通過所述定時器發出定時中斷 來觸發,其中當所述設定的時間期滿后,所述定時器立即發出所述定時中斷。例如:可設置 定時器在time_x (例如:1秒)期滿時發出一個定時中斷,在對這個定時器的定時中斷的處理 函數中,要檢查master身份驗證結果:
[0051 ]如果(switch= =Master 身份合法)
[0052]不執行任何操作
[0053] 否則
[0054] 斷開和不合法Master的連接。
[0055]另外,在master與slave連接后,身份認證還未進行或者雖然已開始但未完成的情 況下,還可針對主藍牙設備master訪問從屬藍牙設備slave內的數據的事實來斷開slave和 master的連接,從而防止可能非法的master獲得slave的數據。當主藍牙設備master訪問從 屬藍牙設備slave內的數據,如果開關參數switch的值是"主藍牙設備身份合法",則允許訪 問,否則立刻斷開與該主藍牙設備的連接。也就是說,利用全局變量switch來保護slave中 的其他數據。保護方式如下:
[0056]如果(switch= =Master 身份合法)
[0057] Slave中的數據允許訪問
[0058] 否則
[0059] 斷開和不合法Master的連接。
[0000] 采取以上方案,在slave與mas ter連接之后,如果master是非法mas ter的話,最多 至設定的時間time_x(如1秒)期滿,slave設備就會主動斷開和master的連接。如果在time_ X期滿前master有訪問slave設備內數據的動作,那么就會直接導致slave設備和該master 斷開連接;如果在time_x期滿前master身份認證失敗,即認證結果是master非法,那么也會 直接導致slave設備和非法master斷開連接。
[0061 ] 因此,如果在time_x期滿時未完成對master的身份認證,則斷開與該master的連 接;如果master不進行身份認證直接訪問slave的數據,則會被直接斷開與該master的連 接;如果對master身份認證的結果是該master非法,則直接斷開與該master的連接。
[0062] 如果在time_x期滿前完成身份認證且認證結果是master合法,那么該master可以 正常訪問數據。這種情況下,到了time_X期滿時定時器可仍然發出定時中斷。此時,中斷處 理函數檢查s w i t ch的值,該值應該是"Mas t er身份合法"。
[0063]根據本發明的技術方案,為了更好地抵御非法連接攻擊,還可以采取以下方案: [0064]方案1、抵御被動偷聽以獲取身份認證數據
[0065] 通過使所述隨機數盡量隨機并且足夠長,和/或通過使用對稱加密算法對隨機數 及其數字簽名進行加密,以抵御不合法的主藍牙設備對身份認證數據的竊聽。
[0066] 結合圖3,如果有非法master竊聽獲得合法master的〈random,數字簽名priv_key (random)〉數據對,并建立列表。這樣一旦它再次竊聽到random之后,雖然它無法計算出數 字簽名priv_key(random),但卻可以通過查表獲得數字簽名priv_key(random),從而冒充 合法身份。為抵御這種攻擊,可以采取兩種措施:
[0067] 措施一:隨機數random的產生要盡量隨機,并足夠長,這樣發生隨機數碰撞的概率 接近于〇;
[0068] 措施二:可以對〈random,數字簽名priv_key (random)〉數據傳輸進行對稱加密,使 用master和slave共享的對稱密鑰,采用對稱算法進行加解密。
[0069]方案2、可以建立黑名單制度
[0070]通過設置黑名單,用于保存之前與所述從屬藍牙設備連接過的身份不合法的主藍 牙設備,使得不合法的主藍牙設備與所述從屬藍牙設備再次連接后會直接斷開連接。
[0071 ] 因為在連接請求中包含著master的物理地址mac address,所以對于被slave設備 斷開過連接的master,在slave中可以保存一份非法master的物理地址mac address列表。 這樣當在黑名單中的master再一次重新連接上slave之后,slave不必驗證這個master的身 份,直接斷開和它的連接即可。如此,即可更快速地斷開和不合法mas ter的連接。
[0072] 下面將介紹本發明slave設備中的數據存儲形式。
[0073] slave設備中的數據可以采取的組織方式見表1。
[0074] 表 1
[0076]其中,name表示數據的名稱,value表示數據的值。
[0077] 其中,switch即為本發明中為slave設置的開關參數,property_x(x = 1、2、…、η) 即為slave和master可進行通信的數據。本發明采用標簽長度值TLV(Tag+Length+Value)編 碼的通信方式,使slave和master進行數據通信。
[0078] 其中,每個標簽長度值TLV編碼的格式如表2所示。
[0079] 表 2
[0081]其中,標簽Tag是當前通信要操作的數據Property_x對應的Tag,可靈活編號;長度 Length是Value的長度,也就是數據Property_x_值所對應的長度;值Value是當前操作的 Property_x在本次通信過程中的值。
[0082]由表1可以看出,數據switch是沒有編制標簽Tag值的,這樣master就無法對 switch進行尋址,從而無法讀寫該數據,亦即無法修改switch的值。從而可以保證switch的 值的客觀正確性。
[0083]圖4是根據本發明實施例的在從屬藍牙設備抵御非法連接攻擊的裝置的主要模塊 示意圖。如圖4所示,本發明的在從屬藍牙設備抵御非法連接攻擊的裝置40主要包括存儲器 41和處理器42。
[0084]其中,存儲器41存儲指令;處理器42執行所述指令用于:當所述從屬藍牙設備與任 一主藍牙設備連接時,把所述從屬藍牙設備的開關參數的值設置為"主藍牙設備身份不合 法",啟動定時器,并執行對該主藍牙設備的身份認證;其中,當所述身份認證確定所述主藍 牙設備合法,則把所述開關參數的值設置為"主藍牙設備身份合法",否則斷開與該主藍牙 設備的連接;其中,根據所述定時器,在設定的時間期滿后立刻檢查所述開關參數的值,當 所述開關參數的值是"主藍牙設備身份不合法",則斷開與該主藍牙設備的連接;其中,當所 述主藍牙設備訪問所述從屬藍牙設備內的數據,如果所述開關參數的值是"主藍牙設備身 份合法",則允許訪問,否則斷開與該主藍牙設備的連接。
[0085] 處理器42檢查所述開關參數的值通過所述定時器發出定時中斷來觸發,其中當所 述設定的時間期滿后,所述定時器立即發出所述定時中斷。
[0086] 本發明中,所述設定的時間是根據所述從屬藍牙設備的硬件能力和產品需求設置 的。
[0087] 所述開關參數沒有標簽,且不能被主藍牙設備操作。
[0088]根據本發明的技術方案,處理器42進行所述身份認證包括:從屬藍牙設備生成隨 機數,并將該隨機數發送給主藍牙設備;所述主藍牙設備使用自己的私鑰對所述隨機數進 行數字簽名,并將所述數字簽名發送給所述從屬藍牙設備;所述從屬藍牙設備對所述數字 簽名使用所述主藍牙設備的公鑰進行驗證,如果能夠還原出所述隨機數,則認證所述主藍 牙設備身份合法,否則認證所述主藍牙設備身份不合法。
[0089] 處理器42還可以用于:通過使所述隨機數盡量隨機并且足夠長,和/或通過使用對 稱加密算法對隨機數及其數字簽名進行加密,以抵御不合法的主藍牙設備對身份認證數據 的竊聽。
[0090] 處理器42還可以用于:通過設置黑名單,用于保存之前與所述從屬藍牙設備連接 過的身份不合法的主藍牙設備,使得不合法的主藍牙設備與所述從屬藍牙設備再次連接后 會直接斷開連接。
[0091] 根據本發明實施例的技術方案,通過為從屬藍牙設備引入開關參數switch來標識 主藍牙設備的身份是否合法,并通過對主藍牙設備進行身份認證以修改開關參數的值,以 及根據開關參數的值來確定是保持還是斷開與主藍牙設備的連接,能夠保證當slave被非 法master連接之后,不用重新斷電或者遠離,至多在設定的短時間期滿后立即使slave自動 斷開與非法master的連接。同時,對主藍牙設備的身份認證進行加密,可以抵御非法master 對身份認證數據的被動偷聽,提高藍牙設備連接的安全性。另外,通過設置黑名單的方式可 以對非法master進行記錄,以更快速地斷開同一非法master與slave的重復連接,從而給合 法mas ter以重新與s lave建立合法連接的機會。
[0092] 上述【具體實施方式】,并不構成對本發明保護范圍的限制。本領域技術人員應該明 白的是,取決于設計要求和其他因素,可以發生各種各樣的修改、組合、子組合和替代。任何 在本發明的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發明保護范圍 之內。
【主權項】
1. 一種在從屬藍牙設備抵御非法連接攻擊的方法,其特征在于,包括: 當所述從屬藍牙設備與任一主藍牙設備連接時,把所述從屬藍牙設備的開關參數的值 設置為"主藍牙設備身份不合法",啟動定時器,并執行對該主藍牙設備的身份認證; 其中,當所述身份認證確定所述主藍牙設備合法,則把所述開關參數的值設置為"主藍 牙設備身份合法",否則斷開與該主藍牙設備的連接; 其中,根據所述定時器,在設定的時間期滿后立刻檢查所述開關參數的值,當所述開關 參數的值是"主藍牙設備身份不合法",則斷開與該主藍牙設備的連接; 其中,當所述主藍牙設備訪問所述從屬藍牙設備內的數據,如果所述開關參數的值是 "主藍牙設備身份合法",則允許訪問,否則斷開與該主藍牙設備的連接。2. 根據權利要求1所述的方法,其特征在于,檢查所述開關參數的值通過所述定時器發 出定時中斷來觸發,其中當所述設定的時間期滿后,所述定時器立即發出所述定時中斷。3. 根據權利要求1所述的方法,其特征在于,所述設定的時間是根據所述從屬藍牙設備 的硬件能力和產品需求設置的。4. 根據權利要求1所述的方法,其特征在于,所述開關參數沒有標簽,且不能被主藍牙 設備操作。5. 根據權利要求1所述的方法,其特征在于,所述身份認證包括: 從屬藍牙設備生成隨機數,并將該隨機數發送給主藍牙設備; 所述主藍牙設備使用自己的私鑰對所述隨機數進行數字簽名,并將所述數字簽名發送 給所述從屬藍牙設備; 所述從屬藍牙設備對所述數字簽名使用所述主藍牙設備的公鑰進行驗證,如果能夠還 原出所述隨機數,則認證所述主藍牙設備身份合法,否則認證所述主藍牙設備身份不合法。6. 根據權利要求5所述的方法,其特征在于,還包括: 通過使所述隨機數盡量隨機并且足夠長,和/或通過使用對稱加密算法對隨機數及其 數字簽名進行加密,以抵御不合法的主藍牙設備對身份認證數據的竊聽。7. 根據權利要求1所述的方法,其特征在于,還包括: 通過設置黑名單,用于保存之前與所述從屬藍牙設備連接過的身份不合法的主藍牙設 備,使得不合法的主藍牙設備與所述從屬藍牙設備再次連接后會直接斷開連接。8. -種在從屬藍牙設備抵御非法連接攻擊的裝置,其特征在于,包括: 存儲器和處理器,其中, 所述存儲器存儲指令; 所述處理器執行所述指令用于: 當所述從屬藍牙設備與任一主藍牙設備連接時,把所述從屬藍牙設備的開關參數的值 設置為"主藍牙設備身份不合法",啟動定時器,并執行對該主藍牙設備的身份認證; 其中,當所述身份認證確定所述主藍牙設備合法,則把所述開關參數的值設置為"主藍 牙設備身份合法",否則斷開與該主藍牙設備的連接; 其中,根據所述定時器,在設定的時間期滿后立刻檢查所述開關參數的值,當所述開關 參數的值是"主藍牙設備身份不合法",則斷開與該主藍牙設備的連接; 其中,當所述主藍牙設備訪問所述從屬藍牙設備內的數據,如果所述開關參數的值是 "主藍牙設備身份合法",則允許訪問,否則斷開與該主藍牙設備的連接。9. 根據權利要求8所述的裝置,其特征在于,所述處理器檢查所述開關參數的值通過所 述定時器發出定時中斷來觸發,其中當所述設定的時間期滿后,所述定時器立即發出所述 定時中斷。10. 根據權利要求8所述的裝置,其特征在于,所述設定的時間是根據所述從屬藍牙設 備的硬件能力和產品需求設置的。11. 根據權利要求8所述的裝置,其特征在于,所述開關參數沒有標簽,且不能被主藍牙 設備操作。12. 根據權利要求8所述的裝置,其特征在于,所述處理器進行所述身份認證包括: 從屬藍牙設備生成隨機數,并將該隨機數發送給主藍牙設備; 所述主藍牙設備使用自己的私鑰對所述隨機數進行數字簽名,并將所述數字簽名發送 給所述從屬藍牙設備; 所述從屬藍牙設備對所述數字簽名使用所述主藍牙設備的公鑰進行驗證,如果能夠還 原出所述隨機數,則認證所述主藍牙設備身份合法,否則認證所述主藍牙設備身份不合法。13. 根據權利要求12所述的裝置,其特征在于,所述處理器還用于: 通過使所述隨機數盡量隨機并且足夠長,和/或通過使用對稱加密算法對隨機數及其 數字簽名進行加密,以抵御不合法的主藍牙設備對身份認證數據的竊聽。14. 根據權利要求8所述的裝置,其特征在于,所述處理器還用于: 通過設置黑名單,用于保存之前與所述從屬藍牙設備連接過的身份不合法的主藍牙設 備,使得不合法的主藍牙設備與所述從屬藍牙設備再次連接后會直接斷開連接。
【文檔編號】H04W12/06GK106028319SQ201610563344
【公開日】2016年10月12日
【申請日】2016年7月18日
【發明人】張華
【申請人】北京京東尚科信息技術有限公司, 北京京東世紀貿易有限公司