Preocupações dos programadores sobre restrições de exportação dos Estados Unidos


21

Quais aspectos devo considerar ao projetar e publicar software que deve atender às restrições de exportação dos EUA para software criptográfico?

A Wikipedia diz que existem várias categorias que você pode atribuir ao software criptográfico. E o destino das exportações (por exemplo, China, Rússia) também desempenha um papel importante. Mas eu realmente não entendi essas restrições e seus efeitos no meu trabalho.

Alguém pode me explicar isso?

Estou perguntando, porque se você tentar publicar seu aplicativo (por exemplo, na App Store da Apple ou no Android Market), deverá garantir que seu aplicativo atenda às restrições de exportação dos EUA. E existem muitos aplicativos que oferecem armazenamento seguro de informações, por exemplo, para senhas.

Todos eles notificaram o governo e pediram uma revisão? Claro, você não pode saber se eles fizeram. Mas eles precisam fazer isso?


1
Seu primeiro prognóstico se tornou realidade. Mas com relação à segunda: esta é uma pergunta que é interessante para muitos programadores, não é? Muitos publicaram software que usa algoritmos criptográficos. Então alguém deve saber.
caw

Sim, definitivamente, isso não significa que alguém tenha certeza do que você fez para lhe dar um conselho definitivo. Veja "vá ver advogado" abaixo!
Ben

Você pode verificar o FIPS site para mais detalhes
Ubermensch

1
Para algo assim, eu consultaria um advogado. Minha carreira é na indústria de defesa, inclusive em empresas contratadas que criam produtos para clientes nacionais e estrangeiros. Não há apenas uma equipe jurídica, mas especialistas específicos em controle de exportação que revisam tudo para garantir que estão seguindo as diretrizes. Há muitas pequenas coisas a serem observadas e confiar na resposta de um desenvolvedor de software não é prudente, pois é tão fácil ignorar algo importante.
Thomas Owens

1
Obrigado, Thomas. Eu apenas pensei que poderia ser um caso claro, pois existem muitos aplicativos no Android Market (todos devem atender às diretrizes) que usam a criptografia AES. Imagine todos os aplicativos bancários, aplicativos de armazenamento de senhas, etc. E eu não vendo meus aplicativos, ofereço-os gratuitamente. Então, pedir a um advogado é caro.
caw

Respostas:


15

Se o seu código for de código aberto , as restrições serão muito leves : você não poderá exportá-lo para países ou entidades restritas e deverá notificar o governo do local em que eles podem baixar arquivos de origem e de objeto . Você deve se esforçar para impedir que o código seja baixado por Cuba, Irã, Líbia, Coréia do Norte, Síria e Sudão . Você deve solicitar a todos os seus usuários que não exportem para esses países.

Você deverá preparar listas de todos os "pacotes" e "arquivos" que contêm as primitivas de criptografia. (Lembro-me de que tínhamos permissão para pular primitivas de hash que eram usadas apenas para autenticação ou controle de integridade .)

Se o seu código não for de código aberto, você deverá registrar exceções em seu próprio código. Espero que você precise preparar listas semelhantes de arquivos de origem / objeto e quais algoritmos são implementados para quais mecanismos. Espero ainda que exija revisão antes da concessão da licença.

Embora acredite que todas as minhas informações estejam corretas em 30 de dezembro de 2011, não sou advogado e não posso lhe fornecer aconselhamento jurídico. Estes são simplesmente indicadores dos recursos do governo dos EUA atualmente disponíveis.


1
Obrigado! Isso parece realmente complexo e oneroso. Por favor, veja minha edição na pergunta: a sua explicação é válida para este caso ou apenas para software que permite ao usuário codificar ou decodificar informações livremente?
caw

Lembro-me de que as senhas com hash não são uma das coisas em que elas se interessam - por isso, se isso é tudo que o seu aplicativo faz, você quase certamente está bem. Eu não posso falar para o que quaisquer outros autores de aplicações fazer ...
sarnold

Ok, obrigada. Portanto, se tomarmos um aplicativo bancário on-line ou uma senha segura como exemplo - os dois criptografam dados para armazenamento seguro: isso é bom ou deve ser relatado e revisado?
caw

Se você depende 100% do sistema operacional host para fornecer as primitivas de criptografia, não precisa fazer nada. :)
sarnold

1
A PARTIR DOS ARQUIVOS DE POLÍTICA DE JURISDIÇÃO DE FORÇA ILIMITADOS DO JAVA: A arquitetura JCE permite que a força criptográfica flexível seja configurada por meio de arquivos de políticas de jurisdição. Devido às restrições de importação de alguns países, os arquivos de políticas de jurisdição distribuídos com o software Java SE 7 possuem restrições internas sobre a força criptográfica disponível. Os arquivos de política de jurisdição neste pacote de download (o pacote que inclui este arquivo LEIA-ME) não contêm restrições quanto aos pontos criptográficos. Isso é apropriado para a maioria dos países.
caw

7

Você está escrevendo suas próprias rotinas criptográficas ou apenas chamando uma rotina de terceiros?

A razão pela qual pergunto é porque, por exemplo, no Windows, você está usando uma das rotinas fornecidas pela Microsoft, não é você quem publica ou distribui o software controlado; nesse caso, o software não estaria sujeito a nenhuma restrição.


Obrigado pela resposta! Se isso for verdade, seria ótimo :) Eu usarei algoritmos famosos como AES, SHA etc. Então, reutilizarei outros algoritmos e chamo funções nativas. Não publicarei meu próprio algoritmo criptográfico.
caw

Marco: Esse é definitivamente o caminho a percorrer. Qual sistema operacional você está alvejando?
JonnyBoats

3
Marco: codifique seu programa para simplesmente usar a melhor rotina disponível no telefone do cliente, verifique em tempo de execução. Além de quanto produto você venderá em Cuba ou na Coréia do Norte?
precisa saber é o seguinte

1
Se você usar a criptografia de rotina fornecida pela Microsoft no Windows, não estará exportando o material porque não o está fornecendo. Se já estiver lá, presumivelmente não há problema em chamá-lo. O uso de implementações padrão de algoritmos padrão ainda está fornecendo a criptografia, e você pode muito bem estar exportando-a. (Além disso, não escrever o seu próprio software de segurança para fins de produção, menos que você tenha experiência no campo Há muitas coisas que você pode facilmente obter errado..)
David Thornley

1
Tenho certeza de que você ainda precisará arquivar todo esse material de exportação de criptografia se estiver apenas usando APIs de criptografia.
CodesInChaos

1

Se isso é apenas uma questão de interesse, as outras respostas são ótimas. Se se refere a algo que você está realmente fazendo?

Vá ver um advogado. AGORA.

Você ainda está esperando? Então eu vou expandir.

Vá ver um advogado. Agora. Não espere, não pense. Se você ainda não tem um, encontre um. Peça a eles para entrar em contato com alguém que lida com o direito comercial como um trabalho . Verifique as credenciais dele e, se parecerem adequadas, sente-se com essa pessoa e ofereça-lhe dinheiro para aconselhamento. Sinta-se livre para negociar em termos.

Se você não confia em mim, e admito que estou sendo muito claro, sem muita experiência nesta área, leia este artigo, escrito em maio de 2010 , de alguém que administra com êxito um negócio de família desde 93.

Se você está tentando administrar um negócio de jogos independentes, está, acima de tudo, administrando um negócio. Todas as leis locais, estaduais e federais se aplicam. Você precisa de uma licença comercial. Ou licenças. Toda empresa deve ter um advogado e um contador. Pessoalmente, não tive um advogado dedicado à disposição (um curso imprudente), mas toda empresa deve ter um contador qualificado.

O que isso significa é que alguém cujo negócio compreende duas pessoas que vendem jogos em que lagartos de armadura espancam duendes sabe que ele corre um risco por não ter acesso a seu advogado pessoal o tempo todo .

Você é um negócio? Não sei. Se você está vendendo alguma coisa, pode muito bem estar. Adivinha quem saberia? Um advogado .

Você não precisa pagar por um advogado muito caro por um longo período de tempo, mas pelo menos precisa de alguém disponível mediante agendamento, para quem você pode administrar as coisas antes de fazer coisas que podem ser legalmente perigosas e quem pode explicar para você o que pode ser legalmente perigoso.

Porque aqui está a coisa. Se você fizer isso com antecedência, muitas coisas se aplicarão.

  1. É menos provável que você estrague tudo e atraia a atenção do governo.
  2. Você está mais ciente de que você errou e o que fazer sobre isso, incluindo um contato existente para o qual você pode ligar para ajudá-lo.
  3. Se você estragar tudo e atrair a atenção do governo, pode explicar que tentou fazer tudo certo e receber as notas do advogado para provar isso.

Se não Bem, eu descobri recentemente que, se você está ciente de que não é competente para lidar com algo e não procura conselhos, isso significa legalmente que você deliberadamente escolheu estragar tudo. Em dinheiro, isso é fraude. Nas sanções à exportação, acho que está na mesma escala da traição.

Em relação à pesquisa na Internet: Esta postagem no blog foi escrita em 17 de janeiro de 2011. E a primeira coisa que diz lá? Que essas coisas mudaram recentemente. Então isso pode mudar novamente. Poderia ter mudado. O que significa que, se alguém seguir cegamente isso daqui a três anos, poderá acabar gastando bastante tempo explicando aos homens que não é um traidor, mas é tolo o suficiente para pensar que as postagens no blog são documentos legais.

Faça-me um favor pela minha própria paz de espírito. Vá ver um advogado.


Muito obrigado por esta resposta detalhada. Achei que era um caso claro e fácil de decidir. Eu escrevi no comentário para a pergunta (acima) por que eu pensei isso.
caw

Sim, e você provavelmente poderia consultar a Apple diretamente neste caso para obter as regras, se você for publicar apenas na App Store e se o aplicativo não estiver fazendo algo particularmente novo com a criptografia. Para ser sincero, eu imagino que quando você enviar, se não estiver em conformidade, eles o devolverão. Eles terão suas próprias salvaguardas para manter a App Store fora dos países sancionados. Eles também têm sua própria equipe jurídica para lidar com essas coisas, e isso conta como lidar com um advogado.
deworde

1
A pergunta que respondi foi a mais geral "Quais aspectos devo considerar ao projetar e publicar software que deve atender às restrições de exportação dos EUA para software criptográfico?" Para as coisas específicas do Android / iOS, as pessoas a consultar seriam Apple e Google. Envie a eles um e-mail com o que você planeja fazer, e eles provavelmente terão um procedimento completo para você.
deworde

Mas se algo der errado, eu acredito que seria sensato ter um advogado local ciente de sua existência e do que você estava fazendo. Apenas no caso de.
deworde

Obrigado por seus comentários adicionais. Vou manter suas palavras em mente;)
caw

0

Uma resposta um pouco diferente, mas por que escrever o código de criptografia nos EUA? Mesmo se você escrever o restante do produto nos EUA, faz muito sentido fazer as partes de criptografia em outro lugar. Você ainda pode vender seu produto nos EUA, mas importa para os EUA, em vez de exportar dos EUA.

Além disso, nos primeiros dias do PGP, as regras de exportação foram contornadas, imprimindo um livro contendo o código-fonte e exportando o livro.


3
Esta é uma péssima ideia. Os regulamentos de sanções / exportação dos EUA se aplicam a qualquer empresa registrada nos EUA e determinam os fornecedores e as vendas. Sim, com um advogado muito inteligente, você pode encontrar exemplos de pessoas que os rodeiam usando truques legais malucos, mas NÃO O fazem. As grandes empresas precisam pagar centenas de milhões de libras se estragar tudo. Pequenas empresas, todo mundo vai para a cadeia, falido ou ambos.
deworde
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.