libosmogsm 1.9.0.196-9975
Osmocom GSM library
Osmocom Authentication Protocol

The Osmocom Authentication Protocol (OAP) is a way to use the 3GPP AKA (Authentication and Key Agreement) as cryptographic authentication mechanism in other protocols that don't provide cryptographic authentication. More...

Files

file  oap.h
 
file  oap.c
 Osmocom Authentication Protocol.
 

Data Structures

struct  osmo_oap_message
 Parsed/decoded OAP protocol message. More...
 

Enumerations

enum  osmo_oap_iei {
  OAP_CAUSE_IE = 0x02 ,
  OAP_RAND_IE = 0x20 ,
  OAP_AUTN_IE = 0x23 ,
  OAP_XRES_IE = 0x24 ,
  OAP_AUTS_IE = 0x25 ,
  OAP_CLIENT_ID_IE = 0x30
}
 Information Element Identifiers for OAP IEs. More...
 
enum  osmo_oap_message_type {
  OAP_MSGT_REGISTER_REQUEST = 0b00000100 ,
  OAP_MSGT_REGISTER_ERROR = 0b00000101 ,
  OAP_MSGT_REGISTER_RESULT = 0b00000110 ,
  OAP_MSGT_CHALLENGE_REQUEST = 0b00001000 ,
  OAP_MSGT_CHALLENGE_ERROR = 0b00001001 ,
  OAP_MSGT_CHALLENGE_RESULT = 0b00001010 ,
  OAP_MSGT_SYNC_REQUEST = 0b00001100 ,
  OAP_MSGT_SYNC_ERROR = 0b00001101 ,
  OAP_MSGT_SYNC_RESULT = 0b00001110
}
 OAP message types. More...
 

Functions

int osmo_oap_decode (struct osmo_oap_message *oap_msg, const uint8_t *const_data, size_t data_len)
 Decode OAP message data. More...
 
void osmo_oap_encode (struct msgb *msg, const struct osmo_oap_message *oap_msg)
 Compose OAP message data. More...
 

Detailed Description

The Osmocom Authentication Protocol (OAP) is a way to use the 3GPP AKA (Authentication and Key Agreement) as cryptographic authentication mechanism in other protocols that don't provide cryptographic authentication.

Enumeration Type Documentation

◆ osmo_oap_iei

Information Element Identifiers for OAP IEs.

They match osmo_gsup_iei (so far).

Enumerator
OAP_CAUSE_IE 
OAP_RAND_IE 
OAP_AUTN_IE 
OAP_XRES_IE 
OAP_AUTS_IE 
OAP_CLIENT_ID_IE 

◆ osmo_oap_message_type

OAP message types.

Enumerator
OAP_MSGT_REGISTER_REQUEST 
OAP_MSGT_REGISTER_ERROR 
OAP_MSGT_REGISTER_RESULT 
OAP_MSGT_CHALLENGE_REQUEST 
OAP_MSGT_CHALLENGE_ERROR 
OAP_MSGT_CHALLENGE_RESULT 
OAP_MSGT_SYNC_REQUEST 
OAP_MSGT_SYNC_ERROR 
OAP_MSGT_SYNC_RESULT 

Function Documentation

◆ osmo_oap_decode()

int osmo_oap_decode ( struct osmo_oap_message oap_msg,
const uint8_t *  const_data,
size_t  data_len 
)

◆ osmo_oap_encode()