If you need some example pcap traces generated by any of these tools, just send an email to fasferraz@gmail.com


Showing posts with label UMTS. Show all posts
Showing posts with label UMTS. Show all posts

10/16/17

UMTS Security Algorithm – TUAK

This application implements the TUAK algorithm defined in 3GPP 35.231, that is the new algorithm proposed to replace Milenage as the AKA algorithm.



There are a few differences from the inputs and outputs to Milenage:

  • The K key can be 128 or 256 bits
  • MAC-A and MAC-S can be 64, 128 or 256 bits
  • RES can be 32, 64, 128 or 256 bits
  • CK and IK can be 128 or 256 bits.


Existing 3GPP specifications do not support all of these possibilities, but they were included in TUAK for future flexibility in case future releases of these specifications want to support them.
TUAK uses the Keccak-f permutation with 1600 bits as input/output.

Milenage uses a 128 bits OP that is used with K key to derive OPc. For TUAK a 256 bits TOP key is specified, and a 256 bits TOPc is derived using TOP and K.

As stated before, the lengths of K, MAC-A/MAC-S, RES, CK and IK can be chosen by the operator, although they have to be fixed for a particular implementation of TUAK.

For compatibility with current 3GPP specifications the length of K must be 128 bits, the length of RES must be between 32 and 128 bits, the length of MAC-A/MAC-S must be 64 bits, and the length of CK and IK must be 128 bits.

If a more secure version of this algorithm is required, this could be done by adding extra Keccak permutations before extracting the output.
This can be set in the application in the dropbox “keccak iterations”.

The application was tested with all test vectors from 3GPP 35.232 specification.

You can download it for free here.

5/4/11

UMTS Security Algorithm – Milenage

I’ve done this application in 2004, in the beginning of the UMTS rollout.
In this application I’ve implemented the MILENAGE algorithm defined in 3GPP 35.206, that is one example of the AKA algorithm that runs in the HLR and in the USIM as specified in 3GPP 33.102: 

Generation of authentication vectors in HLR:
 


User authentication function in the USIM:


Construction of the parameter AUTS:


The MILENAGE algorithm framework is the following:


With this application every parameter used in the MILENAGE algorithm can be changed, and the corresponding f1 to f5 functions generated.
I’ve added also the conversion functions for inter-operation and handover between UMTS and GSM defined in 3GPP 33.102.


I’ve tested it successfully using the “Implementers’ Test Data” examples provided in 3GPP 35.207, and also with real examples.
This application can be used to detect erroneous behaviors of the ME, USIM or Network Elements (HLR, SGSN and RNC) in terms of security procedures.

This application can be downloaded for free. You can get it here
Note: This installation includes a test file (teste.dat that can be found inside the installation directory).