Какой аппаратный чип / поставщик Apple использует для своего аппаратно-ускоренного шифрования AES / SHA-1? - PullRequest
3 голосов
/ 30 марта 2011

Это продолжение моего вопроса: Поддерживает ли iPhone аппаратно-ускоренное шифрование AES? . После дальнейшего анализа и взлома я определил, что iOS CommonCrypto поддерживает аппаратное ускорение только для режима AES-CBC (цепочка блоков шифрования), но не для режимов AES-CTR (счетчик) или AES-ECB (электронная кодовая книга). Хотя это отличается от открытого кода: http://opensource.apple.com/source/CommonCrypto/CommonCrypto-36064/Source/GladmanAES/ccNewGladman.c.

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

Я посмотрел на обычных подозреваемых ( Chipworks & iFixit ) для этой информации, но не повезло.

1 Ответ

0 голосов
/ 15 мая 2016

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

По крайней мере, некоторыеаппаратного ускорения AES и SHA происходит от возможностей процессора ARMv8-а и выше.ARMv8-a - это ARM-64, и вы можете увидеть его с помощью:

$ clang++ -arch arm64 -dM -E - < /dev/null | sort | egrep -i '(arm|aarch)'
#define __AARCH64EL__ 1
#define __AARCH64_SIMD__ 1
#define __ARM64_ARCH_8__ 1
#define __ARM_64BIT_STATE 1
#define __ARM_ACLE 200
#define __ARM_ALIGN_MAX_STACK_PWR 4
#define __ARM_ARCH 8
#define __ARM_ARCH_ISA_A64 1
#define __ARM_ARCH_PROFILE 'A'
#define __ARM_FEATURE_CLZ 1
#define __ARM_FEATURE_CRYPTO 1
#define __ARM_FEATURE_DIV 1
#define __ARM_FEATURE_FMA 1
#define __ARM_FEATURE_UNALIGNED 1
#define __ARM_FP 0xe
#define __ARM_FP16_FORMAT_IEEE 1
#define __ARM_FP_FENV_ROUNDING 1
#define __ARM_NEON 1
#define __ARM_NEON_FP 7
#define __ARM_NEON__ 1
#define __ARM_PCS_AAPCS64 1
#define __ARM_SIZEOF_MINIMAL_ENUM 4
#define __ARM_SIZEOF_WCHAR_T 4
#define __aarch64__ 1
#define __arm64 1
#define __arm64__ 1

При действии __ARM_FEATURE_CRYPTO вы получите доступ к инструкциям ассемблера рукава и внутренним элементам рукоятки, обычно встречающимся в <arm_neon.h> и <arm_acle.h>.


Я не знаю, является ли это той же схемой AES на пути передачи данных DMA от хранилища к памяти.Я полагаю, что этот AES является частью API защиты данных, анонсированного в iOS 4.3.

Возможно, вы найдете ответ у Жан-Батиста Бедруна и Жана Сигвальда Глубокая защита данных iPhone ;и оценка безопасности Apple iOS 4 * Дино Зави 1019 *.

...