2015-03-02 92 views
1

有人可以建議在BLE通信中是否有可能在連接建立之前從外設驗證中心設備?iOS Core藍牙BLE安全與Hm10外圍設備

實施例: 1)Peripherial通告連續 2)中部發現Peripherial併發送連接請求 3)建立連接,並且廣告停止 3)Peripherial認證中心通過AES或配對等 4)如果認證成功的是傳輸數據。

無論哪種方式,一旦這個惡意中心連接到外圍,Genuine Central將無法作爲每個外圍設備。如果我理解正確,Peripherial不能結束連接或啓動連接,並且外設不允許同時連接。

我該如何解決這個問題?即使有可能通過某種方式終止外圍連接,惡意中心仍將保持重新連接,從而實質上執行拒絕服務(DOS)攻擊。

謝謝!

+0

我想下面的鏈接將幫助您, https://stackoverflow.com/questions/43567569/how-to-ask-for-authentication-before-connect-to-devices-using-bluet ooth/45032813#45032813 Regards Bharath GK – 2017-07-11 11:16:02

回答

1

你的序列有點不對。它應該是 -

  1. 外圍通告
  2. 中央發現周圍並嘗試連接,如果中央沒有已經配對,如果配對成功
  3. 連接完成
  4. PIN請求。如果不返回到狀態1
  5. 如果連接成功,廣告停止和數據可以傳輸。

因此,安全性基於PIN保密。如果PIN是衆所周知的(即,默認爲0000)或者可以容易地發現(打印/顯示在設備上並且可以進行物理訪問),則安全性被破壞。

從理論上講,DOS攻擊也可以通過重複連接嘗試來實現,但這仍然爲合法中心連接提供了機會。

+0

你好, 謝謝你的回答是有道理的。 你能指導我如何在iOS上做到這一點? hm10模塊沒有引腳啓用或禁用選項。它只有一個引腳設置選項,默認引腳0000000.所以引腳必須始終使能。 因此從技術上講,iOS應該在連接到外圍設備時詢問該引腳的權利?我已經檢查過cbcentralmanager的方法,它並沒有提到任何地方的pin,它是否通過ios處理,顯示彈出給用戶喜歡在配對? 謝謝! – 2015-03-03 03:05:37

+0

當試圖讀取/寫入標記爲「需要加密」的屬性時,iOS會請求PIN /配對。我懷疑HM10不支持這個。如果你有一個潛在的DOS問題,你可能需要使用一個不同的模塊。 – Paulw11 2015-03-03 03:09:55

+0

是的,但在讀/寫之前,如果我沒有弄錯,外圍設備必須成功連接到中心。 – 2015-03-03 05:20:29

1

好的,這有點晚,但無論如何:從v515開始,您可以使用AT+TYPEx命令更改身份驗證行爲。

x可以是,根據該文檔:

  • 0:不需要PIN代碼(默認)
  • 1:驗證不需要PIN
  • 2:驗證與PIN
  • 3:驗證和債券