WiMAX / LTE EPS-AKA Key Generation

Alan DeKok aland at deployingradius.com
Mon Oct 5 15:29:33 CEST 2020

On Oct 4, 2020, at 11:38 AM, Benjamin Thompson <b.thompson at latera.ru> wrote:
> I noticed that the Milenage algorithm is implemented in
> src/lib/sim/milenage.c in v4. So if this could be cherry picked into
> /src/lib/ in v3 then as I understand it what would remain is:
> 1) Create a function for KASME generation. (not sure if this should go in
> rlm_wimax or e.g lib/kasme.c)

  rlm_wimax for now.  We can always worry about details later.

> 2) In rlm_wimax:
>    a) Get input values from request:User-Name, request:WiMAX-146 and
> control:xxx attributes (including SQN)

  We just create attributes in dictionary.freeradius.internal for much of that.

>    b) Generate RAND

  ~5 lines of code.

>    c) Call the various Milenage functions from milenage.c and store AUTN,
> RAND, XRES in the relevant WiMAX reply attributes (and in variables save
> AK, CK and IK)


>    c) Call the KASME generation function and save the result in to the
> WiMAX reply attribute

  That doesn't sound too bad.

  TBH I'd also add unit tests.  The algorithms are complex enough that we don't want to change things and accidentally break them.

  This feature would definitely be useful.

  Alan DeKok.

More information about the Freeradius-Users mailing list