Курсы

Руслан Оспанов может предложить свои услуги по разработке и проведению курсов в области криптографии и технологий распределенного реестра (блокчейн) и приглашает к сотрудничеству. На договорной основе.


Примеры курсов:

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

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

Во-вторых, мы рассматриваем вопрос о том, подходит ли криптографический алгоритм для использования в новых или будущих системах. Второй принцип заключается в том, что теперь специалисты планируют и готовят к постепенному прекращению использования существующих алгоритмов в течение 5-10 лет, и заменяют их алгоритмами, которые считают безопасными для будущего использования.

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

 

Программа курса

(каждая тема рассчитана минимально на 1 час,

таким образом минимальная продолжительность курса 20 часов)

 

Модуль

Тема

1.Общие вопросы.

1.1. Введение. Определения.

1.2. Криптостойкость.

1.3. Атаки по сторонним каналам.

1.4. Генерация случайных чисел.

1.5. Система управления ключами.

2. Криптографические примитивы.

2.1. Симметричные блочные алгоритмы шифрования.

2.2. Хэш-функции.

2.3. Симметричные поточные алгоритмы шифрования.

2.4. Асимметричные криптографические примитивы.

2.5. Длины ключей.

3. Криптографические схемы.

3.1. Режимы шифрования симметричных блочных алгоритмов шифрования.

3.2. Коды аутентификации сообщений (MAC).

3.3. Аутентифицированное шифрование (с присоединенными данными).

3.4. Функции формирования ключа.

3.5. Асимметричные криптографические схемы.

4. Криптографические протоколы.

4.1. Протоколы установки ключей.

4.2. Протоколы идентификации и аутентификации.

4.3. Протоколы обмена ключами с проверкой подлинности пароля.

4.4. Некоторые специфичные криптографические протоколы.

4.5. Некоторые прикладные специфичные протоколы.

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

За последние годы были выпущены стандарты для большинства широко используемых типов криптографических схемы и для большинства распространенных видов применения криптографии. Этот курс призван обеспечить введение во все основные типы криптографических схем и руководство по стандартизированным методикам. Цель курса обеспечить достаточную информацию об используемых стандартизированных схемах, в частности, предоставить достаточно исчерпывающую информацию о том, какие существуют стандарты и что они содержат. Это позволит пользователям выбирать алгоритмы для практического использования, с уверенность в том, что алгоритмы были достаточно хорошо изучены академическим сообществом, чтобы быть стандартами. Конечно, стандартизация сама по себе не гарантирует, что какой-либо алгоритм не будет предметом атаки в будущем, но в целом стандартизированные методы представляют собой современное состояние в криптографии. Тем не менее, есть исключения, где применяются криптографические методы, которые не были тщательно изучены более широким сообществом - такие исключения, как правило, относятся к стандартам специфического применения. Как и всем пользователям криптографии, пользователям стандартизированных методик рекомендуется держать руку на пульсе новых разработок в этой области.

 

 Программа курса

(каждая тема рассчитана минимально на 1 час,

таким образом минимальная продолжительность курса 65 часов)

 

Модуль

Тема

1.Стандарты и процесс стандартизации

1.1. Введение. Зачем нужны стандарты?

1.2. Международные организации по стандартизации.

1.3. Национальные организации по стандартизации.

1.4. Организации по промышленной стандартизации.

1.5. Организации по криптографической оценке.

2. Функции-сервисы и механизмы безопасности. (на основе стандарта ISO 7498.2)

2.1. Стандарты безопасности. Модель безопасности.

2.2. Функции-сервисы безопасности.

2.3. Механизмы безопасности.

2.4. Управление безопасностью.

2.5. Основы безопасности.

3. Стандарты алгоритмов шифрования.

3.1. Определения и основные свойства.

3.2. Стандарты алгоритмов блочного шифрования.

3.3. Стандарты режимов шифрования.

3.4. Стандарты алгоритмов поточного шифрования.

3.5. Стандарты асимметричных алгоритмов шифрования.

4. Стандарты криптографических хэш-функций.

4.1. Определения и основные свойства.

4.2. Хэш-функции на основе блочных шифров.

4.3. Специализированные хэш-функции.

4.4. Хеш-функции на основе модулярной арифметики.

4.5. Выбор хэш-функций. Другие схемы построения хэш-функций.

5. Стандарты кодов аутентификации сообщений.

5.1. Определения и основные свойства.

5.2. Коды аутентификации сообщений на основе блочных шифров (СВС-МАС).

5.3. Коды аутентификации сообщений на основе хэш-функций.

5.4. Алгоритмы аутентификации сообщений (МАА).

5.4. РМАС.

6. Стандарты цифровых подписей.

6.1. Определения и основные свойства.

6.2. Алгоритм цифровой подписи (DSA).

6.3. Схемы подписи на основе RSA.

6.4. Другие стандарты.

6.5. Цифровые подписи и закон.

7. Стандарты для обеспечения невозможности отказа.

7.1. Модель невозможности отказа.

7.2. Функции-сервисы невозможности отказа.

7.3. Невозможность отказа с использованием симметричной криптографии.

7.4. Невозможность отказа с использованием асимметричной криптографии.

7.5. Временные метки и невозможность отказа.

8. Стандарты для протоколов аутентификации.

8.1. Определения и основные свойства.

8.2. Криптографические и некриптографические механизмы.

8.3. Аутентификация с использованием симметричной криптографии.

8.4. Аутентификация с использованием асимметричной криптографии.

8.5. Протоколы “ручной аутентификации”.

9. Стандарты систем управления и установки ключей.

9.1. Определения и основные свойства.

9.2. Схемы управления клучами.

9.3. Схемы установки ключей с использованием симметричной криптографии.

9.4. Схемы установки ключей с использованием асимметричной криптографии.

9.5. Другие схемы.

10. Стандарты инфраструктуры открытых ключей.

10.1. Определения и основные свойства.

10.2. Форматы сертификатов открытых ключей.

10.3. Управление сертификатами открытых ключей.

10.4. Хранение и извлечение сертификатов открытых ключей. Определение статуса сертификатов открытых ключей.

10.5. Политика сертификата и регламент сертификационной практики.

 

11. Стандарты управления услугами доверенных третьих лиц.

11.1. Определения и основные свойства.

11.2. Требования к доверенным третьим лицам.

11.3. Архитектура доверенны хтретьих лиц.

11.4. Службы метки времени.

11.5. Службы цифрового архивирования.

12. Стандарты криптографических API.

12.1. Определения и основные свойства.

12.2. GSS-API.

12.3. PKCS #11.

12.4. Другие криптографические API.

12.5. Вопросы безопасности.

13. Другие стандарты.

13.1. Генерация случайных битов.

13.2. Аутентифицированное шифрование.

13.3. Модули безопасности.

13.4. Стандарты использования биометрических методов.

13.5. Управление информационной безопасностью.

ТЕХНОЛОГИЯ (от греч. искусство, мастерство, умение и греч. изучение) - совокупность методов и инструментов для достижения желаемого результата; метод преобразования данного в необходимое; способ производства. Технология - применение любого научного знания для решения практических задач. Технология включает в себе методы, приёмы, режим работы, последовательность операций и процедур, она тесно связана с применяемыми средствами, оборудованием, инструментами, используемыми материалами. Технология - реальное (практическое) разрешение конкретной научно-технической, производственно-хозяйственной и социально-политической задачи. (Некрасов С. И., Некрасова Н. А. Философия науки и техники: тематический словарь. — Орёл: ОГУ. 2010.)

 

 

Данный курс посвящен технологии блокчейн. Курс нацелен дать общее представление об этой технологии и адресован всем желающим на высоком уровне понять, как работает технология блокчейн и для чего её можно использовать.

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


 Программа курса

(каждая тема рассчитана минимально на 1 час,

таким образом минимальная продолжительность курса 15 часов)

1.Архитектура блокчейн.

1.1. Введение. История вопроса. Интернет. Криптография. Cypherpunk (Шифропанки). Задачи. David Chaum и DigiCash. Wei Dai и b-money. Nick Szabo и Bitgold. Nick Szabo и smart contracts. Stuart Haber, W.Scott Stornetta и timestamp server. Adam Back и hashcash. Leslie Lamport и Paxos. Merkle Tree.  Satoshi Nakamoto и Bitcoin. Классификация технологии блокчейн. Составляющие элементы технологии блокчейн.

1.2. Криптографические хэш-функции. Определение криптографической хеш-функции. Свойства. Классификация. Схемы криптографических хеш-функций. KDF. Примеры. Применение. Хеш указатели. Block chain. Merkle Tree.

1.3. Алгоритмы асимметричной криптографии. Асимметричная криптография. Цифровые подписи. Свойства. Elliptic Curve Digital Signature Algorithm (ECDSA). Использование закрытых и открытых ключей.

1.4. Транзакции. Адреса. Реестры. Транзакция. Информация, содержащаяся в транзакции. Metadata. Amount. Inputs. Outputs. ID/Hash. Адрес пользователя. Формирование адреса. Хранилище закрытых ключей. Кошелек. Реестр транзакций. Централизованные реестры. Распределенные реестры.

1.5. Блоки. Цепочки блоков. Пул транзакций. Блоки транзакций. Создание блоков. Поля данных блока. Номер блока. Текущее значение хэша блока. Предыдущее значение хэша блока. Хэш корня дерева Меркля. Временная метка (timestamp). Размер блока. Значение nonce. Список транзакций, включенных в блок. Цепочки блоков.

2. Алгоритмы консенсуса.

2.1. Задачи консенсуса. Консенсус. Протокол соглашения (agreement protocol). Задачи соглашения. Задача византийского соглашения (Byzantine agreement problem). Задача консенсуса (consensus problem). Задача интерактивной согласованности (interactive consistency problem). Протокол византийского соглашения (Byzantine agreement protocol). Протокол консенсуса (consensus protocol). Протокол интерактивной согласованности (interactive consistency protocol).

2.2. Алгоритм доказательства работы (Proof-of-Work). Описание алгоритма.

2.3. Алгоритм доказательства доли (Proof-of-Stake). Описание алгоритма.

2.4. Модификации алгоритмов консенсуса. Reusable-Proofs-of-Work (RPoW). Delegated Proof-of-Stake (DPoS). Leased Proof of Stake (LPoS). Proof of Importance (Pol). Proof of Activity (POA). Proof of Capacity (PoC) (Proof-of-space). Proof of Burn (PoB). Ouroboros Proof-of-stake (PoS). Proof of Research.

2.5. Обзор других алгоритмов консенсуса. Byzantine Fault Tolerance (BFT). Proof of Elapsed Time (PoET). Simplified Byzantine Fault Tolerance (SBFT). Delegated Byzantine Fault Tolerance (DBFT). Directed Acyclic Graphs (DAG). Proof of Weight (PoWeight). Proof-of-Authority (PoAuthority).

3. Разное.

3.1. Форкинг. Форки. Софтфорк (soft fork). Хардфорк (hard fork). Примеры. Замена криптографических алгоритмов. Квантовые компьютеры и пост-квантовая криптография.

3.2. Смарт-контракты. Смарт-контракт. Принципы работы. Примеры. Ethereum.

3.3. Виды блокчейна. Permissionless Blockchain (открытый блокчейн). Permissioned Blockchain (закрытый блокчейн). Public blockchains. Consortium blockchains. Fully private blockchains. Permissioned private shared ledgers. Permissioned public shared ledgers. Unpermissioned public shared ledgers.

3.4. Платформы блокчейн. Криптовалюты. Bitcoin. Bitcoin Cash. Litecoin. Ethereum. Ethereum Classic. Dash. Ripple. Hyperledger. MultiChain. Waves. Nxt. NEM. NEO.

3.5. Возможности технологии блокчейн. Возможности применения технологии блокчейн. Ограничения возможности применения. Ошибочные представления о возможностях применения. Возможные сферы применения. Блок-схема для определения необходимости применения технологии блокчейн.

За последнее десятилетие криптографические протоколы превратились в основной объект исследований в теоретической криптографии. Например, на крупнейших ежегодных международных криптографических конференциях Crypto и EUROCRYPT большая часть докладов посвящена именно протоколам. Такая ситуация является не только лишь отражением преобладающих интересов исследователей, также для вывода о превращении криптографических протоколов в основной объект криптографических исследований имеются и объективные основания. В банковских платежных системах в наши дни вместо платежных поручений на бумаге используется их электронная форма. Выгоды от такой замены очень ощутимы, и поэтому банки от нее уже никогда не откажутся, какие бы технические и криптографические (связанные с обеспечением целостности) трудности при этом не возникали. Но платежные поручения — лишь один из многочисленных типов документов, находящихся в обороте в сфере бизнеса. А ведь существуют еще документы, с которыми работают государственные органы и общественные организации, юридические документы и т. д. В последние годы в развитых странах отчетливо прослеживается тенденция перевода всего документооборота в электронную форму. Важно отметить, что поскольку переход на электронные документы представляется неизбежным, возникает необходимость обеспечения, в каждом конкретном случае, целостности и неотслеживаемости, т.е. разработки соответствующих криптографических протоколов.

В 1994 году Тимоти Мэй (Timothy C. May) впервые предложил рассмотреть задачу отправки секретного сообщения в будущее, т.е. задачу зашифрования сообщений, расшифрование которых возможно только лишь по истечении заданного времени в будущем.

Решение этой задачи имеет ряд интересных практических приложений, например:

      1. “запечатывание” дневников и записей на определенный срок, причем таким образом, что даже их автор не мог бы их “распечатать” раньше срока,
      2. защита данных, полученных в результате научных исследований или экспериментов, до момента их завершения и опубликования с целью предотвращения утечки информации или давления со стороны заинтересованных лиц,
      3. сокрытие предложения цены участниками торгов до завершения торговой сессии,
      4. защита промежуточных данных голосования до их завершения с целью исключения влияния на ход голосования.

Область применения может быть весьма обширна и включает в себя не только аукционы и голосование, а также финансовые рынки и их регулирование, электронная коммерция, право.

Необходимость в таком криптографическом приложении имеется и в Республике Казахстан. В частности, в 2015 году Веб-портал государственных закупок Республики Казахстан выразил свою потребность в средстве, обеспечивающем шифрование данных пользователей портала (поставщиков), с возможностью расшифрования не ранее заданного времени.

В данном курсе предлагается рассмотреть ряд криптографических протоколов (протоколы распределенной генерации ключей, протоколы разделения секрета, алгоритм шифрования Эль-Гамаля) для построения сервиса шифрования данных на заданное время.


Программа курса


Модуль

Тема

1. Введение в теорию криптографических протоколов.

1.1. Понятие криптографического протокола, стойкость исложность криптопротоколов .

1.2. Виды криптографических протоколов .

1.3. Примеры криптографических протоколов .

2. Протоколы распределения ключей

2.1. Понятие протокола распределения ключей. Виды протоколов распределения ключей.

2.2. Примеры протоколов распределения ключей. Протокол Диффи-Хеллмана. Протокол RSA.

2.3. Протокол Эль-Гамаля.

3. Протоколы разделения секрета

3.1. Понятие протокола разделения секрета. Виды протоколов разделения секрета.

3.2. Примеры протоколов разделения секрета.

3.3. Протокол проверяемого порогового разделения секрета Фельдмана.

4. Протоколы распределенной генерации ключей

4.1. Понятие протокола распределенной генерации ключей.

4.2. Примеры протоколов распределенной генерации ключей.

4.3. Протокол распределенной генерации ключей Педерсена

5. Протокол, обеспечивающий зашифрование сообщений, расшифрование которых будет возможно не ранее заданного времени (Time-Lapse Cryptography)

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

5.2. Сервис шифрования данных на заданное время Time-Lapse Cryptography.

5.3. Модифицированные варианты сервиса шифрования данных на заданное время.


За последнее десятилетие криптографические протоколы превратились в основной объект исследований в теоретической криптографии. Например, на крупнейших ежегодных международных криптографических конференциях Crypto и EUROCRYPT большая часть докладов посвящена именно протоколам. Такая ситуация является не только лишь отражением преобладающих интересов исследователей, также для вывода о превращении криптографических протоколов в основной объект криптографических исследований имеются и объективные основания. В банковских платежных системах в наши дни вместо платежных поручений на бумаге используется их электронная форма. Выгоды от такой замены очень ощутимы, и поэтому банки от нее уже никогда не откажутся, какие бы технические и криптографические (связанные с обеспечением целостности) трудности при этом не возникали. Но платежные поручения — лишь один из многочисленных типов документов, находящихся в обороте в сфере бизнеса. А ведь существуют еще документы, с которыми работают государственные органы и общественные организации, юридические документы и т. д. В последние годы в развитых странах отчетливо прослеживается тенденция перевода всего документооборота в электронную форму. Важно отметить, что поскольку переход на электронные документы представляется неизбежным, возникает необходимость обеспечения, в каждом конкретном случае, целостности и неотслеживаемости, т.е. разработки соответствующих криптографических протоколов.

В силу общедоступности используемых каналов передачи голосовой информации в IP-сетях особую актуальность приобретает конфиденциальность VoIP-сервисов. Для этого возможны два различных подхода: формирование прямого защищенного канала между корреспондентами (например, VPN-туннель) и применение специальных протоколов обеспечения безопасности для IP-сервисов. Первый способ широко распространен при построении виртуальных корпоративных сетей. Однако для его реализации корреспонденты должны поддерживать VPN-протокол, что свойственно далеко не всем VoIP-устройствам (табл.1). Специальные протоколы обеспечения безопасности IP-телефонии можно разделить на три категории:

• протоколы защиты сигнализации (Secured SIP);

• протоколы защиты медиаинформации (SRTP);

• протоколы генерации/распределения ключей для протоколов защиты медиаинформации

(MIKEY, SDES, ZRTP, DTLS).

В данном курсе предлагается рассмотреть протоколы распределения ключей шифрования для использования в системах передачи голоса по IP-сетям (VoIP) (ZRTP).



Программа курса


Модуль

Тема

1. Введение в теорию криптографических протоколов.

1.1. Понятие криптографического протокола, стойкость исложность криптопротоколов .

1.2. Виды криптографических протоколов .

1.3. Примеры криптографических протоколов .

2. Протоколы распределения ключей

2.1. Понятие протокола распределения ключей. Виды протоколов распределения ключей.

2.2. Протоколы открытого распределения ключей. Примеры протоколов открытого распределения ключей. Протокол Диффи-Хеллмана.

2.3. Криптографические протоколы на эллиптических кривых. Протокол Диффи-Хеллмана на эллиптических кривых.

3. Протокол ZRTP - криптографический протокол согласования ключей шифрования, используемый в системах передачи голоса по IP-сетям (VoIP)

3.1. Протоколы обеспечения безопасности в IP-телефонии.

3.2. Протокол ZRTP: используемые криптографические алгоритмы (алгоритмы хеширования, алгоритмы шифрования, типы аутентификационных тегов, протоколы согласования ключей, типы SAS, код аутентичности сообщения MAC, контрольная сумма CRC).

3.3. Протокол ZRTP: общее описание протокола.


Под криптографическим алгоритмом (cryptographic algorithm) понимают алгоритм, реализующий вычисление одной из криптографических функций (cryptographic function), т.е. функций, необходимых для реализации криптографической системы. К таким функциям относятся: генерация ключей, генерация последовательностей псевдослучайных, функция шифрования,вычисление и проверка значений кода аутентичности сообщения и подписи цифровой, вычисление значения хеш-функции и др. Криптографические задачи состоят в обеспечении конфиденциальности, целостности, неотслеживаемости, аутентификации, невозможности отказа и др.

В данном курсе предлагается рассмотреть основные принципы построения алгоритмов симметричного блочного шифрования на примере существующих стандартов (AES, “Кузнечик”, “Калина”).


Программа курса


Модуль

Тема

1. Введение в теорию криптографических алгоритмов.

1.1. Понятие криптографического алгоритма. Виды криптографических алгоритмов.

1.2. Алгоритмы шифрования. Виды алгоритмов шифрования.

1.3. Понятие криптостойкости алгоритмов шифрования.

2. Алгоритмы симметричного блочного шифрования.

2.1. Структура алгоритмов симметричного блочного шифрования.

2.2. Режимы работы алгоритмов симметричного блочного шифрования.

2.3. Криптоанализ алгоритмов симметричного блочного шифрования.

3. Стандарты алгоритмов симметричного блочного шифрования.

3.1. Обзор стандартов алгоритмов симметричного блочного шифрования.

3.2. Описание алгоритма симметричного блочного шифрования AES (Advanced Encryption Standart, стандарт FIPS Publication 197).

3.3. Описание алгоритма симметричного блочного шифрования «Калина» («Kalyna», стандарт ДСТУ 7624:2014).

3.4. Описание алгоритма симметричного блочного шифрования «Кузнечик» («Kuznyechik»), входящего в стандарт ГОСТ Р 34.12–2015 "Информационная технология. Криптографическая защита информации. Блочные шифры".