20

提交或更新应用程序时,您面临的一个问题是:

自您上次为此产品上传二进制文件后,您是否添加或更改了加密功能?

图片: 在此处输入图像描述

我的问题是,如果我使用从<CommonCrypto/CommonCryptor.h>库中获得的加密,我是否必须对该 Q 进行检查?

我有一个文件要加密,发送到 iphone,然后使用 CommonCrypto 在 iphone 上解密。与同事交谈时,我得到了不同的反应。一些人认为,由于它是一个包含的框架,所以它是公平的游戏,其他人则说你必须得到政府的批准。

看来 CommonCrypto (最多)支持 AES 128 位加密和 ECB 密码模式。所以,这就是我打算使用的。

旁注:我计划在github上使用NSData+CommonCrypto来自AlanQuatermain / aqtoolkit的类别。这只是 CommonCrypto 的包装,仅此而已。

相关的是,如果您使用 HTTPS (SSL),您是否必须检查“是”?请参阅进行 HTTPS (TLS) 连接的应用程序的 iPhone 加密导出合规性 - 续。我不需要https连接,这仍然让我感到惊讶......

4

1 回答 1

23

我相信我找到了我正在寻找的答案。

免责声明-我不是律师(像你们一样),不会对这个答案负责,但我认为我的调查结果可以/将使社区受益。

我的应用程序是否符合大众市场产品的条件?

简短的回答 - 我相信所有苹果应用程序都会被视为大众市场产品,但很难确定。但是,似乎即使非大众市场商品也可以使用具有 56 位或更少密钥的对称密钥算法(您将在下面进一步阅读)。注意 DES 是一种使用 56 位密钥的对称密钥算法。

商业控制清单第 5 类第 2 部分(“信息安全”)的密码学说明(注 3)

注 3: 密码学 注:ECCN 5A002 和 5D002 不控制满足以下所有条件的项目:

一种。 通过以下任何方式在零售销售点从库存中无限制地向公众出售:

  1. 场外交易;
  2. 邮购交易;
  3. 电子交易;或者
  4. 电话交易;

湾。 用户无法轻易更改密码功能;

C。为用户安装而设计,无需供应商进一步实质性支持;和

d。 必要时,可查阅物品的详细信息,并应要求将其提供给出口商所在国家/地区的有关当局,以确定是否符合本说明 (a) 至 (c) 段所述条件

好的...那么,如果它是大众市场产品,有什么限制?

如果出现以下情况(见粗体),您必须向政府提交分类申请:

注意注释 3(密码学注释): 您必须向 BIS 提交分类请求或加密注册,以获取符合密码学注释条件的大众市场加密商品和软件 ,对称算法使用的密钥长度大于 64 位(或者, 对于商品和根据 EAR § 742.15(b) 的要求,未实现任何对称算法的软件,对于非对称算法使用大于 768 位的密钥长度或对于椭圆曲线算法使用大于 128 位的密钥长度,以便从“ ECCN 5A002 或 5D002 的 EI”和“NS”控制。

那么,基于此,我可以使用什么?

免责声明::这是我对上述内容的解释——我再次不是律师

  • AES 128 不能在不提交请求的情况下使用,因为它使用 128 位密钥。
  • 可以使用DES ,因为它使用 56 位密钥。事实上,即使没有被归类为大众市场项目,也可以使用 DES。
  • CAST 可以使用,因为它使用 40-128 位之间的密钥(您必须使用 64 位或更少的密钥)。
  • 不能使用3DES。3DES 的原始密码密钥是 64 位,但据我所知,它有 3 个密钥……所以我不确定是否通过,您可能必须提交请求。维基百科说它“被 NIST 指定为只有 80 位的安全性”,这让我觉得它不能被使用。
  • RC4我相信你可以在不提交请求的情况下使用它,只要可变大小的密钥是 64 位或更少

美国工业和安全局 - 加密 - 我可以自行分类我的加密项目并在没有加密注册的情况下将其导出吗?

免责声明::我不是外行,这是我的解释。我不会负责的。

您可以使用具有 56 位(或更少)密钥的对称密钥算法(如 DES)。

此外,大众市场产品可能使用具有 64 位(或更少)密钥的对称密钥算法。

加粗的重要部分。

流程图 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) 下的“公开可用”加密软件和源代码;
      • 许可例外 TMP (740.9) 下的 Beta 测试软件。

此外,如果您依赖生产者的自我分类(根据生产者的加密注册)或 CCATS 来获得符合许可例外 ENC 或大众市场出口或再出口的加密项目,您无需提交加密注册,分类请求或自我分类报告。您仍需遵守第 740.17(e) 条规定的半年度销售报告要求。

于 2012-03-08T17:25:55.870 回答