ios - ¿Cuándo revisar la casilla “Esta aplicación usa cifrado”?
aes encryption swift (1)
Creo que encontré la respuesta que estaba buscando.
Descargo de responsabilidad : NO soy un abogado (como ustedes) y no seré responsable de esta respuesta, pero creo que mis hallazgos pueden beneficiar a la comunidad.
¿Mi aplicación califica como un artículo de mercado masivo?
Respuesta corta: creo que todas las aplicaciones de Apple se considerarían productos de mercado masivo, pero es difícil estar seguro. Sin embargo, parece que incluso los elementos que no son de mercado masivo pueden usar un algoritmo de clave simétrica con una clave de 56 bits o menos (como leerá más adelante). Nota DES es un algoritmo de clave simétrica que utiliza una clave de 56 bits.
Nota 3: Criptografía Nota: ECCNs 5A002 y 5D002 no controlan elementos que cumplan con todos los siguientes:
a. Generalmente disponible para el público al ser vendido, sin restricción, de acciones en puntos de venta minorista por medio de cualquiera de los siguientes:
- Transacciones de venta libre;
- Transacciones por correo;
- Transacciones electrónicas; o
- Transacciones de llamadas telefónicas;
segundo. La funcionalidad criptográfica no puede ser cambiada fácilmente por el usuario;
do. Diseñado para ser instalado por el usuario sin un soporte adicional por parte del proveedor; y
re. Cuando sea necesario, los detalles de los artículos son accesibles y se proporcionarán, previa solicitud, a la autoridad competente en el país del exportador para verificar el cumplimiento de las condiciones descritas en los párrafos (a) al (c) de esta nota.
Ok ... Entonces, si es un artículo de mercado masivo, ¿cuáles son las limitaciones?
Debe enviar una solicitud de clasificación al gobierno si (ver negrita):
Nota a la Nota 3 (Nota de criptografía): debe enviar una solicitud de clasificación o un registro de encriptación a BIS para productos de encriptación de mercado masivo y software elegible para la Nota de criptografía que emplea una longitud de clave superior a 64 bits para el algoritmo simétrico (o, para productos y el software no implementa ningún algoritmo simétrico, empleando una longitud de clave mayor que 768 bits para algoritmos asimétricos o mayor que 128 bits para algoritmos de curva elíptica ) de acuerdo con los requisitos de la § 742.15 (b) de la EAR para ser liberado del " Controles EI y NS de ECCN 5A002 o 5D002.
Entonces, basado en eso, ¿qué puedo y no puedo usar?
Descargo de responsabilidad :: Esta es mi interpretación de lo anterior; de nuevo, no soy abogado
- AES 128 no puede utilizarse sin enviar una solicitud, ya que utiliza una clave de 128 bits.
- Se puede usar DES ya que usa una clave de 56 bits. De hecho, el DES se puede utilizar incluso sin ser clasificado como un artículo de mercado masivo.
- CAST se puede usar, ya que usa una clave de entre 40 y 128 bits (tendría que usar una clave de 64 bits o menos).
- 3DES no puede ser usado . La clave de cifrado original de 3DES es de 64 bits, pero, según tengo entendido, tiene 3 claves ... Entonces, no estoy seguro de que se aprueben y es probable que tenga que enviar una solicitud. Wikipedia dice que está "designado por NIST para tener solo 80 bits de seguridad", lo que me hace pensar que no se puede usar.
- RC4 Creo que puede usar esto sin enviar una solicitud siempre que la clave de tamaño variable sea de 64 bits o menos .
Oficina de Industria y Seguridad de EE. UU. - Cifrado: ¿Puedo clasificar yo mismo mi elemento de cifrado y exportarlo SIN registro de cifrado?
Descargo de responsabilidad :: No soy un laywer, esta es mi interpretación. No seré responsable.
Puede usar un algoritmo de clave simétrica (como DES) con una clave de 56 bits (o menos).
Además, Mass Market Products puede usar algoritmos de clave simétrica con una clave de 64 bits (o menos).
Secciones importantes en negrita.
El Diagrama de flujo 2 proporciona una descripción general de cómo determinar si su producto puede ser auto-clasificado y exportado sin un registro de cifrado.
Si tiene un producto que está controlado bajo la Categoría 5, Parte 2, ciertos productos y transacciones no requieren ningún registro de encriptación, clasificación o informe posterior a la exportación. Esto incluye:
- Productos clasificados bajo 5x992, incluyendo:
- Productos con longitudes de clave que no excedan los 56 bits simétricos, 512 bits asimétricos y / o el bit de curva elíptica de 112 bits.
- Productos de mercado masivo con longitudes de clave que no superen los 64 bits simétricos, o si no tienen algoritmos simétricos, que no excedan los 768 bits de curva elíptica asimétrica y / o de 128 bits.
- Ciertos productos del mercado masivo enumerados en 742.15 (b) (4)
- Productos con funcionalidad criptográfica limitada como se describe en la Nota a 5A002.
- Productos que utilizan cifrado solo para autenticación.
- Ciertos 5x002 productos / transacciones, incluyendo:
- Ciertos productos / transacciones son elegibles para la excepción de licencia ENC sin ningún tipo de registro, clasificación o informe, incluyendo:
- Exporta y reexporta a ''usuarios finales del sector privado'' como se describe en 740.17 (a) (1);
- Exporta y reexporta a un "Subisidario de los EE. UU." Como se describe en 740.17 (a) (2).
- Ciertos productos enumerados en 740.17 (b) (4):
- Ciertos productos que requieren solo una notificación antes de exportar:
- Software de encriptación y código fuente "públicamente disponible" bajo la excepción de licencia TSU (740.13);
- Software Beta Test bajo la excepción de licencia TMP (740.9).
Además, si está confiando en la autoclasificación del productor (de acuerdo con el registro de encriptación del productor) o en CCATS para un artículo de encriptación elegible para exportación o reexportación bajo la Licencia de Excepción ENC o el mercado masivo, no está obligado a presentar un registro de encriptación. Solicitud de clasificación o informe de autoclasificación. Aún debe cumplir con los requisitos de informes de ventas semestrales según el párrafo 740.17 (e).
Al enviar o actualizar una aplicación, una de las preguntas que enfrenta es:
¿Ha agregado o realizado cambios en las funciones de cifrado desde la última vez que cargó un binario para este producto?
Imagen:
Mi pregunta es, si uso el cifrado que obtiene de la <CommonCrypto/CommonCryptor.h>
, ¿tengo que marcar SÍ a esa Q?
Tengo un archivo que me gustaría cifrar, enviar al iPhone y descifrar en el iPhone usando CommonCrypto. He recibido respuestas mixtas al hablar con compañeros de trabajo. Algunos creen que, dado que es un marco incluido que es un juego justo, otros dicen que tienes que obtener la aprobación del gobierno.
Parece que CommonCrypto admite (en el mejor de los casos) el cifrado AES de 128 bits con un modo de cifrado de ECB. Entonces, eso es lo que planeaba usar.
Nota al NSData+CommonCrypto
: Planeo usar la categoría NSData+CommonCrypto
de AlanQuatermain / aqtoolkit en github. Esto es solo un envoltorio alrededor de CommonCrypto y nada más.
Relacionado es, ¿tiene que marcar SÍ si usa HTTPS (SSL) ? Consulte Cumplimiento de la exportación de cifrado de iPhone para aplicaciones que realizan conexiones HTTPS (TLS) - Continúa . No necesito conexiones https, aun así esto me sorprende ...