SIM 卡上的 RND 发生器:是否可以在外面使用(例如 Android)?

RND generator on SIM card: is it available outside (for Android for instance)?

此处有模糊问题。
我知道一些智能卡(包括 SIM 卡)可以包含随机数生成器。但我无法获得任何相关信息。是否可以在 SIM 卡之外获取随机数?例如,我想创建 Android 应用程序,它以某种方式(例如使用 APDU 命令)向 SIM 卡询问随机数,然后应用程序按预期使用它。可能吗?我的意思是,这个发电机可以在外面使用吗?如果是这样,应该使用什么命令? 如果有任何提示和链接,我将不胜感激。

如果你可以在SIM卡上安装一个Java Card Applet那么你就可以使用RandomData的方法从SIM卡中获取数据.请注意,通常您必须使用已弃用的方法/常量,因为许多函数是专门为 Java Card 版本 3.0.5 创建的。您可以使用此功能创建 APDU 接口。通常你会为此实现 ISO/IEC 7816-4 GET CHALLENGE APDU。

如果网卡支持Global Platform,你也可以作弊:GP INITIALIZE UPDATE平台INITIALIZE UPDATE APDU最后returns一个"Card challenge"作为响应数据的一部分。这样您就可以访问 RNG,但一次只能访问 6 个字节。更糟糕的是,SIM 卡可能会认为自己受到攻击并采取反制措施,在最坏的情况下,这可能会破坏您的 SIM,具体取决于实施情况。