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>