This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19237 ) Change subject: 4G: Add milenage support ...................................................................... 4G: Add milenage support Change-Id: I4c1fb9bfec9927f2bfa29e6b27959323838f59e5 --- M src/osmo_gsm_tester/core/schema.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl M src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl M src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl M src/osmo_gsm_tester/templates/srsue.conf.tmpl M sysmocom/resources.conf.prod 9 files changed, 30 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/37/19237/1 diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 9a346cd..72c2738 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -28,6 +28,7 @@ HWADDR_RE = re.compile('([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}') IMSI_RE = re.compile('[0-9]{6,15}') KI_RE = re.compile('[0-9a-fA-F]{32}') +OPC_RE = re.compile('[0-9a-fA-F]{32}') MSISDN_RE = re.compile('[0-9]{1,15}') def match_re(name, regex, val): @@ -60,6 +61,9 @@ def ki(val): return match_re('KI', KI_RE, val) +def opc(val): + return match_re('OPC', OPC_RE, val) + def msisdn(val): return match_re('MSISDN', MSISDN_RE, val) @@ -157,6 +161,7 @@ HWADDR = 'hwaddr' IMSI = 'imsi' KI = 'ki' +OPC = 'opc' MSISDN = 'msisdn' AUTH_ALGO = 'auth_algo' TIMES='times' @@ -180,6 +185,7 @@ HWADDR: hwaddr, IMSI: imsi, KI: ki, + OPC: opc, MSISDN: msisdn, AUTH_ALGO: auth_algo, TIMES: times, diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 40216f7..3e91b5c 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -177,8 +177,11 @@ if algo_str != util.OSMO_AUTH_ALGO_NONE and not modem.ki(): raise log.Error("Auth algo %r selected but no KI specified" % algo_str) + if algo_str == 'milenage' and not modem.opc(): + raise log.Error("Auth algo milenage selected but no OPC specified") + subscriber_id = len(self.subscriber_list) # list index - self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None, 'apn_ipaddr': modem.apn_ipaddr()}) + self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': modem.opc(), 'apn_ipaddr': modem.apn_ipaddr()}) self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, algo_str=algo_str) diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index 9c4b004..ee0ad33 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -190,8 +190,14 @@ if algo_str != util.OSMO_AUTH_ALGO_NONE and not modem.ki(): raise log.Error("Auth algo %r selected but no KI specified" % algo_str) + if algo_str == 'milenage': + if not modem.opc(): + raise log.Error("Auth algo milenage selected but no OPC specified") + # srsepc's used_db uses token 'mil' for milenage: + algo_str = 'mil' + subscriber_id = len(self.subscriber_list) # list index - self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None, 'apn_ipaddr': modem.apn_ipaddr()}) + self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': modem.opc(), 'apn_ipaddr': modem.apn_ipaddr()}) self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, algo_str=algo_str) diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index b39d3ee..3e75719 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -28,6 +28,7 @@ 'path': schema.STR, 'imsi': schema.IMSI, 'ki': schema.KI, + 'opc': schema.OPC, 'auth_algo': schema.AUTH_ALGO, 'apn_ipaddr': schema.IPV4, 'ciphers[]': schema.CIPHER, @@ -100,6 +101,9 @@ def ki(self): return self._conf.get('ki') + def opc(self): + return self._conf.get('opc', None) + def apn_ipaddr(self): return self._conf.get('apn_ipaddr', 'dynamic') diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl index 5fcc74a..9564e39 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl @@ -154,10 +154,11 @@ amf: 0x9001, /* Authentication Management Field */ sqn: "000000000000", /* Sequence Number */ K: "${sub.ki}", /* Anritsu Test USIM */ + opc: "${sub.opc}", /* if true, allow several UEs to have the same IMSI (useful with test SIM cards). They are distinguished with their IMEI. default = false. */ - multi_sim: true, + multi_sim: false, }, %endfor /* Add new entries for each IMSI/K */ diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index 720c0ba..263c191 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -48,8 +48,10 @@ ue_category: 4, /* USIM data */ + sim_algo: "${sub.auth_algo}", /* USIM authentication algorithm: xor, milenage or tuak */ imsi: "${ue.imsi}", K: "${ue.ki}", + opc: "${ue.opc}", /* If enabled, will try to use external SIM card using libpcsclite */ //external_sim: true, diff --git a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl index 5b970bf..250b261 100644 --- a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl +++ b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl @@ -20,5 +20,5 @@ #ue2,mil,001010123456780,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic #ue1,xor,001010123456789,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9001,000000001255,7,dynamic %for sub in epc.hss.subscribers: -ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},${sub.apn_ipaddr} +ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,${sub.opc},8000,000000001234,${sub.qci},${sub.apn_ipaddr} %endfor diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index a75be23..6d97589 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -126,7 +126,7 @@ [usim] mode = soft algo = ${ue.auth_algo} -#opc = 63BFA50EE6523365FF14C1F45F88737D +opc = ${ue.opc} k = ${ue.ki} imsi = ${ue.imsi} imei = 353490069873319 diff --git a/sysmocom/resources.conf.prod b/sysmocom/resources.conf.prod index e6429a0..dc60734 100644 --- a/sysmocom/resources.conf.prod +++ b/sysmocom/resources.conf.prod @@ -260,7 +260,8 @@ rf_dev_args: auto imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' - auth_algo: 'xor' + opc: '63BFA50EE6523365FF14C1F45F88737D' + auth_algo: 'milenage' features: ['4g'] run_node: run_type: ssh @@ -274,6 +275,7 @@ rf_dev_args: driver=lime,serial=00090706024F0A22,rxant=LNAW,txant=BAND1 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' + opc: '63BFA50EE6523365FF14C1F45F88737D' auth_algo: 'xor' features: ['4g'] run_node: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4c1fb9bfec9927f2bfa29e6b27959323838f59e5 Gerrit-Change-Number: 19237 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200713/d7fe80b9/attachment.htm>