Preocupaciones de los programadores sobre las restricciones a la exportación de los Estados Unidos

21

¿Qué aspectos debo tener en cuenta al diseñar y publicar software que debe cumplir con las restricciones de exportación de EE. UU. Para el software criptográfico?

Wikipedia dice que hay varias categorías que puede asignar al software criptográfico. Y el destino de exportación (por ejemplo, China, Rusia) también juega un papel importante. Pero realmente no entendía esas restricciones y su efecto en mi trabajo.

¿Alguien puede explicarme eso?

Pregunto porque si intenta publicar su aplicación (por ejemplo, en la App Store de Apple o en el Android Market) debe asegurarse de que su aplicación cumpla con las restricciones de exportación de los EE. UU. Y hay muchas aplicaciones que ofrecen almacenamiento seguro de información, por ejemplo, para contraseñas.

¿Han notificado todos al gobierno y han pedido una revisión? Por supuesto, no puedes saber si lo hicieron. ¿Pero necesitan hacer esto?

graznar
fuente
1
Tu primer pronóstico se hizo realidad. Pero con respecto al segundo: esta es una pregunta que es interesante para muchos programadores, ¿no? Muchos han publicado software que utiliza algoritmos criptográficos. Entonces alguien debe saberlo.
caw
Sí, definitivamente, eso no significa que nadie esté lo suficientemente seguro de lo que ha hecho para darle consejos definitivos. Ver "ir a ver abogado" a continuación!
Ben
Puede consultar el sitio web de FIPS para obtener más detalles
Ubermensch
1
Para algo como esto, consultaría a un abogado. Mi carrera es en la industria de defensa, incluso en contratistas que crean productos para clientes nacionales y extranjeros. No solo hay un equipo legal, sino también especialistas específicos en control de exportaciones que revisan todo para asegurarse de que siga las pautas. Hay muchas cosas pequeñas a tener en cuenta y confiar en una respuesta de un desarrollador de software no es sabio, ya que es muy fácil pasar por alto algo importante.
Thomas Owens
1
Gracias Thomas. Simplemente pensé que podría ser un caso claro, ya que hay demasiadas aplicaciones en Android Market (todas deben cumplir con las pautas) que usan el cifrado AES. Imagínese, todas las aplicaciones bancarias, las aplicaciones de almacenamiento de contraseñas, etc. Y no vendo mis aplicaciones, las ofrezco de forma gratuita. Entonces pedirle un abogado es caro.
caw

Respuestas:

15

Si su código es de código abierto , las restricciones son muy ligeras : no puede exportar su código a países o entidades que han sido restringidos y debe notificar al gobierno la ubicación donde pueden descargar los archivos de origen y de objeto . Usted debe hacer un esfuerzo para evitar que el código que se descarguen por Cuba, Irán, Libia, Corea del Norte, Siria y Sudán . Debe solicitar a todos sus usuarios que no exporten a estas naciones.

Se espera que prepare listas de todos los "paquetes" y "archivos" que contienen las primitivas de cifrado. (Recuerdo que se nos permitía omitir primitivas de hash que se usaban solo para autenticación o integridad controles de ).

Si su código no es de código abierto, debe solicitar excepciones en su propio código. Espero que necesite preparar listas similares de archivos fuente / objeto y qué algoritmos se implementan para qué mecanismos. Además, espero que requiera una revisión antes de que se otorgue la licencia.

Si bien creo que toda mi información es correcta al 30 de diciembre de 2011, no soy un abogado y no puedo brindarle asesoramiento legal. Estos son simplemente indicadores de los recursos del gobierno de EE. UU. Disponibles actualmente.

sarnold
fuente
1
¡Gracias! Esto suena realmente complejo y oneroso. Consulte mi edición en la pregunta: ¿Es su explicación incluso para este caso o solo para el software que permite al usuario codificar o decodificar información libremente?
caw
Recuerdo que las contraseñas hash no son una de las cosas en las que están interesados, por lo que si eso es todo lo que hace su aplicación, es casi seguro que está bien. No puedo hablar por lo que hacen otros autores de aplicaciones ...
sarnold
OK gracias. Entonces, si tomamos una aplicación de banca en línea o una contraseña segura como ejemplo, ambas cifran los datos para un almacenamiento seguro: ¿está bien o debe informarse y revisarse?
caw
Si confía al 100% en el sistema operativo host para proporcionar las primitivas de criptografía, no tiene que hacer nada. :)
sarnold
1
DE LOS ARCHIVOS DE POLÍTICA DE JURISDICCIÓN DE FUERZA ILIMITADA DE JAVA: La arquitectura JCE permite configurar la fortaleza criptográfica flexible a través de archivos de política de jurisdicción. Debido a las restricciones de importación de algunos países, los archivos de política de jurisdicción distribuidos con el software Java SE 7 tienen restricciones incorporadas en la fuerza criptográfica disponible. Los archivos de política de jurisdicción en este paquete de descarga (el paquete que incluye este archivo README) no contienen restricciones en cuanto a las fortalezas criptográficas. Esto es apropiado para la mayoría de los países.
caw
7

¿Estás escribiendo tus propias rutinas criptográficas o simplemente estás llamando a una rutina de terceros?

La razón por la que pregunto es porque si, por ejemplo, en Windows está utilizando una de las rutinas proporcionadas por Microsoft, entonces usted no es el que publica o distribuye el software controlado, en cuyo caso su software no estaría bajo ninguna restricción.

JonnyBoats
fuente
¡Gracias por la respuesta! Si esto es cierto, sería genial :) Usaré algoritmos famosos como AES, SHA, etc. Así que reutilizaré otros algoritmos y llamaré a funciones nativas. No publicaré mi propio algoritmo criptográfico.
caw
Marco: Ese es definitivamente el camino a seguir. ¿A qué sistema operativo está apuntando?
JonnyBoats
3
Marco: codifique su programa para usar simplemente la mejor rutina disponible en el teléfono del cliente, verifique en tiempo de ejecución. ¿Además de cuánto producto venderás en Cuba o Corea del Norte?
JonnyBoats
1
Si usa la criptografía de rutina proporcionada por Microsoft en Windows, entonces no está exportando las cosas porque no las está proporcionando. Si ya está allí, presumiblemente está bien llamarlo. El uso de implementaciones estándar de algoritmos estándar sigue proporcionando el cifrado, y es posible que lo esté exportando. (Además, no escriba su propio software de seguridad con fines de producción, a menos que tenga experiencia en el campo. Hay demasiadas cosas en las que puede equivocarse fácilmente.)
David Thornley
1
Estoy bastante seguro de que aún necesita archivar todas esas cosas de exportación de cifrado si simplemente está utilizando API de cifrado.
CodesInChaos
1

Si esta es solo una pregunta por interés, entonces las otras respuestas son geniales. Si se trata de algo que realmente estás haciendo?

IR A VER UN ABOGADO. AHORA.

¿Sigues esperando? Entonces me expandiré.

Ve a ver a un abogado. Ahora. No esperes, no pienses. Si aún no tiene uno, encuentre uno. Pídales que lo pongan en contacto con alguien que maneja el derecho comercial como un trabajo . Verifique sus credenciales y, si se ven bien, siéntese con esa persona y ofrézcale dinero para recibir asesoramiento. Siéntase libre de negociar en términos.

Si no confía en mí, y admito que soy muy definido sin mucha experiencia en esta área, lea este artículo, escrito en mayo de 2010 , por alguien que ha estado manejando con éxito un negocio familiar desde el '93.

Si estás tratando de administrar un negocio de juegos independientes, estás, ante todo, administrando un negocio. Se aplican todas las leyes locales, estatales y federales. Necesitas una licencia comercial. O licencias. Toda empresa debe tener un abogado y un contador. Personalmente lo he hecho sin tener un abogado especializado en tap (un curso imprudente), pero todas las empresas deben tener un contador experto.

Lo que esto significa es que alguien cuyo negocio consiste en dos personas que venden juegos donde los lagartos con armadura golpean a los duendes es consciente de que se está arriesgando al no tener acceso a su propio abogado personal en todo momento .

¿Eres un negocio? No se Si estás vendiendo algo, bien podrías estarlo. ¿Adivina quién lo sabría? Un abogado .

No tiene que pagar por un abogado muy costoso durante mucho tiempo, pero al menos necesita tener a alguien disponible con cita previa para que pueda administrar las cosas antes de hacer cosas que pueden ser legalmente peligrosas y que puede explicarle usted lo que puede ser legalmente peligroso.

Porque aquí está la cosa. Si lo haces por adelantado, entonces se aplican muchas cosas.

  1. Es menos probable que se equivoque y atraiga la atención del gobierno.
  2. Es más consciente cuando se ha equivocado y qué hacer al respecto, incluido un contacto existente al que puede llamar para ayudarlo.
  3. Si se equivoca y atrae la atención del gobierno, puede explicar que trató de hacer todo bien y tener las notas del abogado para demostrarlo.

Si no Bueno, recientemente descubrí que si eres consciente de que no eres competente para manejar algo y no buscas consejo, eso legalmente significa que elegiste equivocarte deliberadamente. En dinero, eso es fraude. En las sanciones a la exportación, creo que está en la misma escala que la traición.

Con respecto a la investigación en Internet: esta publicación de blog fue escrita el 17 de enero de 2011. ¿Y lo primero que dice allí? Que estas cosas cambiaron recientemente. Entonces podría cambiar de nuevo. Se podría ya haber cambiado. Lo que significa que si alguien sigue ciegamente estos 3 años a partir de ahora, podría terminar teniendo que pasar un tiempo serio explicando a los hombres acosados ​​que no son traidores, son lo suficientemente tontos como para pensar que las publicaciones de blog son documentos legales.

Hazme un favor por mi propia tranquilidad. Ve a ver a un abogado.

deworde
fuente
Muchas gracias por esta respuesta detallada. Es solo que pensé que era un caso claro y fácil de decidir. Escribí en el comentario a la pregunta (arriba) por qué pensé esto.
caw
Sí, y probablemente podría consultar a Apple directamente en este caso para obtener sus reglas, si solo va a publicar a través de la App Store, y si su aplicación no está haciendo nada particularmente novedoso con el cifrado. Para ser honesto, me imagino que cuando envíes, si no cumple, lo devolverán. Tendrán sus propias garantías para mantener la App Store fuera de los países sancionados. También tienen su propio equipo legal para ocuparse de estas cosas, y eso cuenta como tratar con un abogado.
Deworde
1
La pregunta que respondí fue la más general: "¿Qué aspectos debo tener en cuenta al diseñar y publicar software que debe cumplir con las restricciones de exportación de EE. UU. Para el software criptográfico?" Para las cosas específicas de Android / iOS, las personas a consultar serían Apple y Google. Envíeles un correo electrónico explicando lo que planea hacer, y probablemente tendrán un procedimiento preparado para usted.
deworde
Pero si algo sale mal, creo que sería prudente que un abogado local conozca su existencia y lo que estaba haciendo. Por si acaso.
deworde
Gracias por sus comentarios adicionales. Voy a tener en cuenta sus palabras;)
caw
0

Una respuesta ligeramente diferente, pero ¿por qué escribir el código de cifrado en los EE. UU.? Incluso si escribe el resto del producto en los EE. UU., Tiene mucho sentido hacer las partes de cifrado en otro lugar. Todavía puede vender su producto en los EE. UU., Pero importa a los EE. UU., En lugar de exportar desde los EE. UU.

Por otro lado, en los primeros días de PGP, las reglas de exportación fueron eludidas al imprimir un libro que contenía el código fuente y exportar el libro.

Michael Shaw
fuente
3
Esta es una muy mala idea. Las regulaciones de Sanciones / Exportaciones de los Estados Unidos se aplican a cualquier compañía registrada en los Estados Unidos y determinan los vendedores y las ventas. Sí, con un abogado muy inteligente, puede encontrar ejemplos de personas que los rodean usando trucos legales locos, pero NO LO HAGA. Las grandes compañías tienen que pagar cientos de millones de libras si arruinan esto. Pequeñas empresas, todos van a la cárcel, quiebra o ambos.
deworde