Usar SSL en una aplicación de iPhone – Cumplimiento de exportación

Estoy buscando crear una aplicación para iPhone que se comunique con un servicio web REST. Debido a que se transmitirán algunos datos sensibles al usuario (nombre, dirección, edad, etc.), estoy buscando asegurar las conexiones con SSL.

Sin embargo, en mis escapadas anteriores al envío de App Store, vi que la primera pregunta que me hacen es “¿Su aplicación usa cifrado?” y dependiendo de la respuesta a esta y otras preguntas de seguimiento, puede requerir el cumplimiento de las exportaciones de EE. UU.

Mi empresa no tiene su sede en los EE. UU. Ni tenemos una oficina en los EE. UU.

¿Alguien más ha enviado una aplicación usando SSL para este tipo de propósito? Si es así, ¿tenía que hacer algo para obtener permiso para usarlo, ya sea de Apple o del gobierno de EE. UU.?

Actualización a partir del 20 de septiembre de 2016

Los ERN ya no son necesarios, por lo que parece que muchas aplicaciones ya no necesitarán registrarse en el gobierno de EE. UU. (Aunque es posible que aún deba presentar un Suplemento b. Anual n. ° 8 al Informe de la Parte 742.) http://www.bis.doc.gov/InformationSecurity2016-updates

(¡Gracias a @EugenioDeHoyos y @ user3562927 por señalar esto!)

Todavía se requiere el registro del gobierno francés para vender en Francia.

Las preguntas frecuentes de iTunes Connect se han actualizado para cubrir este cambio y son la referencia más legible que he encontrado.

Vieja respuesta

El proceso ha cambiado, a partir del verano de 2010, y usted (probablemente) necesita un ERN ahora, no un CCATS como era necesario en el momento en que John escribió su respuesta.

Consulte las restricciones de exportación de Apple iTunes en las aplicaciones . El faq de iTunes Connect también contiene mucha información útil sobre el cumplimiento de las exportaciones.

Ahora también existen restricciones que se aplican a la distribución de aplicaciones con encriptación en la tienda de aplicaciones francesa. Consulte las preguntas frecuentes sobre itunes connect y el hilo de cumplimiento de exportación de francés en los devforums .

De hecho, volví a Apple y resulta que cualquier aplicación que use SSL necesita aprobación (desafortunadamente). Aparentemente hay algunas excepciones, como si la aplicación usa SSL solo para una transacción de pago único.

Hay más información en Mass Market Encryption CCATS Clasificación de productos para aplicaciones de iPhone en 8 pasos sencillos y cumplimiento de exportación de cifrado de iPhone para aplicaciones que realizan conexiones HTTPS (TLS) .

Todas estas respuestas están obsoletas desde el 20 de septiembre de 2016. Acabo de hablar por teléfono con la gente de SNAP-R (gobierno), y dijeron que la nueva legislación aterrizó el 20 de septiembre. La nueva regulación elimina el requisito de registrar su aplicación simplemente porque usa cifrado.

Les describí mi aplicación (un juego) y me dijeron que era un “EAR-99”, lo que significa que no tengo que registrarme. Es probable que Apple esté a punto de actualizar su sitio web. Pero mientras tanto, si está intentando pasar por este proceso porque usa SSL / HTTPS, simplemente deténgase ahora. Ni siquiera tendrá éxito en completar los formularios, porque han cambiado significativamente.

Encontré este artículo de alguien que realizó el proceso recientemente (diciembre de 2015) extremadamente útil. El consenso general parece ser que realmente necesita pasar por este proceso, incluso si solo está utilizando una llamada REST que utiliza SSL. Este artículo te ayudará a ejecutar el proceso rápidamente.

https://carouselapps.com/2015/12/15/legally-submit-app-apples-app-store-uses-encryption-obtain-ern/

Ahora en noviembre de 2017 …

Esto es realmente legal, así que esto apunta a lo que he encontrado útil y cómo he interpretado las cosas. No lo tome como un consejo (no lo es).

Las preguntas frecuentes de Apple como se menciona en otras respuestas aquí son un excelente punto de partida: https://itunespartner.apple.com/en/apps/faq/Managing%20Your%20Apps_Export%20Compliance

Esto lleva a hacer lo siguiente: en iTunes Connect, vaya a su aplicación. Elija la pestaña ‘características’ en la parte superior y seleccione ‘Encriptación’ en el lateral. Haga clic en ‘Agregar documentación de conformidad de exportación para iOS’ en la página principal. La primera pregunta dice: ‘Cumplimiento de exportación: ¿su aplicación está diseñada para usar criptografía …’? Elija ‘Sí’. Las siguientes preguntas dicen (y yo copio y pego):

Su aplicación cumple con cualquiera de los siguientes:
(a) Califica para una o más exenciones previstas en la categoría 5 parte 2
(b) El uso del cifrado está limitado al cifrado dentro del sistema operativo (iOS o macOS)
(c) Solo realiza llamadas a través de HTTPS
(d) La aplicación está disponible solo en los EE. UU. y / o Canadá

(c) es la referencia de estilo SSL (según su pregunta), por lo tanto, seleccione Sí a esta pregunta. [Tenga en cuenta que la parte inferior de la guía en esta pantalla tiene un enlace al enlace de preguntas frecuentes anterior]

Al seleccionar ‘Sí’, uno de los cuadros de guía emergente dice (y cito textualmente):

Si utiliza ATS o realiza una llamada a HTTPS, tenga en cuenta que debe enviar un informe de auto clasificación de fin de año al gobierno de EE. UU. Aprende más

Y de vuelta en las preguntas frecuentes, una cita clave es:

¿Por qué mi aplicación requiere una revisión de cifrado si no vivo en los Estados Unidos? ¿Puedo eludir la revisión de encriptación si solo lanzo mi aplicación en mi país de origen?

Su aplicación se cargará en un servidor de Apple en los EE. UU., Lo que significa que su aplicación se exportará desde los EE. UU. Y está sujeta a las leyes de exportación de EE. UU. Este requisito se aplica incluso si solo planea distribuir dentro de su propio país.

Lo último que creo que responde al 2º bit de su pregunta … Aún debe cumplir incluso si no se encuentra en los EE. UU. Y aunque no tenga la intención de distribuirlo fuera de su país …

Entonces, a partir de lo que leo hoy (en noviembre de 2017), si utilizo SSL (HTTPS) en una aplicación de iOS, incluso si está fuera de EE. UU., Las casillas deben marcarse dentro de iTunes Connect … (El proceso comenzó bajo las ‘características tab ‘descrito anteriormente). Más allá de esto, entonces necesita hacer un informe de auto clasificación anual.

El enlace en las Preguntas frecuentes de Apple relacionadas con esto está actualmente roto (mientras escribo esto), pero este enlace es útil: https://www.bis.doc.gov/index.php/policy-guidance/product-guidance/high -performance-computers / 223-new-encryption / 1238-how-to-file-an-anual-auto-clasificación-informe

Esta página incluye las direcciones de correo electrónico para enviar su informe (debe enviarlo a 2 lugares), cuándo se debe enviar y qué formato e información se deben enviar (un archivo .csv prescrito cuidadosamente creado) No pude encontrar esto con el motor de búsqueda bis.doc.gov, pero lo encontré usando un motor de búsqueda general que busca ‘Informe de auto clasificación de fin de año’. Entonces, si este enlace particular muere en el futuro, esta búsqueda podría ayudar a encontrar cualquier reemplazo 🙂

En cuanto a los detalles de cómo crear este archivo .csv para una aplicación de iOS que utiliza SSL, aún no estoy seguro. Espero tener éxito y editaré esta publicación con detalles si parece apropiado.

Sin embargo, hacia esto, en este documento vinculado: https://www.bis.doc.gov/index.php/documents/new-encryption/1651-740-17-enc-table/file (que podría necesitar ampliar para leer) Me imagino que la línea relevante es la tercera (b) (1) ya que los requisitos de presentación coinciden. Se refiere a tener que

enviar Supp. 8, parte 742, por correo electrónico

Este documento también tiene una columna ECCN, y estoy empezando a pensar que el número ECCN relevante es 5A002 punto algo

El siguiente documento contiene más detalles sobre cómo elegir el código ECCN correcto:

https://www.bis.doc.gov/index.php/documents/new-encryption/1652-cat-5-part-2-quick-reference-guide/file

Leyendo esto, mi mejor conjetura actual es que si SSL se usa como una pequeña parte de una aplicación, esto se relaciona con el código 5A002.a.4

ACTUALIZAR:

Entonces, en la parte inferior de la guía bis.doc.gov, la descripción para crear el archivo .csv dice:

  • La primera línea del informe de autoclasificación anual debe constar de las siguientes 12 entradas: NOMBRE DEL PRODUCTO, NÚMERO DEL MODELO, FABRICANTE, ECCN, TIPO DE AUTORIZACIÓN, TIPO DE ARTÍCULO, NOMBRE DEL PRESENTADOR, NÚMERO DE TELÉFONO, DIRECCIÓN DE CORREO ELECTRÓNICO, DIRECCIÓN DE CORREO, NO ESTADOUNIDENSE COMPONENTES, UBICACIONES DE FABRICACIÓN NO ESTADOUNIDENSE.
  • No se puede dejar ninguna entrada en blanco.
  • NOMBRE DEL PRODUCTO y ECCN debe ser completado.
  • Para NÚMERO DE MODELO y FABRICANTE, si es necesario, ingrese “NINGUNO” o “N / A”.
  • Para TIPO DE AUTORIZACIÓN, ingrese ENC o MMKT.
  • Para ITEM TYPE, elija de la lista de tipos de elementos que se proporcionan en el Supp. 8 a la parte 742 (a) (6).
  • Los encabezados de columna NOMBRE DEL SOMETIDOR a través de LOCALIZACIONES DE FABRICACIÓN NO ESTADOUNIDENSE se relacionan con la empresa como un todo, y por lo tanto debe ingresarse el mismo para cada producto (es decir, un solo punto de contacto, un ‘SÍ’ o ‘NO’ si cualquiera de los productos informados incorporan componentes de cifrado de fonts no estadounidenses, y se requiere una lista de ubicaciones de fabricación fuera de los EE. UU. para el informe). Duplique esta información en cada fila de la hoja de cálculo
  • El único uso permitido de una coma es el separador necesario entre las 12 entradas para cada elemento de línea. Las únicas comas permitidas son las que se insertan automáticamente durante la conversión de la hoja de cálculo.

Utilizando el Suplemento N. ° 8 a la Parte 742-Informe de autoclasificación para elementos de cifrado para obtener más información, llegué a un archivo .csv como este:

 PRODUCT NAME, MODEL NUMBER, MANUFACTURER, ECCN, AUTHORIZATION TYPE, ITEM TYPE, SUBMITTER NAME, TELEPHONE NUMBER, E-MAIL ADDRESS, MAILING ADDRESS, NON-US COMPONENTS, NON-US MANUFACTURING LOCATIONS [my-app-name] iOS App,[my-App-version-number],SELF,5A002,ENC,Link encryption,[My-name],[my-phone-number],[my-email],[my address with no commas],YES,[my-location] 

Tenga en cuenta que esto debería ser un archivo .csv bien formado que no es del todo suficiente. Sugiero crear algo en una hoja de cálculo y guardar como .csv

También tenga en cuenta que este no es un resultado aconsejado, es mi mejor interpretación como una persona no calificada que no ha tenido ningún consejo. El ejemplo .csv en la parte inferior de la guía bis.doc.gov me ayudó aún más y pareció sugerir que la ECCN podría simplemente ser 5A002 sin más detalles. El TIPO DE ELEMENTO debe seleccionarse de la lista en el Suplemento número 8; otra cosa podría adaptarse mejor a la naturaleza de su Aplicación. No estaba tan seguro del NÚMERO DE MODELO, pero parecía que el ejemplo estaba usando descripciones de tipo de número de versión. Tal vez la ID de Apple sería mejor aquí. Dado que es opcional, podría no importar …

Me encontré con esta pregunta el día de hoy y pensé que volvería para informar mi experiencia.

Consulte: http://tigelane.blogspot.com/2011/01/apple-itunes-export-restrictions-on.html para ver un procedimiento que funcionó bien para mí (asegúrese de leer todo, incluidos los comentarios). han habido algunos cambios desde la publicación original, en su mayoría para mejor, y la información actualizada está en los comentarios).

El proceso está bastante optimizado ahora (excepto que Safari y Chrome no reconocen el certificado SSL de su propio sitio. Es un poco irónico :-); Obtuve la aprobación unos 10-15 minutos después de enviar la información.

Supongo que esto se ha convertido en una rutina para ellos (al menos si solo estás usando SSL en lugar de algún tipo de criptografía exótica).

Como la aplicación está configurando y utilizando conexiones SSL seguras, se considera un producto de cifrado. Los controles de exportación de EE. UU. Dependen de si usa el cifrado, no dónde lo encuentra. No importa si está utilizando una función incorporada en lugar de escribir la suya propia, utilizando una biblioteca comercial o usando un procesador especializado: sigue siendo un elemento de cifrado.

Visite el sitio web de BIS en http://www.bis.doc.gov/encryption o llame a la mesa de ayuda al 202-482-0707 si desea analizar los detalles de su aplicación. Si descubres que necesitas una clasificación de encriptación, entonces el enlace para la SNAPR también está allí.