【问题标题】:Encryption and export license for an App Store or Google Play appApp Store 或 Google Play 应用程序的加密和导出许可证
【发布时间】:2015-07-29 15:13:36
【问题描述】:

我的 iOS 应用使用 crypto++ 作为静态库来保证机密性。 由于这个库是开源的,因此任何可能做错事的人都可以看到它,常识意味着不应该有麻烦。 但是,根据美国出口管理条例第 2 部分第 5 类,我的应用程序似乎没有明确豁免,但我不能确定,因为法律往往是一团复杂的例外和随机的头发分裂,所以我希望询问那些在您的应用程序中包含开源加密库的实际经验(Android 建议也可以):

我是否需要经历获得 EAR 批准的所有麻烦?

【问题讨论】:

  • 我认为这是一个律师的问题......
  • @namezero 我知道。但在我冒险进入那些水域之前,我想与这里有经验的人确认一下。我的意思是,至少有一个人使用了开放的加密库并尝试将其提交到应用商店,对吧?

标签: android ios appstore-approval crypto++


【解决方案1】:

我的 iOS 应用程序使用 crypto++ 作为静态库来保证机密性...
但是,根据美国出口管理条例第 2 部分第 5 类,我的应用似乎没有明确豁免...

正确。出口法规适用于加密技术。

有一些豁免。例如,如果密钥大小为 63 位或更小,则不需要导出许可证,因为 License Exemption is provided。您还可以在没有许可证的情况下构建测试系统和发布测试系统。

如果你属于这一类,你仍然需要自我分类。你只是不需要许可证。当您填写文书工作时,您会写 “NLR - 无需许可证”。但这可能不是你……

如果您只使用加密进行身份验证(而不是加密),那么您不需要出口许可证。或者,如果您通过 TestFlight 将您的应用分发到 beta 测试,那么您不需要出口许可证。但是,Apple 仍然需要许可证,因为他们没有花时间区分加密和身份验证;或 beta 测试与发布...


由于这个库是开源的,因此任何可能做错事的人都可以看到它,常识意味着不应该有麻烦......

您的应用与其使用的底层加密库有不同的要求。底层库需要做什么和你需要做什么是两件不同的事情。

例如,OpenSSL 和 Crypto++ 属于 EAR 734 和 740,它们只需向 BIS 和加密协调员发送一封电子邮件,其中包含指向其网站和源代码的链接。你必须做更多...


我是否需要经历获得 EAR 批准的所有麻烦?

是的。最后,您需要做的就是注册一个 SNAP-R 帐户并进行自我分类。当您进行自我分类时,您会查找一些代码,填写一些文书工作,组装一些额外的文档,然后将其提交给 BIS 和加密协调员。

提交后,BIS 等待加密协调器反对或拒绝申请。在加密协调员沉默 30 天后,BIS 颁发许可证。

顺便说一下,加密协调员是 NSA。这是他们的米德堡邮寄地址。


...我想请教那些在您的应用程序中包含开源加密库的实际经验

我在整个过程中引导了 3 个库和 1 个应用程序。在这些库中,一个库是基于 OpenSSL 的,一个库是基于 Crypto++ 的。没有一个被拒绝。


...我无法确定,因为法律往往是一堆令人费解的例外和随机的头发分裂...

题外话,但是 BIS 的女士们非常好。你拨打这个号码,一个真人接听。他们相当知识渊博。他们是告诉我测试豁免的人。

为了与那些知识渊博的女士交谈,这里是您正在寻找的办公室的名称:出口商服务办公室,加密部门。他们的电话号码会显示在 Google 搜索中(只要您知道办公室名称就很容易了)。


相关,这可能是您寻求的信息:如何去做。 Zetetic 在Mass Market Encryption CCATS Commodity Classification for iPhone Applications in 8 Easy Steps 上有一套很好的说明。这是我一年前第一次使用的。


(评论)如果我想在 Google Play 上发布同一应用的 Android 版本,我可以重复使用许可证吗?还是需要重新做一遍?

是的。许可证是为应用程序而非 Play 商店颁发的。


(评论)如果更新不涉及加密++,但会在 UI 中公开一个额外的算法供用户选择,即首先我只想使用 RSA 进行挖掘。签名,但在下一个版本中我想添加 ECDSA 作为选择?

我不记得了。致电加密部门出口商服务办公室的女士们。他们真的很有帮助。

如果您要添加或修改核心加密例程(这就是本文所涵盖的内容),那么您可能需要更新到现有应用程序或重新分类。

如果您只是更改签名算法,那么它只是实体身份验证,可能不需要更新现有应用程序或重新分类。

我问了一个类似的问题:它是关于命名产品和(重新)品牌化而不更改 crpyto。就我而言,重命名不需要重新分类。

【讨论】:

  • 如果我想在 Google Play 上发布同一应用的 Android 版本,我可以重复使用许可证,还是需要重新做一遍?如果更新不涉及加密++,但在 UI 中公开了一个额外的算法供用户选择,即首先我只想使用 RSA 进行挖掘。签名,但在下一个版本中我想添加 ECDSA 作为选择?
  • 我很好奇我是否住在加拿大并且只会向加拿大商店发布信息,为什么我需要关注出口限制?是因为它托管在美国服务器上,而这在技术上是来自美国的 exported
猜你喜欢
  • 2013-09-19
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多