【问题标题】:Android SSL with a Smart Card through PKCS#11通过 PKCS#11 使用智能卡的 Android SSL
【发布时间】:2012-02-09 22:59:36
【问题描述】:

产生这个问题的原因是我完全迷失了,所以请原谅琐碎和无意义的部分。

我有一个 Android 应用程序、一个网络服务、一个 MicroSD 智能卡(移动安全卡)。我需要知道如何使用带有 ssl 的卡与 Web 服务进行安全通信。重建和刷新操作系统不是一种选择。

我知道的:

  • 用于与 MSC 通信的 API
  • 如何向 MSC 编写/部署小程序
  • 如何调用网络服务

我不知道的:

  • SSL
  • 关于证书和密码学的内容过多(仅来自大学的阴暗学术资料)
  • 事情是如何结合在一起的,我应该用什么来完成这个

seek-for-android 有一个 OpenSC 教程和库,但操作系统需要为此打补丁。有没有办法避免这种情况并仍然使用解决方案?

我知道我可以通过一些研究进一步深入研究,但我的截止日期非常接近(几天),所以我需要帮助,很多帮助,而且很快......提前谢谢你!

编辑:

更具体地说:

我有一张来自 Giesecke & Devrient 的智能卡 SD 卡,带有 Java Card OS 和精美的小程序和开发工具。我还收到了一个 android 服务,可以通过 APDU 与卡(小程序)进行通信。这是相当底层的,它接受字节码作为命令和数据。

我需要通过 SSL 身份验证调用网络服务。现在我知道 SSL 使用(可以使用)带有 PKCS#11 接口的硬件令牌。

有一个名为seek-for-android 的项目,其中包含修补操作系统的指南,并在智能卡上拥有标准的 PKCS#11 接口(我相信这将是 OpenSC)。我无法修补操作系统。

那么问题又来了:

  • Android SSL 实现能否以某种方式使用(自定义)PKCS#11 接口,如果可以,如何使用? (例如,可能与某些安全提供商合作)
  • 我可以使用 OpenSC(以及链接指南中提到的其他内容) 不修补操作系统(例如,提取库并将其包含在我的应用程序中)吗?
  • 总的来说,低级智能卡和高级SSL之间的差距应该如何连接?恳请您提供与此相关的任何材料。

【问题讨论】:

    标签: android ssl smartcard pkcs#11


    【解决方案1】:

    由于这是封装在 microSD 卡内的一种特殊形式的智能卡,我假设 API 基于特殊的 SD 卡读写操作。在没有 root 访问权限的情况下,此类操作可能在 Android 上可用,也可能不可用。

    这取决于 API 的特定实现。通常这种 microSD 卡已经带有供应商的 Android 库(因为它是最开放的相关移动平台)。你应该去那里获取更多信息。

    【讨论】:

    • 我确实有一个可以访问卡的库,但它只提供了访问 Java Card 小程序的标准接口。我还有一个提供 PKI 功能的 Java Card 小程序,但我需要将它连接到 android ssl 实现中,最后是某种 https 传输类。
    • @Vincent:常见的方法是实现您自己的安全提供程序,以提供自己的 java.security.KeyStoreSpi 实现。这就是 J2SE 用于访问 PKCS#11 模块(如智能卡)的方式,我认为在 Android 上使用相同的方式没有问题。
    • :谢谢,这似乎很有价值。我会调查一下,看看我是否还有其他问题。
    【解决方案2】:

    使用 Bouncycastle(Spongycastle 是 Android 的分支)并实现您自己的安全提供程序,它使用智能卡而不是文件来存储证书。

    【讨论】:

      【解决方案3】:

      如果您可以在不修补 ROM 的情况下访问您的卡,您可以在其上推出自己的(需要密码学知识)SSL 实施。

      如果没有,那么 AFAIK 您需要修补 Android 才能访问额外的硬件。而且内置的 SSL 库不支持客户端“硬件令牌”AFAIK。

      【讨论】:

      • 我可以访问卡,但我无法实现整个 SSL 层。我需要标准接口和协作库来快速完成这项工作..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      相关资源
      最近更新 更多