mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-hlr.git
synced 2025-11-01 20:53:46 +00:00
auc tests: adjust cosmetically to prepare for SQN changes
The current auc tests test a lot with SQN == 0. An upcoming change in the SQN algorithms from libosmocore [1] will require us to pass desired_sqn - 1, because the tuple generation will increment the SQN before calculating. Later on [2] we will also want to employ ind_bits and ind in the test. In order to have some room in the number range, cosmetically adjust the current SQN tested for from 0 to 32, changing the generated AUTN. The upcoming adjustment to the new situation will then be able to show that only the SQN values before and after vector generation change while the auth tuples as well as the SQNs used for generation remain the same (without having to trick around with wrapping SQN past its maximum value). Note that the TS 55.205 test sets include neither SQN nor AUTN. While AUTN changes with changing SQN, all the other values are invariant of the SQN used. So we can simply choose a different SQN and ignore the difference in the AUTN. [1] change-id Iadf43f21e0605e9e85f7e8026c40985f7ceff1a3 "store last sqn" [2] change-id Ibc97e1736a797ffcbf8c1f7d41c5c4518f4e41bf "fix SQN increment" Related: OS#1969 Change-Id: I45d1866cde1b3e777460df76100af2fe4767c678
This commit is contained in:
@@ -53,3 +53,7 @@ auc_ts_55_205_test_sets_LDADD = \
|
||||
auc_ts_55_205_test_sets.c: $(top_srcdir)/tests/auc/gen_ts_55_205_test_sets/*
|
||||
$(top_srcdir)/tests/auc/gen_ts_55_205_test_sets/pdftxt_2_c.py > $@
|
||||
|
||||
.PHONY: update_exp
|
||||
update_exp:
|
||||
$(builddir)/auc_test >"$(srcdir)/auc_test.ok" 2>"$(srcdir)/auc_test.err"
|
||||
$(builddir)/auc_ts_55_205_test_sets >"$(srcdir)/auc_ts_55_205_test_sets.ok" 2>"$(srcdir)/auc_ts_55_205_test_sets.err"
|
||||
|
||||
@@ -194,6 +194,7 @@ static void test_gen_vectors_2g_plus_3g(void)
|
||||
aud3g = (struct osmo_sub_auth_data){
|
||||
.type = OSMO_AUTH_TYPE_UMTS,
|
||||
.algo = OSMO_AUTH_ALG_MILENAGE,
|
||||
.u.umts.sqn = 32,
|
||||
};
|
||||
|
||||
osmo_hexparse("EB215756028D60E3275E613320AEC880",
|
||||
@@ -203,13 +204,14 @@ static void test_gen_vectors_2g_plus_3g(void)
|
||||
next_rand("39fa2f4e3d523d8619a73b4f65c3e14d", true);
|
||||
|
||||
vec = (struct osmo_auth_vector){ {0} };
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
|
||||
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
|
||||
VERBOSE_ASSERT(rc, == 1, "%d");
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
|
||||
|
||||
VEC_IS(&vec,
|
||||
" rand: 39fa2f4e3d523d8619a73b4f65c3e14d\n"
|
||||
" autn: 8704f5ba55f30000d2ee44b22c8ea919\n"
|
||||
" autn: 8704f5ba55d30000541dde77ea5b1d8c\n"
|
||||
" ck: f64735036e5871319c679f4742a75ea1\n"
|
||||
" ik: 27497388b6cb044648f396aa155b95ef\n"
|
||||
" res: e229c19e791f2e410000000000000000\n"
|
||||
@@ -219,19 +221,17 @@ static void test_gen_vectors_2g_plus_3g(void)
|
||||
" auth_types: 03000000\n"
|
||||
);
|
||||
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 1, "%"PRIu64);
|
||||
|
||||
/* even though vec is not zero-initialized, it should produce the same
|
||||
* result with the same sequence nr */
|
||||
aud3g.u.umts.sqn = 0;
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
|
||||
aud3g.u.umts.sqn = 32;
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
|
||||
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
|
||||
VERBOSE_ASSERT(rc, == 1, "%d");
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 1, "%"PRIu64);
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
|
||||
|
||||
VEC_IS(&vec,
|
||||
" rand: 39fa2f4e3d523d8619a73b4f65c3e14d\n"
|
||||
" autn: 8704f5ba55f30000d2ee44b22c8ea919\n"
|
||||
" autn: 8704f5ba55d30000541dde77ea5b1d8c\n"
|
||||
" ck: f64735036e5871319c679f4742a75ea1\n"
|
||||
" ik: 27497388b6cb044648f396aa155b95ef\n"
|
||||
" res: e229c19e791f2e410000000000000000\n"
|
||||
@@ -301,6 +301,7 @@ static void test_gen_vectors_3g_only(void)
|
||||
aud3g = (struct osmo_sub_auth_data){
|
||||
.type = OSMO_AUTH_TYPE_UMTS,
|
||||
.algo = OSMO_AUTH_ALG_MILENAGE,
|
||||
.u.umts.sqn = 32,
|
||||
};
|
||||
|
||||
osmo_hexparse("EB215756028D60E3275E613320AEC880",
|
||||
@@ -310,13 +311,14 @@ static void test_gen_vectors_3g_only(void)
|
||||
next_rand("39fa2f4e3d523d8619a73b4f65c3e14d", true);
|
||||
|
||||
vec = (struct osmo_auth_vector){ {0} };
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
|
||||
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
|
||||
VERBOSE_ASSERT(rc, == 1, "%d");
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
|
||||
|
||||
VEC_IS(&vec,
|
||||
" rand: 39fa2f4e3d523d8619a73b4f65c3e14d\n"
|
||||
" autn: 8704f5ba55f30000d2ee44b22c8ea919\n"
|
||||
" autn: 8704f5ba55d30000541dde77ea5b1d8c\n"
|
||||
" ck: f64735036e5871319c679f4742a75ea1\n"
|
||||
" ik: 27497388b6cb044648f396aa155b95ef\n"
|
||||
" res: e229c19e791f2e410000000000000000\n"
|
||||
@@ -336,19 +338,17 @@ static void test_gen_vectors_3g_only(void)
|
||||
* hence expecting kc: 059a4f668f6fbe39
|
||||
*/
|
||||
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 1, "%"PRIu64);
|
||||
|
||||
/* even though vec is not zero-initialized, it should produce the same
|
||||
* result with the same sequence nr */
|
||||
aud3g.u.umts.sqn = 0;
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
|
||||
aud3g.u.umts.sqn = 32;
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
|
||||
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
|
||||
VERBOSE_ASSERT(rc, == 1, "%d");
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 1, "%"PRIu64);
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
|
||||
|
||||
VEC_IS(&vec,
|
||||
" rand: 39fa2f4e3d523d8619a73b4f65c3e14d\n"
|
||||
" autn: 8704f5ba55f30000d2ee44b22c8ea919\n"
|
||||
" autn: 8704f5ba55d30000541dde77ea5b1d8c\n"
|
||||
" ck: f64735036e5871319c679f4742a75ea1\n"
|
||||
" ik: 27497388b6cb044648f396aa155b95ef\n"
|
||||
" res: e229c19e791f2e410000000000000000\n"
|
||||
@@ -361,8 +361,8 @@ static void test_gen_vectors_3g_only(void)
|
||||
|
||||
fprintf(stderr, "- test AUTS resync\n");
|
||||
vec = (struct osmo_auth_vector){};
|
||||
aud3g.u.umts.sqn = 0;
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
|
||||
aud3g.u.umts.sqn = 32;
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
|
||||
|
||||
/* The AUTN sent was 8704f5ba55f30000d2ee44b22c8ea919
|
||||
* with the first 6 bytes being SQN ^ AK.
|
||||
|
||||
@@ -22,14 +22,14 @@ vector matches expectations
|
||||
|
||||
|
||||
===== test_gen_vectors_2g_plus_3g
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G + separate 2G
|
||||
DAUC 3G: k = eb215756028d60e3275e613320aec880
|
||||
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
|
||||
DAUC 2G: ki = eb215756028d60e3275e613320aec880
|
||||
DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
|
||||
DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
|
||||
DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
|
||||
DAUC vector [0]: res = e229c19e791f2e410000000000000000
|
||||
@@ -39,16 +39,16 @@ DAUC vector [0]: kc = 241a5b16aeb8e400
|
||||
DAUC vector [0]: sres = 429d5b27
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
aud3g.u.umts.sqn == 1
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G + separate 2G
|
||||
DAUC 3G: k = eb215756028d60e3275e613320aec880
|
||||
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
|
||||
DAUC 2G: ki = eb215756028d60e3275e613320aec880
|
||||
DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
|
||||
DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
|
||||
DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
|
||||
DAUC vector [0]: res = e229c19e791f2e410000000000000000
|
||||
@@ -58,19 +58,19 @@ DAUC vector [0]: kc = 241a5b16aeb8e400
|
||||
DAUC vector [0]: sres = 429d5b27
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_gen_vectors_2g_plus_3g: SUCCESS
|
||||
|
||||
|
||||
===== test_gen_vectors_3g_only
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = eb215756028d60e3275e613320aec880
|
||||
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
|
||||
DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
|
||||
DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
|
||||
DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
|
||||
DAUC vector [0]: res = e229c19e791f2e410000000000000000
|
||||
@@ -79,15 +79,15 @@ DAUC vector [0]: kc = 059a4f668f6fbe39
|
||||
DAUC vector [0]: sres = 9b36efdf
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
aud3g.u.umts.sqn == 1
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = eb215756028d60e3275e613320aec880
|
||||
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
|
||||
DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
|
||||
DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
|
||||
DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
|
||||
DAUC vector [0]: res = e229c19e791f2e410000000000000000
|
||||
@@ -96,10 +96,10 @@ DAUC vector [0]: kc = 059a4f668f6fbe39
|
||||
DAUC vector [0]: sres = 9b36efdf
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
- test AUTS resync
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys), with AUTS resync
|
||||
DAUC 3G: k = eb215756028d60e3275e613320aec880
|
||||
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
|
||||
===== test_set_1
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 465b5ce8b199b49faa5f0a2ee238a6bc
|
||||
DAUC 3G: opc = cd63cb71954a9f4e48a5994e37a02baf
|
||||
DAUC vector [0]: rand = 23553cbe9637a89d218ae64dae47bf35
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = aa689c64837000000eed35e2ae9e21c0
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = aa689c64835000002bb2bf2f1faba139
|
||||
DAUC vector [0]: ck = b40ba9a3c58b2a05bbf0d987b21bf8cb
|
||||
DAUC vector [0]: ik = f769bcd751044604127672711c6d3441
|
||||
DAUC vector [0]: res = a54211d5e3ba50bf0000000000000000
|
||||
@@ -15,18 +15,19 @@ DAUC vector [0]: kc = eae4be823af9a08b
|
||||
DAUC vector [0]: sres = 46f8416a
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_1: SUCCESS
|
||||
|
||||
|
||||
===== test_set_2
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = fec86ba6eb707ed08905757b1bb44b8f
|
||||
DAUC 3G: opc = 1006020f0a478bf6b699f15c062e42b3
|
||||
DAUC vector [0]: rand = 9f7c8d021accf4db213ccff0c7f71a6a
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 33484dc2136b00009abcd7740cfa799c
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 33484dc2134b000091ec125f4840ed64
|
||||
DAUC vector [0]: ck = 5dbdbb2954e8f3cde665b046179a5098
|
||||
DAUC vector [0]: ik = 59a92d3b476a0443487055cf88b2307b
|
||||
DAUC vector [0]: res = 8011c48c0c214ed20000000000000000
|
||||
@@ -35,18 +36,19 @@ DAUC vector [0]: kc = aa01739b8caa976d
|
||||
DAUC vector [0]: sres = 8c308a5e
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_2: SUCCESS
|
||||
|
||||
|
||||
===== test_set_3
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 9e5944aea94b81165c82fbf9f32db751
|
||||
DAUC 3G: opc = a64a507ae1a2a98bb88eb4210135dc87
|
||||
DAUC vector [0]: rand = ce83dbc54ac0274a157c17f80d017bd6
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = f0b9c08ad02e00001b5ca3e1240212be
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = f0b9c08ad00e00005da4ccbbdfa29310
|
||||
DAUC vector [0]: ck = e203edb3971574f5a94b0d61b816345d
|
||||
DAUC vector [0]: ik = 0c4524adeac041c4dd830d20854fc46b
|
||||
DAUC vector [0]: res = f365cd683cd92e960000000000000000
|
||||
@@ -55,18 +57,19 @@ DAUC vector [0]: kc = 9a8ec95f408cc507
|
||||
DAUC vector [0]: sres = cfbce3fe
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_3: SUCCESS
|
||||
|
||||
|
||||
===== test_set_4
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 4ab1deb05ca6ceb051fc98e77d026a84
|
||||
DAUC 3G: opc = dcf07cbd51855290b92a07a9891e523e
|
||||
DAUC vector [0]: rand = 74b0cd6031a1c8339b2b6ce2b8c4a186
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 31e11a6091180000f55f5c8adb793014
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 31e11a60913800006a7003718d5d82e5
|
||||
DAUC vector [0]: ck = 7657766b373d1c2138f307e3de9242f9
|
||||
DAUC vector [0]: ik = 1c42e960d89b8fa99f2744e0708ccb53
|
||||
DAUC vector [0]: res = 5860fc1bce351e7e0000000000000000
|
||||
@@ -75,18 +78,19 @@ DAUC vector [0]: kc = cdc1dc0841b81a22
|
||||
DAUC vector [0]: sres = 9655e265
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_4: SUCCESS
|
||||
|
||||
|
||||
===== test_set_5
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 6c38a116ac280c454f59332ee35c8c4f
|
||||
DAUC 3G: opc = 3803ef5363b947c6aaa225e58fae3934
|
||||
DAUC vector [0]: rand = ee6466bc96202c5a557abbeff8babf63
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 45b0f69ab06c0000a161b2de788f3b3f
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 45b0f69ab04c000053f2a822f2b3e824
|
||||
DAUC vector [0]: ck = 3f8c7587fe8e4b233af676aede30ba3b
|
||||
DAUC vector [0]: ik = a7466cc1e6b2a1337d49d3b66e95d7b4
|
||||
DAUC vector [0]: res = 16c8233f05a0ac280000000000000000
|
||||
@@ -95,18 +99,19 @@ DAUC vector [0]: kc = df75bc5ea899879f
|
||||
DAUC vector [0]: sres = 13688f17
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_5: SUCCESS
|
||||
|
||||
|
||||
===== test_set_6
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 2d609d4db0ac5bf0d2c0de267014de0d
|
||||
DAUC 3G: opc = c35a0ab0bcbfc9252caff15f24efbde0
|
||||
DAUC vector [0]: rand = 194aa756013896b74b4a2a3b0af4539e
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 7e6455f34cf3000040dc9568192ab1c0
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 7e6455f34cd300004a2a9f2f3a529b8c
|
||||
DAUC vector [0]: ck = 4cd0846020f8fa0731dd47cbdc6be411
|
||||
DAUC vector [0]: ik = 88ab80a415f15c73711254a1d388f696
|
||||
DAUC vector [0]: res = 8c25a16cd918a1df0000000000000000
|
||||
@@ -115,18 +120,19 @@ DAUC vector [0]: kc = 84b417ae3aeab4f3
|
||||
DAUC vector [0]: sres = 553d00b3
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_6: SUCCESS
|
||||
|
||||
|
||||
===== test_set_7
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = a530a7fe428fad1082c45eddfce13884
|
||||
DAUC 3G: opc = 27953e49bc8af6dcc6e730eb80286be3
|
||||
DAUC vector [0]: rand = 3a4c2b3245c50eb5c71d08639395764d
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 88196c47986f000075c2ba7455852c2a
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 88196c47984f00000a50c5f4056ccb68
|
||||
DAUC vector [0]: ck = 10f05bab75a99a5fbb98a9c287679c3b
|
||||
DAUC vector [0]: ik = f9ec0865eb32f22369cade40c59c3a44
|
||||
DAUC vector [0]: res = a63241e1ffc3e5ab0000000000000000
|
||||
@@ -135,18 +141,19 @@ DAUC vector [0]: kc = 3b4e244cdc60ce03
|
||||
DAUC vector [0]: sres = 59f1a44a
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_7: SUCCESS
|
||||
|
||||
|
||||
===== test_set_8
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = d9151cf04896e25830bf2e08267b8360
|
||||
DAUC 3G: opc = c4c93effe8a08138c203d4c27ce4e3d9
|
||||
DAUC vector [0]: rand = f761e5e93d603feb730e27556cb8a2ca
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 82a0f5287a71000023563512500d75d9
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 82a0f5287a5100006d6c0ff132426479
|
||||
DAUC vector [0]: ck = 71236b7129f9b22ab77ea7a54c96da22
|
||||
DAUC vector [0]: ik = 90527ebaa5588968db41727325a04d9e
|
||||
DAUC vector [0]: res = 4a90b2171ac83a760000000000000000
|
||||
@@ -155,18 +162,19 @@ DAUC vector [0]: kc = 8d4ec01de597acfe
|
||||
DAUC vector [0]: sres = 50588861
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_8: SUCCESS
|
||||
|
||||
|
||||
===== test_set_9
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = a0e2971b6822e8d354a18cc235624ecb
|
||||
DAUC 3G: opc = 82a26f22bba9e9488f949a10d98e9cc4
|
||||
DAUC vector [0]: rand = 08eff828b13fdb562722c65c7f30a9b2
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = a2f858aa9e5d0000bdd79d9f7c269d1c
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = a2f858aa9e7d00001c14f5fcd445bc46
|
||||
DAUC vector [0]: ck = 08cef6d004ec61471a3c3cda048137fa
|
||||
DAUC vector [0]: ik = ed0318ca5deb9206272f6e8fa64ba411
|
||||
DAUC vector [0]: res = 4bc2212d8624910a0000000000000000
|
||||
@@ -175,18 +183,19 @@ DAUC vector [0]: kc = d8debc4ffbcd60aa
|
||||
DAUC vector [0]: sres = cde6b027
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_9: SUCCESS
|
||||
|
||||
|
||||
===== test_set_10
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 0da6f7ba86d5eac8a19cf563ac58642d
|
||||
DAUC 3G: opc = 0db1071f8767562ca43a0a64c41e8d08
|
||||
DAUC vector [0]: rand = 679ac4dbacd7d233ff9d6806f4149ce3
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 4c539a26e1fa000059e7ec99b51f33f3
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 4c539a26e1da000071cc0b769fd1aa96
|
||||
DAUC vector [0]: ck = 69b1cae7c7429d975e245cacb05a517c
|
||||
DAUC vector [0]: ik = 74f24e8c26df58e1b38d7dcd4f1b7fbd
|
||||
DAUC vector [0]: res = 6fc30fee6d1235230000000000000000
|
||||
@@ -195,18 +204,19 @@ DAUC vector [0]: kc = f0eaa50a1edcebb7
|
||||
DAUC vector [0]: sres = 02d13acd
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_10: SUCCESS
|
||||
|
||||
|
||||
===== test_set_11
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 77b45843c88e58c10d202684515ed430
|
||||
DAUC 3G: opc = d483afae562409a326b5bb0b20c4d762
|
||||
DAUC vector [0]: rand = 4c47eb3076dc55fe5106cb2034b8cd78
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 30ff25cdadf600003991f8e7e72a5948
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 30ff25cdadd60000e08a00f7ed54d6fe
|
||||
DAUC vector [0]: ck = 908c43f0569cb8f74bc971e706c36c5f
|
||||
DAUC vector [0]: ik = c251df0d888dd9329bcf46655b226e40
|
||||
DAUC vector [0]: res = aefa357beac2a87a0000000000000000
|
||||
@@ -215,18 +225,19 @@ DAUC vector [0]: kc = 82dbab7f83f063da
|
||||
DAUC vector [0]: sres = 44389d01
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_11: SUCCESS
|
||||
|
||||
|
||||
===== test_set_12
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 729b17729270dd87ccdf1bfe29b4e9bb
|
||||
DAUC 3G: opc = 228c2f2f06ac3268a9e616ee16db4ba1
|
||||
DAUC vector [0]: rand = 311c4c929744d675b720f3b7e9b1cbd0
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 5380d158cfe30000fd10b1f261e825c3
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 5380d158cfc30000f4e1436e9f67e4b2
|
||||
DAUC vector [0]: ck = 44c0f23c5493cfd241e48f197e1d1012
|
||||
DAUC vector [0]: ik = 0c9fb81613884c2535dd0eabf3b440d8
|
||||
DAUC vector [0]: res = 98dbbd099b3b408d0000000000000000
|
||||
@@ -235,18 +246,19 @@ DAUC vector [0]: kc = 3c66cb98cab2d33d
|
||||
DAUC vector [0]: sres = 03e0fd84
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_12: SUCCESS
|
||||
|
||||
|
||||
===== test_set_13
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = d32dd23e89dc662354ca12eb79dd32fa
|
||||
DAUC 3G: opc = d22a4b4180a5325708a5ff70d9f67ec7
|
||||
DAUC vector [0]: rand = cf7d0ab1d94306950bf12018fbd46887
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 217af49272ad0000cc1d4642c4476641
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 217af492728d00003bd338249751de80
|
||||
DAUC vector [0]: ck = 5af86b80edb70df5292cc1121cbad50c
|
||||
DAUC vector [0]: ik = 7f4d6ae7440e18789a8b75ad3f42f03a
|
||||
DAUC vector [0]: res = af4a411e1139f2c20000000000000000
|
||||
@@ -255,18 +267,19 @@ DAUC vector [0]: kc = 9612b5d88a4130bb
|
||||
DAUC vector [0]: sres = be73b3dc
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_13: SUCCESS
|
||||
|
||||
|
||||
===== test_set_14
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = af7c65e1927221de591187a2c5987a53
|
||||
DAUC 3G: opc = a4cf5c8155c08a7eff418e5443b98e55
|
||||
DAUC vector [0]: rand = 1f0f8578464fd59b64bed2d09436b57a
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 837fd7b744190000e4ae3648e1c7770b
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 837fd7b744390000557a836fd534e542
|
||||
DAUC vector [0]: ck = 3f8c3f3ccf7625bf77fc94bcfd22fd26
|
||||
DAUC vector [0]: ik = abcbae8fd46115e9961a55d0da5f2078
|
||||
DAUC vector [0]: res = 7bffa5c2f41fbc050000000000000000
|
||||
@@ -275,18 +288,19 @@ DAUC vector [0]: kc = 75a150df3c6aed08
|
||||
DAUC vector [0]: sres = 8fe019c7
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_14: SUCCESS
|
||||
|
||||
|
||||
===== test_set_15
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 5bd7ecd3d3127a41d12539bed4e7cf71
|
||||
DAUC 3G: opc = 76089d3c0ff3efdc6e36721d4fceb747
|
||||
DAUC vector [0]: rand = 59b75f14251c75031d0bcbac1c2c04c7
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 5be11495525d00008538a96619c04b01
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 5be11495527d0000298064f82a439924
|
||||
DAUC vector [0]: ck = d42b2d615e49a03ac275a5aef97af892
|
||||
DAUC vector [0]: ik = 0b3f8d024fe6bfafaa982b8f82e319c2
|
||||
DAUC vector [0]: res = 7e3f44c7591f6f450000000000000000
|
||||
@@ -295,18 +309,19 @@ DAUC vector [0]: kc = b7f92e426a36fec5
|
||||
DAUC vector [0]: sres = 27202b82
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_15: SUCCESS
|
||||
|
||||
|
||||
===== test_set_16
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 6cd1c6ceb1e01e14f1b82316a90b7f3d
|
||||
DAUC 3G: opc = a219dc37f1dc7d66738b5843c799f206
|
||||
DAUC vector [0]: rand = f69b78f300a0568bce9f0cb93c4be4c9
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 1c408a858b3e0000956596c6cd632f0f
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 1c408a858b1e0000e6e96310f83b5689
|
||||
DAUC vector [0]: ck = 6edaf99e5bd9f85d5f36d91c1272fb4b
|
||||
DAUC vector [0]: ik = d61c853c280dd9c46f297baec386de17
|
||||
DAUC vector [0]: res = 70f6bdb9ad21525f0000000000000000
|
||||
@@ -315,18 +330,19 @@ DAUC vector [0]: kc = 88d9de10a22004c5
|
||||
DAUC vector [0]: sres = ddd7efe6
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_16: SUCCESS
|
||||
|
||||
|
||||
===== test_set_17
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = b73a90cbcf3afb622dba83c58a8415df
|
||||
DAUC 3G: opc = df0c67868fa25f748b7044c6e7c245b8
|
||||
DAUC vector [0]: rand = b120f1c1a0102a2f507dd543de68281f
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = aefdaa5ddd9900003bf0fbdbbc9d8ecc
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = aefdaa5dddb90000c4741d698b7a7ed3
|
||||
DAUC vector [0]: ck = 66195dbed0313274c5ca7766615fa25e
|
||||
DAUC vector [0]: ik = 66bec707eb2afc476d7408a8f2927b36
|
||||
DAUC vector [0]: res = 479dd25c20792d630000000000000000
|
||||
@@ -335,18 +351,19 @@ DAUC vector [0]: kc = a819e577a8d6175b
|
||||
DAUC vector [0]: sres = 67e4ff3f
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_17: SUCCESS
|
||||
|
||||
|
||||
===== test_set_18
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 5122250214c33e723a5dd523fc145fc0
|
||||
DAUC 3G: opc = 981d464c7c52eb6e5036234984ad0bcf
|
||||
DAUC vector [0]: rand = 81e92b6c0ee0e12ebceba8d92a99dfa5
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = ada15aeb7bb80000f141568691cccaec
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = ada15aeb7b980000a99729b59d5688b2
|
||||
DAUC vector [0]: ck = 5349fbe098649f948f5d2e973a81c00f
|
||||
DAUC vector [0]: ik = 9744871ad32bf9bbd1dd5ce54e3e2e5a
|
||||
DAUC vector [0]: res = 28d7b0f2a2ec3de50000000000000000
|
||||
@@ -355,18 +372,19 @@ DAUC vector [0]: kc = 9a8d0e883ff0887a
|
||||
DAUC vector [0]: sres = 8a3b8d17
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_18: SUCCESS
|
||||
|
||||
|
||||
===== test_set_19
|
||||
aud3g.u.umts.sqn == 0
|
||||
aud3g.u.umts.sqn == 32
|
||||
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
|
||||
DAUC 3G: k = 90dca4eda45b53cf0f12d7c9c3bc6a89
|
||||
DAUC 3G: opc = cb9cccc4b9258e6dca4760379fb82581
|
||||
DAUC vector [0]: rand = 9fddc72092c6ad036b6e464789315b78
|
||||
DAUC vector [0]: sqn = 0
|
||||
DAUC vector [0]: autn = 83cfd54db9130000eb5e0ab0a7c030e6
|
||||
DAUC vector [0]: sqn = 32
|
||||
DAUC vector [0]: autn = 83cfd54db9330000695685b2b9214472
|
||||
DAUC vector [0]: ck = b5f2da03883b69f96bf52e029ed9ac45
|
||||
DAUC vector [0]: ik = b4721368bc16ea67875c5598688bb0ef
|
||||
DAUC vector [0]: res = a95100e2760952cd0000000000000000
|
||||
@@ -375,6 +393,7 @@ DAUC vector [0]: kc = ed29b2f1c27f9f34
|
||||
DAUC vector [0]: sres = df58522f
|
||||
DAUC vector [0]: auth_types = 0x3
|
||||
rc == 1
|
||||
aud3g.u.umts.sqn == 33
|
||||
vector matches expectations
|
||||
===== test_set_19: SUCCESS
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ static void {func_name}(void)
|
||||
aud3g = (struct osmo_sub_auth_data){{
|
||||
.type = OSMO_AUTH_TYPE_UMTS,
|
||||
.algo = OSMO_AUTH_ALG_MILENAGE,
|
||||
.u.umts.sqn = 32,
|
||||
}};
|
||||
|
||||
osmo_hexparse("{Ki}",
|
||||
@@ -47,9 +48,10 @@ static void {func_name}(void)
|
||||
fake_rand, sizeof(fake_rand));
|
||||
|
||||
vec = (struct osmo_auth_vector){{ {{0}} }};
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
|
||||
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
|
||||
VERBOSE_ASSERT(rc, == 1, "%d");
|
||||
VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
|
||||
|
||||
VEC_IS(&vec,
|
||||
" rand: {RAND}\n"
|
||||
|
||||
Reference in New Issue
Block a user