我的应用程序“包含加密”吗?

这是我第一次上传二进制文件。iTunes Connect问我:

出口法律要求含有加密功能的产品必须经过适当授权才能出口 如果不遵守,可能会受到严厉的处罚 欲了解更多信息,请点击这里 你的产品包含加密吗?< / p >

我使用https://,但只通过NSURLConnectionUIWebView

我对此的解读是,我的应用程序不“包含加密”,但我想知道这一点是否在任何地方都拼出来了。“严厉的惩罚”听起来一点也不令人愉快,所以“我认为这是正确的”有点粗略……权威的答案会更好。

谢谢。

265007 次浏览

如果您没有显式地使用加密库,或滚动自己的加密代码,那么我认为答案是“不”。

如果你使用苹果提供的安全框架或CommonCrypto库,你的应用程序中包含了加密,你必须回答“是”——仅仅因为库是由苹果提供的,并不能让你摆脱困境。

关于最初的问题,最近在苹果开发论坛上的帖子让我相信,即使你只使用SSL,你也需要回答“是”。

我问了苹果同样的问题,并得到了答案(从高级出口合规专家那里),“通过https发送信息迫使数据从SSL通过安全通道,因此它属于美国政府对CCATS审查和批准的要求。”请注意,苹果已经为他们的SSL实现做到了这一点并不重要,但对于政府,如果你使用的加密与你自己编写的加密相同(对他们来说)。我还更新了我们的博客(http://blog.theanimail.com),因为蒂姆链接到它的更新和过程的细节。希望这能有所帮助。

以正确的方式获得应用批准并不难。SSL (HTTPS/TLS)仍然是加密,除非您只是将其用于身份验证,否则您应该获得适当的批准。我刚刚获得了批准,我的应用程序现在已经在商店中使用SSL加密数据流量(而不仅仅是身份验证)。

下面是我写的一篇博客文章,这样其他人就可以用正确的方法来做这件事。

苹果iTunes出口限制

我发现这个来自美国工业和安全局的常见问题解答非常有用。

加密

问题15(什么是注释4?)是重点:

...

被注释4排除在第2部分第5类中的项目包括但不限于以下项目:

消费者应用程序。一些例子:

软件或音乐的盗版和盗窃预防; 音乐,电影,曲调/音乐,数码照片播放器,录音机和组织者 游戏/游戏-设备,运行时软件,HDMI和其他组件接口,开发工具 液晶电视、蓝光/ DVD、视频点播(VoD)、电影院、数字录像机(dvr) /个人录像机(pvr) -设备、在线媒体指南、商业内容完整性和保护、HDMI和其他组件接口(不包括视频会议); 打印机,复印机,扫描仪,数码相机,互联网相机-包括零件和子组件 家庭设施和电器

更新:从2016年9月下旬起,使用HTTPS现在不受ERN限制

https://stackoverflow.com/a/40919650/4976373 < a href = " https://stackoverflow.com/a/40919650/4976373 " > < / >


不幸的是,我认为你的应用程序“包含加密”;就US BIS而言,即使你只使用HTTPS(如果你的应用程序不是问题2中的例外)。

引用自有关iTunes Connect的常见问题:

我如何知道我是否可以遵守出口商登记及申报(ERN)程序?

如果你的应用程序使用,访问,实现或合并行业标准加密算法的目的,而不是在问题2中列出的豁免,你需要提交ERN授权。标准加密的例子有:AES, SSL, https。该授权要求你每年1月向两个美国政府机构提交一份关于应用程序信息的年度报告。 “< / p >

第二个问题:您的产品是否符合第2部分第5类规定的豁免条件?

在美国出口法规的第5类第2部分(信息安全&加密规则)用于使用、访问、实现或合并加密的应用程序和软件。

因对出口规定的误解或不准确地申请豁免而引起的一切责任由应用程序的所有者和开发者承担。

如果你符合以下任何一个条件,你可以回答“是”:

(i)如果你根据BIS在加密的问题提供的指导,确定你的应用程序不属于EAR第5类第2部分。EAR第3至第774部分中的医疗设备谅解声明可在联邦法规电子代码网站上访问。请访问加密页面常见问题部分的问题#15,以了解BIS列出的可以申请注4豁免的示例项目。

(ii)您的应用程序仅使用、访问、实现或合并加密进行身份验证

(iii)你的应用程序使用、访问、实现或合并密钥长度不超过56位对称、512位非对称和/或112位椭圆曲线的加密

(iv)你的应用程序是一个大众市场产品,密钥长度不超过64位对称,或者如果没有对称算法,不超过768位非对称和/或128位椭圆曲线。

请回顾第2部分第5类中的注释3,以了解大众市场定义的标准。

(v)你的应用程序是专门设计的,仅限于银行使用或“货币交易”。“货币交易”一词包括费用的收取和结算或信贷功能。

(vi)你的应用程序的源代码是“公开可用的”,你的应用程序免费分发给公众,并且你已经满足了740.13规定的通知要求。

请访问加密网页,以防您需要进一步的帮助,以确定您的应用程序是否有资格获得任何豁免。

如果您认为您的应用程序有资格获得豁免,请对问题回答“是”。

对于仅仅使用TLS连接自己的web服务器的应用程序开发人员来说,所有这些都非常令人困惑。因为ATS(应用程序传输安全)变得越来越重要,我们被鼓励将所有内容转换为https -我认为更多的开发人员将遇到这个问题。

我的应用程序只是使用https协议在服务器和用户之间交换数据。在免责声明中看到“使用加密”的字样有点吓人,所以我给美国政府办公室打了个电话,并与工业和安全局(BIS)的代表http://www.bis.doc.gov/index.php/about-bis/contact-bis交谈。

代表向我询问了我的应用程序,由于它通过了“主要功能测试”,因为它与安全/通信无关,只是使用https作为连接我的客户数据到我们的服务器的通道-它属于EAR99类别,这意味着它不需要获得政府许可(见https://www.bis.doc.gov/index.php/licensing/commerce-control-list-classification/export-control-classification-number-eccn)

我希望这能帮助到其他应用开发者。

自2016年9月20日起,使用https(或其他形式的加密):https://web.archive.org/web/20170312060607/https://www.bis.doc.gov/index.php/informationsecurity2016-updates的应用程序不再需要注册

事实上,在SNAP-R上,您不能再选择“加密注册”: enter image description here < / p >

他们特别指出:

加密注册不再需要-一些信息 从登记到第8号增补到第742部分 报告。< / p >

这意味着你可能需要向BIS发送年度报告,但你不需要注册,你可以在提交应用时注明它是免税的。

@hisnameisjimmy是正确的:你会注意到(至少从2016年12月1日起),当你提交你的应用程序进行审查并到达导出合规性指南时,你会注意到菜单现在表明HTTPS是加密的豁免版本(如果你每次通话都使用它):

enter image description here

enter image description here

是的,根据iTunes Connect出口合规性信息屏幕,如果您使用内置的iOS或MacOS加密(keychain, https),则您是在为美国政府出口法规的目的使用加密。你是否有资格获得出口合规性豁免取决于你的应用程序做什么以及它如何使用这种加密。附图显示iTunes Connect出口合规屏幕,以帮助您确定您的出口报告义务。它特别指出:

如果您正在使用ATS或呼叫HTTPS,请注意您需要向美国政府提交一份年终自我分类报告。了解更多

iTunes Connect Export Compliance Information Q1

iTunes Connect Export Compliance Information Q2

简单的回答:是的,但是你不需要做任何事情

我在网上找了好几个小时。实际上这很简单,你可以在itunes connect中验证:

1. 你要做的就是

如果您的应用程序只使用HTTPS或仅使用加密进行身份验证,令牌等,你不需要做什么,只需要包含

<key>ITSAppUsesNonExemptEncryption</key><false/>

在你的信息。你是完成

2. 验证

你可以在itunes connect中验证这个。

  • 选择你的应用
  • 选择功能
  • 选择加密
  • 点击“+”
  • 跟着对话
  • 对于https或身份验证,答案是是的是的

在任何情况下,你当然应该小心地通过对话框读你自己


一个非常有用的文章可以在这里找到:

https://www.cocoanetics.com/2017/02/itunes-connect-encryption-info/

简单的答案是Yes(应用程序有加密)和Yes(应用程序使用豁免加密)。 在我的申请中,我只是在WKWebView中打开我公司的网站,但由于它使用“https”,它将被视为豁免加密。 https://developer.apple.com/documentation/security/complying_with_encryption_export_regulations?language=objc

或者,你可以在应用的信息中添加键ITSAppUsesNonExemptEncryption和值NO。plist文件。这样iTunes connect就不会再问你这些问题了。 更多信息:https://developer.apple.com/documentation/bundleresources/information_property_list/itsappusesnonexemptencryption?language=objc

你可以遵循以下3个简单的步骤来验证你的申请是否被豁免

你可能需要将这份年度自我分类提交给美国政府

只是加上我个人对一个非常特殊的案例的解释: 在我的应用程序中,用户可以选择自己去一个网站,或者让我的应用程序打开Safari, Safari将调用一个HTTPS网站。可以是任何-自己的网站,文章等。我解释了Safari进行实际的HTTPS调用,而不是我的应用程序,因此用No回答第一个问题(或在info.plist中设置标志),并且不要求每年报告