【问题标题】:J2ME SIM card change detectionJ2ME SIM 卡变化检测
【发布时间】:2009-12-29 09:40:41
【问题描述】:

我想创建 J2ME 应用程序,其中该应用程序只能与安装期间使用的 SIM 卡一起使用。在 SIM 卡 (GSM) 上更改应用程序现在应该可以工作了。 为了实现这一点,我想到了 simcard 的签名并将其保存在持久存储中。在应用程序的每次启动时,都可以验证签名。关于如何实现这一点的任何想法。 提前致谢

【问题讨论】:

    标签: security java-me mobile


    【解决方案1】:

    可以从您的 J2ME 应用程序中使用“SATSA”(安全和信任服务 API 又名 JSR177)与 SIM 进行通信。您可以发送“3GPP TS 11.11”命令来获取 IMSI(选择文件 DG_GSM,选择文件 EF_IMSI,读取二进制文件)。

    缺点是:(1) 您在相对较低的抽象级别(ISO7816-4 层)上与 SIM 通信; (2) 目前并非所有手机都支持 JSR177。

    【讨论】:

    • 那将是一项艰巨的工作。我使用一种方法在 RMS 中保存一些密钥,使 Java 应用程序签名。因此,在第一次登录时,应用程序将被签名。同一个人无法使用任何其他应用程序登录。将用户绑定到应用程序。我试图将应用程序绑定到 semcard。无论如何感谢您的支持
    【解决方案2】:

    我相信这是不可能的。如果可以通过特定手机实现,那么就不可能以通用方式实现。

    【讨论】:

      【解决方案3】:

      对于美国的 ATT,对于 J2ME 应用,手机会在 Jad 文件中嵌入“CarrierDeviceId”。这是每张 SIM 卡唯一的。因此,如果您可以使用类似的东西,只需在应用程序第一次启动时读取此 Jad 参数,将其保存到 RMS 或发送到服务器。现在每次应用启动时,您都可以验证此号码是否匹配,从而验证 SIM 卡是否相同。

      您也可以尝试获取与 SIM 卡绑定的电话号码,从而验证是否正在使用旧 SIM。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-18
        • 2012-05-16
        • 2014-01-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多