PKCS 1 - PKCS 1
Эта статья нужны дополнительные цитаты для проверка.Март 2019 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В криптография, PKCS # 1 является первым из семейства стандартов, называемых Стандарты криптографии с открытым ключом (PKCS), опубликовано RSA Laboratories. В нем представлены основные определения и рекомендации по реализации ЮАР алгоритм для криптография с открытым ключом. Он определяет математические свойства открытых и закрытых ключей, примитивные операции для шифрования и подписей, безопасные криптографические схемы и связанные с ними ASN.1 синтаксические представления.
Текущая версия - 2.2 (27.10.2012). По сравнению с 2.1 (2002-06-14), которая была переиздана как RFC 3447, версия 2.2 обновляет список разрешенных алгоритмов хеширования, чтобы привести их в соответствие с FIPS 180-4, поэтому добавлены SHA-224, SHA-512/224 и SHA-512/256.
Ключи
Стандарт PKCS # 1 определяет математические определения и свойства, которые должны иметь открытый и закрытый ключи RSA. Традиционная пара ключей основана на модуле, , то есть произведение двух различных больших простые числа, и , так что .
Начиная с версии 2.1, это определение было обобщено, чтобы разрешить использование ключей с несколькими простыми числами, где количество различных простых чисел может быть два или более. При работе с ключами с несколькими простыми числами все простые множители обычно обозначаются как для некоторых , такое, что:
- за
Для удобства обозначений и .
Открытый ключ RSA представлен в виде кортежа , где целое число является публичным экспонентом.
Закрытый ключ RSA может иметь два представления. Первая компактная форма - это кортеж , куда - частный показатель. Вторая форма содержит не менее пяти членов (p, q, dp, dq, qinv) или более для ключей с несколькими простыми числами. Хотя эти дополнительные термины математически избыточны для компактной формы, они допускают определенные вычислительные оптимизации при использовании ключа. В частности, второй формат позволяет получить открытый ключ.[1]
Примитивы
Стандарт определяет несколько основных примитивов. Примитивные операции предоставляют фундаментальные инструкции по превращению необработанных математических формул в вычислимые алгоритмы.
- I2OSP - Примитив целого числа в октетную строку - преобразует (потенциально очень большое) неотрицательное целое число в последовательность байтов (октетную строку).
- OS2IP - октетная строка в целочисленный примитив - интерпретирует последовательность байтов как неотрицательное целое число
- RSAEP - RSA Encryption Primitive - шифрует сообщение с помощью открытого ключа
- RSADP - RSA Decryption Primitive - расшифровывает зашифрованный текст с помощью закрытого ключа
- RSASP1 - RSA Signature Primitive 1 - Создает подпись над сообщением с использованием закрытого ключа
- RSAVP1 - RSA Verification Primitive 1 - проверяет подпись для сообщения с использованием открытого ключа
Схемы
Сами по себе примитивные операции не обязательно обеспечивают безопасность. Концепция криптографической схемы заключается в определении алгоритмов более высокого уровня или использования примитивов для достижения определенных целей безопасности.
Существует две схемы шифрования и дешифрования:
- РГАЭС-ОАЭП: улучшено Enшифрование / дешифрование Scheme; на основе Оптимальное заполнение асимметричным шифрованием схема, предложенная Михир Белларе и Филип Рогавей.
- RSAES-PKCS1-v1_5: старая схема шифрования / дешифрования, впервые стандартизованная в версии 1.5 PKCS # 1.
Примечание. В RSAES-OAEP в PKCS # 1 версии 2.1 было внесено небольшое изменение, в результате чего RSAES-OAEP в PKCS # 1 версии 2.0 стал полностью несовместимым с RSA-OAEP в PKCS # 1 версии 2.1 и 2.2.
Также есть две схемы работы с подписями:
- РСАССА-ПСС: улучшенная пробабилистический Sвоспламенение Sхиме с аппендиксом; на основе схема вероятностной подписи Первоначально изобретен Белларе и Рогэвэем.
- RSASSA-PKCS1-v1_5: старый Sвоспламенение SCheme с Аppendix как первый стандартизированный в версии 1.5 PKCS # 1.
Две схемы подписи используют отдельно определенные методы кодирования:
- EMSA-PSS: метод кодирования приложения подписи, вероятностная схема подписи.
- EMSA-PKCS1-v1_5: метод кодирования для приложения подписи, впервые стандартизованный в версии 1.5 PKCS # 1.
Схемы подписи на самом деле подписи с приложением, что означает, что вместо того, чтобы подписывать некоторые входные данные напрямую, хэш-функция сначала используется для создания промежуточного представления данных, а затем подписывается результат хеширования. Этот метод почти всегда используется с RSA, потому что объем данных, которые могут быть подписаны напрямую, пропорционален размеру ключей; который почти всегда намного меньше объема данных, которые приложение может пожелать подписать.
История версий
- Версии 1.1–1.3, с февраля по март 1991 г., частное распространение.
- Версия 1.4, июнь 1991 г., опубликована для семинара разработчиков NIST / OSI.
- Версия 1.5, ноябрь 1993 г. Первая публичная публикация. Переиздано как RFC 2313.
- Версия 2.0, сентябрь 1998 г. Переиздано как RFC 2437.
- Версия 2.1, июнь 2002 г. Переиздано как RFC 3447.
- Версия 2.2, октябрь 2012 г. Переиздано как RFC 8017.
Реализации
Ниже приведен список библиотек криптографии, которые обеспечивают поддержку PKCS # 1:
Атаки
Были обнаружены множественные атаки на PKCS # 1 v1.5.[2][3]
В 1998 г. Даниэль Блейхенбахер опубликовал основополагающую статью о том, что стало известно как Атака Блейхенбахера (также известная как «атака миллиона сообщений»).[3][4] PKCS # 1 был впоследствии обновлен в версии 2.0, и пользователям, желающим продолжить использование старой версии стандарта, были выпущены исправления.[2]С небольшими вариациями эта уязвимость все еще существует на многих современных серверах.[5]
В 2006 году Блейхенбахер представил новую атаку подделки подписи RSASSA-PKCS1-v1_5.[6]
Смотрите также
Рекомендации
- ^ Илмари Каронен (27 октября 2017 г.). «Могу ли я получить открытый ключ из закрытого ключа RSA?». Обмен стеком.
- ^ а б Жан-Себастьян Корон, Марк Джой, Дэвид Наккаш, и Паскаль Пайе (2000). Новые атаки на шифрование PKCS # 1 v1.5 (PDF). Конспект лекций по информатике. 1807. ЕВРОКРИПТ. С. 369–381. Дои:10.1007/3-540-45539-6. ISBN 978-3-540-67517-4. S2CID 8447520.CS1 maint: несколько имен: список авторов (связь)
- ^ а б Ромен Барду, Риккардо Фокарди, Юсуке Кавамото, Лоренцо Симионато, Грэм Стил, Джо-Кай Цай (2012). «Эффективная защита от атак Oracle на криптографическое оборудование». Rr-7944. INRIA: 19.CS1 maint: использует параметр авторов (связь)
- ^ RFC 3218 - Предотвращение атаки миллиона сообщений на синтаксис криптографических сообщений
- ^ Ханно Бёк; Юрай Соморовский; Крейг Янг. «Робот-атака: возвращение угрозы оракула Блейхенбахера». Получено 27 февраля, 2018.
- ^ Тэцуя Идзу, Масахико Такенака, Такеши Симояма (апрель 2007 г.). "Анализ атаки на подделку документов Блейхенбахером". Вторая международная конференция по доступности, надежности и безопасности (ARES'07). IEEE. С. 1167–1174. Дои:10.1109 / ARES.2007.38. ISBN 978-0-7695-2775-8. S2CID 2459509.CS1 maint: использует параметр авторов (связь)
внешняя ссылка
- RFC 8017 - PKCS # 1: Спецификации криптографии RSA, версия 2.2
- PKCS # 1 v2.2: стандарт криптографии RSA на Wayback Machine (архивировано 10 апреля 2016 г.)
- Повышение стандарта для подписей RSA: RSA-PSS на Wayback Machine (Архивировано 4 апреля 2004 г.)