Obawy programistów dotyczące ograniczeń eksportowych ze Stanów Zjednoczonych

21

Jakie aspekty muszę wziąć pod uwagę przy projektowaniu i publikowaniu oprogramowania, które musi spełniać amerykańskie ograniczenia eksportowe dotyczące oprogramowania kryptograficznego?

Wikipedia twierdzi, że istnieją różne kategorie, które można przypisać oprogramowaniu kryptograficznemu. Ważną rolę odgrywa również miejsce docelowe eksportu (np. Chiny, Rosja). Ale tak naprawdę nie rozumiałem tych ograniczeń i ich wpływu na moją pracę.

Czy ktoś może mi to wytłumaczyć?

Pytam, ponieważ jeśli próbujesz opublikować swoją aplikację (np. W sklepie Apple App Store lub Android Market), musisz upewnić się, że aplikacja spełnia ograniczenia eksportowe USA. Istnieje wiele aplikacji, które oferują bezpieczne przechowywanie informacji, np. Hasła.

Czy wszyscy powiadomili rząd i poprosili o rewizję? Oczywiście nie możesz wiedzieć, czy tak. Ale czy muszą to zrobić?

krakanie
źródło
1
Twoje pierwsze prognozy się sprawdziły. Ale co do drugiego: pytanie to jest interesujące dla wielu programistów, prawda? Wiele opublikowało oprogramowanie wykorzystujące algorytmy kryptograficzne. Więc ktoś musi wiedzieć.
caw
Tak, zdecydowanie nie oznacza to, że nikt nie jest wystarczająco pewien tego, co zrobiłeś, aby udzielić ci ostatecznej porady. Zobacz „idź do prawnika” poniżej!
Ben
Możesz sprawdzić stronę FIPS, aby uzyskać więcej informacji
Ubermensch
1
W przypadku czegoś takiego skonsultowałbym się z prawnikiem. Moja kariera związana jest z przemysłem obronnym, w tym u wykonawców, którzy tworzą produkty dla klientów krajowych i zagranicznych. Istnieje nie tylko zespół prawny, ale także specjaliści od kontroli eksportu, którzy sprawdzają wszystko, aby upewnić się, że postępuje zgodnie z wytycznymi. Jest wiele drobiazgów, na które należy uważać i poleganie na odpowiedzi od twórców oprogramowania nie jest mądre, ponieważ tak łatwo przeoczyć coś ważnego.
Thomas Owens
1
Dziękuję, Thomas. Pomyślałem, że może to być oczywisty przypadek, ponieważ w Android Market jest tak wiele aplikacji (wszystkie muszą spełniać wytyczne), które używają szyfrowania AES. Wyobraź sobie, wszystkie aplikacje bankowe, aplikacje do przechowywania haseł itp. I nie sprzedaję swoich aplikacji, oferuję je za darmo. Pytanie prawnika jest więc drogie.
caw

Odpowiedzi:

15

Jeśli twój kod jest open source , ograniczenia są bardzo lekkie : nie możesz eksportować swojego kodu do krajów lub podmiotów, które zostały ograniczone i musisz powiadomić rząd o lokalizacji, w której mogą pobrać pliki źródłowe i obiektowe . Musisz podjąć pewne wysiłki, aby zapobiec pobraniu kodu przez Kubę, Iran, Libię, Koreę Północną, Syrię i Sudan . Musisz poprosić wszystkich użytkowników, aby nie eksportowali do tych narodów.

Będziesz musiał przygotować listy wszystkich „pakietów” i „plików”, które zawierają operacje podstawowe szyfrowania. (Pamiętam, że mogliśmy pominąć prymitywne skróty, które były używane tylko do uwierzytelniania lub kontroli integralności ).

Jeśli Twój kod nie jest oprogramowaniem typu open source, musisz zgłosić wyjątki od własnego kodu. Oczekuję, że będziesz musiał przygotować podobne listy plików źródłowych / obiektowych i algorytmów zaimplementowanych dla jakich mechanizmów. Spodziewam się, że będzie wymagać przeglądu przed udzieleniem licencji.

Chociaż uważam, że wszystkie moje informacje są prawidłowe na dzień 30 grudnia 2011 r., Nie jestem prawnikiem i nie mogę udzielić porady prawnej. Są to po prostu wskaźniki do obecnie dostępnych zasobów rządu USA.

Sarnold
źródło
1
Dziękuję Ci! Brzmi to naprawdę skomplikowane i uciążliwe. Zobacz moją edycję w pytaniu: Czy Twoje wyjaśnienie dotyczy nawet tego przypadku, czy tylko oprogramowania, które umożliwia użytkownikowi swobodne kodowanie lub dekodowanie informacji?
caw
Z moich wspomnień, zaszyfrowane hasła nie są jedną z rzeczy, którymi są zainteresowani - więc jeśli to wszystko, co robi twoja aplikacja, prawie na pewno nic ci nie jest. Nie mogę mówić za tym, co robią inni autorzy aplikacji ...
sarnold
Dobrze dziękuję. Jeśli więc weźmiemy przykład bankowości internetowej lub hasło bezpieczne - oba szyfrują dane w celu bezpiecznego przechowywania: czy to dobrze, czy należy to zgłosić i sprawdzić?
caw
Jeśli polegasz w 100% na systemie operacyjnym hosta w celu zapewnienia prymitywów kryptograficznych, nie musisz nic robić. :)
sarnold
1
OD NIEOGRANICZONYCH SILNYCH PLIKÓW POLITYKI JURYSDYKCJI: Architektura JCE umożliwia konfigurację elastycznej siły kryptograficznej za pomocą plików zasad jurysdykcji. Ze względu na ograniczenia importowe niektórych krajów pliki zasad jurysdykcji dystrybuowane wraz z oprogramowaniem Java SE 7 mają wbudowane ograniczenia dotyczące dostępnej siły kryptograficznej. Pliki zasad jurysdykcji w tym pakiecie do pobrania (pakiet zawierający ten plik README) nie zawierają żadnych ograniczeń w sile kryptograficznej. Jest to odpowiednie dla większości krajów.
caw
7

Czy piszesz własne procedury kryptograficzne, czy po prostu dzwonisz do procedury innej firmy?

Powodem, dla którego pytam, jest to, że jeśli na przykład w systemie Windows korzystasz z jednej z procedur dostarczonych przez Microsoft, to nie jesteś tym, który publikuje lub dystrybuuje kontrolowane oprogramowanie, w którym to przypadku twoje oprogramowanie nie podlegałoby żadnym ograniczeniom.

JonnyBoats
źródło
Dziękuję za odpowiedź! Jeśli to prawda, byłoby wspaniale :) Będę używał znanych algorytmów, takich jak AES, SHA itp. Więc użyję ponownie innych algorytmów i wywołam funkcje natywne. Nie będę publikować własnego algorytmu kryptograficznego.
caw
Marco: To zdecydowanie najlepsza droga. Na jaki system operacyjny celujesz?
JonnyBoats,
3
Marco: Koduj swój program, aby po prostu używał najlepszej rutyny dostępnej na telefonie klienta, sprawdzaj w czasie wykonywania. Oprócz tego, ile produktu będziesz sprzedawać na Kubie lub w Korei Północnej?
JonnyBoats
1
Jeśli używasz rutynowego szyfrowania dostarczonego przez Microsoft w systemie Windows, to nie eksportujesz tego, ponieważ go nie udostępniasz. Jeśli już tam jest, prawdopodobnie można to nazwać. Korzystanie ze standardowych implementacji standardowych algorytmów wciąż zapewnia szyfrowanie i być może eksportujesz je. (Nie pisz też własnego oprogramowania zabezpieczającego do celów produkcyjnych, chyba że masz doświadczenie w tej dziedzinie. Zbyt wiele rzeczy możesz łatwo pomylić).
David Thornley,
1
Jestem pewien, że nadal musisz archiwizować wszystkie te elementy eksportu, jeśli tylko używasz interfejsów API do szyfrowania.
CodesInChaos
1

Jeśli jest to tylko pytanie ze względu na zainteresowanie, pozostałe odpowiedzi są świetne. Jeśli dotyczy to czegoś, co faktycznie robisz?

GO SEE A Adwokat. TERAZ.

Nadal czekasz? Potem się rozwinę.

Idź do prawnika. Teraz. Nie czekaj, nie myśl. Jeśli jeszcze go nie masz, znajdź go. Poproś ich, aby skontaktowali się z kimś, kto zajmuje się prawem gospodarczym jako pracą . Sprawdź jego dane uwierzytelniające, a jeśli wyglądają dobrze, usiądź z tą osobą i zaoferuj jej pieniądze na poradę. Zapraszam do negocjacji na warunkach.

Jeśli mi nie ufasz, a przyznam, że jestem bardzo zdecydowany bez dużego doświadczenia w tej dziedzinie, przeczytaj ten artykuł napisany w maju 2010 r. Przez kogoś, kto z powodzeniem prowadzi firmę rodzinną od 1993 roku.

Jeśli próbujesz prowadzić działalność w branży gier niezależnych, to przede wszystkim prowadzisz firmę. Obowiązują wszystkie przepisy lokalne, stanowe i federalne. Potrzebujesz licencji biznesowej. Lub licencje. Każda firma powinna mieć prawnika i księgowego. Ja osobiście zrobiłem to bez posiadania dedykowanego prawnika na bierząco (niemądry kurs), ale każda firma powinna mieć wykwalifikowanego księgowego.

Oznacza to, że osoba, której działalność obejmuje dwie osoby sprzedające gry, w których jaszczurki w zbroi biją gobliny, jest świadoma, że ​​ryzykuje, nie mając przez cały czas dostępu do swojego osobistego prawnika .

Czy jesteś firmą? Nie wiem Jeśli coś sprzedajesz, możesz być. Zgadnij, kto by wiedział? Prawnik .

Przez długi czas nie musisz płacić za bardzo drogiego prawnika, ale przynajmniej musisz mieć kogoś dostępnego po umowie, przed którym będzie można prowadzić sprawy, które mogą być niebezpieczne z prawnego punktu widzenia i które mogą wyjaśnić co może być prawnie niebezpieczne.

Bo o to chodzi. Jeśli zrobisz to z góry, wówczas obowiązuje wiele rzeczy.

  1. Jest mniej prawdopodobne, że spieprzysz i zwrócisz uwagę rządu.
  2. Jesteś bardziej świadomy, kiedy spieprzyłeś sprawę i co z tym zrobić, w tym istniejący kontakt, do którego możesz zadzwonić, aby ci pomóc.
  3. Jeśli spieprzysz i zwrócisz uwagę rządu, możesz wyjaśnić, że próbowałeś zrobić wszystko dobrze i mieć notatki od prawnika, aby to udowodnić.

Jeśli nie? Cóż, niedawno odkryłem, że jeśli zdajesz sobie sprawę, że nie jesteś kompetentny, aby poradzić sobie z czymś, i nie szukasz porady, oznacza to, że z prawnego punktu widzenia celowo wybrałeś popsucie się. W pieniądzach to oszustwo. W przypadku sankcji wywozowych myślę, że jest na taką samą skalę jak zdrada.

Odnośnie do badań w Internecie: ten wpis na blogu został napisany 17 stycznia 2011 r. I pierwsza rzecz, którą tam napisano? Że te rzeczy ostatnio się zmieniły. Więc to może się zmienić. To mogło już się zmienić. Co oznacza, że ​​jeśli ktoś ślepo przestrzega tych 3 lat od teraz, może w końcu poświęcić trochę czasu na wyjaśnianie oblężonym mężczyznom, że nie są zdrajcą, są na tyle głupi, by myśleć, że posty na blogu są dokumentami prawnymi.

Wyświadcz mi przysługę dla własnego spokoju. Idź do prawnika.

deworde
źródło
Dziękuję bardzo za tę szczegółową odpowiedź. Po prostu pomyślałem, że to jasny przypadek i łatwy do podjęcia decyzji. W komentarzu do pytania (powyżej) napisałem, dlaczego tak myślę.
caw
Tak, i prawdopodobnie możesz skonsultować się bezpośrednio z Apple w tej sprawie, aby uzyskać ich reguły, jeśli zamierzasz publikować tylko za pośrednictwem App Store i jeśli twoja aplikacja nie robi niczego szczególnego z szyfrowaniem. Szczerze mówiąc, wyobrażam sobie, że jeśli prześlesz, jeśli jest niezgodny, odrzuci go z powrotem. Będą mieli własne zabezpieczenia, aby trzymać App Store z dala od krajów objętych sankcjami. Mają także własny zespół prawny, który zajmuje się tymi sprawami, co liczy się jako postępowanie z prawnikiem.
deworde
1
Pytanie, na które odpowiedziałem, było bardziej ogólne: „Jakie aspekty muszę wziąć pod uwagę przy projektowaniu i publikowaniu oprogramowania, które musi spełniać amerykańskie ograniczenia eksportowe dotyczące oprogramowania kryptograficznego?” W przypadku rzeczy specyficznych dla systemu Android / iOS osoby, z którymi należy się skonsultować, to Apple i Google. Wyślij im wiadomość e-mail z opisem tego, co planujesz zrobić, a prawdopodobnie zapewnią Ci całą procedurę.
deworde
Ale jeśli coś pójdzie nie tak, rozsądnie byłoby poinformować lokalnego prawnika o twoim istnieniu i tym, co robiłeś. W razie czego.
deworde
Dziękujemy za dodatkowe komentarze. Będę trzymać swoje słowa w głowie;)
CAW
0

Nieco inna odpowiedź, ale po co pisać kod szyfrujący w USA? Nawet jeśli napiszesz resztę produktu w USA, sensowne jest robienie części do szyfrowania gdzie indziej. Nadal możesz sprzedawać swój produkt w USA, ale importujesz do USA zamiast eksportować z USA.

Na marginesie, we wczesnych dniach PGP reguły eksportu zostały pominięte przez wydrukowanie książki zawierającej kod źródłowy i eksportowanie książki.

Michael Shaw
źródło
3
To bardzo zły pomysł. Sankcje w USA / Przepisy eksportowe mają zastosowanie do każdej firmy zarejestrowanej w USA i określają zarówno dostawców, jak i sprzedaż. Tak, z bardzo sprytnym prawnikiem możesz znaleźć przykłady ludzi skrobających wokół nich za pomocą szalonych oszustów prawnych, ale NIE. Duże firmy muszą zapłacić setki milionów funtów, jeśli to spieprzą. Małe firmy, wszyscy idą do więzienia, bankrutują lub jedno i drugie.
deworde