# Security Management

### 1. 用户身份加密

用 TMSI 代替 IMSI 识别不同用户，并在空中传输信息。

> TMSI: Temporary Mobile Subscriber Identity
>
> IMSI: International Mobile Subscriber Identity

### 2. 用户身份鉴权(authentication)

![](https://2889346953-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le4Kw7maZEabKFjsC7z%2F-Lf5hWWAPXrS6pkg310z%2F-Lf5hd3jNKHgbpbN1Y6D%2FGSM%E7%94%A8%E6%88%B7%E9%89%B4%E6%9D%83.png?generation=1558112016540013\&alt=media)

> A3, A5, A8 指的各种算法。Algorithm -> Ａ.

* A3 用于鉴权，产生`Sres`
* A5 用于加密，产生`114 bit的加密序列`. It's probably binary numbers
* A8 用于产生密钥，即`Kc`

#### step 1

`AuC`生成`RAND`。

`AuC`通过`A3(RAND, Ki)`得到`SRES`

> SRES = Series
>
> RAND = Random Numbers
>
> Ki = individual subscriber authentication key

#### step 2

`MSC`发送`RAND`给`MS`。

`MS`通过`A3(RAND, Ki)`得到`SRES`。

`MS`将生成的`SRES`回传给`MSC`。

`MSC`对比之前它自己生成的`SRES`，如果相同，那么匹配成功(鉴定完毕是那个用户)

> `SIM`, `Auc` 有共同的 `Ki`。`Ki`与`IMSI`在注册`SIM卡`时就产生了。

### 3. 用户(语音)数据加密

![](https://2889346953-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le4Kw7maZEabKFjsC7z%2F-Lf5hWWAPXrS6pkg310z%2F-Lf5hd3mw5PQ2W1UvjiZ%2FGSM%E6%95%B0%E6%8D%AE%E5%8A%A0%E5%AF%86.png?generation=1558112025560401\&alt=media)

`AuC`通过`A8(RAND, Ki)`得到`Kc`

> Kc = ciphering key

`MSC`通过`A5(Kc, TDMA序列号)`得到`114 bit的序列`

`MSC`将`用户数据`与`114 bit的序列`做`异或运算`，再将`运算结果`发送给手机

`MS`自己也像`MSC`那样产生`114 bit的序列`，将`接收到的数据`与`114 bit的序列`做`异或运算`，最终得到`原始数据`

> 异或: Binary XOR

```
a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101

c = a ^ b;        # 49 = 0011 0001
```

## Question and Answers

**三参数组如何产生的？**

`AuC`生成`RAND`。

`AuC`通过`A3(RAND, Ki)`得到`SRES`

`AuC`通过`A8(RAND, Ki)`得到`Kc`

于是有了`三参数组(RAND, SRES, Kc)`

**GSM-R 如何鉴权？**

`MSC`发送`RAND`给`MS`。

`MS`通过`A3(RAND, Ki)`得到`SRES`。

`MS`将生成的`SRES`回传给`MSC`。

`MSC`对比之前它自己生成的`SRES`，如果相同，那么匹配成功(鉴定完毕是那个用户)

**GSM-R 如何对用户信息进行加密？**

`AuC`通过`A8(RAND, Ki)`得到`Kc`

`MSC`通过`A5(Kc, TDMA序列号)`得到`114 bit的序列`

`MSC`将`用户数据`与`114 bit的序列`做`异或运算`，再将`运算结果`发送给手机

`MS`自己也像`MSC`那样产生`114 bit的序列`，将`接收到的数据`与`114 bit的序列`做`异或运算`，最终得到`原始数据`

References:

[http://www.jiamisoft.com/blog/22123-gsma.html](http://www.jiamisoft.com/blog/22123-gsma.html)
