Attention is currently required from: laforge.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35366?usp=email )
Change subject: LTE_CryptoFunctions.ttcn: Increment nus.rx_count on each pkt read ......................................................................
Patch Set 1:
(1 comment)
File mme/LTE_CryptoFunctions.ttcn:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35366/comment/69137f3c_7134e... PS1, Line 151: nus.rx_count := nus.rx_count + 1; @laforge@gnumonks.org I tried fixing the following problem with this, but still not working:
LTE_CryptoFunctions.ttcn:147 setverdict(fail): none -> fail reason: "Received NAS MAC '15E82DBA'O doesn't match expected MAC 'FE12D7C6'O: { securityHeaderType := '0010'B, messageAuthenticationCode := '15E82DBA'O, sequenceNumber := 2, nAS_Message := '0761430F90004F00700065006E00350047005346004732214171126000490100'O } | nus: { role := NAS_ROLE_UE (0), alg_int := NAS_ALG_IP_EIA1 (1), k_nas_int := '530CE32318F26264EAB26BC116870B86'O, alg_enc := NAS_ALG_ENC_EEA0 (0), k_nas_enc := 'C204B3E82B8A3B608DBE9BE478CD8FE7'O, rx_count := 1, tx_count := 0 }"
Misc_Helpers.ttcn:32 setverdict(fail): fail -> fail reason: ""LTE_CryptoFunctions.ttcn:184 : f_nas_check_ip() failed"", component reason not changed
The related wireshark message part, sent by open5gs-mmed which looks ok:
NAS-PDU: 2715e82dba020761430f90004f00700065006e00350047005346004732214171126000490100
Non-Access-Stratum (NAS)PDU 0010 .... = Security header type: Integrity protected and ciphered (2) .... 0111 = Protocol discriminator: EPS mobility management messages (0x7) Message authentication code: 0x15e82dba Sequence number: 2 0000 .... = Security header type: Plain NAS message, not security protected (0) .... 0111 = Protocol discriminator: EPS mobility management messages (0x7) NAS EPS Mobility Management Message Type: EMM information (0x61) Network Name - Full name for network Time Zone - Local Time Zone and Time - Universal Time and Local Time Zone Daylight Saving Time
The nAS_Message := '0761430F90004F00700065006E00350047005346004732214171126000490100'O matches correctly what wireshark decodes fine (the fields after "Sequence number: 2" above), so I'd say our current function to check integrity in ttcn3 is broken.