Python 密码软件的封装与分发

Python 密码软件的封装与分发,python,cryptography,aes,itar,Python,Cryptography,Aes,Itar,我正在开发一个PythonGUI应用程序,并计划调用与我的程序打包的外部程序来进行一些加密。我从OpenSSL这样的网站上注意到,这些网站谈论有关加密软件的出口法律 如果我不能将二进制形式的加密软件打包到我的应用程序中,我如何才能解决这个问题,从而仍然能够加密我的程序的输出?你需要小心选择你的目标受众,特别是当你在与ITAR(国际武器交易条例)共舞时。确定你的产品可以合法出口到哪些国家,然后至少说其他国家的人不能下载。为了在你的国家保持合法,你可能需要做更多的事情 从法律上讲,这是一个很深的问题

我正在开发一个PythonGUI应用程序,并计划调用与我的程序打包的外部程序来进行一些加密。我从OpenSSL这样的网站上注意到,这些网站谈论有关加密软件的出口法律


如果我不能将二进制形式的加密软件打包到我的应用程序中,我如何才能解决这个问题,从而仍然能够加密我的程序的输出?

你需要小心选择你的目标受众,特别是当你在与ITAR(国际武器交易条例)共舞时。确定你的产品可以合法出口到哪些国家,然后至少说其他国家的人不能下载。为了在你的国家保持合法,你可能需要做更多的事情

从法律上讲,这是一个很深的问题,你需要和一个有见识的律师谈谈。如果你住在芬兰,你可能可以做任何你喜欢的事。如果你住在美国,要小心。如果你住在法国,要非常小心

更新:有时我觉得自己老了,其他日子我证明了这一点。在没有检查当前ITAR对强加密的处理情况下,我的回答至少已经过时12年了。在1997年之前,从任何国家/向任何国家出口任何类型的加密软件都是一件非常危险的事情,会受到严厉的法律惩罚。这在法国尤其如此,法国曾一度禁止所有非政府使用密码,甚至是非常弱的40位DES。尽管法国已经放宽了一些限制,但他们似乎仍然落后于大多数其他发达国家,因为他们认识到a)他们的公民有合法的隐私权,b)在一个4096位RSA在网络上随处可见的世界里,他们无法做多少事来阻止这种行为

ITAR对加密的立场在96-97年发生了变化。尽管情况总体上有所改善,但出口/进口加密技术仍然存在障碍。在你走得更远之前,你应该彻底熟悉你国家关于cryto的法律——你可能会对你的发现感到震惊/悲伤。即使是美国,也不知道你可以向谁出口什么样的密码,以什么形式出口

有些国家,特别是法国和英国,已经(似乎仍然有某种形式的或其他的)法律要求供应商的软件来托管客户使用的密钥和/或提供一个后门进入系统,以防政府想知道你在说什么。
底线:好的加密技术让政府感到紧张,关于什么是合法/非法的法律随处可见。尝试准确了解加密在您提议的产品/项目中扮演的角色,并根据用户所在国家在该主题上的立场确定用户是否可以选择加入/退出加密。

您需要谨慎选择目标受众,特别是当你和ITAR跳舞的时候——国际武器贸易条例。确定你的产品可以合法出口到哪些国家,然后至少说其他国家的人不能下载。为了在你的国家保持合法,你可能需要做更多的事情

从法律上讲,这是一个很深的问题,你需要和一个有见识的律师谈谈。如果你住在芬兰,你可能可以做任何你喜欢的事。如果你住在美国,要小心。如果你住在法国,要非常小心

更新:有时我觉得自己老了,其他日子我证明了这一点。在没有检查当前ITAR对强加密的处理情况下,我的回答至少已经过时12年了。在1997年之前,从任何国家/向任何国家出口任何类型的加密软件都是一件非常危险的事情,会受到严厉的法律惩罚。这在法国尤其如此,法国曾一度禁止所有非政府使用密码,甚至是非常弱的40位DES。尽管法国已经放宽了一些限制,但他们似乎仍然落后于大多数其他发达国家,因为他们认识到a)他们的公民有合法的隐私权,b)在一个4096位RSA在网络上随处可见的世界里,他们无法做多少事来阻止这种行为

ITAR对加密的立场在96-97年发生了变化。尽管情况总体上有所改善,但出口/进口加密技术仍然存在障碍。在你走得更远之前,你应该彻底熟悉你国家关于cryto的法律——你可能会对你的发现感到震惊/悲伤。即使是美国,也不知道你可以向谁出口什么样的密码,以什么形式出口

有些国家,特别是法国和英国,已经(似乎仍然有某种形式的或其他的)法律要求供应商的软件来托管客户使用的密钥和/或提供一个后门进入系统,以防政府想知道你在说什么。
底线:好的加密技术让政府感到紧张,关于什么是合法/非法的法律随处可见。尝试准确了解加密在您提议的产品/项目中扮演的角色,并根据用户所在国家在该主题上的立场确定用户是否可以选择加入/退出加密功能。

我经常看到人们在加密部分依赖外部包:您可以在不使用加密功能的情况下打包软件打包,并告诉用户他们必须从原始发布服务器下载并安装加密部分


这有效地将加密部分的责任从您转移到了用户身上。

我经常看到人们依靠外部软件包来完成加密部分:您可以在不使用加密软件包的情况下打包软件,并告诉用户他们必须从原始发布服务器下载并安装加密部分

这有效地转移了加密部分的责任