程序员对美国出口限制的担忧


21

在设计和发布必须满足美国密码软件出口限制的软件时,我需要考虑哪些方面?

维基百科说,您可以将各种类别分配给加密软件。出口目的地(例如中国,俄罗斯)也发挥了重要作用。但是我并不真正了解这些限制及其对我工作的影响。

有人可以向我解释吗?

我问是因为如果您尝试发布您的应用程序(例如,在Apple的App Store或Android的Market上),则必须确保您的应用程序符合美国出口限制。并且有许多应用程序提供安全的信息存储,例如密码。

他们是否都已通知政府并要求进行审查?当然,您不知道他们是否这样做。但是他们需要这样做吗?


1
您的第一个预后成真。但是关于第二个问题:这是很多程序员都感兴趣的问题,不是吗?许多已经发布了使用密码算法的软件。所以有人必须知道。
caw

是的,当然,这并不意味着任何人都可以肯定您所做的一切,以便为您提供明确的建议。请参见下面的“请见律师”!

您可以查看FIPS网站以了解更多详细信息
Ubermensch'1

1
对于这样的事情,我会咨询律师。我的职业生涯是在国防工业中,包括为国内外客户开发产品的承包商。不仅有一个法律团队,而且还有特定的出口控制专家会对所有内容进行审核,以确保其遵循指南。有很多小事情需要提防,依靠软件开发人员的答案是不明智的,因为很容易忽略一些重要的事情。
Thomas Owens

1
谢谢托马斯。我只是认为这可能是一个明确的案例,因为Android电子市场中有太多使用AES加密的应用程序(都必须符合准则)。想象一下,所有的银行应用程序,密码存储应用程序等等……而且我不出售我的应用程序,而是免费提供它们。因此,请律师昂贵。
caw 2012年

Answers:


15

如果您的代码是开源的,则限制很轻:您不能将代码导出到受限制的国家或实体,并且必须将可以下载源文件和目标文件的位置通知政府必须做出一些努力以防止古巴,伊朗,利比亚,朝鲜,叙利亚和苏丹下载该代码。您必须要求所有用户不要出口到这些国家。

您将需要准备包含加密原语的所有 “包”和“文件”的列表。(我记得我们被允许跳过仅用于身份验证完整性控制的哈希原语。)

如果您的代码不是开源的,则必须提交自己代码中的例外情况。我希望您需要准备类似的源/目标文件列表,以及针对哪些机制实现了哪些算法。我进一步希望在授予许可之前需要进行审查

尽管我相信截至2011年12月30日我的所有信息都是正确的,但我不是律师,无法为您提供法律建议。这些只是指向当前可用的美国政府资源的指针。


1
谢谢!这听起来真的很复杂而且繁重。请在以下问题中查看我的编辑内容:您是针对这种情况还是仅针对使用户能够自由编码或解码信息的软件进行解释?
caw

我记得,哈希密码并不是他们感兴趣的东西之一,因此,如果这就是您的应用程序所做的全部,那么您肯定会没事的。我不能代表任何其他应用程序作者做什么……
sarnold 2011年

好的谢谢。因此,如果我们以网上银行应用程序或密码安全为例-它们都对数据进行加密以安全存储:这样可以吗?还是必须进行报告和审查?
caw

如果您要100%依靠主机OS提供加密原语,则无需执行任何操作。:)
sarnold 2011年

1
来自JAVA的无限强度管辖权策略文件:JCE体系结构允许通过管辖权策略文件配置灵活的加密强度。由于某些国家/地区的进口限制,与Java SE 7软件一起分发的管辖权策略文件对可用的加密强度具有内置的限制。此下载捆绑软件(包括此README文件的捆绑软件)中的管辖区策略文件不包含对加密强度的限制。这适用于大多数国家。
2012年

7

您是在编写自己的加密例程还是仅调用第三方例程?

我问的原因是,例如,如果在Windows上使用的是Microsoft提供的例程之一,则您不是发布或分发受控软件的例程,在这种情况下,您的软件将不受任何限制。


感谢您的回答!如果这是真的,那将是很棒的:)我将使用著名的算法,例如AES,SHA等。因此,我将重用其他算法并调用本机函数。我不会发布自己的密码算法。
caw

Marco:那绝对是要走的路。您针对的是什么操作系统?
JonnyBoats 2011年

3
Marco:对程序进行编码,使其仅使用客户电话上可用的最佳例程,然后在运行时检查。您将在古巴或朝鲜出售多少产品?
JonnyBoats 2012年

1
如果在Windows上使用Microsoft提供的例行加密,则不会导出该内容,因为没有提供它。如果已经存在,则可以调用它。使用标准算法的标准实现仍可以提供加密货币,您很可能会导出它。(此外,除非您有现场经验,否则不要为生产目的编写您自己的安全软件。有太多事情很容易弄错。)
David Thornley 2012年

1
如果您仅使用加密API,我很确定您仍然需要归档所有加密输出内容。
CodesInChaos

1

如果这只是出于利益考虑的问题,那么其他答案都很好。如果与您实际正在做的事情有关?

去找律师。现在。

你还在等吗 然后,我会扩展。

去找律师 现在。不要等待,不要思考。如果您还没有,请找到一个。请他们与从事商业法工作的人联系。检查他的证书,如果他们看起来正确,请与该人坐下并向他们提供金钱以寻求建议。随时就条款进行谈判。

如果您不信任我,并且我承认我在这方面没有很多经验的话,一定会很明确,请阅读这篇自2010年5月以来成功经营家族企业的人的文章

如果您要经营独立游戏业务,那么您首先要经营业务。所有当地,州和联邦法律均适用。您需要营业执照。或许可证。每个企业都应该有律师和会计师。我个人没有聘请专职律师(这是不明智的做法),但每个企业都应该拥有熟练的会计师。

这意味着某人的业务由两个人组成,他们卖着装甲蜥蜴殴打地精的游戏,他们意识到自己一直在冒险,因为他一直都没有自己的私人律师

你是公司吗 不知道 如果您要卖东西,那肯定是。猜猜谁会知道?律师

您不必长时间花钱聘请非常昂贵的律师,但是至少您需要任命一个可以任命的人,您可以在进行可能具有法律危险的工作之前先行事,并且可以向您解释您可能在法律上有危险。

因为这是东西。如果您先做,那么很多事情都适用。

  1. 您不太可能搞砸并引起政府的注意。
  2. 您会更加清楚自己的问题以及解决方法,包括可以致电帮助您的现有联系人。
  3. 如果您确实搞砸了,并引起了政府的注意,则可以说明您尝试做对了所有事情,并请律师提供证明以证明这一点。

如果没有 好吧,我最近发现,如果您意识到自己没有能力处理某件事,并且不寻求建议,那么从法律上讲,这意味着您故意选择了整顿。在金钱上,那是欺诈。在出口制裁中,我认为它的规模与叛国罪相同。

关于互联网研究: 此博客文章写于2011年1月17日。它的第一句话是?这个东西最近改变了。因此它可能会再次改变。它可能已经改变了。这意味着,如果有人从现在起三年后盲目地跟随他们,他们最终可能不得不花一些严肃的时间向衣冠楚楚的男人解释他们不是叛徒,他们只是愚蠢到认为博客文章是法律文件。

请帮我自己的内心平静。去找律师


非常感谢您提供详细的答案。只是我认为这是一个明确的案例并且易于决定。我在评论中写了一个问题(如上所述),为什么我这么认为。
caw 2012年

是的,如果您只打算通过App Store进行发布,并且您的App在加密方面没有做任何特别新颖的事情,那么在这种情况下,您可以直接咨询Apple以获取其规则。老实说,我想您提交时,如果不符合要求,他们会将其退回。他们将有自己的保障措施,以使App Store不受制裁国家/地区的影响。他们也有自己的法律团队来处理这些事务,这相当于与律师打交道。
deworde 2012年

1
我回答的问题是更为笼统的问题:“在设计和发布必须满足美国密码软件出口限制的软件时,我需要考虑哪些方面?” 对于Android / iOS专用的东西,要咨询的人将是Apple和Google。给他们发送一封电子邮件,列出您打算做什么,他们可能会为您准备好所有程序。
deworde 2012年

但是,如果确实出现问题,我认为让当地律师知道您的存在和您的工作是明智的。以防万一。
deworde 2012年

感谢您的其他评论。我会牢记您的话;)
caw 2012年

0

答案略有不同,但是为什么要在美国编写加密代码?即使您在美国编写产品的其余部分,在其他地方进行加密也很有意义。您仍然可以在美国销售您的产品,但是您要进口到美国,而不是从美国出口。

顺便说一句,在PGP的早期,通过打印包含源代码的书并导出该书来规避导出规则。


3
这是一个非常糟糕的主意。美国制裁/出口法规适用于在美国注册的任何公司,并确定供应商和销售。是的,有了一个非常聪明的律师,您可能会发现一些人使用疯狂的法律欺骗手段在他们周围刮scrap的例子,但不要这样。大公司如果搞砸了,就得支付数亿英镑。小型公司,每个人都会入狱,破产或两者兼而有之。
deworde 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.