Каков вариант использования нескольких подписей в JWS, который использует JWS JSON Serialization? - PullRequest
0 голосов
/ 26 апреля 2018

Я прочитал спецификацию JSON Web Signature, которую можно найти здесь .Спецификация определяет два представления сериализации для JSON Web Signatures.Одним из них является компактная сериализация JWS, а другим - метод сериализации JWS JSON.Представление JWS JSON Serialization позволяет иметь несколько подписей.Пример JWS, который использует JWS JSON Serialization:

{
        "payload": "eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ",
        "signatures": [
            {
                "protected": "eyJhbGciOiJSUzI1NiJ9",
                "header": {
                    "kid": "2010-12-29"
                },
                "signature": "cC4hiUPoj9Eetdgtv3hF80EGrhuB__dzERat0XF9g2VtQgr9PJbu3XOiZj5RZmh7AAuHIm4Bh
                -0Qc_lF5YKt_O8W2Fp5jujGbds9uJdbF9CUAr7t1dnZcAcQjbKBYNX4BAynRFdiuB
                --f_nZLgrnbyTyWzO75vRK5h6xBArLIARNPvkSjtQBMHlb1L07Qe7K0GarZRmB_eSN9383LcOLn6_dO
                --xi12jzDwusC-eOkHWEsqtFZESc6BfI7noOPqvhJ1phCnvWh6IeYI2w9QOYEUipUTI8np6Lbg
                GY9Fs98rqVt5AXLIhWkWywlVmtVrBp0igcN_IoypGlUPQGe77Rw"
            },
            {
                "protected": "eyJhbGciOiJFUzI1NiJ9",
                "header": {
                    "kid": "e9bc097a-ce51-4036-9562-d2ade882db0d"
                },
                "signature": "DtEhU3ljbEg8L38VWAfUAqOyKAM6-Xx-F4GawxaepmXFCgfTjDxw5djxLa8ISlSApmWQxfKTUJqPP3-Kg6NU1Q"
            }
        ]
    }

Спецификация подразумевает, что иногда полезно иметь несколько подписей.Однако я не могу придумать причину, по которой вам нужно иметь более одного.

Итак, с учетом сказанного, каков случай использования более чем одной подписи вJWS

1 Ответ

0 голосов
/ 20 июля 2018

Согласно комментарию Флорента Морселли , есть как минимум 2 варианта использования:

  1. Вы подписываете токен несколькими алгоритмами подписи (скажем, RS256, ES384 иPS512).в зависимости от возможностей аудитории (поддерживает только алгоритм ES384), он сможет проверить токен.

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

...