aboutsummaryrefslogtreecommitdiffstats
path: root/sql
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-03-15 00:07:43 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-03-16 05:51:11 +0100
commitcab2fcd5b5a7276fc9a89e449e9d3ede11790711 (patch)
tree3ac8a5510a7db3bfcc13501ac2ad9d44b467fd1f /sql
parentee392bb3b1fdfd45e8b4401622e0ee6cc66f9695 (diff)
UMTS AKA: implement SQN increment according to SEQ and IND
Add ind_bitlen column to auc_3g to record each USIM's IND size according to 3GPP TS 33.102 -- default is 5 bits, as suggested by the spec. Introduce auc_3g_ind to each connecting GSUP client to use as IND index for generating auth tuples sent to this client. With osmo_gsup_server_add_conn(), implement a scheme where clients receive fixed auc_3g_ind indexes based on the order in which they connect; each new connection takes the lowest unused auc_3g_ind, so in case one of the clients restarts, it will most likely receive the same auc_3g_ind, and if one client disconnects, no other clients' auc_3g_ind are affected. Add gsup_server_test.c to test the auc_3g_ind index distribution scheme. Depends: libosmocore I4eac5be0c0b2cede04464c4c3a0873102d952453 for llist_first Related: OS#1969 Change-Id: If4501ed4ff8e923fa6fe8b80c44c5ad647a8ed60
Diffstat (limited to 'sql')
-rw-r--r--sql/hlr.sql3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/hlr.sql b/sql/hlr.sql
index 9238871..5fbc712 100644
--- a/sql/hlr.sql
+++ b/sql/hlr.sql
@@ -63,7 +63,8 @@ CREATE TABLE auc_3g (
k VARCHAR(32) NOT NULL, -- hex string: subscriber's secret key (128bit)
op VARCHAR(32), -- hex string: operator's secret key (128bit)
opc VARCHAR(32), -- hex string: derived from OP and K (128bit)
- sqn INTEGER NOT NULL DEFAULT 0 -- sequence number of key usage
+ sqn INTEGER NOT NULL DEFAULT 0, -- sequence number of key usage
+ ind_bitlen INTEGER NOT NULL DEFAULT 5 -- nr of index bits at lower SQN end
);
CREATE UNIQUE INDEX IF NOT EXISTS idx_subscr_imsi ON subscriber (imsi);