B2BB2CH2H

Шифрование JSON ГОСТ-сертификатом

Способ защиты данных определяется настройками интеграции. Для уточнения информации по настройке Вашей интеграции или запроса для установления нужных настроек необходимо написать на почту alfa_api@alfabank.ru. При запросе установления настроек необходимо сообщить способ защиты (подпись или подпись с шифрованием), а также алгоритм (RSA или ГОСТ).

Подпись и шифрование JSON
1

Подготовить сообщение в формате JSON

Пример сообщения
{
  "sub": "1234567890",
  "name": "John Doe",
  "admin": true,
  "iat": 1657882689,
  "exp": 1657886289
}
2

Подписать запрос

Тело запроса сформировать алгоритмом ГОСТ Р 34.10-2012 256 бит в виде компактной сериализации в соответствии с JSON Web Signature и подписать тело запроса закрытым ключом сертификата.

Формат JWS

BASE64URL(UTF8(JWS Protected Header)) || '.' || BASE64URL(JWS Payload) || '.' || BASE64URL(JWS Signature)

Структура тела запроса

  • •
    Заголовок (Header)
    • •
      "alg": "GOST3410_2012_256"
    • •
      "typ": "JWT"
    • •
      "cty": "JWS"
    • •
      "kid": "серийный номер сертификата"
    • •
      "b64": true
  • •
    JSON-документ (Payload)
  • •
    Подпись запроса (Signature)

Пример JWS

ewogICJhbGciIDogIkdPU1QzNDEwXzIwMTJfMjU2IiwKICAidHlwIiA6ICJKV1QiLAogICJjdHkiIDogIkpXUyIsCiAgImtpZCIgOiAiNmQzOGI4ZTAwNjFiMGY5YTk0ZjEwNGJlNTdlNzdhYTE4IiwKICAiYjY0IiA6IHRydWUKfQ.eyJkZWJpdFR1cm5vdmVyIjp7ImFtb3VudCI6MCwiY3VycmVuY3lOYW1lIjoiUlVSIn19.ByCkNenTTtZQrnZplNOo9WyqPTxb6vFq0iExNHpuPCV6LUeXDFTe8tNBZCy1WvpdUCQBrKK447s3NJCC5hNLhA

Для тестовой проверки можно использовать https://token.dev/.

3

Зашифровать запрос

Зашифруйте полученный на шаге два JWS-контейнер алгоритмом ГОСТ 34.12.2015 (блочный шифр с длиной блока n = 64 бит «Магма») открытым ключом сертификата Альфа-Банка, чтобы получился PKCS7-контейнер, и передайте его в теле запроса. Для получения сертификата напишите на почту alfa_api@alfabank.ru.

Информация об используемых стандартах ТК 26

Алгоритм экспорта ключей KExp15 на основе симметричного блочного шифра "Магма". OID: 1.2.643.7.1.1.7.1.1

Алгоритм шифрования послания "Магма" в режиме гаммирования CTR с механизмом преобразования ключа ACPKM с вычислением имитовставки. OID: 1.2.643.7.1.1.5.1.2

Пример PKCS7

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

4

Выполнить запрос

Если добавить заголовки Content-Type: application/json + X-Request-ChannelSecurity: NO и отправить запрос, то запрос не будет расшифрован и подпись запроса не будет проверяться.

Если добавить заголовки Content-Type: application/jose + X-Request-ChannelSecurity: ENCRYPTION и отправить запрос, то запрос будет расшифрован и подпись будет проверяться.

Банк дешифрует запрос и проверяет подпись. Если подпись валидна - запрос обрабатывается, если невалидна - Банк определяет запрос как неподлинный и возвращает ошибку. В случае ошибки с дешифровкой запроса будет возращена ошибка. Возвращаемая ошибка будет подписана и зашифрована.

Любые другие комбинации заголовков Content-Type + X-Request-ChannelSecurity приведут к ошибке.

Дешифрование и проверка подписи JSON
1

Дешифровать ответ

Если добавить заголовки Accept: application/json + X-Response-ChannelSecurity: NO , то ответ не будет подписан и не будет зашифрован.

Если добавить заголовки Accept: application/jose + X-Response-ChannelSecurity: ENCRYPTION , то полученный ответ (в том числе ошибки) будет подписан и зашифрован.

Любые другие комбинации заголовков Accept + X-Response-ChannelSecurity приведут к ошибке.

Полученный ответ будет представлен в виде PKCS7-контейнера. Контейнер зашифрован на открытом ключе сертификата, загруженном с использованием данного метода. Расшифруйте его с использованием закрытого ключа.

Информация об используемых стандартах ТК 26

Алгоритм экспорта ключей - KExp15 на основе симметричного блочного шифра "Магма". OID: 1.2.643.7.1.1.7.1.1

Алгоритм шифрования послания - "Магма" в режиме гаммирования CTR с механизмом преобразования ключа ACPKM с вычислением имитовставки. OID: 1.2.643.7.1.1.5.1.2

Пример PKCS7

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

2

Обработать дешифрованный ответ

Полученный ответ (в том числе ошибки) будет представлен в виде компактной сериализации JWS.

Декодирование компактной сериализации JWS

JWS формируется из трёх составляющих и представляет структуру вида:

  • •
    Base64URL(Header);
  • •
    Base64URL(Payload);
  • •
    Base64URL(Signature).

Пример JWS

Закодированный Раскодированный
ewogICJhbGciIDogIkdPU1QzNDEwXzIwMTJfMjU2IiwKICAidHlwIiA6ICJKV1QiLAogICJjdHkiIDogIkpXUyIsCiAgImtpZCIgOiAiNmQzOGI4ZTAwNjFiMGY5YTk0ZjEwNGJlNTdlNzdhYTE4IiwKICAiYjY0IiA6IHRydWUKfQ.eyJkZWJpdFR1cm5vdmVyIjp7ImFtb3VudCI6MCwiY3VycmVuY3lOYW1lIjoiUlVSIn19.ByCkNenTTtZQrnZplNOo9WyqPTxb6vFq0iExNHpuPCV6LUeXDFTe8tNBZCy1WvpdUCQBrKK447s3NJCC5hNLhA
header
{
  "alg": "GOST3410_2012_256",
  "typ": "JWT",
  "cty": "JWS",
  "kid": "6d38b8e0061b0f9a94f104be57e77aa18",
  "b64": true
}
payload
{
  "debitTurnover": {
    "amount": 0,
    "currencyName": "RUR"
  }
}
verify signature
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),

)
3

Проверить подпись ответа от Банка

Используйте открытый ключ сертификата Банка для проверки подписи. Для получения сертификата напишите на почту alfa_api@alfabank.ru.

Проверьте подпись в соответствии с данными, указанными в Заголовке (Header). В поле kid заголовка JWS будет записан серийный номер сертификата Банка.

4

Обработать ответ в формате JSON

Пример ответа
{
  "debitTurnover": {
    "amount": 0,
    "currencyName": "RUR"
  }
}