Новости и события » Hi-Tech » Google представил криптографическую библиотеку Tink

Google представил криптографическую библиотеку Tink

Компания Google представила новую открытую криптографическую библиотеку Tink, нацеленную на предоставление простого для корректного применения криптографического API, при использовании которого трудно допустить ошибки, способные привести к снижению с безопасности. Предоставляется полноценная поддержка языков Java (в том числе для Android), C++ и Obj-C, а также экспериментальная поддержка Go и JavaScript. Код поставляется под лицензией Apache 2.0.

Библиотека подготовлена командой, занимавшейся разработкой инструментария Wycheproof и выявившей более 40 уязвимостей и слабых мест в различных популярных криптографических библиотеках и реализациях алгоритмов шифрования. В результате данной работы родилась идея создания предельно простого API, который не позволял бы совершать ошибки, вызванные недопониманием работы алгоритмов шифрования, и который без риска для безопасности смогли бы использовать разработчики не имеющие опыта в криптографии.

В итоге появился проект Tink, сконцентрированный на сокращении числа потенциальных ошибок, которые могут появиться в результате ненадлежащего применения API, спроектированный с учетом опыта анализа слабых мест в различных реализациях алгоритмов шифрования, написанный с оглядкой на безопасность, прошедший жесткое рецензирование кода и досконально протестированный. В Google Tink уже применяется во многих внутренних проектах, таких как AdMob, Google Pay, Google Assistant, Firebase и Android Search App.

Основу программного интерфейса Tink составляет набор криптографических примитивов, каждый из которых охватывает определенную область без углубления в детали, например, для симметричного шифрования по ключу предлагается примитив AEAD, предоставляющий две операции - шифрование и расшифровка, и не требующий от разработчика выбора конкретных алгоритмов шифрования и определения их параметров. Перед использованием примитива выполняется его регистрация, после чего генерируется или загружается необходимый для операции набор ключей и привязывается к примитиву.

В настоящее время предлагаются следующие примитивы:

  • AEAD (Authenticated Encryption with Associated Data) - симметричное аутентифицированное шифрование по фиксированному ключу с опциональной возможностью прикрепления аутентифицированных, но не зашифрованных, связанных данных. Поддерживается как шифрование блоков, так и больших потоков данных;
  • MAC (Message Authentication Codes) - коды аутентификации сообщений для обеспечения целостности и аутентификации источника данных;
  • Функции для создания цифровой подписи и ее проверки (PublicKeySign и PublicKeyVerify);
  • Функции гибридного шифрования, сочетающие скорость симметричного шифрования с удобством шифрования по открытым ключам;

Каждый примитив поддерживает опции для работы в stateless-режиме (безопасный для многопоточных программ), с использованием безопасных операций копирования (copy-safe) и для применения ключей, длиной как минимум 128 бит. Доступен API для взаимодействия со внешними системами управления ключами, такими как Google Cloud KMS, Amazon KMS, Android Keystore и Apple iOS KeyChain.

Android Apple


Maxtang MAX-N100 - мини-ПК со встроенным блоком питания как у Mac...

Maxtang MAX-N100 - мини-ПК со встроенным блоком питания как у Mac mini

В продажу поступил новый компактный компьютер Maxtang MAX-N100 Mini PC. Единственное, чем он примечателен, это встроенный блок питания как у Mac mini (2024). У большинства современных мини-ПК блок питания внешний, но Maxtang MAX-N100 Mini PC - не тот...

сегодня 15:15

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх