首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在android系统中使用java卡代替SIM

在android系统中使用java卡代替SIM
EN

Stack Overflow用户
提问于 2015-07-07 12:00:00
回答 2查看 1.7K关注 0票数 5

我已经修补了寻找银河S3的安卓,经过一些挣扎,我现在能够发送APDU到SIM卡,并得到适当的反应。

我想把我自己的小应用程序放在SIM里面,但是由于我们没有办法这样做,我开始怀疑是否有一个java卡可以像SIM卡一样工作。我所需要的只是一张java卡,手机无法区分它与SIM,不需要网络覆盖,我知道,几乎不可能创建一个SIM,可以与运营商和网络覆盖。

这一切的原因是我需要发送APDU并使用我的applet,但是如果我在GS3中插入一个java卡而不是一个SIM卡,它将使我完全没有访问权限。

所以我的问题是:是否有可能发出一张java卡,使它看起来像电话中的SIM (而不是操作员)?

或者,当android中有一个java卡时,它是否有可能改变它,以便它提供所需的访问权限,也就是说,RIL正常工作?

编辑

好的,我想我将尝试发行一个具有以下属性的Java卡:

首先,它将有一个自动选择的applet (默认applet),从现在起将被称为假-UICC。

第二,在假UICC中,我们将模仿UICC的文件系统(根据http://www.in2eps.com/fo-uicc/tk-fo-uicc-mf.html)。

第三,由于SIM (0xA0)使用了不同的类,所以所有从RIL发送的APDU都将被JCRE定向到假-UICC,因为普通的Java卡无法识别class+instruction。例如,0xA0A4是SIM的选择,而0x00A4是Java的select命令。

在最后一步,我们将尝试发送完全相同的响应,一个真正的SIM将发送给每个APDU。

也许行不通,但我认为值得一试。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-08 07:17:09

实际上,,我不确定这个解决方案是否有效,正如他在回答下面的评论中提到的那样,我想劝阻人们不要做以下的尝试。这将是困难的,耗时的,可能没有任何有用的结果。在这个领域他比我了解得多。

不管怎么说,正如你想要的那样,我张贴了我的建议:

SIM/USIM卡的系统文件中的每个文件都链接到一个十六进制数字作为其地址(AID)。这些艾滋病是在GSM和ETSI标准(例如GSM 11.11 )中定义的。您可以编写一些Javacard来模拟系统文件。

由于SIM/USIM卡的艾滋病比JavaCard艾滋病缩短,您可能需要选择一个支持部分AID选择的JavaCard,并使用此功能将传入的命令引用到其关联的applet。

我认为您也可以模拟单个applet中的所有系统文件,然后使该applet默认选中applet。

如果您对此解决方案有任何成功,请通知我们。:)

票数 1
EN

Stack Overflow用户

发布于 2015-07-08 07:53:18

通过搜索访问SIM卡(UICC)并不是您可以在手机中使用的唯一安全元素。

市场上还有其他的Java解决方案:主要是基于microSD插槽(例如,由GoTrust或提供的),您应该可以通过Card访问它们。

有些手机(不幸的是,Galaxy S3不是这样)配备了一个特殊的安全元素插槽,您可以将普通智能卡(主要是通过Oberthur)插入并通过smart访问它(一些具有此功能的设备请参见http://www.nfcworld.com/technology/embedded-secure-element-ese/ )。

有一篇关于SE选项的有趣文章:http://nelenkov.blogspot.cz/2012/08/accessing-embedded-secure-element-in.html

如果您认识一些提供microSD Java产品的供应商,请将它们写在评论中,我将把它们添加到我的帖子中。这个答案不应该是上述公司的任何广告。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31268002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档