O Que é Key Material? A Confusão das Chaves Criptográficas
Key Material é um termo que a galera de TI menciona, mas dá vontade de sair correndo. A documentação do IdentityServer4 fala que ele é importante no deployment de produção, mas quem realmente entende o que ele é?
Em termos simples, Key Material são os dados privados que formam uma chave criptográfica. Eles são a mágica que transforma uma mensagem clara em um enigma difícil de resolver.
Na criptografia assimétrica, algumas coisas são públicas. Mas, com a chave privada, só você tem o poder de criptografar a mensagem.
Criptografia Simétrica: Uma Chave Basta
Nos algoritmos simétricos, só é preciso uma única chave para criptografar e descriptografar. É como trocar a chave de casa com alguém desconhecido.
Aqui, todo mundo precisa cuidar bem da chave, senão os atacantes podem entrar.
Chave Assimétrica: Duas Chaves Para Fazer Direito
Nos algoritmos assimétricos, você usa duas chaves: uma pública e uma privada.
IdentityServer4 - JWK & JWKS: Vamos Usar JWT com Segurança
O IdentityServer4 e outros usam JWTs. Com JWK e JWKS, dá para compartilhar JWTs com segurança entre aplicações.
Json Web Key (JWK): A Chave Num Formato Simples
Imagine uma estrutura JSON para uma chave de criptografia. Isso é o JWK. Ele tem tudo para criptografar um JWT.
Exemplo de um JWK público (Google):
Exemplo de um JWK privado:
Json Web Key Set (JWKS): Um Conjunto de Chaves
JWKS é simplesmente um conjunto de JWKs. Ele ajuda quando você precisa mudar de algoritmo.
Exemplo de um JWKS público Google:
Proteja Suas Chaves Para Evitar Problemas
Se a chave do JWT vazar, um invasor pode fingir ser qualquer um e acessar tudo. A documentação fala da importância do Key Material, mas ainda falta clareza.
Gerenciando o Key Material no IdentityServer4
IdentityServer4 tem extensões para gerenciar Key Material. AddSigningCredential()
e AddValidationKey()
são as principais.
Estratégia Para Usar as Chaves
No final, o objetivo é ter uma chave que funcione em todos os lugares sem estragar a segurança.
IdentityServer Key Management
Para uma solução oficial, custa €3.000 pelo produto do IdentityServer4.
Azure Key Vault / AWS KMS
Para guardar chaves, use Azure Key Vault ou Amazon KMS.
JWKS.Manager
Se quiser algo grátis, JWKS.Manager é a opção Open Source.
Conclusão
Esperamos que isso ajude mais do que a própria documentação do IdentityServer4. Boa sorte para quem enfrentar essa jornada.