Préoccupations des programmeurs concernant les restrictions à l'exportation des États-Unis

21

Quels aspects dois-je prendre en compte lors de la conception et de la publication de logiciels qui doivent respecter les restrictions d'exportation des États-Unis pour les logiciels cryptographiques?

Wikipedia indique qu'il existe différentes catégories que vous pouvez attribuer à un logiciel de cryptographie. Et la destination d'exportation (par exemple la Chine, la Russie) joue également un rôle majeur. Mais je n'ai pas vraiment compris ces restrictions et leurs effets sur mon travail.

Quelqu'un peut-il m'expliquer cela?

Je vous le demande car si vous essayez de publier votre application (par exemple sur l'App Store d'Apple ou Android Market), vous devez vous assurer que votre application respecte les restrictions d'exportation américaines. Et il existe de nombreuses applications qui offrent un stockage sécurisé des informations, par exemple pour les mots de passe.

Ont-ils tous avisé le gouvernement et demandé une révision? Bien sûr, vous ne pouvez pas savoir s'ils l'ont fait. Mais ont-ils besoin de faire ça?

croasser
la source
1
Votre premier pronostic est devenu vrai. Mais en ce qui concerne le second: c'est une question qui est intéressante pour beaucoup de programmeurs, n'est-ce pas? Beaucoup ont publié des logiciels qui utilisent des algorithmes cryptographiques. Donc, quelqu'un doit savoir.
caw
Oui certainement, cela ne signifie pas que quiconque est suffisamment certain de ce que vous avez fait pour vous donner des conseils définitifs. Voir "allez voir un avocat" ci-dessous!
Ben
Vous pouvez consulter le site Web de la FIPS pour plus de détails
Ubermensch
1
Pour quelque chose comme ça, je consulterais un avocat. Ma carrière est dans l'industrie de la défense, y compris chez des entrepreneurs qui créent des produits pour des clients nationaux et étrangers. Il n'y a pas seulement une équipe juridique, mais des spécialistes spécifiques du contrôle des exportations qui examinent tout pour s'assurer qu'ils respectent les directives. Il y a beaucoup de petites choses à surveiller et se fier à une réponse d'un développeur de logiciel n'est pas sage car il est si facile d'oublier quelque chose d'important.
Thomas Owens
1
Merci, Thomas. Je pensais simplement que cela pouvait être un cas clair car il y a tellement d'applications sur Android Market (toutes doivent respecter les directives) qui utilisent le cryptage AES. Imaginez, toutes les applications bancaires, les applications de stockage de mots de passe etc ... Et je ne vends pas mes applications, je les propose gratuitement. Donc, demander à un avocat coûte cher.
caw

Réponses:

15

Si votre code est open source , les restrictions sont très légères : vous ne pouvez pas exporter votre code vers des pays ou des entités qui ont été restreints et vous devez informer le gouvernement de l'endroit où ils peuvent télécharger les fichiers source et objet . Vous devez faire des efforts pour empêcher le téléchargement du code par Cuba, l'Iran, la Libye, la Corée du Nord, la Syrie et le Soudan . Vous devez demander à tous vos utilisateurs de ne pas exporter vers ces pays.

Vous devrez préparer des listes de tous les "packages" et "fichiers" contenant les primitives de chiffrement. (Je me souviens que nous étions autorisés à ignorer les primitives de hachage qui étaient utilisées uniquement pour l' authentification ou les contrôles d' intégrité .)

Si votre code n'est pas open source, vous devez déposer des exceptions sur votre propre code. Je suppose que vous devrez préparer des listes similaires de fichiers source / objet et quels algorithmes sont mis en œuvre pour quels mécanismes. Je m'attends en outre à ce que cela nécessite un examen avant l'octroi de la licence.

Bien que je pense que toutes mes informations sont correctes au 30 décembre 2011, je ne suis pas avocat et je ne peux pas vous fournir de conseils juridiques. Ce sont simplement des pointeurs vers les ressources du gouvernement américain actuellement disponibles.

sarnold
la source
1
Merci! Cela semble vraiment complexe et onéreux. Veuillez voir ma modification dans la question: Votre explication est-elle même pour ce cas ou uniquement pour un logiciel qui permet à l'utilisateur de coder ou de décoder des informations librement?
caw
Je me souviens que les mots de passe hachés ne sont pas une des choses qui les intéressent - donc si c'est tout ce que fait votre application, vous êtes presque certainement d'accord. Je ne peux pas parler de ce que font les autres auteurs d'applications ...
sarnold
D'accord, merci. Donc, si nous prenons comme exemple une application de banque en ligne ou un mot de passe sécurisé - les deux cryptent les données pour un stockage sûr: est-ce bien ou doit-il être signalé et examiné?
caw
Si vous comptez à 100% sur le système d'exploitation hôte pour fournir les primitives de cryptographie, vous n'avez rien à faire. :)
sarnold
1
À PARTIR DES FICHIERS DE POLITIQUE DE JURIDICTION DE FORCE ILLIMITÉE DE JAVA: L'architecture JCE permet de configurer la force cryptographique flexible via des fichiers de politique de juridiction. En raison des restrictions d'importation de certains pays, les fichiers de politique de juridiction distribués avec le logiciel Java SE 7 ont des restrictions intégrées sur la force cryptographique disponible. Les fichiers de politique de compétence dans ce bundle de téléchargement (le bundle comprenant ce fichier README) ne contiennent aucune restriction sur les forces cryptographiques. Cela convient à la plupart des pays.
caw
7

Ecrivez-vous vos propres routines cryptographiques ou appelez-vous simplement une routine tierce?

La raison pour laquelle je pose la question est que si, par exemple, sous Windows, vous utilisez l'une des routines fournies par Microsoft, vous n'êtes pas celui qui publie ou distribue le logiciel contrôlé, auquel cas votre logiciel ne serait soumis à aucune restriction.

JonnyBoats
la source
Merci d'avoir répondu! Si c'est vrai, ce serait génial :) J'utiliserai des algorithmes célèbres tels que AES, SHA etc. Je vais donc réutiliser d'autres algorithmes et appeler des fonctions natives. Je ne publierai pas mon propre algorithme cryptographique.
caw
Marco: C'est définitivement la voie à suivre. Quel système d'exploitation visez-vous?
JonnyBoats
3
Marco: codez votre programme pour utiliser simplement la meilleure routine disponible sur le téléphone du client, vérifiez au moment de l'exécution. En plus de combien de produits allez-vous vendre à Cuba ou en Corée du Nord?
JonnyBoats
1
Si vous utilisez la cryptographie de routine fournie par Microsoft sur Windows, vous n'exportez pas le contenu car vous ne le fournissez pas. Si c'est déjà là, c'est probablement OK pour l'appeler. L'utilisation d'implémentations standard d'algorithmes standard fournit toujours le crypto, et vous pourriez bien l'exporter. (De plus, n'écrivez pas votre propre logiciel de sécurité à des fins de production, sauf si vous avez de l'expérience dans le domaine. Il y a trop de choses que vous pouvez facilement vous tromper.)
David Thornley
1
Je suis à peu près sûr que vous devez toujours déposer toutes ces informations d'exportation de cryptographie si vous utilisez simplement des API de cryptographie.
CodesInChaos
1

S'il ne s'agit que d'une question d'intérêt, les autres réponses sont excellentes. Si cela concerne quelque chose que vous faites réellement?

ALLEZ VOIR UN AVOCAT. MAINTENANT.

Attendez-vous toujours? Ensuite, je développerai.

Allez voir un avocat. Maintenant. N'attendez pas, ne pensez pas. Si vous n'en avez pas déjà, trouvez-en un. Demandez-leur de vous mettre en contact avec une personne qui gère le droit des affaires comme un travail . Vérifiez ses informations d'identification, et si elles semblent correctes, asseyez-vous avec cette personne et offrez-lui de l'argent pour obtenir des conseils. N'hésitez pas à négocier selon les termes.

Si vous ne me faites pas confiance, et j'avoue que je suis très catégorique sans beaucoup d'expérience dans ce domaine, lisez cet article, écrit en mai 2010 , par quelqu'un qui dirige avec succès une entreprise familiale depuis 1993.

Si vous essayez de gérer une entreprise de jeux indépendants, vous dirigez d'abord et avant tout une entreprise. Toutes les lois locales, étatiques et fédérales s'appliquent. Vous avez besoin d'une licence commerciale. Ou des licences. Chaque entreprise devrait avoir un avocat et un comptable. Personnellement, je l'ai fait sans avoir un avocat dédié (un cours imprudent), mais chaque entreprise devrait avoir un comptable qualifié.

Cela signifie que quelqu'un dont l'entreprise comprend deux personnes vendant des jeux où des lézards en armure ont battu des gobelins est conscient qu'il prend un risque en n'ayant pas accès à son propre avocat à tout moment .

Êtes-vous une entreprise? Je ne sais pas. Si vous vendez quelque chose, vous pourriez bien l'être. Devinez qui le saurait? Un avocat .

Vous n'avez pas à payer longtemps pour un avocat très cher, mais au moins vous avez besoin d'avoir quelqu'un sur rendez-vous avec qui vous pouvez diriger les choses avant de faire des choses qui peuvent être légalement dangereuses, et qui peut expliquer à vous ce qui peut être légalement dangereux.

Parce que voici le truc. Si vous le faites dès le départ, alors beaucoup de choses s'appliquent.

  1. Vous êtes moins susceptible de bousiller et d'attirer l'attention du gouvernement.
  2. Vous savez mieux quand vous avez foiré et ce qu'il faut faire à ce sujet, y compris un contact existant que vous pouvez appeler pour vous aider.
  3. Si vous vous trompez et attirez l'attention du gouvernement, vous pouvez expliquer que vous avez essayé de tout faire correctement et avoir les notes de l'avocat pour le prouver.

Sinon? Eh bien, j'ai récemment découvert que si vous savez que vous n'êtes pas compétent pour gérer quelque chose et que vous ne demandez pas de conseils, cela signifie légalement que vous avez délibérément choisi de foirer. En argent, c'est de la fraude. En ce qui concerne les sanctions à l'exportation, je pense que c'est à la même échelle que la trahison.

Concernant la recherche sur Internet: Ce billet de blog a été écrit le 17 janvier 2011. Et la première chose qu'il dit là-dedans? Que ce truc a changé récemment. Cela pourrait donc changer à nouveau. Cela aurait déjà pu changer. Ce qui signifie que si quelqu'un suit aveuglément ces 3 années à partir de maintenant, il pourrait finir par devoir passer du temps sérieux à expliquer aux hommes en costume qu'ils ne sont pas un traître, ils sont juste assez stupides pour penser que les articles de blog sont des documents légaux.

Rendez-moi service pour ma tranquillité d'esprit. Allez voir un avocat.

deworde
la source
Merci beaucoup pour cette réponse détaillée. C'est juste que je pensais que c'était un cas clair et facile à décider. J'ai écrit dans le commentaire de la question (ci-dessus) pourquoi je pensais cela.
caw
Oui, et vous pourriez probablement consulter Apple directement dans ce cas pour obtenir leurs règles, si vous ne publiez que via l'App Store, et si votre application ne fait rien de particulièrement nouveau avec le cryptage. Pour être honnête, j'imagine que lorsque vous soumettez, si elle n'est pas conforme, ils la rejettent. Ils auront leurs propres protections pour garder l'App Store hors des pays sanctionnés. Ils ont également leur propre équipe juridique pour s'occuper de ces choses, et cela compte comme avoir affaire à un avocat.
deworde
1
La question à laquelle j'ai répondu était la plus générale "Quels aspects dois-je prendre en compte lors de la conception et de la publication de logiciels qui doivent respecter les restrictions d'exportation des États-Unis pour les logiciels de cryptographie?" Pour les choses spécifiques à Android / iOS, les personnes à consulter seraient Apple et Google. Envoyez-leur un e-mail expliquant ce que vous prévoyez de faire, et ils auront probablement une procédure entièrement établie pour vous.
deworde
Mais si quelque chose se passe mal, je maintiens qu'il serait sage d'avoir un avocat local au courant de votre existence et de ce que vous faisiez. Au cas où.
deworde
Merci pour vos commentaires supplémentaires. Je garderai vos mots à l'esprit;)
caw
0

Une réponse légèrement différente, mais pourquoi écrire le code de cryptage aux USA? Même si vous écrivez le reste du produit aux États-Unis, il est très logique de faire les parties de chiffrement ailleurs. Vous pouvez toujours vendre votre produit aux États-Unis, mais vous importez aux États-Unis plutôt que d'exporter des États-Unis.

Soit dit en passant, au début du PGP, les règles d'exportation ont été contournées par l'impression d'un livre contenant le code source et l'exportation du livre.

Michael Shaw
la source
3
C'est une très mauvaise idée. Les réglementations américaines en matière de sanctions / exportations s'appliquent à toute entreprise enregistrée aux États-Unis et déterminent les fournisseurs ainsi que les ventes. Oui, avec un avocat très intelligent, vous pourriez trouver des exemples de personnes grattant autour d'eux en utilisant une supercherie juridique folle, mais NE FAITES PAS. Les grandes entreprises doivent payer des centaines de millions de livres si elles bousillent ça. Petites entreprises, tout le monde va en prison, en faillite ou les deux.
deworde