Как определить, содержит ли мое приложение шифрование? - PullRequest
1 голос
/ 10 ноября 2019

После развертывания сборки для моего приложения iOS на TestFlight Apple просила меня заполнить «Экспорт информации о соответствии» следующим вопросом:

Does your app use encryption? 
Select Yes even if your app only uses the 
standard encryption within Apple’s operating system.

Я немного искал ответ здесь, в StackOverflowно мой случай немного конкретен и пока не нашел четкого ответа для моего случая.

  1. Я использую https для подключения к серверу.
  2. Я использую Apple Keychain дляхранить учетные данные пользователя.
  3. Я использую шифрование на сервере для шифрования / дешифрования секретного файла и отправки дешифрованного содержимого в ответ, когда мое приложение выполняет запрос https (поэтому в этом случае мое приложение не использует шифрование напрямую).

Я предполагаю, что ответ на первый вопрос - Да. Определенно, потому что сама Apple Keychain использует шифрование.

Если я выберу да, я получу следующий вопрос:

Does your app qualify for any of the exemptions provided in Category 5,
Part 2 of the U.S. Export Administration Regulations?


Make sure that your app meets the criteria of the exemption listed below. 
You are responsible for the proper classification of your product. 
Incorrectly classifying your app may lead to you being in violation of 
U.S. export laws and could make you subject to penalties, 
including your app being removed from the App Store.

You can select Yes for this question if the encryption of your app is:
(a) Specially designed for medical end-use
(b) Limited to intellectual property and copyright protection
(c) Limited to authentication, digital signature, or the decryption of data or files
(d) Specially designed and limited for banking use or “money transactions”; or
(e) Limited to “fixed” data compression or coding techniques

You can also select Yes if your app meets the descriptions provided in Note 4 for Category 5, Part 2 of the U.S. Export Administration Regulations.

Я предполагаю, что мое приложение c))

(c) Limited to authentication, digital signature, or the decryption of data or files

Поэтому ответ на этот вопрос также будет положительным.

Однако я не уверен в этом и хотел бы узнать ваше мнение, в идеале с кратким объяснением.

Спасибо.

Ответы [ 2 ]

1 голос
/ 13 ноября 2019

Правила, касающиеся приложения TestFlight, немного отличаются от «реального» выпуска AppStore, но процедура очень похожа.

Как вы сказали, первый вопрос спрашивает: «Использует ли ваше приложение шифрование?». Здесь вы должны выбрать «Да», даже если ваше приложение использует только стандартное шифрование в iOS и macOS / XCode.

В основном: использование шифрования в этом случае включает, но не ограничивается следующим:

- Making calls over secure channels (i.e. HTTPS, SSL, and so on).
- Using standard encryption algorithms.
- Using crypto functionality from other sources such as iOS or macOS.
- Using proprietary or non-standard encryption algorithms.

Правительство США определяет «нестандартную криптографию» как любую реализацию «криптографии», включающую включение или использование проприетарныхили неопубликованные криптографические функции, включая алгоритмы или протоколы шифрования, которые не были приняты или одобрены должным образом признанным органом по международным стандартам.

Подходит ли ваше приложение для каких-либо исключений, предусмотренных в категории 5, часть 2 США. Правила экспортного администрирования?

Как вы сказали, вариант C чаще всего является адекватным и правильным выбором, если вы не используете собственные или нестандартные алгоритмы.

Кстати, вот ссылка на это «Примечание 4 для категории 5» , что ониупоминание.

Когда вы отправляете окончательную версию вашего приложения в настоящий App Store, вам необходимо будет снова ответить на эти вопросы в App Store Connect.

Определите ваши требования соответствия экспорту, блабла ...

В принципе, вы можете сказать "да" в следующих сценариях:

Select "Yes" for this question if the encryption of your app is:

    a. Specially designed for medical end-use
    b. Limited to intellectual property and copyright protection
    c. Limited to authentication, digital signature, or the decryption of data or files
    d. Specially designed and limited for banking use or “money transactions”; or
    e. Limited to “fixed” data compression or coding techniques 

С этого момента, как правило, проблем не возникает, пока вы проходитевнутреннее тестирование и т. д. Просто следуйте инструкциям при экспорте / распространении в App Store.

Не забудьте обновить настройки Xcode для вашей сборки.

Поспособ: проконсультируйтесь с адвокатом, если есть сомнения! Это только мое понимание процесса.

0 голосов
/ 13 ноября 2019

Это из статьи Apple о соблюдении правил экспорта шифрования

Как правило, используется шифрование, встроенное в операционную систему, например, когда ваше приложение делает HTTPSсоединения, использующие URLSession - освобождаются от требований выгрузки экспортной документации, тогда как использование проприетарного шифрования не . Чтобы определить, считается ли использование вами шифрования исключением, см. Определение требований к экспортному соответствию.

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...