實體鑑別GB/T 15843研究(三)——GB/T 15843.3 採用數字簽名技術
記號
- CertX:可信第三發籤發給實體X的證書。
- SSA(M):簽名,使用簽名金鑰SA對訊息M簽名。
- T/NX表示X使用的時變引數,可為序列號NX或時間戳TX。X為A或B。
4. 要求
- 驗證方擁有聲稱方的有效公鑰。
- 聲稱方擁有僅有自己知道的私鑰。
5. 機制
5.1 單向鑑別
5.1.1 一次傳遞鑑別
步驟
步驟1. A傳送CertA(可選) || TokenAB。
TokenAB = T/NA || B || Text2 || SSA(T/NA || B || Text1)
步驟2. B驗證證書有效、T/NA正確性、標識欄位B正確性、簽名有效性。
說明
- 為了防止預期的驗證方之外的實體接受權標,TokenAB的簽名資料中必須包含可區分標識B。
5.1.2 兩次傳遞鑑別
驗證方B啟動驗證流程。
步驟
步驟1. B傳送RB || Text1(可選)。
步驟2. A傳送CertA(可選) || TokenAB。
TokenAB = RA || RB || B || Text3 || SSA(RA || RB || B || Text2)
步驟3. B驗證證書有效、RB相符、標識欄位B正確。
說明
- TokenAB中的可區分標識B可選。
- TokenAB的簽名資料SSA()中的B是為了防止資訊被期望驗證方之外的實體接受,如中間人攻擊;RA是為了防止B在鑑別機制啟動之前獲得A對由B選擇的資料的簽名。
5.2 相互鑑別
5.2.1 兩次傳遞鑑別
該機制獨立地兩次使用機制5.1.1(單向鑑定的單次傳遞鑑別)。
步驟
步驟1. A向B傳送CertA(可選) || TokenAB :(本步驟同5.1.1步驟1)
TokenAB = T/NA || B || Text2 || SSA(T/NA || B || Text1)。
步驟2. B驗證A的證書、簽名、T/NA、簽名資料中的B,來驗證TokenAB。(本步驟同5.1.1步驟2)
步驟3. B向A傳送CertB(可選) || TokenBA :(本步驟同5.1.1步驟1)
TokenBA = T/NB || A || Text4 || SSB(T/NB || A || Text3)(可選)。
步驟4. A驗證B的證書、簽名、T/NA、簽名資料中的A,來驗證TokenBA。(本步驟同5.1.1步驟2)
說明
- 該機制獨立地兩次使用機制5.1.1(單向鑑定的單次傳遞鑑別)。
- 兩條訊息之間除了時效性上有隱含關係外,沒有任何關係。如果希望兩條訊息有進一步的聯絡,可適當使用文字欄位來實現。
- TokenAB和TokenBA中的可區分標識A、B必需,防止權標被期望的驗證方之外的實體接受。
5.2.2 三次傳遞鑑別
該機制兩次使用機制5.1.2(單向鑑定的兩次傳遞鑑別)。
步驟
步驟1. B向A傳送RB || Text1(可選)。
步驟2. A傳送CertA(可選) || TokenAB。
TokenAB = RA || RB || B || Text3 || SSA(RA || RB || B || Text2)
步驟3. B驗證證書有效、RB相符、標識欄位B正確。
步驟4. B傳送CertB(可選) || TokenBA。
TokenBA = RB || RA || A || Text5 || SSB(RB || RA || A || Text4)
步驟5. A驗證證書有效、RA相符、標識欄位A正確。
說明
- TokenAB中的可區分標識B可選,TokenBA中的可區分標識A可選。
5.2.3 兩次傳遞並行鑑別
這是5.1.2機制的並行,但將證書Cert在第一條訊息傳出,以加快鑑別流程。
步驟
步驟1 . A向B傳送RA || CertA(可選) || Text1(可選)。
步驟1*. B向A傳送RB || CertB(可選) || Text2(可選)。
步驟2. 驗證對方證書有效。
步驟3 . A向B傳送TokenAB
TokenAB = RA || RB || B || Text3 || SSA(RA || RB || B || Text2)
步驟3* B向A傳送TokenBA。
TokenBA = RB || RA || A || Text5 || SSB(RB || RA || A || Text4)
步驟4. 驗證簽名正確性、隨機數匹配、標識欄位正確。
說明
- TokenAB中的可區分標識B可選,TokenBA中的可區分標識A可選。
相關文章
- SpringBoot 引數別名實現Spring Boot
- 給軟體數字簽名
- 數字簽名
- 軟體需求說明書(GB856T——88) (轉)
- 數字簽名原理
- 數字簽名的原理和應用
- EM64T技術
- ActiveX控制元件數字簽名實踐(免費簽名)控制元件
- 安裝GBase 8t 測試版
- GBase 8t HDR 安裝測試
- exe軟體如何進行數字簽名
- 大話數字簽名
- Elgamal數字簽名原理GAM
- 加密與數字簽名加密
- 數字簽名(java) (轉)Java
- 用C++Builder建立數字簽名 (轉)C++UI
- PCIe SSD韌體簽名技術解讀
- 應用WSDK - 實踐Web Services的數字簽名(上) (轉)Web
- 如何採用雲原生技術加速數字化轉型
- T-SQL——數字輔助表SQL
- 數字簽名是什麼?
- applet數字簽名APP
- win10 如何禁用數字簽名 win10 關閉數字簽名方法Win10
- java使用RSA加密方式,實現數字簽名Java加密
- RSA加密解密及數字簽名Java實現加密解密Java
- IGBT 4代技術FS380R12A6T4BBPSA1 六單元模組S3
- 專案開發計劃(GB856T——88) (轉)
- 資料要求說明書(GB856T——88) (轉)
- win10 禁止驗證數字簽名方法 win10 如何禁用數字簽名Win10
- 加減密和數字簽名
- 安全基礎:數字信封、數字簽名、數字證書(加簽驗籤,加密解密)加密解密
- 使用者下載已簽名的軟體後 如何知道數字簽名是否可信
- 如何關閉win10的數字簽名_win10禁用數字簽名的方法Win10
- iOS應用重簽名ipa技術原理及流程iOS
- 技術分享 | TiDB 上百T資料拆分實踐TiDB
- Java 操作PPT數字簽名(一):新增、檢測、刪除簽名Java
- Java 新增數字簽名到Excel以及檢測、刪除簽名JavaExcel
- Entity Framework中使用IEnumerable<T>、IQueryable<T>及IList<T>的區別Framework