1629. 按鍵持續時間最長的鍵
1177
2025-03-31
3 配對方法
當配對要準備進入配對時,應該啟動配對功能初始化設備。如果響應設備不支持配對或配對無法體現,則無法使用錯誤代碼“不支持配對”的配對失敗消息回復響應設備。
Pairing Feature Exchange用于交換IO能力,OOB身份驗證數據可用性,身份驗證要求,關鍵大小要求以及要分發的特定運輸密鑰。 IO能力,OOB身份驗證數據可用性和身份驗證要求用于確定第2階段使用的關鍵生成方法。
所有的LE 傳統配對方式使用和生成兩個密鑰:
1.臨時密鑰:用于生成STK的配對過程中使用的128位臨時密鑰;
2.短時間密鑰(STK):用于加密連接后續配對的128位臨時密鑰。
LE 安全連接配對方式使用和產生一個密鑰:
長期密鑰(LTK):用于加密連接后續配對和后續連接的128位密鑰。
認證要求由GAP設定。 認證要求包括綁定類型和(MITM)要求。
啟動設備指示響應設備,其中特定密鑰傳輸類似于發送響應設備,并且密鑰類似于響應設備發送到啟動器。 響應設備用啟動設備發出的密鑰和響應設備發出的密鑰回復。 可以分發的密鑰。 如果設備收到帶有無效參數的命令,則必須使用錯誤代碼“無效參數”對失敗命令進行響應。
3.1 安全屬性
SM提供的安全屬性歸入以下類別:
LE安全連接配對
認證的MITM保護
未經授權的非MITM保護
沒有安全要求
在LE傳統配對中,通過使用配對密鑰進入配對的方法獲得了經過認證的(MITM)保護,或者可以使用帶外配對的方法獲得保護。 在LE 安全連接配對中,使用秘鑰進入配對的方法或數字比較方法獲得了經過認證(MITM)保護,或者可以使用帶薪方法獲得。 為了確保生成經過認證的MITM保護,所選的認證要求選項必須具有特定的MITM保護。
未經授權的非MITM保護不會受到MITM攻擊的保護。
對于LE 傳統配對,在使用TK的可預測或簡單設定的價值的配對過程中,沒有一種配對方法可以防止被動泄漏。 如果配對信息在所有配對方法都提供機密性的情況下分發,則會出現泄漏。
啟動設備應保留安全數據庫中分發密鑰的安全屬性記錄。
響應設備可以保留安全數據庫中分布式密鑰的分布式密鑰大小和安全屬性的記錄。 根據關鍵世代方法和談判的關鍵點,響應設備可能會減少關鍵長度,以便啟動并使用相同的密鑰進行響應。
在第2階段生成的密鑰的安全屬性,其中密鑰被分發到安全數據庫中。
3.2 IO能力
設備的輸入和輸出能力與生成其IO能力相結合。 輸入能力在表2.3中描述。 表2.4中描述了輸出能力。
注意:‘是’必須通過按下按鈕來指示,并有一定的時間限制,否則‘不’將被假定。
個人輸入和輸出能力映射到設備的單個IO能力,該設備在交換功能中使用。 映射圖在表2.5中描述。
1 沒有配對算法可以使用是/否輸入和否輸出,因此使用NoInput、NoOutput作為結果IO能力。
3.3 OOB認證數據
可以使用帶外狀機制來傳達在配對過程中使用的信息。 信息應遵循AD結構的順序。
OOB數據標志應在設備具有對等設備的頻段認證數據的情況下設置。 設備使用對端設備從頻段身份驗證數據到對端設備的身份驗證。 在LE傳統配對對中,如果設備有其他設備可以使用帶外認證數據,則使用帶外認證方法。
在LE 安全連接配對中,如果一個設備有對端設備帶外認證數據可能帶外方法。
3.4 加密密鑰大小
每個設備都有最大和最小加密密鑰長度參數,其中定義了八元組加密密鑰的最大和最小大小。 最大和最小加密長度參數應介于7字節(56位)和16字節(128位)之間,以1字節(8位)步為單位。 這是由配置文件或設備應用程序定義的。
初始和響應設備的最大加密長度參數的小值將用作加密密鑰大小。
啟動和響應設備都應檢查結果加密密鑰大小是否小于設備的最小密鑰大小參數,如果是,則設備應發送帶有錯誤代碼“加密密鑰大小”的失敗命令。
加密密鑰大小可以存儲,因此可以通過任何服務進行檢查,因為它具有最小的加密密鑰長度要求。
如果一個秘鑰有一個加密密鑰,那么它是最少的16個字節(128位),它應該通過掩碼生成密鑰的適當MSB來創建,以提供協議加密密鑰所在的密鑰。 面具應在一代之后捐贈,并在分發,使用或存儲之前。
注意:當BR/EDR鏈接鍵從LTK導出時,導數不會在LTK 得到掩碼之前。
例如,如果是128位加密密鑰
0x123456789ABCDEF0123456789ABCDEF0
并且減少到7字節(56位),然后結果是密鑰
0x0000000000000000003456789ABCDEF0。
3.5配對算法
在第1階段交換的信息用于選擇在第2階段使用的密鑰生成方法。
3.5.1 選擇密鑰生成方法
如果設備沒有設置認證要求標志中的MITM選項,則應忽略IO能力,并使用Just works關聯模型。
在LE傳統配對中,如果兩個設備都有帶狀認證數據,那么在選擇支付方法和使用帶狀支付方法時,應忽略認證要求標志。 其他,設備應具有的IO能力用于確定表2.8中定義的配對方法。
在LE 安全連接配對中,如果有一方或雙方設備已從帶外認證數據中刪除,則在選擇配對方法和使用配對方法時將忽略認證要求標志。 其他,設備應具有的IO能力用于確定表2.8中定義的配對方法。
表2.6定義了STK生成方法,其中一個設備不支持LE 安全連接。
表2.7定義了LTK生成方法,其中任何設備都支持LE 安全連接。
生成的密鑰將是經過驗證或未經驗證的密鑰。 如果使用了帶外認證方法,并且帶外機制被認為是安全的,那么從吹出的關鍵被認為是真實的; 然而,確切的力量取決于用于傳輸頻段信息的方法。 如果使用了禁止方法,并且禁止使用禁止機制不是安全的,或者泄漏保護水平是未知的,那么關鍵應該是未經授權的。 表2.8中描述了IO映射為經過驗證或未經驗證的密鑰的能力。
在LE傳統配對對中,如果啟動設備已從頻段數據中刪除,并且響應設備未從頻段數據中刪除,則響應設備可能會發送帶有錯誤代碼“OOB不可用”的配對響應命令的失敗命令。
如果密鑰產生方法沒有提供足夠安全屬性的關鍵,則設備必須發送帶有錯誤代碼“身份驗證要求”的失敗命令。
3.5.2 LE傳統配對-Just Works
在配對過程中,Just Works STK 產生方法在中間攻擊中提供了對Eavesdroppers或man的非保護。 如果攻擊者在配對過程中不存在,則可以通過使用對未來連接的加密來建立信任。
兩個設備都設置了認證機制中使用的TK值為零。
3.5.3 LE傳統配對-Passkey Entry
Passkey Entry STK生成方法使用設備之間的用戶從頻段傳遞的6個數字數字。 一個6位數字隨機生成的密碼接近20位熵。
如果設備的IO能力僅顯示,或者如果表2.8定義了設備顯示passkey,則設備顯示在000,000和999,999之間的隨機生成的passkey值。 顯示應顯示所有6個數字-包括零。 其他設備應使用戶能夠在000,000和999,999之間輸入價值。
如果Passkey進入UI失敗或在設備發出信號時被取消,則使用原因代碼“Passkey Entry Failed”命令失敗。
例如,如果用戶輸入的密碼是‘019655’,那么TK應該是0x00000000000000000000000000000000004CC7。
Passkey Entry 方法提供了對主動”(MITM)攻擊的保護,因為它們將以0.000001的概率發生在幾乎調用該方法的情況下。
Passkey Entry STK生成方法在可能的TK值的有限范圍內依賴于可能的TK值。 如果攻擊者在互惠過程中不存在,則可以通過使用對未來連接的加密來建立信任和認證。
3.5.4 帶外
可以使用頻段機制之外的通信信息來幫助設備發現,例如設備地址,以及使用128位TK值配對過程。 使用此處定義的隨機生成要求,TK值應為128位隨機數字。
如果OOB通信抵抗MITM攻擊,則這種關聯方法也抵抗MITM攻擊。 此外,在樂隊方法之外,認證參數(TK)的大小不受用戶可以舒適閱讀或類型的限制。 為此,可以使用Passkey Entry或Just Works方法使帶外方法更加安全。 但是,任何設備都需要匹配OOB接口。
MITM保護僅在成功攻擊的積極中期內提供,發生的可能性為0.000001或更少。
3.5.5 LE傳統配對階段2
啟動設備生成128位隨機編號(Mrand)。
初始設備使用確認值生成函數c1計算128位確認值(Mconfirm),并輸入參數k集到TK, 輸入參數r設置為Mrand,輸入參數preq設置為交換對等設備(即。 在沒有任何修改的情況下),輸入參數后,將發送給對等設備交換的配對響應命令(即。 沒有任何修改),輸入參數設置為啟動設備地址類型,設置為啟動設備地址,設置為響應設備地址類型,設置為響應設備地址類型,設置為響應設備地址:
Mconfirm = c1(TK, Mrand, Pairing Request command, Pairing Response command, initiating device address type, initiating device address, responding device address type, responding device address)
用于確認生成的啟動和響應設備地址必須在連接設置期間使用設備地址。
響應設備生成128位隨機編號(Srand)。
響應設備使用確認值生成函數c1計算128位確認值(確認值),并輸入參數k集到TK, 輸入參數設置為Srand, 輸入參數預置請求命令, 輸入參數設置為發送響應命令,輸入參數設置為啟動設備地址類型,設置為啟動設備地址,設置為響應設備地址類型,設置為響應設備地址類型,設置為響應設備地址類型:
Sconfirm = c1(TK, Srand, Pairing Request command, Pairing Response command, initiating device address type, initiating device address, responding device address type, responding device address)
啟動設備傳輸確認響應設備。 當響應設備接收確認時,它會將確認傳輸到啟動設備。 當啟動設備接收確認它發送到響應設備時。
響應設備通過使用收到的Mrand值重復計算初始設備性能來驗證Mconfirm值。
如果回復設備的計算確認值不匹配從啟動設備收到的確認值,則應中止對該設備的處理,并且響應設備應發送帶有原因代碼“確認價值失敗”的配對失敗命令。
如果響應設備的計算Mconfirm值匹配從啟動設備接收到的Mconfirm值,則響應設備傳輸Srand到啟動設備。
啟動設備使用收到的Srand值通過重復計算響應設備性能來驗證收到的確認值。
如果初始設備計算了確認值,則不會匹配響應進程中止時收到的確認值,并且啟動設備應發送給原因代碼“確認值失敗”的失敗命令。
如果啟動設備的計算確認值匹配,則從響應中收到的確認值會消耗STK計算的啟動設備,并將控制器調用到可加密的加密中。
使用密鑰生成函數s1生成STK,其中輸入參數k集為TK,輸入參數r1集為Srand,輸入參數r2集為Mrand:
STK = s1(TK, Srand, Mrand)
發起人應使用生成的STK對鏈接上的可加密,或者如果加密已經打開,則穿孔加密暫停程序。
3.5.6 LE安全連接配對階段2
長密鑰是在LE安全連接第2階段生成的。
公開密鑰交換
最初,每個設備生成是橢圓曲線差分Hellman(ECDH)公共-私人密鑰對(第1階段)。 公私合作伙伴關系包含私人內容(秘密)密鑰和公鑰。 設備A和B的私鑰分別表示為SKa和SKb。 設備A和B的公鑰分別表示為PKa和PKb。 有關如何經常更改此關鍵對的建議。
啟動設備啟動了配對,將其公共密鑰路由到接收設備(第1a階段)。 響應設備使用其自己的公鑰回復(第1b階段)。 這些公鑰并非秘密地傳達給他們,因為他們可以識別設備。
從任何BD_ADDR收到的任何公共密鑰的設備應在正確的曲線上驗證(P-256)。
有效的公鑰Q=(XQ,YQ)是其中一個XQ,YQ在范圍0到p-1之間,并且滿足相關曲線有限域中的等式(YQ)2=(XQ)3+aXQ+b(mod p)。 關于a,b和p的值。
設備可以通過直接檢查曲線方程來驗證公鑰,通過實施橢圓曲線點添加和加倍公式,這些公式僅在正確的曲線上或通過其他方法有效。
如果不使用結果LTK,則在LE 安全連接配對過程期間任何一點從對等方檢測到無效的公鑰。
公鑰交換后,設備可以開始計算Diffie-Hellman密鑰。
當安全管理被放入Debug模式時,他應該使用以下差異-Hellman私人/公共密鑰對:
私人密鑰:3f49f6d4至3c55f38 74c9b3e3 d2103f50 4aff607b eb40b799 5899b8a6 cd3c1abd 公鑰(X):20b003d2 f297be2c 5e2c83a7 e9f9a5b9 eff49111 acf4fddb cc030148 0e359de6 公鑰(Y):dc809c49 652aeb6d 63329abf 5a52155c 766345c2 8fed3024 741c8ed0 1589d28b
注意:只有一側(啟動或響應)需要設置安全連接調試模式,以便調試設備以確定LTK,并且,在那里,可以監視加密連接。
認證階段1-公平工作或數字比較
如果MITM位在配對請求 PDU和/或配對請求 PDU的認證要求中設置為1并且/或配對響應 PDU和兩者兼而有之,則將使用數字比較關聯模型。設備已設置IO以顯示否或鍵盤顯示
圖2.3所示的密碼學觀點的Just Works或數字比較協議的認證階段1的順序對話。
公鑰交換后,each將設備選擇設置為偽128位非(第2步)。 該值用于防止重播攻擊,并且必須通過對端協議的幾乎實例生成。 該值應直接從無障礙的物理源或從物理源獲得具有隨機值的良好偽隨機發生器生成。
以下是對已交換的兩個公鑰的承諾及其自身的十一個值的計算的響應設備(步驟3c)。 該承諾作為這些價值的單向函數計算,并傳遞給啟動設備(第4步)。 承諾防止在以后改變這些價值的攻擊者。
交換各自的九個值(第5步和第6步)的啟動和響應設備以及啟動設備確認承諾(步驟6a)。此時失敗表明存在攻擊者或其他傳輸錯誤并導致中止協議。 議定書可以與新一代公私伙伴關系重復或重復,但如果議定書重復,則必須生成新的非協議。
使用數字比較時,假設提交檢查發生,兩個設備計算6位數確認值,然后將其顯示給各自設備上的用戶(步驟7a,7b和8)。 預計用戶將檢查6位數字匹配值并確認是否匹配。 如果沒有匹配,則必須生成“議定書”廢除,并且如果要重復“議定書”,則必須生成新的nonces。
認證階段1-Passkey Entry
認證階段1-帶外
認證階段2和長期密鑰計算
3.6 重復事項
當驗證者將啟動新的配對請求命令或安全請求命令相同配對之前的配對程序失敗時, 或者,它將響應由設備啟動的配對請求命令或安全請求命令,以失敗的設備聲稱相同的身份。 對于后來的失敗,等待中間應該是指數增加。 這是,幾乎失敗后,可以在新的注意事項之前等待插槽,可以舉例說明,兩次等待插槽早于之前的注意事項。 等待干預應限于最大值。
最大等待間隔依賴于實施。 等待時間應按指數順序減少到最低限度,因為沒有新的失敗事件是在一定時間內完成的。 該程序通過使用大量不同的密鑰重復配對程序來防止這種情況發生。
為了保護設備的私鑰,設備應該實施一種方法,以防止攻擊有關設備私鑰的二手信息。 為此,每次付款后(成功或失敗),設備必須更改為私人密鑰。 其他,它應該改變它的私人密鑰,因為S+3F>8,其中S是成功配對的數量,F是自密鑰最后更改以來失敗的注意事項的數量。
嵌入式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。