Компания
20,77
рейтинг
13 января 2014 в 13:59

Разработка → Apple App Store. Получаем ERN tutorial

Перед загрузкой приложения на ревью в Apple App Store нам задают неожиданный вопрос, а не использует ли наше приложение криптографию?

image

И хотя соблазн ответить «нет» и загрузить наконец-то очень велик, и кто-то тихо шепчет, что ты мог и забыть про https или вообще не знать, как он работает, но совесть советует разобраться и в этом.
У меня много сил ушло, чтобы получить ERN(Encryption Registration approval from BIS), и я решил написать инструкцию.

А может — не надо?


Даже если Вы ответили «да» на вопрос по криптографии, возможно, Ваше приложение попадает в список исключений и не обязательно получать ERN. Об этом как раз следующий вопрос.

image

На который можно ответить «да», если приложение использует криптографию:
  1. В медицинских целях;
  2. Для защиты интеллектуальной собственности или авторских прав;
  3. Для аутентификации, цифровой подписи или для расшифровки данных;
  4. Для управления деньгами;
  5. Для алгоритмов сжатия или шифрования данных, которые не используют внешние параметры шифрования(например, ключи), и пользователь не может повлиять на используемые внутренние параметры.

Также ответить «да» можно, если приложение удовлетворяет всем требованиям из Note 4 этого документа:
  • Основной функционал приложения:
    1. Не относится к информационной безопасности;
    2. Не является операционной системой или ее частью;
    3. Не предназначен для передачи и хранения информации(за исключением массовой коммерческой рассылки, организации развлекательных мероприятий, защиты авторских прав, управлении медицинскими картами);
    4. Не относится к организации компьютерных сетей.
  • Криптография является основным функционалом приложения.
  • В случае необходимости, по запросу соответствующих полномочных органов, будет предоставлена вся необходимая информация для подтверждения выполнения первых двух пунктов.

Я долго пытался разобраться нужно ли получать ERN, если приложение только использует https. Большинство коллег в англоязычном интернете сходится во мнении, что надо. Тем более что вникнуть во все эти условия затруднительно и многие допускают разночтения. Проще получить ERN.

Все-таки получаем


Были опасения, не возникнут ли проблемы с российским происхождением компании. Но все прошло хорошо.

  1. Надо зарегистрироваться на сайте Bureau of Industry and Security U. S. Department of commerce, чтобы получить SNAP-R аккаунт. По ссылке самая обычная форма регистрации. После регистрации нужно будет подтвердить email. И ждать, когда Ваш запрос рассмотрят и активируют. Но на самом деле происходит это достаточно быстро. Нам через полтора часа уже прислали CIN(Applicant ID) и ссылку для активации, где было предложено выбрать себе логин и пароль.
    image
  2. Заходим на сайт. Используем логин и пароль, указанные на предыдущем шаге, и Applicant ID из письма.
  3. Нажимаем Create Work Item.
  4. Выбираем Encription Registration в выпадающем списке и придумываем Reference Number. Reference Number это строка из трех букв и четырех цифр. Нам повезло — сокращение от Tik-Tok Coach как раз состоит из трех букв. Поэтому на скриншоте Reference Number – TTC0001.
    image
  5. Здесь мы видим еще одну обычную форму, которую надо заполнить. Нам интересен пункт «Documents attached to application».
    image
    Нужно заполнить Supplement No. 5 to Part 742—Encryption Registration и приложить в формате pdf.
    Можно скопировать текст с приведенной ссылки, заполнить необходимую информацию в Office Word и сохранить как pdf документ.
    Пример заполнения. Выделено то, что надо заполнить.
    Supplement No. 5 to Part 742—Encryption Registration
    Certain classification requests and self-classification reports for encryption items must be supported by an encryption registration, i.e., the information as described in this Supplement, submitted as a support documentation attachment to an application in accordance with the procedures described in §§740.17(b), 740.17(d), 742.15(b), 748.1, 748.3 and Supplement No. 2 to part 748 of the EAR.

    (1) Point of Contact Information

    (a) Contact Person
    Ivan Ivanov

    (b) Telephone Number
    +7-999-999-99-99

    © Fax Number
    +7-999-999-99-88

    (d) E-mail address
    iivanov@thebestcompany.tu

    (e) Mailing Address
    1, Imaginary Street, Omsk, Russian Federation, 644001

    (2) Company Overview (approximately 100 words).
    We are the best company. We develop HelloWorld App. We've mission to make the better world. And so on.

    (3) Identify which of the following categories apply to your company's technology/families of products:

    (a) Wireless

    (i) 3G cellular

    (ii) 4G cellular/WiMax/LTE

    (iii) Short-range wireless/WLAN

    (iv) Satellite

    (v) Radios

    (vi) Mobile communications, n.e.s.

    (b) Mobile applications

    © Computing platforms

    (d) Multimedia over IP

    (e) Trusted computing

    (f) Network infrastructure

    (g) Link layer encryption

    (h) Smartcards or other identity management

    (i) Computer or network forensics

    (j) Software
    Yes: We only create software.
    (i) Operating systems

    (ii) Applications

    (k) Toolkits/ASICs/components

    (l) Information security including secure storage

    (m) Gaming

    (n) Cryptanalytic tools

    (o) “Open cryptographic interface” (or other support for user-supplied or non-standard cryptography)

    (p) Other (identify any not listed above)

    (q) Not Applicable (Not a producer of encryption or information technology items)

    (4) Describe whether the products incorporate or use proprietary, unpublished or non-standard cryptographic functionality, including encryption algorithms or protocols that have not been adopted or approved by a duly recognized international standards body. (If unsure, please explain.)
    Our product does not use any proprietary, unpublished or non-standard cryptographic functionality.
    We only use standards based Secure Socket Layer(SSL) encryption and system encryption mechanisms that are available in Windows, Mac, Ubuntu operation systems.


    (5) Will your company be exporting “encryption source code”?
    No.

    (6) Do the products incorporate encryption components produced or furnished by non-U.S. sources or vendors? (If unsure, please explain.)
    No.

    (7) With respect to your company's encryption products, are any of them manufactured outside the United States? If yes, provide manufacturing locations. (Insert “not applicable”, if you are not the principal producer of encryption products.)
    No.

    [75 FR 36497, June 25, 2010]

  6. В скором времени после отправки формы на сайте приходит сообщение с ERN.
    image
  7. Но в App Store необходимо загрузить pdf документ. Поэтому снимает скриншот с сообщением и вставляем его в pdf.

Готово! Теперь Вы можете загружать приложение на ревью.

Замечание


Судя по отзывам в интернете, условия получения иногда меняются. Поэтому прошу не полагаться только на мой вольный перевод и трактование документов, но и ознакомиться с оригиналом непосредственно перед получением ERN.
Автор: @JacobL
LLC Tik-Tok Coach
рейтинг 20,77
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Комментарии (26)

  • +4
    Регистрироваться нужно даже, если крипторафию ипользует стороний модуль в вашей программе. Например, Facebook SDK использует, просто WebView открывающее страницу по HTTPS, с недавнего времени я заметил Admob стал использовать HTTPS. раньше точно не использовал, а исходников у нас Адмоба нет, а это не избавляет нас получения регистрации на экспорт. Если вы шифруете пароль спомощью MD5, то тогда можно не регистрироваться в СНАП-Р, но нужно разобраться, где ставить галку. Соответсвующие формы нужны и для Google Play, Amazon, Blackberry.
    • 0
      Я как-то некоторое время назад общался с BlackBerry и HP (когда выпускался для HP Touchpad) на эту тему. Обе конторы утверждали, что такие заморочки нужны только если в самом приложении есть своё шифрование. Но если приложение использует стандартные API вызовы ОС (например, WebView с https), то ничего не надо, так как сама ОС уже имеет нужные сертификации на эту тему.
      • 0
        99% приложений которые используют HTTPS или WebView или просто Facebook или Admob не регистрируют SNAP-R и потом не обновляют это каждые пол года, по закону нужно регистрировать даже если используешь вызовы операционки.
        • 0
          В этом случае почти любое приложение использует шифрование если не напрямую, то косвенно.
          Не знаю как у яблока, но в других «app store» вызов шифрования через API не требует регистрации SNAP-R. И это вполне логично на мой взгляд, так как шифрованием занимается не приложение, а сама ОС и аппараты с этой ОС уже имеют нужные сертификаты. То есть, если экспорт какого-то алгоритма шифрования запрещён, то и через API это нельзя будет использовать, так как в самом аппарате это будет отключено на уровне ОС.
          Если само приложение реализует шифрование внутри, то тогда к нему требования соотвествующие и сертификация новая.
          • 0
            Это не у Apple, apple все равно, вы сами деклрируете. По американским законам или инструкциям АНБ, вы должны делать как я говрю, но 99% нарушают. Я провел день читая ФАКи и стаковерфло на эту тему, лозеек нет. Большинство сознательно или бесознательно нарушают закон. В регистрации нет ни чего такого, психологически не приятно.
        • 0
          А в случае, если используется шифрование накопителя средствами OS или аппаратно (SSD там всякие), как быть? Ведь тогда любое приложение, использующее fopen, автоматически использует криптографию.
          • 0
            Ваше приложение использует крипторафию или нет. То есть если у вас (включя модули которые вы включили в бинарник Admob/Facebook) что то использует критографию например протокол HTTPS в урлах то вы используете криптографию. А то как запускает ваше приложение iOS уже не ваше дело. Вы же не указваете iOS в приложении хранить приложение только на шифрованом SSD.

            Вот тут все варианты перечисленный и проголосованы.
            stackoverflow.com/questions/2135081/does-my-application-contain-encryption
  • +1
    Круто! Вы молодец. Я выпилил защиту кое-чего из-за этого требования. 8(
    • +1
      Спасибо. Теперь можно возвращать защиту.
  • +4
    А какие санкции если везде ставить галочку что криптография не используется, а она, например, используется для хеширования при аутентификации в API какого-нибудь сервиса?
    • +1
      На практике не факт, что вообще какие-то санкции применят.
      На каком-то форуме я читал, что эппл в этом случае может заблокировать приложение.
      Вполне логично, что этой формой эппл просто подстраховываются.
      • +1
        А некоторые пугают чуть ли не проблемами в будущем с получением визы и вообще сотрудничества с американскими компаниями…
        • +1
          Ну визу могут и не выдать, если известно о вашей не законопослушности, так что связь при желании можно найти.
  • 0
    А можете пояснить, ERN вообщени ничего не проверяет, а просто записывает, что вот тот человек или вот та компания сделали какой-то программный продукт с шифрованием и хотят его экспортировать из US? Просто ставят на заметку?
    • +1
      Да, просто фиксируется, что есть продукт и он использует криптографию.
  • +1
    Я так понимаю нужно для каждого приложения получать ERN? или можно один и тот же во всех приложениях использовать?
    • 0
      Хорошо, что Вы обратили внимание. Я раньше не задумывался, потому что у нас один продукт. Но нигде название продукта не указывается, только название компании. Так что один ERN можно использовать на все продукты.
      • 0
        Понятно. Спасибо за статью и ответы на комментарии :)
  • 0
    ERN нужен только если планируется размещать приложение в USA, или если только в Европе тоже?
    • 0
      Я сначала попробовал указать только Россию в выборе стран, где будет распространяться приложение. И все равно меня попросили предоставить ERN.
      • 0
        Я скорее про то, что если приложение не будет размещаться в USA, обязательно указывать наличие криптографии при использовании например HTTPS или MD5-хэширования внутри приложения?
        • 0
          Я думаю, да. Во всяком случае разрешения не указывать нигде не встречал.
          • 0
            Ясно, спасибо за статью. Сколько уже приложений закачивали в App-Store, в большинстве использовали SSL, в некоторых хэш-функции, и еще нигде не указывали криптографию… Для меня это как-то само собой разумеющееся, как мытье рук или чистка зубов.
        • +1
          Наоборот если приложение будет, только в США, то разрешение не нужно — экспорта нет, если приложение будут скачавать из AppStore в России то нужно, если во Франции то дополительное разрешение, еще и на импорт во Францию.
  • +4
    BIS регулирует ЭКСПОРТ из США.
    Поскольку, с юридической точки зрения сервера Apple находятся на территории США скачивание программного обеспечения с территории США на территорию например России, ну или там Ирака классифицируется как экспорт. Формально ERN может не потребоваться только если вы собираетесь продавать программы исключительно на территории США, для продажи же на любой части остальной территории земли ERN уже требуется, поскольку BIS хочет контролировать процесс экспорта «передовых» технологий к которым США относит и криптографию.

    HTTPS обычно используется для аутентификации и контроля цифровой подписи, можно смело отвечать «да».
  • НЛО прилетело и опубликовало эту надпись здесь

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка