STK(SIM Tool Kit/SIM卡应用工具箱),是在原SIM卡被动式的操作系统上,衍生出的SIM卡主动交互式的操作系统。以前只能ME发消息给SIM卡,SIM卡回复;现在SIM卡也可以告诉ME一些消息,让ME做对应的操作处理。
ME和SIM的通信遵从ISO的T=0协议(ISO 7816-3:异步半双工字符传输协议)。在该协议中,命令都是由ME发给SIM卡的,没有SIM卡发起与ME通信的机制。
主动式SIM卡仍然使用T=0协议,通过增加一个新的状态响应字SW1来实现SIM卡的主动权。以9000,91XX为例,9000即SIM卡成功执行了上一条命令,91XX同指成功执行了上一条命令,同时希望上发一条长为XX的主动式命令。
关键流程
1.ME总是命令的发起者,首先ME发送SAT命令给SIM卡
2.SIM卡执行完命令后,返回Status Words(91XX),告诉ME有一个proactive command需要执行
3.ME用fetch命令取得proactive command
4.SIM将proactive command数据传送给ME
5.SW1 SW2 for Fetch
6.ME发送Terminal Response给SIM卡
7.SW1