web-dev-qa-db-fra.com

Utilisation de SSL dans une application iPhone - Conformité à l'exportation

Je cherche à créer une application iPhone qui communiquera avec un REST. Parce que certaines données sensibles à l'utilisateur (nom, adresse, âge, etc.) seront transmises, je cherche à sécuriser les connexions avec SSL.

Cependant, lors de mes précédentes escapades dans la soumission sur l'App Store, j'ai vu que la première question que l'on me posait était "Votre application utilise-t-elle le cryptage?" et selon la réponse à cette question et à d'autres questions de suivi, il peut être nécessaire de se conformer aux exigences d'exportation des États-Unis.

Mon entreprise n'est pas basée aux États-Unis et nous n'avons pas de bureau aux États-Unis.

Quelqu'un d'autre a-t-il soumis une application utilisant SSL à cette fin? Si oui, avez-vous dû faire quoi que ce soit pour obtenir la permission de l'utiliser, soit de Apple ou du gouvernement américain?

72
John

Mise à jour au 20 septembre 2016

Les ERN ne sont plus nécessaires, il semble donc que de nombreuses applications n'auront plus besoin de s'inscrire auprès du gouvernement américain. (Bien que vous ayez toujours besoin de déposer un rapport semestriel n ° 8 au rapport de la partie 742.) http://www.bis.doc.gov/InformationSecurity2016-updates

(Merci à @EugenioDeHoyos et @ user3562927 de l'avoir signalé!)

L'enregistrement auprès du gouvernement français est toujours obligatoire pour vendre en France.

Les FAQ iTunes Connect ont été mis à jour pour couvrir ce changement et sont la référence la plus lisible que j'ai trouvée.

Ancienne réponse

Le processus a changé, depuis l'été 2010, et vous avez (probablement) besoin d'un ERN maintenant, pas d'un CCATS comme c'était nécessaire au moment où John a écrit sa réponse.

Voir Restrictions d'exportation Apple iTunes sur les applications . La FAQ iTunes Connect contient également de nombreuses informations utiles sur la conformité des exportations.

Il y a aussi maintenant des restrictions qui s'appliquent à la distribution d'applications avec cryptage sur l'App Store français - voir l'iTunes connect FAQ et le fil français de conformité à l'exportation sur les devforums .

50
JosephH

Je suis en fait retourné à Apple et il s'avère que toute application utilisant SSL a besoin (malheureusement) d'approbation. sont apparemment quelques exceptions, comme si l'application utilise SSL uniquement pour une seule transaction de paiement.

Il y a plus d'informations dans Classification de marchandise CCATS de cryptage de marché de masse pour les applications iPhone en 8 étapes faciles et Conformité d'exportation de cryptage iPhone pour les applications établissant des connexions HTTPS (TLS) .

10
John

Toutes ces réponses sont obsolètes au 20 septembre 2016. Je viens de décrocher le téléphone avec les gens de SNAP-R (gouvernement), et ils ont dit que la nouvelle législation avait atterri le 20 septembre. Le nouveau règlement supprime l'obligation d'enregistrer votre application simplement parce qu'elle utilise le cryptage.

Je leur ai décrit mon application (un jeu) et ils m'ont dit que c'était un "EAR-99", ce qui signifie que je n'ai pas besoin de m'inscrire. Il est probable que Apple est sur le point de mettre à jour son site Web. Mais en attendant, si vous essayez de passer par ce processus parce que vous utilisez SSL/HTTPS, arrêtez maintenant. Vous ne le ferez pas même réussir à remplir les formulaires, car ils ont beaucoup changé.

10
user3562927

Maintenant en novembre 2017 ...

Il s'agit vraiment de choses légales, c'est donc une indication de ce que j'ai trouvé utile et de la façon dont j'ai interprété les choses. Ne le prenez pas comme un conseil (ce n'est pas le cas).

Le Apple FAQ comme mentionné dans d'autres réponses ici est un excellent point de départ: https://itunespartner.Apple.com/en/apps)/faq/Gestion de% 20Vos% 20Apps_Export% 20Compliance

Cela conduit à effectuer les opérations suivantes: Dans iTunes Connect, accédez à votre application. Choisissez l'onglet "fonctionnalités" en haut et sélectionnez "Cryptage" sur le côté. Cliquez sur "Ajouter une documentation de conformité d'exportation pour iOS" dans la page principale. La première question dit: "Conformité à l'exportation: votre application est-elle conçue pour utiliser la cryptographie ..." Choisissez "Oui". Les questions suivantes disent (et je copie et colle):

Votre application répond-elle à l'un des critères suivants:
a) Admissible à une ou plusieurs exemptions prévues à la catégorie 5, partie 2
(b) L'utilisation du cryptage est limitée au cryptage dans le système d'exploitation (iOS ou macOS)
(c) Appelle uniquement via HTTPS
(d) L'application n'est disponible qu'aux États-Unis et/ou au Canada

(c) est la référence de style SSL (selon votre question), donc sélectionnez Oui à cette question. [Notez que le bas du guide sur cet écran contient un lien vers ce qui précède FAQ link]

En sélectionnant "Oui", l'un des encadrés contextuels indique (et je cite):

Si vous utilisez ATS ou appelez HTTPS, veuillez noter que vous devez soumettre un rapport d'auto-classification de fin d'année au gouvernement américain. Apprendre encore plus

Et de retour dans la FAQ, une citation clé est:

Pourquoi mon application nécessite-t-elle un examen du chiffrement si je ne vis pas aux États-Unis? Puis-je contourner l'examen de cryptage si je ne publie mon application que dans mon pays d'origine?

Votre application sera téléchargée sur un serveur Apple aux États-Unis, ce qui signifie que votre application sera exportée des États-Unis et soumise aux lois américaines sur l'exportation. Cette exigence s'applique même si vous prévoyez de distribuer dans votre propre pays.

Le dernier bit, je pense, répond au 2ème bit de votre question ... Vous devez toujours vous conformer même si vous n'êtes pas aux États-Unis et même si vous n'avez pas l'intention de distribuer en dehors de votre propre pays ...

Donc, d'après ce que j'ai lu aujourd'hui (en novembre 2017), si vous utilisez SSL (HTTPS) dans une application iOS, même si en dehors des États-Unis, les cases doivent être cochées dans iTunes Connect ... (Le processus a commencé sous les fonctionnalités onglet 'décrit ci-dessus). Au-delà de cela, vous devez ensuite faire un rapport annuel d'auto-classification.

Le lien dans le Apple FAQ à ce sujet est actuellement rompu (au moment où j'écris ceci), mais ce lien est utile: https://www.bis.doc.gov/index.php/policy-guidance/product-guidance/high-performance-computers/223-new-encryption/1238-how-to-file-an-annual-self-classification-report

Cette page comprend les adresses e-mail auxquelles envoyer votre rapport (vous devez l'envoyer à 2 endroits), quand il doit être envoyé et quel format et informations doivent être envoyés (un fichier .csv très prescrit soigneusement créé) que je n'ai pas trouvé ceci avec le moteur de recherche bis.doc.gov, mais l'a trouvé en utilisant un moteur de recherche général recherchant "Rapport d'auto-classification de fin d'année". Donc, si ce lien meurt à l'avenir, cette recherche pourrait aider à trouver un remplaçant :)

Quant aux détails sur la façon de créer ce fichier .csv pour une application iOS en utilisant SSL, je ne suis pas encore sûr - j'espère avoir du succès et éditerai ce post avec des détails s'il semble approprié.

Vers cela cependant, dans ce document lié: https://www.bis.doc.gov/index.php/documents/new-encryption/1651-740-17-enc-table/file ( que vous pourriez avoir besoin de zoomer pour lire) Je pense que la ligne pertinente est la 3e (b) (1) car les exigences de soumission correspondent. Il s'agit de devoir

soumettre Supp. 8, partie 742, par e-mail

Ce document a également une colonne ECCN, et je commence à penser que le numéro ECCN pertinent est 5A002 quelque chose de point

Ce document suivant contient plus de détails sur le choix du bon code ECCN:

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

La lecture de ma meilleure supposition actuelle est que si SSL est utilisé comme une petite partie d'une application, cela se rapporte au code 5A002.a.4

MISE À JOUR:

Ainsi, au bas du guide bis.doc.gov, la description de la création du fichier .csv indique:

  • La première ligne du rapport annuel d'auto-classification doit comprendre les 12 entrées suivantes: NOM DU PRODUIT, NUMÉRO DE MODÈLE, FABRICANT, ECCN, TYPE D'AUTORISATION, TYPE D'ARTICLE, NOM DU SOUMETTEUR, NUMÉRO DE TÉLÉPHONE, ADRESSE COURRIEL, ADRESSE POSTALE, NON-ÉTATS-UNIS. COMPOSANTS NON US. LIEUX DE FABRICATION.
  • Aucune entrée ne doit être laissée en blanc.
  • Le NOM DU PRODUIT et l'ECCN doivent être complétés.
  • Pour NUMÉRO DE MODÈLE et FABRICANT, si nécessaire, entrez "AUCUN" ou "N/A".
  • Pour TYPE D'AUTORISATION, entrez ENC ou MMKT.
  • Pour ITEM TYPE, choisissez dans la liste des types d'articles fournis dans le Supp. 8 à la partie 742 (a) (6).
  • En-têtes de colonne SUBMITTER NAME à NON-U.S. LES LIEUX DE FABRICATION concernent l'entreprise dans son ensemble et doivent donc être entrés de la même manière pour chaque produit (c.-à-d., Un seul point de contact, une seule réponse "OUI" ou "NON" pour savoir si l'un des produits déclarés comprend des produits non américains). les composants de chiffrement et une liste des sites de fabrication non américains sont requis pour le rapport). Dupliquez ces informations dans chaque ligne de la feuille de calcul
  • La seule utilisation autorisée d'une virgule est le séparateur nécessaire entre les 12 entrées pour chaque élément de campagne. Les seules virgules autorisées sont celles insérées automatiquement lors de la conversion de la feuille de calcul.

En utilisant Supplément no 8 à la partie 742 - Rapport d'auto-classification des éléments de chiffrement pour plus d'informations, je suis arrivé à un fichier .csv comme celui-ci:

PRODUCT NAME, MODEL NUMBER, MANUFACTURER, ECCN, AUTHORIZATION TYPE, ITEM TYPE, SUBMITTER NAME, TELEPHONE NUMBER, E-MAIL ADDRESS, MAILING ADDRESS, NON-U.S. COMPONENTS, NON-U.S. 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]

Notez que cela devrait être un fichier .csv bien formé, ce qui n'est pas tout à fait le cas. Je suggère de créer quelque chose dans une feuille de calcul et de l'enregistrer au format .csv

Notez également que ce n'est pas un résultat conseillé - c'est ma meilleure interprétation en tant que personne non qualifiée n'ayant eu aucun conseil. L'exemple .csv au bas du guide bis.doc.gov m'a aidé davantage et semblait suggérer que l'ECCN pourrait simplement être 5A002 sans plus de détails. Le TYPE D'ARTICLE doit être choisi dans la liste du supplément numéro 8 - quelque chose d'autre pourrait mieux correspondre à la nature de votre application. Je n'étais pas si sûr du MODÈLE NUMÉRO, mais l'exemple semblait utiliser des descriptions de type de numéro de version. Peut-être que App Apple ID serait mieux ici. Étant donné qu'il est facultatif, cela pourrait ne pas avoir d'importance ...

MISE À JOUR (janvier 2019): J'ai finalement fait ma soumission pour 2018 et j'ai opté pour:

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

Les changements consistaient à mettre "N/A" comme numéro de modèle et "NO" pour les NON-ÉTATS-UNIS. COMPOSANTS. 'NON' car il n'y a pas de composants achetés dans mon application (US ou NON US) - le code de cryptage est juste la bibliothèque de cryptage iOS.

8
Marcus

J'ai trouvé cet article d'une personne qui a récemment suivi le processus (décembre 2015) extrêmement très utile. Le consensus général semble être que vous devez vraiment suivre ce processus même si vous utilisez simplement un appel REST qui utilise SSL. Cet article vous aidera à exécuter le processus rapidement.

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

7
John F

J'ai rencontré cette question un peu plus tôt dans la journée et j'ai pensé revenir pour faire part de mon expérience.

Consultez: http://tigelane.blogspot.com/2011/01/Apple-iTunes-export-restrictions-on.html pour une procédure qui a bien fonctionné pour moi (assurez-vous de lire l'ensemble chose, y compris les commentaires - il y a eu quelques changements depuis le message d'origine, surtout pour le mieux, et les informations mises à jour sont dans les commentaires).

Le processus est maintenant assez rationalisé (sauf pour Safari et Chrome ne reconnaissant pas le certificat SSL de leur propre site. Un peu ironique là-bas. :-); J'ai obtenu l'approbation environ 10-15 minutes après avoir soumis les informations) .

Je suppose que c'est devenu une chose courante pour eux (du moins si vous utilisez uniquement SSL plutôt qu'une sorte de crypto exotique).

4
Tony Hursh

Étant donné que l'application configure et utilise des connexions SSL sécurisées, elle est considérée comme un produit de chiffrement. Les contrôles d'exportation aux États-Unis varient selon que vous utilisez le chiffrement et non où vous le trouvez. Peu importe que vous utilisiez une fonction intégrée au lieu d'écrire la vôtre, d'utiliser une bibliothèque commerciale ou d'utiliser un processeur spécialisé - c'est toujours un élément de chiffrement.

Consultez le site Web de BIS à l'adresse www.bis.doc.gov/encryption ou appelez le service d'assistance au 202-482-0707 si vous souhaitez discuter des détails de votre application. Si vous découvrez que vous avez besoin d'une classification de cryptage, le lien pour le SNAPR est également là.

3
Michael