Commit ad664a36 authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Cleanup Security def

parent 507f5298
......@@ -44,7 +44,6 @@ nas_context::nas_context()
is_common_procedure_for_identification_running = false;
is_common_procedure_for_security_mode_control_running = false;
is_common_procedure_for_nas_transport_running = false;
_security = {};
security_ctx = nullptr;
is_current_security_available = false;
registration_attempt_counter = 0;
......
......@@ -117,7 +117,6 @@ class nas_context {
_5G_AV_t _5g_av[MAX_5GS_AUTH_VECTORS]; // generated by AUSF
std::string href;
uint8_t kamf[MAX_5GS_AUTH_VECTORS][32];
security_context_t _security;
nas_secu_ctx* security_ctx; // TODO: avoid using naked ptr
bool is_current_security_available;
int registration_attempt_counter; // used to limit the subsequently reject
......
......@@ -51,57 +51,4 @@
/* "Separation bit" of AMF field */
#define AUTH_AMF_SEPARATION_BIT(a) ((a) &0x80)
/*
* 5GS authentication vector
*/
typedef struct {
/* ASME security key */
uint8_t kasme[AUTH_KASME_SIZE];
/* Random challenge parameter */
uint8_t rand[AUTH_RAND_SIZE];
/* Authentication token parameter */
uint8_t autn[AUTH_AUTN_SIZE];
/* Expected Authentication response parameter */
#define AUTH_XRES_SIZE AUTH_RES_SIZE
uint8_t xres_size;
uint8_t xres[AUTH_XRES_SIZE];
} auth_vector_t;
typedef struct security_context_s {
// emm_sc_type_t sc_type; /* Type of security context */
/* state of security context is implicit due to its storage location
* (current/non-current)*/
#define EKSI_MAX_VALUE 6
// ksi_t eksi; /* NAS key set identifier for E-UTRAN */
#define EMM_SECURITY_VECTOR_INDEX_INVALID (-1)
int vector_index; /* Pointer on vector */
uint8_t knas_enc[AUTH_KNAS_ENC_SIZE]; /* NAS cyphering key */
uint8_t knas_int[AUTH_KNAS_INT_SIZE]; /* NAS integrity key */
struct count_s {
uint32_t spare : 8;
uint32_t overflow : 16;
uint32_t seq_num : 8;
} dl_count, ul_count; /* Downlink and uplink count parameters */
struct {
uint8_t eps_encryption; /* algorithm used for ciphering */
uint8_t eps_integrity; /* algorithm used for integrity protection */
uint8_t umts_encryption; /* algorithm used for ciphering */
uint8_t umts_integrity; /* algorithm used for integrity protection */
uint8_t gprs_encryption; /* algorithm used for ciphering */
bool umts_present : 1;
bool gprs_present : 1;
} capability; /* UE network capability */
struct {
uint8_t encryption : 4; /* algorithm used for ciphering */
uint8_t integrity : 4; /* algorithm used for integrity protection */
} selected_algorithms; /* MME selected algorithms */
// Requirement MME24.301R10_4.4.4.3_2 (DETACH REQUEST (if sent before security
// has been activated);)
uint8_t activated;
} security_context_t;
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment