2014-11-12 4 views
1

Я начинаю погружаться в требование клиента, чтобы мы использовали FIPS 140-2 для данных в состоянии покоя и данных в пути. Из моих (ограниченных) чтений до сих пор это звучит как iOS 7, и у них есть встроенная поддержка FIPS. Я также видел статьи на эту тему (iOS с FIPS), указывающие на создание OpenSSL и включение в ваш проект поддержки FIPS , Я не уверен, почему OpenSSL необходим, если FIPS уже включен в iOS 7+. Я что-то упускаю?Зачем использовать OpenSSL для FIPS 140-2 и полагаться на CoreCrypto на iOS?

+0

Основная причина, по которой это часто возникает в требованиях, заключается в том, что она работоспособна для других платформ, особенно в Интернете, поэтому специалисты по безопасности и архитекторы знакомы с ней, и ее можно даже указать для некоторых регулируемых отраслей и агентств. Это путаница между концепциями «требования» и «соблюдения требования». Требование должно соответствовать требованиям FIPS, и решение для конкретной библиотеки соответствует этому требованию. –

ответ

0

Если вам не нужна какая-либо функциональность в OpenSSL, которая не используется в Common Crypto, используйте Common Crypto.

Причина, по которой Apple больше не предоставляет OpenSSL, объясняется многими случаями, когда SSL не поддерживает обратную совместимость, а поставляемая Apple версия не может быть совместима с приложением, которое было создано с более ранней версией.

Кроме того, Common Crypto использует встроенный аппаратный криптограф, а OpenSSL - нет.

3

На момент написания этой статьи OpenSSL FIPS в значительной степени нарушена для новых устройств Apple и версий iOS за последние 6 лет, поскольку для ее компиляции требуется серьезная модификация процесса сборки, что абсолютно запрещено для соответствия FIPS. Вы получаете библиотеку, но не соответствие FIPS, если вы не повторно сертифицируете. Попробуйте пройти через документированный процесс сборки, чтобы наблюдать за минным полем. Вклад сообщества для решения проблем не был включен. Это также не очень безопасно, потому что оно не реагирует на угрозы для угроз. Heartbleed будет с нами в течение многих лет, но CommonCrypto включает в себя копейки в сравнении, будучи повторно сертифицированным по мере необходимости и обновляется вместе с другими обновлениями ОС. Использование Apple CommonCrypto.

Один из многих нитей, о том, почему она сломана: https://groups.google.com/forum/#!topic/mailing.openssl.users/V_HITNhWaDA

Похожая (не дублировать) вопрос со мной. Единственный ответ нарушает соответствие FIPS. Unknown cpu type when compiling OpenSSL FIPS Capable libraries for arm64 or arm7s

+0

Это первое предложение абсолютно неверно. (Я не утверждаю, что OpenSSL * не * прост в использовании, потому что он плохо документирован). Документированный процесс для iOS доступен в [OpenSSL User Guide 2.0] (https://www.openssl.org/docs/fips/UserGuide-2.0.pdf). В Приложении E.2 представлен пошаговый пример с захватами экрана. Кроме того, CommonCrypto не проверяется FIPS. См. [Проверенные криптографические модули FIPS 140-1 и FIPS 140-2] (http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm) из NIST. – jww

+0

Это абсолютно правильно. Эти инструкции, безусловно, существуют, но не работают для iOS 7 или 8 без изменений, что фактически делает недействительным продукт. Попробуй. После того, как вы измените, попробуйте выполнить проверку во время выполнения в новой архитектуре без изменения кода. Также позвольте мне обратиться к этому документу относительно Apple и fips 140-2: http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1514.pdf –

0

Зачем использовать OpenSSL для FIPS 140-2 против полагаться на CoreCrypto на прошивке?

OpenSSL доступен на более широком спектре платформ iOS. Например, OpenSSL включает в себя iOS 5 - iOS 7 с использованием процессоров A4 - A6. Есть еще несколько подтверждений iOS, но они не были предоставлены общественности в соответствии с сертификатом 1747. Например, в базе уже имеется проверка на iOS 8.

Кроме того, OpenSSL доступен на платформах, отличных от Apple. Последнее привлекательно, потому что означает, что одна и та же база кода может использоваться на нескольких платформах, включая Windows, Linux и Android.

Apple провела свою первую проверку в мае 2013 года, а это означало, что Apple с 2010 года до лета 2013 года не было ничего доступного. Это была большая пустота. Apple по-прежнему предоставляет только проверенный модуль до iOS 7.

И во время отсутствия поддержки поставщиков Apple показала, что у них есть проверенный модуль в своей маркетинговой литературе. (У Apple был «модуль в процессе», который отличается от «Validated Module». И потребовалось много лет, чтобы проверить его, что было неслыханным).

Как кто-то, кто следует этим вещам, тактика Apple с 2010 по 2013 год была явно предназначена для того, чтобы смутить тех, кто искал проверенные модули FIPS 140. (Я написал в CMVP о презренной практике Apple. CMVP запросит заказ Cease и Desist для таких поставщиков, как Apple. Apple - не единственный поставщик, который путает и лжет людям - CipherCloud тоже это сделал).