8.2 機制7:兩個設備都具有簡單輸出接口
8.2.1 概述
本機制有兩個變種(7a和7b),8.2.3節定義的機制7a要求兩個設備之間做少量交互,而8.2.4節定義的機制7b則要求少量由用戶執行的人工交互。
8.2.2 具體要求
本機制應滿足如下具體要求。
本機制的兩個變種適用于兩個設備(A和B)都具有簡單輸出接口的情況;
兩個設備應具備產生隨機MAC密鑰的能力,用戶應具有產生短隨機比特串的能力;
兩個設備在啟動機制之前就知道彼此的身份。
注:如果用戶不嚴格地去隨機選擇比特串,例如總是使用一個相同的值,則鑒別機制遭受攻擊的風險大大提高。
8.2.3 機制7a的數據交互過程
數據交換和操作的過程如下(見圖7),注意:步驟b)和c)可能并行發生,步驟的d)和e)、f)和g)也是如此。
兩個設備應通過各自的簡單輸出接口輸出一個信號,以表明他們已經收到數據串D且已經準備好啟動鑒別機制。當觀察到兩個設備都已準備好,用戶應生成短隨機比特串R,并將R輸入到兩個設備,隨后向設備A輸入信號告知機制7a可以開始。
設備A應生成隨機密鑰K**A,適用于雙方商定的消息鑒別函數。設備A應使用K**A對I**A(設備A的身份標識)、數據串D和隨機比特串R級聯而成的比特串計算一個MAC,記為MACA,并將MACA通過與設備B之間的通信鏈路傳遞給設備B。
設備B應生成隨機密鑰K**B,適用于雙方商定的消息鑒別函數。設備B應使用K**B對I**B(設備B的身份標識)、數據串D和隨機比特串R級聯而成的比特串計算一個MAC,記為MACB,并將MACB通過與設備A之間的通信鏈路傳遞給設備A。
設備A收到MACB后,應發送K**A給設備B。
設備B收到K**A后,使用K**A對自己存儲的R、D、IA計算MAC值,并驗證是否與收到的MACA相同,如果相同,設備B輸出成功指示。
設備B收到MACA后,應發送K**B給設備A。
設備A收到K**B后,使用K**B對自己存儲的R、D、I**B值計算MAC值,并驗證是否與收到的MACB相同,如果相同,設備A輸出成功指示。
用戶應確認兩個設備是否都輸出了成功指示,如果都成功,則用戶應向兩個設備輸入成功確認信號;如果兩個設備中的一個或兩個輸出了失敗指示,則用戶應輸入失敗信號給兩個設備。如果用戶在指定的時間內沒有向設備輸入成功信號,則應被設備解釋為失敗。
注:在此機制中,步驟g)用于防止替換攻擊,即攻擊者試圖偽裝成設備A來欺騙設備B。

圖7 人工鑒別機制7a
8.2.4 機制7b的數據交互過程
數據交換和操作的過程如下(見圖8)。
a) 兩個設備應通過各自的簡單輸出接口輸出一個信號,以表明他們已經收到數據串D且已經準備好啟動鑒別機制。當觀察到兩個設備都已準備好,用戶應生成短隨機比特串R=(r1,r2,…,r**n),其中r**i是一個比特,n是R中的比特數量。用戶應將R輸入到兩個設備,隨后向設備A輸入信號告知機制7b可以開始。
b) 對于i=1,2,…n,下列1)-5)步操作應被執行,其中步驟1)和2)可以被并行執行。
1) 設備A應生成隨機密鑰KAi,適用于雙方商定的消息鑒別函數。設備A應使用KAi對I**A(設備A的身份標識)、數據串D和隨機比特r**i級聯而成的比特串計算一個MAC,記為MACAi,并將MACA**i通過與設備B之間的通信鏈路傳遞給設備B。
2) 設備B應生成隨機密鑰KBi,適用于雙方商定的消息鑒別函數。設備B應使用KBi對I**B(設備B的身份標識)、數據串D和隨機比特串r**i級聯而成的比特串計算一個MAC,記為MACBi,并將MACBi通過與設備A之間的通信鏈路傳遞給設備A。
3) 設備A收到MACB**i后,應發送KAi給設備B。
4) 設備B收到MACAi和KAi后,使用K**Ai對自己存儲的r**i、D、I**A計算MAC值,并驗證是否與收到的MACAi相同,如果相同,設備B將KBi傳遞給設備A,否則終止鑒別協議。
5) 設備A收到KBi后,使用K**Bi對自己存儲的r**i、D、I**B值計算MAC值,并驗證是否與收到的MACBi相同,如果不相同,則設備A終止鑒別協議。
注:在i=n時,如果步驟4)和5)的驗證結果都是相同,則設備B和設備A可以各自輸出一個成功標志。雖然“輸出成功標志”在本協議中未做要求,但可以選擇這樣做,以便起到“告知用戶鑒別過程成功完成”的作用。

圖8 人工鑒別機制7b
GB/T 15843.6—2018 信息技術 安全技術 實體鑒別 第6部分:采用人工數據傳遞的機制
推薦文章: