何时检查"此应用程序使用加密"框?

Sam*_*Sam 19 encryption https aes ios commoncrypto

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

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

图片: 在此输入图像描述

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

我有一个文件,我想加密,发送到iPhone,并使用CommonCrypto在iPhone上解密.与同事交谈时,我得到了不同的回答.有些人认为,由于它是一个包含在内的公平游戏框架,其他人则表示你必须得到政府的批准.

看起来CommonCrypto支持(充其量)采用ECB密码模式的AES 128位加密.所以,这就是我计划使用的东西.

附注:我计划在github 上使用AlanQuatermain/aqtoolkit中NSData+CommonCrypto类别.这只是CommonCrypto的一个包装,仅此而已.

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

Sam*_*Sam 23

我相信我找到了我想要的答案.

免责声明 - 我不是律师(像你们这样的人)并且不会对这个答案负责,但我认为我的发现可以/将会使社区受益.

我的应用程序是否有资格成为大众市场项目?

简短回答 - 我相信所有苹果应用程序都将被视为大众市场项目,但很难确定.但是,即使非大众市场项目也可以使用56位或更低密钥的对称密钥算法(正如您将在下面进一步阅读).注意DES是使用56位密钥的对称密钥算法.

商业控制清单第5类第2部分("信息安全")的密码注释(注3)

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

一个. 通过以下任何一种方式在零售点销售,无限制地向公众开放:

  1. 场外交易;
  2. 邮购交易;
  3. 电子交易; 要么
  4. 电话交易;

用户无法轻易更改加密功能;

C.设计用于用户安装,无需供应商提供进一步的实质性支持; 和

d. 必要时,可以获取这些物品的详细信息,并将根据要求提供给出口国的有关当局,以确定是否符合本说明(a)至(c)段所述的条件.

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

如果(见粗体),您必须向政府提交分类请求:

注意注意3(密码学注释): 您必须向BIS提交分类请求或加密注册,以获得大规模市场加密商品和符合密码学注释的软件 ,对于对称算法,密钥长度大于64位(或者, 对于商品和根据EAR第7​​42.15(b)段的要求,软件不实施任何对称算法,对非对称算法使用大于768位的密钥长度,对椭圆曲线算法使用大于128位的密钥,以便从" ECCN 5A002或5D002的EI"和"NS"控制.

那么,基于那个CAN和我不能用的东西?

免责声明 :: 这是我对上述的解释 - 我再也不是律师

  • 由于AES 128 使用128位密钥,因此无法在未提交请求的情况下使用AES 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);
      • 许可证例外的Beta测试软件TMP(740.9).

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

  • 另请参阅itunesconnect中的常见问题解答.具体[常见问题> App Store的全球贸易合规性](https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/wo/12.0.0.9.1.7.1.5.6.1) (2认同)