Preoccupazioni dei programmatori sulle restrizioni all'esportazione dagli Stati Uniti


21

Quali aspetti devo prendere in considerazione nella progettazione e pubblicazione di software che devono soddisfare le restrizioni statunitensi all'esportazione per il software crittografico?

Wikipedia afferma che ci sono varie categorie che puoi assegnare al software crittografico. E anche la destinazione delle esportazioni (ad es. Cina, Russia) svolge un ruolo importante. Ma non ho davvero capito quelle restrizioni e il loro effetto sul mio lavoro.

Qualcuno può spiegarmelo?

Sto chiedendo perché se provi a pubblicare la tua applicazione (ad es. Sull'App Store di Apple o sul Market di Android) devi assicurarti che la tua applicazione soddisfi le restrizioni all'esportazione degli Stati Uniti. E ci sono molte applicazioni che offrono archiviazione sicura delle informazioni, ad esempio per le password.

Hanno tutti informato il governo e chiesto una revisione? Certo, non puoi sapere se lo hanno fatto. Ma devono farlo?


1
La tua prima prognosi si è avverata. Ma per quanto riguarda la seconda: questa è una domanda interessante per molti programmatori, no? Molti hanno pubblicato software che utilizza algoritmi crittografici. Quindi qualcuno deve saperlo.
Caw

Sì, sicuramente, ciò non significa che nessuno sia abbastanza sicuro di ciò che hai fatto per darti un consiglio definitivo. Vedi "vai a vedere l'avvocato" qui sotto!
Ben

Puoi visitare il sito web FIPS per maggiori dettagli
Ubermensch,

1
Per qualcosa del genere, vorrei consultare un avvocato. La mia carriera è nel settore della difesa, anche presso gli appaltatori che creano prodotti per clienti domestici e stranieri. Non esiste solo un team legale, ma specifici specialisti del controllo delle esportazioni che riesaminano tutto per assicurarsi che rispetti le linee guida. Ci sono molte piccole cose a cui fare attenzione e fare affidamento su una risposta di uno sviluppatore di software non è saggio poiché è così facile trascurare qualcosa di importante.
Thomas Owens

1
Grazie Thomas. Ho solo pensato che potrebbe essere un caso chiaro in quanto ci sono così tante applicazioni in Android Market (tutte devono soddisfare le linee guida) che utilizzano la crittografia AES. Immagina, tutte le app bancarie, le app di archiviazione password ecc ... E non vendo le mie applicazioni, le offro gratuitamente. Quindi chiedere a un avvocato è costoso.
Caw

Risposte:


15

Se il tuo codice è open source , le restrizioni sono molto leggere : non puoi esportare il tuo codice in paesi o entità che sono state limitate e devi informare il governo della posizione in cui possono scaricare i file di origine e oggetto . È necessario compiere alcuni sforzi per impedire che il codice venga scaricato da Cuba, Iran, Libia, Corea del Nord, Siria e Sudan . Devi chiedere a tutti i tuoi utenti di non esportare in queste nazioni.

Dovrai preparare elenchi di tutti i "pacchetti" e "file" che contengono le primitive di crittografia. (Ricordo che ci era permesso di saltare le primitive di hash che venivano usate solo per i controlli di autenticazione o integrità .)

Se il codice non è open source, è necessario presentare eccezioni sul proprio codice. Mi aspetto che dovrai preparare elenchi simili di file sorgente / oggetto e quali algoritmi sono implementati per quali meccanismi. Mi aspetto inoltre che sarà necessario riesaminarlo prima di concedere la licenza.

Sebbene ritenga che tutte le mie informazioni siano corrette al 30 dicembre 2011, non sono un avvocato e non posso fornire consulenza legale. Questi sono semplicemente dei riferimenti alle risorse del governo USA attualmente disponibili.


1
Grazie! Sembra davvero complesso e oneroso. Vedi la mia modifica nella domanda: la tua spiegazione è anche per questo caso o solo per il software che consente all'utente di codificare o decodificare liberamente le informazioni?
Caw

Il mio ricordo è che le password con hash non sono una delle cose a cui sono interessati, quindi se è tutto ciò che fa la tua applicazione, stai quasi sicuramente bene. Non posso parlare per quello che fanno gli altri autori di applicazioni ...
sarnold,

Okay grazie. Quindi, se prendiamo un'applicazione di banking online o una password sicura come esempio, entrambi crittografano i dati per l'archiviazione sicura: va bene o devono essere segnalati e rivisti?
Caw

Se fai affidamento al 100% sul sistema operativo host per fornire le primitive di crittografia, non devi fare nulla. :)
sarnold,

1
DAI FILE DI POLITICA DI GIURISDIZIONE DELLA FORZA ILLIMITATA: L'architettura JCE consente di configurare la forza crittografica flessibile tramite i file delle politiche di giurisdizione. A causa delle restrizioni all'importazione di alcuni paesi, i file delle politiche sulla giurisdizione distribuiti con il software Java SE 7 hanno restrizioni integrate sulla forza crittografica disponibile. I file delle politiche sulla giurisdizione in questo pacchetto di download (il pacchetto che include questo file README) non contengono restrizioni sui punti di forza crittografici. Questo è appropriato per la maggior parte dei paesi.
Caw

7

Stai scrivendo le tue routine crittografiche o semplicemente chiamando una routine di terze parti?

Il motivo per cui ti chiedo è perché se, ad esempio, su Windows stai utilizzando una delle routine fornite da Microsoft, non sei tu a pubblicare o distribuire il software controllato, nel qual caso il tuo software non subirebbe alcuna restrizione.


Grazie per la risposta! Se questo è vero, sarebbe fantastico :) Userò algoritmi famosi come AES, SHA ecc. Quindi riutilizzerò altri algoritmi e chiamerò funzioni native. Non pubblicherò il mio algoritmo crittografico.
Caw

Marco: Questa è sicuramente la strada da percorrere. Quale sistema operativo stai prendendo di mira?
JonnyBoats il

3
Marco: codifica il tuo programma per utilizzare semplicemente la migliore routine disponibile sul telefono del cliente, controlla in fase di esecuzione. Oltre a quanto prodotto venderai a Cuba o in Corea del Nord?
JonnyBoats il

1
Se usi la crittografia di routine fornita da Microsoft su Windows, non esporti le cose perché non le fornisci. Se è già lì, è presumibilmente OK chiamarlo. L'uso di implementazioni standard di algoritmi standard fornisce ancora la crittografia e potresti benissimo esportarla. (Inoltre, non scrivere il tuo software di sicurezza per scopi di produzione, a meno che tu non abbia esperienza nel settore. Ci sono troppe cose che puoi facilmente sbagliare.)
David Thornley,

1
Sono abbastanza sicuro che dovrai comunque archiviare tutto ciò che è crittografato esportando se stai semplicemente usando le API crittografiche.
Codici InChaos

1

Se questa è solo una domanda per interesse, le altre risposte sono ottime. Se riguarda qualcosa che stai effettivamente facendo?

VAI A VEDERE UN AVVOCATO. ADESSO.

Stai ancora aspettando? Quindi espanderò.

Vai a vedere un avvocato. Adesso. Non aspettare, non pensare. Se non ne hai già uno, trovane uno. Chiedi loro di metterti in contatto con qualcuno che gestisce il diritto commerciale come lavoro . Controlla le sue credenziali e, se sembrano giuste, siediti con quella persona e offri loro soldi per un consiglio. Sentiti libero di negoziare a condizioni.

Se non ti fidi di me e ammetto che sono molto definito senza molta esperienza in questo settore, leggi questo articolo, scritto nel maggio 2010 , da qualcuno che gestisce con successo un'azienda di famiglia dal '93.

Se stai cercando di gestire un'azienda di giochi indie, stai prima di tutto gestendo un'azienda. Si applicano tutte le leggi locali, statali e federali. Hai bisogno di una licenza commerciale. O licenze. Ogni azienda dovrebbe avere un avvocato e un commercialista. Personalmente ho fatto senza avere un avvocato dedicato alla spina (un corso poco saggio), ma ogni azienda dovrebbe avere un contabile esperto.

Ciò significa che qualcuno la cui attività comprende due persone che vendono giochi in cui lucertole in armatura picchiano i goblin è consapevole che sta correndo un rischio non avendo accesso al proprio avvocato personale in ogni momento .

Sei un'azienda? Non lo so. Se stai vendendo qualcosa, potresti benissimo esserlo. Indovina chi lo saprebbe? Un avvocato .

Non devi pagare per un avvocato molto costoso per molto tempo, ma almeno devi avere qualcuno disponibile su appuntamento per poter gestire le cose prima di fare cose che potrebbero essere legalmente pericolose e che possono spiegare a quello che potrebbe essere legalmente pericoloso.

Perché ecco la cosa. Se lo fai in anticipo, allora si applicano molte cose.

  1. Hai meno probabilità di rovinare e attirare l'attenzione del governo.
  2. Sei più consapevole quando hai sbagliato e cosa fare al riguardo, incluso un contatto esistente che puoi chiamare per aiutarti.
  3. Se rovini e attiri l'attenzione del governo, puoi spiegare che hai provato a fare tutto nel modo giusto e avere le note dell'avvocato per dimostrarlo.

Se no? Bene, recentemente ho scoperto che se sei consapevole di non essere competente a gestire qualcosa e non cerchi consigli, ciò significa legalmente che hai deliberatamente scelto di rovinare. In denaro, questa è una frode. Nelle sanzioni all'esportazione, penso che sia sulla stessa scala del tradimento.

Per quanto riguarda la ricerca su Internet: questo post sul blog è stato scritto il 17 gennaio 2011. E la prima cosa che dice lì dentro? Che questa roba è cambiata di recente. Quindi potrebbe cambiare di nuovo. Potrebbe già essere cambiato. Ciò significa che se qualcuno seguirà ciecamente questi 3 anni da adesso, potrebbe finire per dover dedicare un po 'di tempo serio a spiegare agli uomini assediati che non sono un traditore, sono solo abbastanza stupidi da pensare che i post sul blog siano documenti legali.

Fammi un favore per la mia tranquillità. Vai a vedere un avvocato.


Grazie mille per questa risposta dettagliata. È solo che ho pensato che fosse un caso chiaro e facile da decidere. Ho scritto nel commento alla domanda (sopra) perché ho pensato questo.
Caw

Sì, e probabilmente potresti consultare direttamente Apple in questo caso per ottenere le loro regole, se hai intenzione di pubblicare solo attraverso l'App Store e se la tua app non sta facendo nulla di particolarmente innovativo con la crittografia. Ad essere sincero, immagino che quando invii, se non è conforme, lo respingeranno. Avranno le proprie garanzie per tenere l'App Store fuori dai paesi sanzionati. Hanno anche un proprio team legale per occuparsi di queste cose, e questo conta come trattare con un avvocato.
Deworde,

1
La domanda a cui ho risposto è stata più generale "Quali aspetti devo prendere in considerazione durante la progettazione e la pubblicazione di software che devono soddisfare le restrizioni statunitensi all'esportazione per il software crittografico?" Per le cose specifiche per Android / iOS, le persone da consultare sarebbero Apple e Google. Invia loro una e-mail che espone ciò che intendi fare e probabilmente avranno una procedura tutta predisposta per te.
Deworde,

Ma se qualcosa va storto, sostengo che sarebbe saggio avere un avvocato locale consapevole della tua esistenza e di ciò che stavi facendo. Nel caso in cui.
Deworde,

Grazie per i tuoi commenti aggiuntivi. Terrò a mente le tue parole;)
caw

0

Una risposta leggermente diversa, ma perché scrivere il codice di crittografia negli Stati Uniti? Anche se scrivi il resto del prodotto negli Stati Uniti, ha molto senso eseguire le parti di crittografia altrove. Puoi ancora vendere il tuo prodotto negli Stati Uniti, ma importa negli Stati Uniti, anziché esportare dagli Stati Uniti.

A parte questo, nei primi giorni di PGP, le regole di esportazione venivano evitate stampando un libro contenente il codice sorgente ed esportando il libro.


3
Questa è una pessima idea. Le norme statunitensi sulle sanzioni / esportazione si applicano a qualsiasi società registrata negli Stati Uniti e determinano i venditori e le vendite. Sì, con un avvocato molto abile potresti trovare esempi di persone che raschiano attorno a loro usando ingannevoli scherzi legali, ma NON. Le grandi aziende devono pagare centinaia di milioni di sterline se sbagliano. Piccole aziende, tutti vanno in prigione, in bancarotta o entrambi.
Deworde
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.