我正在开发Android应用。作为一个完全次要的功能,它将允许用户加密一些字符串。
我知道比DES(56位)更推荐使用AES(256位)。但是,如果我使用AES-256并在Android Market中发布我的应用程序,我的应用程序是否会受到出口管理条例(EAR)的监管?
http://www.bis.doc.gov/encryption/
我已经读过,它规定了用长度超过56位的密钥加密的软件。
我的应用无法真正管理绝密信息。它将允许用户发送彼此加密的消息。它几乎只是作为一种游戏,尽管有些用户可以将其用于保密信息。
那么,你会建议我使用AES-256或DES-56吗?如果有人可以确认我使用AES-256对EAR没有任何问题,我一定会使用这个算法。
我不是美国公民而且我不住在美国但是我在Android Market上读过,因为我会在谷歌的服务器上发布我的应用程序,我的应用程序必须遵循美国的出口法律。 / p>
答案 0 :(得分:3)
来自Google的帮助页面:“根据美国出口法律,Android Market应用程序可能会被禁止向禁运国家/地区转移。因此,Google阻止向这些国家/地区下载。”
虽然可能难以严格遵守,但您可以通过强制用户在首次申请开始前接受EULA来表明遵守该法律的意图。在EULA中,您应该要求用户接受他们不在美国限制出口加密的任何国家/地区。如果你被提上法庭(很可能不太可能),你可以将这个问题与他们联系起来,并向你展示你的EULA证明你已经做出合理的努力来遵守。
作为一个侧面说明,请记住,Android手机本身包含许多加密算法的实现(SSL需要其中的大部分),因此这些国家/地区的用户数量可能非常少
答案 1 :(得分:2)
根据http://www.bis.doc.gov/encryption/question2.htm
我可以自行对加密项进行分类并将其导出 加密注册?
流程图2概述了如何确定您的 产品可以自行分类,无需加密即可导出 注册
如果您的产品受类别5,第2部分控制, 某些产品和交易不需要任何加密 注册,分类或出口后报告。这包括:
分类为5x992的产品,包括:
密钥长度不超过56位对称,512位非对称和/或112位椭圆曲线的产品。
密钥长度不超过64位对称的大众市场产品,或者如果没有对称算法,不超过768位 非对称和/或128位椭圆曲线。
- 列出的某些大众市场产品
根据742.15(b)(4)
5A002注释中所述的加密功能有限的产品。
仅使用加密进行身份验证的产品。
某些5x002产品/交易,包括:
某些产品/交易有资格获得许可证例外ENC,无需任何注册,分类或报告, 包括:
按照740.17(a)(1)的规定,出口并再出口到“私营部门最终用户”;
导出并重新出口到“美国”子公司“如740.17(a)(2)所述。
740.17(b)(4)中列出的某些产品:
某些产品在出口前只需要通知:
“公开可用”加密软件和许可证例外情况下的源代码TSU(740.13);
许可证例外的Beta测试软件TMP(740.9)。