GSM安全特性,具体内容如下:
1.
安全特性:
- GSM的安全方面在3GPP TS 42.009 [4]和3GPP TS 43.020 [11]的规范参考文献中有描述。本条款提供了SIM卡支持的安全特性信息,以实现以下功能:
- 对网络进行用户身份认证;
- 通过无线接口的数据保密性;
- 文件访问条件。
2.
认证和密钥生成过程:
- 描述了网络调用的认证机制和密钥生成过程。SIM/ME接口上相应的程序规范见第11条款。
- 网络向移动站(MS)发送随机数(RAND)。移动设备(ME)通过RUN GSM ALGORITHM命令将RAND传递给SIM卡。SIM卡返回SRES和Kc值给ME,这些值是通过下面给出的算法和过程派生的。ME将SRES发送给网络。网络将这个值与它自己计算的SRES值进行比较。比较这两个SRES值提供了认证。Kc值被ME用于任何未来的加密通信,直到下一次调用此机制。
- 在此过程中使用了用户认证密钥Ki。这个128位的密钥Ki存储在SIM卡内,用于下面描述的算法。
3.
算法和过程:
- SIM支持的算法名称和参数在3GPP TS 23.020 [11]中定义。这些算法包括:
- 算法A3用于对MS进行网络认证;
- 算法A8用于生成加密密钥。
- 这些算法可以单独存在或合并(成为A38)在SIM卡内。在任何情况下,SIM/ME接口的输出都是12字节。A3和A8或A38的输入都是在SIM内部派生的Ki(128位)和通过SIM/ME接口的RAND(128位)。输出是SRES(32位)/Kc(64位),其编码在第9条款的RUN GSM ALGORITHM命令中定义。
4.
文件访问条件:
- 每个文件都有其特定的访问条件,用于每个命令。在请求的操作发生之前,必须满足最后选定文件的相关访问条件。对于每个文件:
- READ和SEEK命令的访问条件是相同的;
- SELECT和STATUS命令的访问条件是ALWAYS。
- 目前GSM没有为MF(主文件)和DFs(专用文件)分配文件访问条件。
- 访问条件级别在下表中定义。
文件访问条件的含义如下:
ALWAYS(总是):可以无任何限制地执行该操作; CHV1(持卡人验证1):只有满足以下三个条件之一时,才能执行该操作:
- 在当前会话中已经向SIM卡呈现了正确的CHV1值;
- CHV1启用/禁用指示器设置为“禁用”;
- 在当前会话中已成功执行UNBLOCK CHV1;
注意:一些第一阶段和第二阶段的SIM卡在CHV1被“禁用”和“锁定”时,并不一定授予访问权限。
CHV2:只有满足以下两个条件之一时,才能执行该操作:
- 在当前会话中已经向SIM卡呈现了正确的CHV2值;
- 在当前会话中已成功执行UNBLOCK CHV2;
移动设备(ME)应通过STATUS命令的响应来确定CHV2是否可用。如果CHV2是“未初始化”的,则CHV2命令(例如,VERIFY CHV2)不应可执行。
-
- ADM(分配):这些级别的分配和相应要求的满足是相应行政管理机构的责任。
定义访问条件ADM并不排除行政管理机构在需要时使用ALW、CHV1、CHV2和NEV。 - NEVER(从不):不能通过SIM/ME接口执行该操作。SIM卡可以在内部执行该操作。
条件级别不是层次化的。例如,正确呈现CHV2并不允许执行需要呈现CHV1的操作。一旦满足的条件级别在GSM会话结束前一直有效,只要相应的秘密代码保持未被锁定,即在三次连续错误尝试后(不一定在同一卡会话中),之前由该秘密代码授予的访问权限立即丧失。满足的CHV条件级别适用于DFGSM和DFTELECOM。
- ADM(分配):这些级别的分配和相应要求的满足是相应行政管理机构的责任。
命令的映射原则和协议T=0在TPDU(传输协议数据单元)层的映射,具体内容如下:
1.命令描述和结构:命令的描述和结构在3GPP TS 31.101 [55]中定义。CLA、INS和参数字节的编码根据3GPP TS 31.101 [55]进行,但受限于本文件中命令描述的说明。
2.
映射原则:
- 对于协议T=0在TPDU层的映射,按照3GPP TS 31.101 [55]进行,但有以下例外:
- 对于3GPP TS 31.101 [55]中定义的Case 2命令,使用过程字节'6C'的做法应被替换为使用'9F',如下面的case 2b所述。根据本文件,状态字节'9F'触发GET RESPONSE命令,而3GPP TS 31.101 [55]中的过程字节'6C'触发重新发出相同的命令。
- 对于3GPP TS 31.101 [55]中定义的Case 4命令,使用过程字节'61'的做法应被替换为使用'9F',如下面的case 4所述。根据本文件,状态字节'9F'触发一个GET RESPONSE命令,该命令对ME是可选的,而3GPP TS 31.101 [55]中的过程字节'61'触发一个或多个GET RESPONSE命令,这取决于GET RESPONSE命令后跟随的过程字节。
- 对于本文件中描述的一些命令,T=0协议需要使用补充传输服务命令(GET RESPONSE)来获取输出数据。例如,SELECT功能需要以下两个命令:
- 第一个命令(SELECT)具有作为函数输入的参数和数据;
- 第二个命令(GET RESPONSE)具有指示要返回的数据长度的参数。
- 如果响应数据的长度事先未知,则可以通过应用第一个命令并解释状态字来获得正确的长度。SW1应为'9F',SW2应给出数据的总长度。在出错的情况下可能出现其他状态字。