The IETF OSCORE as an AKMA Ua* protocol is specified in this clause by providing the details about the procedures, the OSCORE security context and how it is related to the AKMA
KAF and the encoding of OSCORE messages using IETF CBOR specified in
RFC 8949.
The procedures for the AKMA OSCORE Ua* protocol are the same as the
clause P.3.2 of TS 33.220 with the following changes.
-
In Step 1, the CoAP Client (UE) shall send a CoAP request to the AF. This is the Application Session Establishment Request in Step 1 in clause 6.2. The CoAP request shall consist of the following:
-
CoAP Method: POST.
-
URI of the AKMA resource on the AF. The URI shall have the format of <AF_IP_or_FQDN>/akma, where AF_IP_or_FQDN indicates the IP address or the FQDN of the host that hosts the AF.
-
Payload: CoAP Security protocol identifer, A-KID, N1, AF-SID, ?OSC-INP
The parameters "CoAP Security protocol identifier", N1, AF-SID, ?OSC-INP have the same semantics as the corresponding parameters in clause Y.2.3 of TS 33.220. Step 1.
-
Steps 2-4 follow clause 6.2 in the present document.
-
The CoAP Server (AF) shall respond to the CoAP Client (UE) with a CoAP response. This is the Application Session Establishment Response in Step 5 in clause 6.2. The response shall have the following content:
-
Response Code: "Created".
-
Payload: N2, UE-SID.
The parameters N2, UE-SID have the same semantics as the corresponding parameters in clause P.2.3 of TS 33.220. Step 3.
The OSCORE security context used in AKMA OSCORE Ua* protocol is similar to the GBA OSCORE security context specified in clause Y.3.3 of
TS 33.220, with the following changes. The OSCORE security context for the OSCORE profile of Ua* shall have the following values:
-
OMS = OSCORE Master Secret = HKDF(KAF, "AKMA-OSCORE").
-
Master Salt = Request Payload | Response Payload.
-
UE Sender ID = UE-SID generated by CoAP Server and sent to the CoAP Client in the Application Session Establishment Response (Step 3 in clause D.3.2).
-
AF Sender ID = AF-SID generated by CoAP Client and sent to the CoAP Server in the Application Session Establishment Request(Step 1 in clause D.3.2).
where HKDF shall be the HMAC-based Key Derivation Function specified in
RFC 5869.
OSCORE allows both the communication endpoints (UE or AF) to renegotiate the OSCORE security context after the OSCORE security context is established, according to Appendix B.2 in
RFC 8613, which is shown in the
Figure D.3.4-1, Step 1.
Moreover even if
KAF remains constant upon a new application session establishment (Step 1 in
clause D.3.2) or a renegotiation of the OSCORE key material, the nonces N1, N2, used in OSCORE security context shall be (stochastically) different from the previous OSCORE security context negotiation to ensure that the OSCORE security context is different.
IETF CoAP and OSCORE shall use the IETF Concise Binary Object Representation (CBOR) specified in the
RFC 8949 for payload encoding for efficient information transfer between constrained IoT devices.
The CoAP media type for CBOR encoding shall be:
-
Media Type: application/cbor
-
CoAP Content-Format: 60
The Request Payload in the Application Session Request shall be formatted as a CBOR Array as follows:
Request Payload = [
A-KID : bstr,
N1 : bstr,
AF-SID : bstr,
? OSC-INP: bstr
]
A-KID = [
RID : tstr,
A-TID : bstr,
HPLMN-ID : tstr
]
OSC-INP = { ; CBOR Map
? 1 => int, ; version
? 3 => int, ; hkdf
? 4 => int, ; alg
? 5 => bstr, ; salt
? 6 => bstr ; contextId
}
The Response Payload in the Application Session Response shall be formatted as a CBOR Array as follows:
Response Payload = [ ; CBOR Array
N2 : bstr,
UE-SID : bstr
]