Retrieve or derive vectors for EAP-SIM.
More...
#include <freeradius-devel/eap/base.h>
#include <freeradius-devel/eap/types.h>
#include <freeradius-devel/sim/common.h>
#include <freeradius-devel/sim/milenage.h>
#include <freeradius-devel/sim/ts_34_108.h>
#include <freeradius-devel/sim/comp128.h>
#include <freeradius-devel/protocol/freeradius/freeradius.internal.sim.h>
#include <freeradius-devel/util/rand.h>
#include "base.h"
#include "attrs.h"
#include <freeradius-devel/util/debug.h>
Go to the source code of this file.
|
int | fr_aka_sim_umts_resync_from_attrs (uint64_t *new_sqn, request_t *request, fr_pair_t *auts_vp, fr_aka_sim_keys_t *keys) |
| Perform milenage AUTS validation and resynchronisation.
|
|
int | fr_aka_sim_vector_gsm_from_attrs (request_t *request, fr_pair_list_t *vps, int idx, fr_aka_sim_keys_t *keys, fr_aka_sim_vector_src_t *src) |
| Retrieve GSM triplets from sets of attributes.
|
|
int | fr_aka_sim_vector_gsm_umts_kdf_0_reauth_from_attrs (request_t *request, fr_pair_list_t *vps, fr_aka_sim_keys_t *keys) |
| Populate a fr_aka_sim_keys_t structure from attributes in the session-state list.
|
|
int | fr_aka_sim_vector_umts_from_attrs (request_t *request, fr_pair_list_t *vps, fr_aka_sim_keys_t *keys, fr_aka_sim_vector_src_t *src) |
| Retrieve UMTS quintuplets from sets of attributes.
|
|
int | fr_aka_sim_vector_umts_kdf_1_reauth_from_attrs (request_t *request, fr_pair_list_t *vps, fr_aka_sim_keys_t *keys) |
| Populate a fr_aka_sim_keys_t structure from attributes in the session-state list.
|
|
void | fr_aka_sim_vector_umts_reauth_clear (fr_aka_sim_keys_t *keys) |
| Clear reauth data if reauthentication failed.
|
|
static int | vector_gsm_from_ki (request_t *request, fr_pair_list_t *vps, int idx, fr_aka_sim_keys_t *keys) |
|
static int | vector_gsm_from_quintuplets (request_t *request, fr_pair_list_t *vps, int idx, fr_aka_sim_keys_t *keys) |
| Derive triplets from quintuplets.
|
|
static int | vector_gsm_from_triplets (request_t *request, fr_pair_list_t *vps, int idx, fr_aka_sim_keys_t *keys) |
|
static int | vector_opc_from_op (request_t *request, uint8_t const **out, uint8_t opc_buff[MILENAGE_OPC_SIZE], fr_pair_list_t *list, uint8_t const ki[MILENAGE_KI_SIZE]) |
|
static int | vector_umts_from_ki (request_t *request, fr_pair_list_t *vps, fr_aka_sim_keys_t *keys) |
|
static int | vector_umts_from_quintuplets (request_t *request, fr_pair_list_t *vps, fr_aka_sim_keys_t *keys) |
| Get one set of quintuplets from the request.
|
|
Retrieve or derive vectors for EAP-SIM.
- Id
- bb77d129b26f06950c1ca3138f280a4ef377ec53
- Author
- Arran Cudbard-Bell (a.cud.nosp@m.bard.nosp@m.b@fre.nosp@m.erad.nosp@m.ius.o.nosp@m.rg)
- Copyright
- 2016 Arran Cudbard-Bell (a.cud.nosp@m.bard.nosp@m.b@fre.nosp@m.erad.nosp@m.ius.o.nosp@m.rg)
-
2016 The FreeRADIUS server project
Definition in file vector.c.
◆ fr_aka_sim_umts_resync_from_attrs()
Perform milenage AUTS validation and resynchronisation.
- Parameters
-
[out] | new_sqn | The new sequence number provided by the AUTS. |
[in] | request | The current request. |
[in] | auts_vp | The AUTS response. |
[in] | keys | UMTS keys. |
- Returns
- 1 if we do not have sufficient data (lacking ki).
- 0 on success.
- -1 on validation failure.
Definition at line 935 of file vector.c.
◆ fr_aka_sim_vector_gsm_from_attrs()
Retrieve GSM triplets from sets of attributes.
Hunt for a source of SIM triplets
- Parameters
-
[in] | request | The current subrequest. |
[in] | vps | List to hunt for triplets in. |
[in] | idx | To write EAP-SIM triplets to. |
[in] | keys | EAP session keys. |
[in] | src | Forces triplets to be retrieved from a particular src and ensures if multiple triplets are being retrieved that they all come from the same src. |
- Returns
- 1 Vector could not be retrieved from the specified src.
- 0 Vector was retrieved OK and written to the specified index.
- -1 Error retrieving vector from the specified src.
Definition at line 330 of file vector.c.
◆ fr_aka_sim_vector_gsm_umts_kdf_0_reauth_from_attrs()
Populate a fr_aka_sim_keys_t structure from attributes in the session-state list.
- Parameters
-
[in] | request | The current request. |
[in] | vps | Session-state list |
[in] | keys | key structure to populate. |
- Returns
- 1 if we do not have sufficient data.
- 0 on success.
- -1 on validation failure.
Definition at line 824 of file vector.c.
◆ fr_aka_sim_vector_umts_from_attrs()
Retrieve UMTS quintuplets from sets of attributes.
Hunt for a source of UMTS quintuplets
- Parameters
-
request | The current request. |
vps | List to hunt for triplets in. |
keys | UMTS keys. |
src | Forces quintuplets to be retrieved from a particular src. |
- Returns
- 1 Vector could not be retrieved from the specified src.
- 0 Vector was retrieved OK and written to the specified index.
- -1 Error retrieving vector from the specified src.
Definition at line 755 of file vector.c.
◆ fr_aka_sim_vector_umts_kdf_1_reauth_from_attrs()
Populate a fr_aka_sim_keys_t structure from attributes in the session-state list.
- Parameters
-
[in] | request | The current request. |
[in] | vps | Session-state list |
[in] | keys | key structure to populate. |
- Returns
- 1 if we do not have sufficient data.
- 0 on success.
- -1 on validation failure.
Definition at line 873 of file vector.c.
◆ fr_aka_sim_vector_umts_reauth_clear()
Clear reauth data if reauthentication failed.
- Parameters
-
[in] | keys | key structure to clear. |
Definition at line 917 of file vector.c.
◆ vector_gsm_from_ki()
◆ vector_gsm_from_quintuplets()
Derive triplets from quintuplets.
Definition at line 237 of file vector.c.
◆ vector_gsm_from_triplets()
◆ vector_opc_from_op()
◆ vector_umts_from_ki()
◆ vector_umts_from_quintuplets()
Get one set of quintuplets from the request.
Definition at line 593 of file vector.c.