bugfix: read msg_type only after deciphering
There was a problem with accessing msg_type from the input buffer before
deciphering, giving obviously wrong value.
CI team: we should add a test in the CI with NAS ciphering + integrity
(connection to the core) set to not null (I suggest nea2/nia2). With
openair's core, this is done by setting this in the amf config file
(nia1 and nea2 at the top of the list):
supported_integrity_algorithms:
- "NIA2"
- "NIA1"
- "NIA0"
supported_encryption_algorithms:
- "NEA2"
- "NEA1"
- "NEA0"
And also put full security in the AS. This is done with this in the gnb
config file:
security = {
ciphering_algorithms = ( "nea2", "nea0" );
integrity_algorithms = ( "nia2", "nia1", "nia0" );
drb_ciphering = "yes";
drb_integrity = "yes"
};
Ideally we should test this with both openair UE and cots UE. But as a
strict minimum do for openair UE (this is where the bug was).
No need to do much traffic, a few ping is enough. But if you want to
check throughput with full security, why not.
Configuration files: naming style guide
The configuration files should have the following name format:
<type>[.<sa|nsa>][.band<num>.[u<num>.]<num>prb].<sdr>[.<opt>].conf
Where:
[]means this field is optional<type>: one ofgnb,enb,gnb-cu,gnb-du,nrue,lteue, etc.<sa|nsa>: in the case of 5G, notes whether this is SA or NSA<num>forband/u/prb: numerical value. Note that band/PRB are only applicable in some cases. The numerologyuis only to be set for 5G if it differs fromu1.<sdr>: what SDR board/split this is tailored for:- e.g.,
usrpb210,usrpn310,rfsim,aw2s - if there is no SDR (e.g., for a CU), use the south-bound split, e.g.,
f1,if4p5, etc. - for the L2simulator, write
l2sim
- e.g.,
<opt>: optional specifiers. If there are multiple, concatenated using a dash (-). Examples:2x2prs(positioning reference signal)ddsuu(specific TDD pattern)tm2: Transmission Mode 2 in 4Goaiue: specifies usage with OAI UE and not COTS UE
Examples:
- standard monolithic gNB, 2x2 configuration, with SDAP:
gnb.sa.band78.162prb.usrpn310.2x2-sdap.conf - gNB-CU:
gnb-cu.sa.f1.conf - monolithic gNB, L2sim:
gnb.sa.band77.106prb.l2sim.conf - monolithic eNB:
enb.band7.25prb.usrpb200.conf - RCC (4G eNB with IF4.5 split):
enb-rcc.band7.25prb.tm1.if4p5.conf
Notes:
- there is no need for TDD/FDD, this is encoded in the band number
- there is no need for FR1/FR2, this is encoded in the band number