Почему Facebook предлагает программистам Android библиотеку шифрования? Причина не ясна, но это открытый исходный код, так что там ничего не может скрываться, не так ли?
Facebook создает множество программного обеспечения и открывает множество полезных кодов из открытых источников. Conceal — это Java API, предназначенный для шифрования файлов Android. Он разработан, чтобы быть достаточно эффективным для использования на старых устройствах Android с небольшим объемом памяти и более медленными процессорами.
Можете ли вы быть уверены, что криптовалюта сделана правильно?
Хорошая новость заключается в том, что нет необходимости проверять Conceal с самого начала, потому что он фактически не реализует алгоритмы криптографии. Вместо этого он использует OpenSSL.
Возникает вопрос, почему бы просто не использовать OpenSS? Ответ заключается в том, что вся библиотека OpenSSL сложна и гибка, а значит, велика. Conceal поставляется с подмножеством выбранных алгоритмов, которые позволяют уместить все в 85 КБ.
Конечно, это означает, что у вас нет выбора и гибкости, которые предлагает полная библиотека шифрования, но, давайте посмотрим правде в глаза, вам часто не нужен выбор — любое шифрование удовлетворит потребность.
Сравнение Conceal с Bouncycastle, другой облегченной библиотекой шифрования и встроенным шифрованием Android.
В этом случае Conceal использует AES-GCM и HMAC-SHA1, которые являются более быстрыми версиями стандартных алгоритмов и недоступны как часть OpenSSL на старых устройствах Android.
Он также поставляется с цепочкой ключей по умолчанию, в которой ключи хранятся в SharedPreferences. При реальном использовании библиотеки вам, вероятно, придется обратить внимание на реализацию собственного управления ключами.
Для чего Facebook использует Conceal?
«Facebook в настоящее время использует Conceal для хранения файлов изображений на SD-картах. Conceal помогает Facebook защищать личные данные пользователей, шифруя данные, хранящиеся на SD-картах, при этом позволяя пользователям переносить некоторые потребности приложения для хранения данных на расширяемую SD-карту».
Conceal предлагается по лицензии BSD, что означает, что вы можете его модифицировать, и команде требуется помощь в расширении и поддержке кода.