libosmogsm UNKNOWN
Osmocom GSM library
Loading...
Searching...
No Matches
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  include/osmocom/gsm/oap.h
file  src/gsm/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.
void osmo_oap_encode (struct msgb *msg, const struct osmo_oap_message *oap_msg)
 Compose OAP message data.

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()