JWK
siglasegurançacriptografia
Significa: JSON Web Key
Um formato JSON para representar uma chave criptográfica.
Chave Web JSON (do inglês JSON Web Key, RFC 7517) codifica uma chave pública ou privada como um objeto JSON, o formato em que as chaves de assinatura são publicadas para verificação de JWT. Uma coleção delas é um JWK Set (JWKS).
Um JWK é uma chave criptográfica expressa como JSON, e não como PEM ou DER, o que a torna conveniente para protocolos web em que todo o resto já é JSON. O campo de tipo de chave determina quais outros campos aparecem: chaves RSA carregam módulo e expoente, chaves de curva elíptica carregam o nome da curva e coordenadas, chaves simétricas carregam o próprio valor da chave.
O campo que vale entender primeiro é o identificador de chave. É um rótulo arbitrário cuja única função é permitir que um token diga qual chave o assinou, para que um verificador que tenha várias chaves selecione a certa sem tentativa e erro. A rotação depende inteiramente disso, e uma chave de assinatura sem identificador obriga os consumidores a testar todas as chaves que possuem, o que funciona até que silenciosamente deixe de funcionar.
O caso perigoso é o tipo de chave simétrica. Um JWK pode legitimamente carregar uma chave privada ou secreta, então publicar um conjunto montado sem cuidado a partir de um repositório de chaves pode expor exatamente o que ele deveria proteger. A regra é que o que for servido num endpoint público deve conter apenas as metades públicas, e vale fazer uma auditoria rápida do que o seu conjunto de fato serve, em vez de descobrir a resposta por meio de outra pessoa.
Também conhecido como: jwk