如何在作为客户端的 USIM 卡与服务器之间建立 TLS-PSK 模式的 TLS 连接?
How to establish a TLS coonection in TLS-PSK mode between a USIM sim card as client and a server?
我想在我的 SIM 卡和服务器之间建立 TLS-PSK 模式的 tls 连接。为了实现这一点,据我所知,首先我必须发送一个推送命令来打开一个 BIP 通道,然后通过发送另一个推送命令建立一个 CAT_TP link 然后 sim 卡将启动 TLS握手。所以首先我想向我的 sim 卡发送一个推送命令以打开一个 BIP 通道。为此,推送命令将是 OPEN CHANNEL 命令。但首先我通过 sim 卡 reader 向 sim 卡发送 OPEN CHANNEL 命令来测试这个过程,看看它是如何工作的。我有一个我正在关注的示例文件,它首先发送一个包含以下内容的信封 SMS-PP:
81488346 \
84 44\ ;Connection parameter tag
81 03 014001\ ;Command details TLV
82 02 8182\ ;Device identities TLV
35 01 03\ ;Bearer description TLV: default
39 02 0514\ ;Buffer size TLV
47 14 13696E7465726E65742D656E7472657072697365\ ;Network Access Name
0D 07 xxxxxxxxxxxxxx\ ;login name
0D 07 xxxxxxxxxxxxxx\ ;password
3C 03 021964\ ; UICC/terminal interface port number
3E 05 xxxxxxxxxx ;IP address
在示例文件中,它通过 sim 卡的密钥和它的 RAM TAR 值对上述内容进行加密,并通过这样的信封命令发送加密数据:
Command : 80 C2 00 00 8A
Input Data : D1 81 87 02 02 82 81 06 02 80 01 8B 7D 40 05 81
: 12 50 F3 96 F6 22 22 22 22 22 22 22 6D 02 70 00
: 00 68 15 16 39 12 12 00 00 01 F0 BD C0 49 B4 0C
: EB A9 7C 4B 04 32 17 BE A7 2F DA AC 70 93 36 73
: 83 FD AC 64 CA 9B 34 9C 2B E6 31 24 A0 D5 11 09
: 00 3E E3 F5 43 4B 55 77 98 E5 08 40 A4 CE A9 52
: 3E E1 38 6B 44 AC 73 1E 3B CD 49 32 92 B2 C3 22
: 25 02 68 90 FD F5 06 23 97 0D BD 5B 1D DE 25 F1
: FD 4C 75 C8 37 AC B0 15 05 25
然后它通过 FETCH 命令获取推送短信,然后使用 TERMINAL RESPONSE 命令获取终端响应以查看是否一切正常。最后使用 FETCH 命令获取打开的通道,它说一旦打开通道完成,卡就会向服务器发送 CLIENT HELLO 以启动 TLS 握手。
现在我想实现这个,但在第一步,我应该发送信封的地方,我希望得到 9146 作为状态字,这意味着一切正常。但我得到 6200,这意味着“非易失性存储器的状态未改变”。
为什么我会收到此回复?基本上打开 BIP 通道然后建立 CAT-TP 的正确方法是什么 link?
您应该先发送 TERMINAL PROFILE 命令。使用此命令,您将让 UICC 知道终端的功能。在此命令中,您应该指示终端能够处理 PROACTIVE 命令。您可以在 ETSI TS 102223
中阅读更多相关信息
我想在我的 SIM 卡和服务器之间建立 TLS-PSK 模式的 tls 连接。为了实现这一点,据我所知,首先我必须发送一个推送命令来打开一个 BIP 通道,然后通过发送另一个推送命令建立一个 CAT_TP link 然后 sim 卡将启动 TLS握手。所以首先我想向我的 sim 卡发送一个推送命令以打开一个 BIP 通道。为此,推送命令将是 OPEN CHANNEL 命令。但首先我通过 sim 卡 reader 向 sim 卡发送 OPEN CHANNEL 命令来测试这个过程,看看它是如何工作的。我有一个我正在关注的示例文件,它首先发送一个包含以下内容的信封 SMS-PP:
81488346 \
84 44\ ;Connection parameter tag
81 03 014001\ ;Command details TLV
82 02 8182\ ;Device identities TLV
35 01 03\ ;Bearer description TLV: default
39 02 0514\ ;Buffer size TLV
47 14 13696E7465726E65742D656E7472657072697365\ ;Network Access Name
0D 07 xxxxxxxxxxxxxx\ ;login name
0D 07 xxxxxxxxxxxxxx\ ;password
3C 03 021964\ ; UICC/terminal interface port number
3E 05 xxxxxxxxxx ;IP address
在示例文件中,它通过 sim 卡的密钥和它的 RAM TAR 值对上述内容进行加密,并通过这样的信封命令发送加密数据:
Command : 80 C2 00 00 8A
Input Data : D1 81 87 02 02 82 81 06 02 80 01 8B 7D 40 05 81
: 12 50 F3 96 F6 22 22 22 22 22 22 22 6D 02 70 00
: 00 68 15 16 39 12 12 00 00 01 F0 BD C0 49 B4 0C
: EB A9 7C 4B 04 32 17 BE A7 2F DA AC 70 93 36 73
: 83 FD AC 64 CA 9B 34 9C 2B E6 31 24 A0 D5 11 09
: 00 3E E3 F5 43 4B 55 77 98 E5 08 40 A4 CE A9 52
: 3E E1 38 6B 44 AC 73 1E 3B CD 49 32 92 B2 C3 22
: 25 02 68 90 FD F5 06 23 97 0D BD 5B 1D DE 25 F1
: FD 4C 75 C8 37 AC B0 15 05 25
然后它通过 FETCH 命令获取推送短信,然后使用 TERMINAL RESPONSE 命令获取终端响应以查看是否一切正常。最后使用 FETCH 命令获取打开的通道,它说一旦打开通道完成,卡就会向服务器发送 CLIENT HELLO 以启动 TLS 握手。 现在我想实现这个,但在第一步,我应该发送信封的地方,我希望得到 9146 作为状态字,这意味着一切正常。但我得到 6200,这意味着“非易失性存储器的状态未改变”。 为什么我会收到此回复?基本上打开 BIP 通道然后建立 CAT-TP 的正确方法是什么 link?
您应该先发送 TERMINAL PROFILE 命令。使用此命令,您将让 UICC 知道终端的功能。在此命令中,您应该指示终端能够处理 PROACTIVE 命令。您可以在 ETSI TS 102223
中阅读更多相关信息