From 2e7b926827ad199c264b9d6e771de757cb4f2937 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Wed, 22 May 2024 13:04:45 +0200 Subject: [PATCH] nrUE NAS: remove mm_counter and sm_counter, replace with nas_count Specs (24.501, 33.501) don't seem to mention mm_counter and sm_counter, simply nas_count, let's use this. --- openair3/NAS/NR_UE/nr_nas_msg_sim.c | 8 ++++---- openair3/NAS/NR_UE/nr_nas_msg_sim.h | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/openair3/NAS/NR_UE/nr_nas_msg_sim.c b/openair3/NAS/NR_UE/nr_nas_msg_sim.c index 97f9ca1aef..544abf4676 100644 --- a/openair3/NAS/NR_UE/nr_nas_msg_sim.c +++ b/openair3/NAS/NR_UE/nr_nas_msg_sim.c @@ -603,7 +603,7 @@ static void generateSecurityModeComplete(nr_ue_nas_t *nas, as_nas_info_t *initia initialNasMsg->length = security_header_len + mm_msg_encode(mm_msg, (uint8_t*)(initialNasMsg->data+security_header_len), size-security_header_len); stream_cipher.context = nas->security_container->integrity_context; - stream_cipher.count = nas->security.mm_counter++; + stream_cipher.count = nas->security.nas_count++; stream_cipher.bearer = 1; stream_cipher.direction = 0; stream_cipher.message = (unsigned char *)(initialNasMsg->data + 6); @@ -703,7 +703,7 @@ static void generateRegistrationComplete(nr_ue_nas_t *nas, as_nas_info_t *initia initialNasMsg->length = length; stream_cipher.context = nas->security_container->integrity_context; - stream_cipher.count = nas->security.mm_counter++; + stream_cipher.count = nas->security.nas_count++; stream_cipher.bearer = 1; stream_cipher.direction = 0; stream_cipher.message = (unsigned char *)(initialNasMsg->data + 6); @@ -765,7 +765,7 @@ static void generateDeregistrationRequest(nr_ue_nas_t *nas, as_nas_info_t *initi nas_stream_cipher_t stream_cipher = { .context = nas->security_container->integrity_context, - .count = nas->security.mm_counter++, + .count = nas->security.nas_count++, .bearer = 1, .direction = 0, .message = (unsigned char *)(initialNasMsg->data + 6), @@ -855,7 +855,7 @@ static void generatePduSessionEstablishRequest(nr_ue_nas_t *nas, as_nas_info_t * initialNasMsg->length = security_header_len + mm_msg_encode(mm_msg, (uint8_t*)(initialNasMsg->data+security_header_len), size-security_header_len); stream_cipher.context = nas->security_container->integrity_context; - stream_cipher.count = nas->security.mm_counter++; + stream_cipher.count = nas->security.nas_count++; stream_cipher.bearer = 1; stream_cipher.direction = 0; stream_cipher.message = (unsigned char *)(initialNasMsg->data + 6); diff --git a/openair3/NAS/NR_UE/nr_nas_msg_sim.h b/openair3/NAS/NR_UE/nr_nas_msg_sim.h index 0d2d8f5cc9..dbb18e1425 100644 --- a/openair3/NAS/NR_UE/nr_nas_msg_sim.h +++ b/openair3/NAS/NR_UE/nr_nas_msg_sim.h @@ -92,8 +92,7 @@ typedef struct { uint8_t res[16]; uint8_t rand[16]; uint8_t kgnb[32]; - uint32_t mm_counter; - uint32_t sm_counter; + uint32_t nas_count; } ue_sa_security_key_t; typedef struct {