The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

30.08.2018 20:24  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, предоставляющий две операции - шифрование и расшифровка, и не требующий от разработчика выбора конкретных алгоритмов шифрования и определения их параметров (например, векторов инициализации (nonce)). Перед использованием примитива выполняется его регистрация, после чего генерируется или загружается необходимый для операции набор ключей и привязывается к примитиву.

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

  • 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.

Библиотека имеет модульную архитектуру и позволяет подключать свои реализации примитивов и заменять существующие примитивы и компоненты управления ключами, не меняя программный код конечных приложений. Например, в случае выявления уязвимости в каком-то алгоритме шифрования достаточно будет заменить примитив в самой библиотеке и перегенерировать ключи, при этом не трогая код приложений. В текущем виде предлагаемые примитивы базируются на использовании библиотек BoringSSL и Java Cryptography Architecture, которые выступают низкоуровневой основой.

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

  1. Главная ссылка к новости (https://security.googleblog.co...)
  2. OpenNews: Google представил Key Transparency, альтернативу серверам криптографических ключей
  3. OpenNews: Google опубликовал Wycheproof, инструментарий для проверки криптографических библиотек
  4. OpenNews: Разработчики VPN WireGuard представили новую криптографическую библиотеку Zinc
  5. OpenNews: Компания Google представила BoringSSL, форк OpenSSL
  6. OpenNews: Google перешел c OpenSSL на BoringSSL
Лицензия: CC-BY
Тип: Программы
Ключевые слова: google, crypt, tink
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Ivan_83 (ok), 23:36, 30/08/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +8 +/
    Очередная попытка зайти на нишу криптолиб, брингссл то никому не впёрся.
     
     
  • 2.11, Аноним (11), 01:27, 31/08/2018 [^] [ответить]    [к модератору]
  • +/
    Да, нормально все с ним. Просто ты его не используешь вот и все.
     
     
  • 3.18, Ivan_83 (ok), 08:12, 31/08/2018 [^] [ответить]     [к модератору]
  • –7 +/
    Я у себя в коде пока TLS вообще не использую, но когда буду - LibreSSL И порты ... весь текст скрыт [показать]
     
     
  • 4.22, нах (?), 09:30, 31/08/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    странная идея libressl сделана людьми, нихрена не сумевшими в ней разобраться, ... весь текст скрыт [показать]
     
     
  • 5.43, Ivan_83 (ok), 02:56, 01/09/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Боринг появился сильно заранее чем TLS 1 3, не надо притягивать Касательно проб... весь текст скрыт [показать]
     
     
  • 6.46, гугль (?), 12:36, 01/09/2018 [^] [ответить]    [к модератору]  
  • +/
    машину времени мы пока еще не изобрели, приходится сначала делать форк, а потом реализовывать в нем новые-прекрасные идеи, а не наоборот.

     
  • 4.42, Stax (ok), 02:07, 01/09/2018 [^] [ответить]     [к модератору]  
  • +/
    LibreSSL тот еще тормоз - от 2 до 6 раз медленнее, чем OpenSSL Не поддерживает ... весь текст скрыт [показать]
     
     
  • 5.44, Ivan_83 (ok), 03:00, 01/09/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    У меня нет мест где я бы упирался в скорость LibreSSL, и криптоустройств тоже не... весь текст скрыт [показать]
     
  • 4.50, anonymous (??), 10:46, 10/09/2018 [^] [ответить]    [к модератору]  
  • +/
    > А боринг за пределами гугла почти никто не юзает

    https://github.com/openssl/openssl/commit/4b5f7e7555340db28b285452cfd0cafe1854

     
  • 1.3, Отражение луны (ok), 23:41, 30/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +8 +/
    Не смотря на мнение здешних хомяков Гугл очередной раз продемонстрировал, что  понимает основной источник избегаемых уязимостей - сам человек.
     
     
  • 2.15, Аноним (15), 03:30, 31/08/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Только доходило до него это долго, NaCl появился 10 лет назад. Чем кстати эта гуглоподелка лучше?
     
     
  • 3.37, Анончик (?), 12:20, 31/08/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Меньше доступа к низкоуровневым примитивам соответственно, меньше всего может п... весь текст скрыт [показать]
     
  • 1.4, Петросян (?), 23:45, 30/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +13 +/
    защищенный линух от интела, криптографическая либа от гугла. Ждем сесурный андроид от яндекса
     
     
  • 2.5, Задорнов (?), 23:54, 30/08/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Уже был. Яндекс.Кит называется.
     
     
  • 3.6, Отражение луны (ok), 00:08, 31/08/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Смысл которого был отсудить у Гугла через ФАС
     
  • 3.8, Аноним (8), 00:16, 31/08/2018 [^] [ответить]    [к модератору]  
  • +/
    А какого цвета он был?
     
     
  • 4.9, LineageOS (?), 00:34, 31/08/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Такого же как любой другой с гугл сервисами.
     
  • 2.13, Вадик (??), 01:32, 31/08/2018 [^] [ответить]    [к модератору]  
  • +/
    Уже. Или ты не пользуешься android'ом?
     
  • 2.35, Аноним (35), 12:03, 31/08/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    и новые стандарты шифрования от секретных служб.
     
  • 1.17, Какаянахренразница (ok), 07:55, 31/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Не поддерживает C??? Не взлетит.
     
  • 1.19, java developer (?), 09:04, 31/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    issue Nr1 - no PHP Implementation
    https://github.com/google/tink/issues/104
     
  • 1.20, Аноним (20), 09:04, 31/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Но зачем?
     
  • 1.24, Аноним (24), 09:31, 31/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > разработчики не имеющие опыта в криптографии

    Читать мануалы и общую литературу им религия не позволяет? Или манагер стоит над душой и зудит "давай-давай"?

     
     
  • 2.27, гугл (?), 10:03, 31/08/2018 [^] [ответить]    [к модератору]  
  • +/
    тех, которым позволяет, мы нынче не нанимаем - во-первых, они хотят больше денег, во-вторых лезут со своими ценными идеями, вместо того чтоб выполнять команду быстро и не раздумывая.

     
     
  • 3.28, менеджер гугля (?), 10:04, 31/08/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    к тому же они не из моей деревни, не говорят на моем диалекте хинди а на англий... весь текст скрыт [показать]
     
     
  • 4.30, Аноним (30), 10:35, 31/08/2018 [^] [ответить]    [к модератору]  
  • +/
    В Индии-то люди полиглоты.
     
     
  • 5.39, Анонимус_б6_выпуск_3 (?), 13:46, 31/08/2018 [^] [ответить]    [к модератору]  
  • +/
    Индийский английский слышал?
     
     
  • 6.48, Васёк (?), 20:45, 03/09/2018 [^] [ответить]    [к модератору]  
  • +/
    Нормально они говорят. С акцентом порой жутким, но уж будьте уверены, английским там владеют намного лучше, чем в среднем по России.
     
     
  • 7.49, турист (?), 21:43, 03/09/2018 [^] [ответить]     [к модератору]  
  • +/
    да, ни разу в Бурятии или там, под Магаданом не слышал прекрасного what is your... весь текст скрыт [показать]
     
  • 1.26, Аноним (-), 09:47, 31/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А старая либа стала совсем nih?
     
  • 1.36, X4asd (ok), 12:09, 31/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    херня какая-то (простите).

    API для C нет .. да, спасибо конечно за C++ , но наколенные C++поделки в стиле Yandex нам не нужны.

    сборка через какой-то bazel ? почему не через meson?

     
  • 1.45, Аноним (45), 11:56, 01/09/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Как они вовремя - а ешё и аппаратный ключик выкатили на рынок!
    Корпорация "добра" нам пошифровать принесла.
     
  • 1.47, reiniger (ok), 14:38, 01/09/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    > Google представил криптографическую библиотеку Tink
    > трудно допустить ошибки, способные привести к снижению безопасности

    Криптографическая библиотека от шпионящего за всеми подряд? Это типа как комфортный курятник от лисы! А ведь навяжут её пиндосные корпоратели, навяжут, как своё хромое поделие везде и всюду понапихали!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor