在不输入 PIN 的情况下,可以从受 PIN 保护的 SIM 中读取哪些数据/元数据?
What data / metadata can be read from a PIN protected SIM without entering the PIN?
我正在构建一个带有 GSM 调制解调器和 SIM 卡的设备。我想用别针保护 SIM 卡,以防止在现场安装设备时误用。
将关联 SIM 卡的 PIN 码存储到每个设备中会很麻烦。此外,如果更换 SIM 卡,我希望设备自动知道新 SIM 卡的 PIN。因此,我正在考虑使用一种单向哈希函数从 SIM 的一个或多个属性(如 IMSI、ICCID、SIM 卡组标识符、服务提供商名称等)生成 pin。
插入 SIM 卡后,设备可以根据这些属性动态计算出正确的 PIN。
(我知道基于秘密算法的安全性违反了计算机安全的基本原则,但在这种情况下我不需要它是万无一失的——我只需要比让它不受保护更好的东西。)
问题是 none 这些属性可以在输入 PIN 之前读取。
有没有其他的属性可以不输入PIN码读取的?或者您是否有任何不需要提前在设备上存储 PIN 的解决方法?
是的,应该可以使用 SIM 属性本身生成 PIN(假设您与卡供应商和运营商有关系)。
PIN = some_function(sim_properties)
关于您提到的每个属性:
- ICCID - 是的,每张卡都是独一无二的。没有读取限制,不能更新。首选使用。
- IMSI - 每张卡唯一但不能使用。您需要提供 PIN 才能阅读此文件。
- SPN - 是的,也可以使用,但不是每张卡唯一的。如果您想使用此文件,请确保操作员不会通过 OTA(无线)RFM(远程文件管理)对其进行更新。
- GID - 这个文件是可选的,最好不要使用它。
对于函数本身,我建议使用加密哈希而不是仅哈希,以提供更高的安全性。
此外,您还可以要求卡供应商添加额外的专有文件 (EF),您可以在其中放入额外的数据(额外的密钥、位掩码、要使用的主密钥的密钥索引等)。
在最后一步,不要忘记将加密哈希结果转换为 4-8 位数字格式。
我正在构建一个带有 GSM 调制解调器和 SIM 卡的设备。我想用别针保护 SIM 卡,以防止在现场安装设备时误用。
将关联 SIM 卡的 PIN 码存储到每个设备中会很麻烦。此外,如果更换 SIM 卡,我希望设备自动知道新 SIM 卡的 PIN。因此,我正在考虑使用一种单向哈希函数从 SIM 的一个或多个属性(如 IMSI、ICCID、SIM 卡组标识符、服务提供商名称等)生成 pin。
插入 SIM 卡后,设备可以根据这些属性动态计算出正确的 PIN。
(我知道基于秘密算法的安全性违反了计算机安全的基本原则,但在这种情况下我不需要它是万无一失的——我只需要比让它不受保护更好的东西。)
问题是 none 这些属性可以在输入 PIN 之前读取。 有没有其他的属性可以不输入PIN码读取的?或者您是否有任何不需要提前在设备上存储 PIN 的解决方法?
是的,应该可以使用 SIM 属性本身生成 PIN(假设您与卡供应商和运营商有关系)。
PIN = some_function(sim_properties)
关于您提到的每个属性:
- ICCID - 是的,每张卡都是独一无二的。没有读取限制,不能更新。首选使用。
- IMSI - 每张卡唯一但不能使用。您需要提供 PIN 才能阅读此文件。
- SPN - 是的,也可以使用,但不是每张卡唯一的。如果您想使用此文件,请确保操作员不会通过 OTA(无线)RFM(远程文件管理)对其进行更新。
- GID - 这个文件是可选的,最好不要使用它。
对于函数本身,我建议使用加密哈希而不是仅哈希,以提供更高的安全性。
此外,您还可以要求卡供应商添加额外的专有文件 (EF),您可以在其中放入额外的数据(额外的密钥、位掩码、要使用的主密钥的密钥索引等)。
在最后一步,不要忘记将加密哈希结果转换为 4-8 位数字格式。