Bedenken der Programmierer bezüglich Exportbeschränkungen aus den USA


21

Welche Aspekte müssen beim Entwerfen und Veröffentlichen von Software berücksichtigt werden, die die Exportbeschränkungen der USA für kryptografische Software erfüllen muss?

Laut Wikipedia gibt es verschiedene Kategorien, die Sie kryptografischer Software zuweisen können. Dabei spielt auch die Exportdestination (z. B. China, Russland) eine große Rolle. Aber ich habe diese Einschränkungen und ihre Auswirkungen auf meine Arbeit nicht wirklich verstanden.

Kann mir das jemand erklären?

Wenn Sie versuchen, Ihre Anwendung zu veröffentlichen (z. B. im Apple App Store oder im Android Market), müssen Sie sicherstellen, dass Ihre Anwendung den Exportbeschränkungen der USA entspricht. Und es gibt viele Anwendungen, die eine sichere Informationsspeicherung anbieten, z. B. für Passwörter.

Haben sie alle die Regierung benachrichtigt und um eine Überprüfung gebeten? Natürlich können Sie nicht wissen, ob sie es getan haben. Aber müssen sie das tun?


1
Ihre erste Prognose hat sich bewahrheitet. Aber zum zweiten: Das ist eine Frage, die für viele Programmierer interessant ist, nicht wahr? Viele haben Software veröffentlicht, die kryptografische Algorithmen verwendet. Also muss es jemand wissen.
Caw

Ja definitiv, das heißt nicht, dass irgendjemand sicher genug ist, was Sie getan haben, um Ihnen endgültige Ratschläge zu geben. Siehe "go see lawyer" weiter unten!
Ben

Weitere Informationen finden Sie auf der FIPS- Website
Ubermensch

1
Für so etwas würde ich einen Anwalt konsultieren. Meine Karriere ist in der Verteidigungsindustrie, unter anderem bei Auftragnehmern, die Produkte für in- und ausländische Kunden herstellen. Es gibt nicht nur ein Rechtsteam, sondern auch spezielle Exportkontrollspezialisten, die alles überprüfen, um sicherzustellen, dass es den Richtlinien entspricht. Es gibt viele kleine Dinge, auf die man achten muss, und es ist nicht ratsam, sich auf die Antwort eines Software-Entwicklers zu verlassen, da es so einfach ist, etwas Wichtiges zu übersehen.
Thomas Owens

1
Vielen Dank, Thomas. Ich dachte nur, es könnte ein klarer Fall sein, da es so viele Anwendungen im Android Market gibt (alle müssen den Richtlinien entsprechen), die AES-Verschlüsselung verwenden. Stellen Sie sich vor, alle Banking-Apps, die Passwortspeicher-Apps usw. ... Und ich verkaufe meine Anwendungen nicht, sondern biete sie kostenlos an. Es ist also teuer, einen Anwalt zu fragen.
caw

Antworten:


15

Wenn es sich bei Ihrem Code um Open Source handelt , sind die Einschränkungen sehr gering : Sie können Ihren Code nicht in Länder oder Einheiten exportieren , für die Einschränkungen gelten, und Sie müssen der Regierung mitteilen, wo sie Quell- und Objektdateien herunterladen können . Sie müssen einige Anstrengungen unternehmen, um zu verhindern, dass der Code von Kuba, dem Iran, Libyen, Nordkorea, Syrien und dem Sudan heruntergeladen wird . Sie müssen alle Ihre Benutzer auffordern, nicht in diese Länder zu exportieren.

Es wird erwartet, dass Sie Listen aller "Pakete" und "Dateien" erstellen, die die Verschlüsselungsprimitive enthalten. (Ich erinnere mich, dass wir Hashing-Primitive überspringen durften, die nur für Authentifizierungs- oder Integritätskontrollen verwendet wurden .)

Wenn Ihr Code nicht Open Source ist, müssen Sie Ausnahmen in Ihrem eigenen Code einreichen . Ich gehe davon aus, dass Sie ähnliche Listen von Quell- / Objektdateien erstellen müssen und welche Algorithmen für welche Mechanismen implementiert sind. Ich gehe außerdem davon aus, dass eine Überprüfung erforderlich ist , bevor die Lizenz erteilt wird.

Obwohl ich glaube, dass alle meine Informationen zum 30. Dezember 2011 korrekt sind, bin ich kein Anwalt und kann Ihnen keine Rechtsberatung anbieten. Dies sind lediglich Hinweise auf derzeit verfügbare Ressourcen der US-Regierung.


1
Vielen Dank! Das klingt sehr komplex und beschwerlich. Bitte sehen Sie meine Bearbeitung in der Frage: Ist Ihre Erklärung auch für diesen Fall oder nur für Software, die es dem Benutzer ermöglicht, Informationen frei zu codieren oder zu decodieren?
Caw

Ich erinnere mich, dass gehashte Passwörter nicht zu den Dingen gehören, an denen sie interessiert sind. Wenn das alles ist, was Ihre Anwendung tut, geht es Ihnen mit ziemlicher Sicherheit gut. Ich kann nicht für das sprechen, was andere Anwendungsautoren tun ...
Sarnold

Okay, danke. Wenn wir uns also eine Online-Banking-Anwendung oder einen Passwort-Safe als Beispiel nehmen, verschlüsseln beide Daten zur sicheren Speicherung: Ist dies in Ordnung oder muss dies gemeldet und überprüft werden?
Caw

Wenn Sie sich zu 100% auf das Host-Betriebssystem verlassen, um die Kryptografie-Primitive bereitzustellen, müssen Sie nichts unternehmen. :)
Sarnold

1
AUS JAVAs UNBEGRENZTEN JURISDICTION-POLICY-DATEIEN: Die JCE-Architektur ermöglicht die Konfiguration flexibler kryptografischer Stärke über Jurisdiktions-Policy-Dateien. Aufgrund der Importbeschränkungen einiger Länder sind in den mit der Java SE 7-Software gelieferten Gerichtsbarkeitsrichtliniendateien Einschränkungen für die verfügbare Verschlüsselungsstärke enthalten. Die Jurisdiktionsrichtliniendateien in diesem Download-Bundle (das Bundle, das diese README-Datei enthält) enthalten keine Einschränkungen für die kryptografischen Stärken. Dies ist für die meisten Länder angemessen.
Caw

7

Schreiben Sie Ihre eigenen kryptografischen Routinen oder rufen Sie lediglich eine Routine eines Drittanbieters auf?

Der Grund, den ich frage, liegt darin, dass Sie, wenn Sie zum Beispiel unter Windows eine der von Microsoft bereitgestellten Routinen verwenden, nicht die kontrollierte Software veröffentlichen oder vertreiben. In diesem Fall unterliegt Ihre Software keiner Einschränkung.


Danke für die Antwort! Wenn das stimmt, wäre es großartig :) Ich werde berühmte Algorithmen wie AES, SHA usw. verwenden. Also werde ich andere Algorithmen wiederverwenden und native Funktionen aufrufen. Ich werde meinen eigenen kryptografischen Algorithmus nicht veröffentlichen.
Caw

Marco: Das ist definitiv der richtige Weg. Auf welches Betriebssystem zielen Sie?
JonnyBoats

3
Marco: Codieren Sie Ihr Programm, um einfach die beste auf dem Telefon des Kunden verfügbare Routine zu verwenden. Überprüfen Sie dies zur Laufzeit. Abgesehen davon, wie viel Produkt werden Sie in Kuba oder Nordkorea verkaufen?
JonnyBoats

1
Wenn Sie die von Microsoft bereitgestellte Routine-Krypto unter Windows verwenden, exportieren Sie das Zeug nicht, weil Sie es nicht bereitstellen. Wenn es schon da ist, ist es vermutlich in Ordnung, es anzurufen. Die Verwendung von Standardimplementierungen von Standardalgorithmen stellt die Krypto weiterhin bereit, und Sie exportieren sie möglicherweise. (Schreiben Sie auch keine eigene Sicherheitssoftware für Produktionszwecke, es sei denn, Sie haben Erfahrung auf diesem Gebiet. Es gibt zu viele Dinge, die Sie leicht falsch machen können.)
David Thornley

1
Ich bin mir ziemlich sicher, dass Sie das gesamte Krypto-Export-Zeug noch ablegen müssen, wenn Sie nur Krypto-APIs verwenden.
CodesInChaos

1

Wenn dies nur eine Frage aus Interesse ist, dann sind die anderen Antworten großartig. Wenn es sich um etwas handelt, was Sie tatsächlich tun?

SEHEN SIE EINEN Anwalt. JETZT.

Wartest du noch Dann werde ich erweitern.

Geh zu einem Anwalt. Jetzt. Warten Sie nicht, denken Sie nicht. Wenn Sie noch keinen haben, finden Sie einen. Bitten Sie sie, Sie mit jemandem in Verbindung zu setzen , der das Wirtschaftsrecht als Job behandelt . Überprüfen Sie seine Anmeldeinformationen, und setzen Sie sich mit dieser Person in Verbindung, wenn sie richtig aussieht, und bieten Sie ihnen Geld für Ratschläge an. Fühlen Sie sich frei, zu Bedingungen zu verhandeln.

Wenn Sie mir nicht vertrauen, und ich gebe zu, dass ich ohne viel Erfahrung auf diesem Gebiet sehr bestimmt bin, lesen Sie diesen Artikel, der im Mai 2010 von jemandem geschrieben wurde, der seit 1993 erfolgreich ein Familienunternehmen führt.

Wenn Sie versuchen, ein Indie-Spielegeschäft zu führen, führen Sie in erster Linie ein Geschäft. Es gelten alle lokalen, staatlichen und bundesstaatlichen Gesetze. Sie benötigen eine Geschäftslizenz. Oder Lizenzen. Jedes Unternehmen sollte einen Anwalt und einen Buchhalter haben. Ich persönlich habe auf einen engagierten Anwalt verzichtet (ein unkluger Kurs), aber jedes Unternehmen sollte einen erfahrenen Buchhalter haben.

Dies bedeutet, dass jemand, dessen Geschäft aus zwei Personen besteht, die Spiele verkaufen, bei denen Eidechsen in Rüstungen Goblins verprügeln, sich dessen bewusst ist, dass er ein Risiko eingeht, indem er zu keinem Zeitpunkt Zugang zu seinem persönlichen Anwalt hat .

Sind Sie ein Unternehmen? Ich weiß es nicht. Wenn Sie etwas verkaufen, könnten Sie es auch sein. Ratet mal, wer würde es wissen? Ein Anwalt .

Sie müssen nicht lange für einen sehr teuren Anwalt bezahlen, aber zumindest müssen Sie nach Absprache jemanden zur Verfügung haben, mit dem Sie die Dinge regeln können, bevor Sie Dinge tun, die rechtlich gefährlich sind und die Sie erklären können Sie, was rechtlich gefährlich sein kann.

Denn hier ist das Ding. Wenn Sie es im Voraus tun, gelten viele Dinge.

  1. Es ist weniger wahrscheinlich, dass Sie Fehler machen und die Aufmerksamkeit der Regierung auf sich ziehen.
  2. Sie sind sich besser bewusst, wann Sie es vermasselt haben und was Sie dagegen tun können, einschließlich eines vorhandenen Kontakts, den Sie anrufen können, um Ihnen zu helfen.
  3. Wenn Sie es vermasseln und die Aufmerksamkeit der Regierung auf sich ziehen, können Sie erklären, dass Sie versucht haben, alles richtig zu machen, und die Notizen des Anwalts haben, um dies zu beweisen.

Wenn nicht Nun, ich habe kürzlich herausgefunden, dass, wenn Sie wissen, dass Sie nicht in der Lage sind, mit etwas umzugehen, und Sie keinen Rat einholen, dies rechtlich bedeutet, dass Sie sich absichtlich entschieden haben, es zu vermasseln. In Geld ist das Betrug. Ich denke, dass es bei Exportsanktionen in der Größenordnung von Verrat liegt.

Zur Internetrecherche: Dieser Blogbeitrag wurde am 17. Januar 2011 verfasst. Und als Erstes steht da drin? Dass sich dieses Zeug kürzlich geändert hat. Es könnte sich also wieder ändern. Es könnte schon ändern können. Das bedeutet, dass jemand, der diese drei Jahre blindlings verfolgt, ernsthafte Erklärungen gegenüber überredeten Männern abgeben muss, dass er kein Verräter ist. Er ist nur dumm genug zu glauben, dass Blog-Posts rechtliche Dokumente sind.

Tu mir einen Gefallen für meinen eigenen Seelenfrieden. Geh zu einem Anwalt.


Vielen Dank für diese ausführliche Antwort. Es ist nur so, dass ich dachte, es ist ein klarer Fall und leicht zu entscheiden. Ich habe in dem Kommentar zu der Frage (oben) geschrieben, warum ich das gedacht habe.
caw

Ja, und in diesem Fall können Sie sich wahrscheinlich direkt an Apple wenden, um die Regeln zu erfahren, wenn Sie nur über den App Store veröffentlichen und Ihre App mit der Verschlüsselung nichts Besonderes anfangen möchte. Um ehrlich zu sein, würde ich mir vorstellen, dass wenn Sie einreichen, wenn es nicht konform ist, sie es zurückwerfen. Sie haben ihre eigenen Sicherheitsvorkehrungen, um den App Store von sanktionierten Ländern fernzuhalten. Sie haben auch ein eigenes Anwaltsteam, das sich um diese Angelegenheiten kümmert, und das gilt als Umgang mit einem Anwalt.
Deworde

1
Die Frage, die ich beantwortete, war die allgemeinere: "Welche Aspekte muss ich beim Entwerfen und Veröffentlichen von Software berücksichtigen, die die Exportbeschränkungen der USA für kryptografische Software erfüllen muss?" Für die Android / iOS-spezifischen Themen wären dann Apple und Google zu konsultieren. Schicken Sie ihnen eine E-Mail, in der Sie darlegen, was Sie vorhaben, und sie werden wahrscheinlich eine Prozedur für Sie haben.
Deworde

Aber wenn etwas schief geht, wäre es ratsam, einen Anwalt vor Ort zu haben, der über Ihre Existenz und Ihre Aktivitäten informiert ist. Nur für den Fall.
Deworde

Vielen Dank für Ihre zusätzlichen Kommentare. Ich werde Ihre Worte im Auge behalten;)
caw

0

Eine etwas andere Antwort, aber warum den Verschlüsselungscode in den USA schreiben? Selbst wenn Sie den Rest des Produkts in den USA schreiben, ist es sehr sinnvoll, die Verschlüsselungsteile an anderer Stelle vorzunehmen. Sie können Ihr Produkt weiterhin in den USA verkaufen, aber Sie importieren in die USA, anstatt aus den USA zu exportieren.

Im Übrigen wurden in den frühen PGP-Tagen die Exportregeln umgangen, indem ein Buch mit dem Quellcode gedruckt und das Buch exportiert wurde.


3
Das ist eine sehr schlechte Idee. US-Sanktionen / Exportbestimmungen gelten für alle in den USA registrierten Unternehmen und bestimmen sowohl die Lieferanten als auch die Verkäufe. Ja, mit einem sehr klugen Anwalt könnten Sie Beispiele finden, in denen Leute mit verrückten juristischen Tricks um sie herumkratzen, aber TUN SIE DAS NICHT. Große Unternehmen müssen Hunderte Millionen Pfund bezahlen, wenn sie das vermasseln. Kleine Unternehmen, jeder geht ins Gefängnis, bankrott oder beides.
Deworde
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.