|
libosmogsm
0.9.0
Osmocom GSM library
|
Functions | |
| static | LLIST_HEAD (osmo_auths) |
| int | osmo_auth_register (struct osmo_auth_impl *impl) |
| Register an authentication algorithm implementation with the core. More... | |
| int | osmo_auth_load (const char *path) |
| Load all available authentication plugins from the given path. More... | |
| int | osmo_auth_supported (enum osmo_auth_algo algo) |
| Determine if a given authentication algorithm is supported. More... | |
| int | osmo_auth_gen_vec (struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand) |
| Generate authentication vector. More... | |
| int | osmo_auth_gen_vec_auts (struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *rand_auts, const uint8_t *auts, const uint8_t *_rand) |
| Generate authentication vector and re-sync sequence. More... | |
| const char * | osmo_auth_alg_name (enum osmo_auth_algo alg) |
| Get human-readable name of authentication algorithm. | |
| enum osmo_auth_algo | osmo_auth_alg_parse (const char *name) |
| Parse human-readable name of authentication algorithm. | |
Variables | |
| static struct osmo_auth_impl * | selected_auths [_OSMO_AUTH_ALG_NUM] |
| static const struct value_string | auth_alg_vals [] |
| int osmo_auth_gen_vec | ( | struct osmo_auth_vector * | vec, |
| struct osmo_sub_auth_data * | aud, | ||
| const uint8_t * | _rand | ||
| ) |
Generate authentication vector.
| [out] | vec | Generated authentication vector |
| [in] | aud | Subscriber-specific key material |
| [in] | _rand | Random challenge to be used |
This function performs the core cryptographic function of the AUC, computing authentication triples/quintuples based on the permanent subscriber data and a random value. The result is what is forwarded by the AUC via HLR and VLR to the MSC which will then be able to invoke authentication with the MS
| int osmo_auth_gen_vec_auts | ( | struct osmo_auth_vector * | vec, |
| struct osmo_sub_auth_data * | aud, | ||
| const uint8_t * | rand_auts, | ||
| const uint8_t * | auts, | ||
| const uint8_t * | _rand | ||
| ) |
Generate authentication vector and re-sync sequence.
| [out] | vec | Generated authentication vector |
| [in] | aud | Subscriber-specific key material |
| [in] | rand_auts | RAND value sent by the SIM/MS |
| [in] | auts | AUTS value sent by the SIM/MS |
| [in] | _rand | Random challenge to be used to generate vector |
This function performs a special variant of the core cryptographic function of the AUC: computing authentication triples/quintuples based on the permanent subscriber data, a random value as well as the AUTS and RAND values returned by the SIM/MS. This special variant is needed if the sequence numbers between MS and AUC have for some reason become diffrent.
| int osmo_auth_load | ( | const char * | path | ) |
Load all available authentication plugins from the given path.
| [in] | path | Path name of the directory containing the plugins |
This function will load all plugins contained in the specified path.
| int osmo_auth_register | ( | struct osmo_auth_impl * | impl | ) |
Register an authentication algorithm implementation with the core.
| [in] | impl | Structure describing implementation and it's callbacks |
This function is called by an authentication implementation plugin to register itself with the authentication core.
| int osmo_auth_supported | ( | enum osmo_auth_algo | algo | ) |
Determine if a given authentication algorithm is supported.
| [in] | algo | Algorithm which should be checked |
This function is used by an application to determine at runtime if a given authentication algorithm is supported or not.
|
static |