附 錄 A (資料性附錄) 協議消息
本附錄所有數據格式采用ASN.1(GB/T 16262-2006)描述。
A.1 協議消息
協議消息是本協議的各個參與方交互時傳遞的消息,ASN.1描述如下:
BAPMessage::= SEQUENCE {
bapProtocolMessage OCTET STRING,
additionalData OCTET STRING
}
bapProtocolMessage:協議消息,例如注冊請求消息(參見附錄A.2)、注冊響應消息(參見附錄A.3)、鑒別請求消息(參見附錄A.4)、鑒別響應消息(參見附錄A.5)、注銷請求消息(參見附錄A.6)等。
additionalData :附加參數。
A.2 注冊請求消息
RegistrationRequest:: =SEQUENCE{
header OperationHeader,
challenge PrintableString,
username PrintableString
}
header:操作頭,header.op的值應為“Reg”,ASN.1描述參見附錄B.4。
challenge:身份鑒別服務器提供的挑戰值。
username:用戶在某依賴方的帳號名稱。
A.3 注冊響應消息
RegistrationResponse::= SEQUENCE {
header OperationHeader,
fcParams FinalChallengeParams,
assertion RegistrationAssertion
}
header:操作頭,header.op應為“Reg”,ASN.1描述參見附錄B.4。
fcParams:最終挑戰參數FinalChallengeParams,ASN.1描述參見附錄B.5。該參數使用UTF8編碼,然后使用[RFC 4627]定義的序列化方法序列化后,再使用base64url[RFC 4648]對其進行編碼后的值。
assertions:注冊請求斷言,生物特征識別密鑰管理器的響應數據,ASN.1描述如下:
RegistrationAssertion::= SEQUENCE {
assertionScheme PrintableString(BAPV1TLV),
assertion RegAssertion,
exts SEQUENCE OF Extension OPTIONAL
}
assertionScheme:用來編碼斷言的斷言模式名稱,該值為“BAPV1TLV”。
exts:生物特征識別密鑰管理器支持的擴展,ASN.1描述參見附錄B.3。
assertion:注冊斷言,ASN.1描述如下:
RegAssertion::={
krd KRD,
sig BIT STRING
}
krd:密鑰注冊數據,ASN.1描述參見附錄B.9。
sig:使用廠商私鑰對krd進行簽名后的簽名值。
A.4 鑒別請求消息
AuthenticationRequest::= SEQUENCE {
header OperationHeader,
challenge PrintableString
}
header:操作頭,header.op的值應為“Auth”,ASN.1描述參見附錄B.4。
challenge:服務器提供的挑戰值。
A.5 鑒別響應消息
AuthenticationResponse::= SEQUENCE {
header OperationHeader,
fcParams FinalChallengeParams,
assertions AuthAssertion
}
header:操作頭,header.op應為“Auth”,ASN.1描述參見附錄B.4。
fcParams:最終挑戰參數FinalChallengeParams,ASN.1描述參見附錄B.5。該參數使用UTF8編碼,然后使用[RFC 4627]定義的序列化方法序列化后,再使用base64url[RFC 4648]對其進行編碼后的值。
assertions:AuthAssertion對象,生物特征識別密鑰管理器針對鑒別請求生成的簽名斷言,ASN.1描述如下:
AuthAssertion::= SEQUENCE {
assertionScheme PrintableString(BAPV1TLV),
assertion SignAssertion,
exts SEQUENCE OF Extension OPTIONAL
}
assertionScheme:用來編碼斷言的斷言模式名稱,該值為“BAPV1TLV”。
exts:生物特征識別密鑰管理器支持的擴展,ASN.1描述參見附錄B.3。
assertion:生物特征識別密鑰管理器針對鑒別請求數據生成的簽名數據,ASN.1描述如下:
SignAssertion::={
signData SignData,
sig BIT STRING
}
signData:簽名數據,ASN.1描述參見附錄B.10。
sig:使用鑒別私鑰對signData進行簽名后的簽名值。
A.6 注銷請求消息
DeregistrationRequest::= SEQUENCE {
header OperationHeader,
bapKeyManagers SEQUENCE OF DeregisterBAPKeyManager
}
header:操作頭,header.op應為“Dereg”,ASN.1描述參見附錄B.4。
bapKeyManagers:要注銷的生物特征識別密鑰管理器(DeregisterBAPKeyManager)列表,DeregisterBAPKeyManager的ASN.1描述如下:
DeregisterBAPKeyManager::= SEQUENCE {
bkmaID PrintableString,
keyID PrintableString
}
bkmaID:要注銷的生物特征識別密鑰管理器的生物特征識別密鑰管理器ID(bkmID)。
keyID:與鑒別私鑰相關聯的唯一的密鑰標識符(KeyID),對于具有相同bkmID的生物特征識別密鑰管理器,KeyID是唯一的。
GB/T 36651—2018 信息安全技術 基于可信環境的生物特征識別身份鑒別協議框架