Программисты обеспокоены ограничениями экспорта из США

21

Какие аспекты мне необходимо учитывать при разработке и публикации программного обеспечения, которое должно соответствовать ограничениям на экспорт криптографического программного обеспечения из США?

В Википедии сказано, что существуют различные категории, которые вы можете назначить криптографическому программному обеспечению. И пункт назначения экспорта (например, Китай, Россия) также играет важную роль. Но я не совсем понял эти ограничения и их влияние на мою работу.

Кто-нибудь может мне это объяснить?

Я спрашиваю, потому что, если вы пытаетесь опубликовать свое приложение (например, в Apple App Store или Android Market), вы должны убедиться, что ваше приложение соответствует экспортным ограничениям США. И есть много приложений, которые предлагают безопасное хранение информации, например, для паролей.

Все ли они уведомили правительство и попросили о пересмотре? Конечно, вы не можете знать, если они сделали. Но нужно ли им это делать?

каркать
источник
1
Ваш первый прогноз сбылся. Но что касается второго: это вопрос, который интересен для многих программистов, не так ли? Многие из них опубликовали программное обеспечение, которое использует криптографические алгоритмы. Так что кто-то должен знать.
caw
Да, определенно, это не значит, что кто-то достаточно уверен в том, что вы сделали, чтобы дать вам определенный совет. Смотрите "иди к адвокату" ниже!
Бен
Вы можете проверить веб-сайт FIPS для более подробной информации
Ubermensch
1
За что-то подобное я бы посоветовался с юристом. Моя карьера связана с оборонной промышленностью, в том числе с подрядчиками, которые создают продукцию как для отечественных, так и для иностранных заказчиков. Существует не только команда юристов, но и специальные специалисты по контролю за экспортом, которые проверяют все, чтобы убедиться, что он следует руководящим принципам. Есть много мелких вещей, на которые стоит обратить внимание, и полагаться на ответ разработчика программного обеспечения нецелесообразно, так как упустить что-то важное очень легко.
Томас Оуэнс
1
Спасибо, Томас. Я просто подумал, что это может быть очевидным случаем, так как в Android Market есть очень много приложений (все должны соответствовать рекомендациям), которые используют шифрование AES. Представьте себе, все банковские приложения, приложения для хранения паролей и т. Д. И я не продаю свои приложения, я предлагаю их бесплатно. Поэтому просить адвоката дорого.
caw

Ответы:

15

Если ваш код с открытым исходным кодом , ограничения очень легкие : вы не можете экспортировать свой код в страны или организации, для которых были установлены ограничения, и вы должны уведомить правительство о месте, где они могут загружать исходные и объектные файлы . Вы должны приложить некоторые усилия для предотвращения загрузки кода Кубой, Ираном, Ливией, Северной Кореей, Сирией и Суданом . Вы должны попросить всех своих пользователей не экспортировать в эти страны.

Вы должны будете подготовить списки всех «пакетов» и «файлов», которые содержат примитивы шифрования. (Напоминаю, что нам было разрешено пропустить примитивы хеширования, которые использовались только для проверки подлинности или контроля целостности .)

Если ваш код не с открытым исходным кодом, вы должны подать исключения для вашего собственного кода. Я ожидаю, что вам нужно подготовить аналогичные списки исходных / объектных файлов и какие алгоритмы реализованы для каких механизмов. Я также ожидаю, что это потребует пересмотра, прежде чем лицензия будет предоставлена.

Хотя я считаю, что по состоянию на 30 декабря 2011 года вся моя информация верна, я не юрист и не могу предоставить вам юридическую консультацию. Это просто указатели на доступные в настоящее время ресурсы правительства США.

sarnold
источник
1
Спасибо! Это звучит действительно сложно и обременительно. Пожалуйста, см. Мои правки в вопросе: Ваше объяснение даже для этого случая или только для программного обеспечения, которое позволяет пользователю свободно кодировать или декодировать информацию?
caw
Насколько я помню, хешированные пароли - это не то, что их интересует, так что если это все, что делает ваше приложение, то вы почти наверняка в порядке. Я не могу говорить за то, что делают другие авторы приложений ...
Сарнольд
Хорошо, спасибо. Так что, если мы возьмем в качестве примера приложение для онлайн-банкинга или пароль, защищенный паролем - они оба зашифруют данные для безопасного хранения: это нормально, или об этом нужно сообщать и проверять?
caw
Если вы используете 100% хост-ОС для предоставления примитивов криптографии, вам не нужно ничего делать. :)
sarnold
1
ИЗ НЕОГРАНИЧЕННЫХ СИЛ ФАЙЛОВ ЮРИСДИКЦИИ JAVA: Архитектура JCE позволяет настраивать гибкую криптографическую стойкость через файлы политики юрисдикции. Из-за ограничений на импорт в некоторых странах файлы политики юрисдикции, распространяемые с программным обеспечением Java SE 7, имеют встроенные ограничения на доступную криптографическую стойкость. Файлы политики юрисдикции в этом пакете загрузки (в комплекте с этим файлом README) не содержат ограничений на силу криптографии. Это подходит для большинства стран.
кары
7

Вы пишете свои собственные криптографические процедуры или просто вызываете стороннюю процедуру?

Причина, по которой я спрашиваю, заключается в том, что если, например, в Windows вы используете одну из предоставленных Microsoft подпрограмм, то вы не публикуете и не распространяете контролируемое программное обеспечение, и в этом случае на ваше программное обеспечение не распространяются никакие ограничения.

JonnyBoats
источник
Спасибо за ответ! Если это правда, было бы здорово :) Я буду использовать известные алгоритмы, такие как AES, SHA и т. Д. Поэтому я буду использовать другие алгоритмы и вызывать нативные функции. Я не буду публиковать свой собственный криптографический алгоритм.
caw
Марко: Это, безусловно, путь. На какую операционную систему вы ориентируетесь?
JonnyBoats
3
Марко: Код вашей программы, чтобы просто использовать лучшие рутины, доступные на телефоне клиента, проверить во время выполнения. Кроме того, сколько продуктов вы будете продавать на Кубе или в Северной Корее?
JonnyBoats
1
Если вы используете предоставленную Microsoft обычную криптографию в Windows, то вы не экспортируете материал, потому что вы его не предоставляете. Если это уже там, вероятно, хорошо, чтобы назвать это. Использование стандартных реализаций стандартных алгоритмов по-прежнему обеспечивает шифрование, и вы вполне можете его экспортировать. (Кроме того, не пишите свое собственное программное обеспечение безопасности для производственных целей, если у вас нет опыта работы в этой области. Слишком много вещей, которые вы легко можете ошибиться.)
David Thornley
1
Я уверен, что вам все еще нужно подать все эти крипто-экспортные вещи, если вы просто используете крипто-API.
CodesInChaos
1

Если это просто вопрос ради интереса, то другие ответы - это здорово. Если это относится к тому, что вы на самом деле делаете?

ПОЙДИТЕ ВИДЕТЬ Юрист. В НАСТОЯЩЕЕ ВРЕМЯ.

Вы все еще ждете? Тогда я буду расширяться.

Иди к адвокату. В настоящее время. Не жди, не думай. Если у вас его еще нет, найдите его. Попросите их связать вас с кем-то, кто занимается предпринимательским правом как работа . Проверьте его полномочия, и, если они выглядят правильно, сядьте с этим человеком и предложите ему деньги за совет. Не стесняйтесь вести переговоры на условиях.

Если вы мне не доверяете, и я признаю, что я очень определен, не имея большого опыта в этой области, прочитайте эту статью, написанную в мае 2010 года , кем-то, кто успешно ведет семейный бизнес с 93 года.

Если вы пытаетесь вести инди-бизнес, вы, в первую очередь, управляете бизнесом. Все местные, государственные и федеральные законы применяются. Вам нужна бизнес-лицензия. Или лицензии. В каждом бизнесе должен быть юрист и бухгалтер. Лично я обходился без привлечения специального адвоката (неразумный курс), но в каждом бизнесе должен быть квалифицированный бухгалтер.

Это означает, что кто-то, чей бизнес состоит из двух человек, продающих игры, в которых ящерицы в доспехах избивают гоблинов , осознает, что рискует тем, что не имеет доступа к своему личному адвокату во все времена .

Вы бизнес? Не знаю Если вы что-то продаете, вы вполне можете быть. Угадай, кто бы знал? Адвокат .

Вам не нужно платить за очень дорогого адвоката в течение длительного времени, но, по крайней мере, вам нужно, чтобы по предварительной договоренности был кто-то, с кем вы можете справиться, прежде чем делать вещи, которые могут быть юридически опасными, и которые могут объяснить Вы, что может быть юридически опасно.

Потому что вот в чем дело. Если вы делаете это заранее, тогда многое применимо.

  1. Вы с меньшей вероятностью облажаетесь и привлекаете внимание правительства.
  2. Вы больше знаете, когда облажались и что с этим делать, включая существующего контакта, которому вы можете позвонить, чтобы помочь вам.
  3. Если вы все испортили и привлекли внимание правительства, вы можете объяснить, что пытались все сделать правильно, и получить от адвоката записи, чтобы доказать это.

Если нет? Ну, я недавно обнаружил, что если вы знаете, что не можете справиться с чем-то, и не обращаетесь за советом, это юридически означает, что вы сознательно решили испортить. В деньгах это мошенничество. В отношении экспортных санкций я думаю, что это в том же масштабе, что и государственная измена.

Относительно интернет-исследования: этот пост был написан 17 января 2011 года. И первое, что там говорится? Что этот материал изменился недавно. Так что это может измениться снова. Это уже могло измениться. Это означает, что если кто-то слепо следует этим 3 годам спустя, им может понадобиться серьезное время, чтобы объяснить обмундированным мужчинам, что они не предатели, они просто настолько глупы, что считают сообщения в блоге юридическими документами.

Сделайте мне одолжение для моего собственного душевного спокойствия. Иди к адвокату.

deworde
источник
Большое спасибо за этот подробный ответ. Просто я подумала, что это ясный случай и его легко решить. Я написал в комментарии к вопросу (выше), почему я так думал.
Caw
Да, и вы, возможно, могли бы обратиться к Apple напрямую в этом случае, чтобы узнать их правила, если вы собираетесь публиковать их только через App Store, и если ваше приложение не делает ничего особенно нового с шифрованием. Честно говоря, я думаю, что когда вы отправите заявку, если она не соответствует требованиям, они отбросят ее обратно. У них будут свои собственные меры предосторожности, чтобы App Store не попадал в санкционированные страны. У них также есть своя собственная команда юристов, которая занимается этим, и это считается делом с адвокатом.
deworde
1
Вопрос, на который я ответил, был более общим: «Какие аспекты мне нужно учитывать при разработке и публикации программного обеспечения, которое должно соответствовать американским ограничениям на экспорт криптографического программного обеспечения?» Что касается специфических вещей для Android / iOS, то люди, которые будут консультироваться, будут Apple и Google. Отправьте им электронное письмо с описанием того, что вы планируете делать, и они, вероятно, подготовят для вас процедуру.
deworde
Но если что-то пойдет не так, я считаю, что было бы разумно, чтобы местный адвокат знал о вашем существовании и о том, что вы делали. На всякий случай.
deworde
Спасибо за ваши дополнительные комментарии. Я буду помнить ваши слова;)
caw
0

Немного другой ответ, но зачем писать код шифрования в США? Даже если вы пишете остальную часть продукта в США, имеет смысл использовать шифрование в других местах. Вы все еще можете продавать свой продукт в США, но вы импортируете в США, а не экспортируете из США.

Кроме того, в первые дни PGP правила экспорта были отменены путем печати книги, содержащей исходный код, и экспорта книги.

Майкл Шоу
источник
3
Это очень плохая идея. Санкции США / Правила экспорта применяются к любой компании, зарегистрированной в США, и определяют как поставщиков, так и продажи. Да, с очень умным юристом вы можете найти примеры людей, которые суетятся вокруг них, используя сумасшедшие юридические трюки, но НЕ. Крупные компании должны заплатить сотни миллионов фунтов, если они облажаются. Небольшие компании, каждый идет в тюрьму, банкрот или оба.
deworde