OpenBanking-Brasil / specs-seguranca

Documentação das especificações do GT de Segurança do Open Banking Brasil. As especificações ainda estão em versão draft e não devem ser utilizadas para implementação.
66 stars 46 forks source link

[CRL] Dúvida sobre implementação para atender padrão OpenFinance #415

Closed lucasfurno closed 1 year ago

lucasfurno commented 1 year ago

Para utilizar CRL para validar o estado dos certificados utilizados, é necessário realizar a consulta as CRLs das CAs autorizadas pelo OpenFinance para importar no nosso ambiente a fim de utiliza-la para validação dos certificados. Existe alguma biblioteca com os endpoints das CRLs de cada uma das CAs autorizadas para emitir certificados para o mTLS do OpenFinance? Alguém tem algum exemplo de implementação de CRL para validação de certificados revogados?

mdjunior commented 1 year ago

Oi Lucas, Acredito que não exista nenhuma biblioteca pronta, mas na DPC de cada CA tem os endpoints onde as CRLs estão disponíveis. Eu tenho uma lista aqui com as CAs e as DPCs. Abrindo o PDF e buscando por CRL você encontrará os endpoints.

Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC Certisign ICP-Brasil SSL G2 Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC Certisign ICP-Brasil SSL EV G3 Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC Certisign ICP-Brasil SSL EV G4 http://icp-brasil.certisign.com.br/repositorio/dpc/ac_certisign_icp_br_ssl/DPC_AC_Certisign_Icp_Br_Ssl.pdf

Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC SERASA SSL EV V2 Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC SERASA SSL EV V3 Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC SERASA SSL EV V4 http://publicacao.certificadodigital.com.br/repositorio/dpc/declaracao-serasa-ssl-ev.pdf

Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = Autoridade Certificadora do SERPRO SSLv1 https://repositorio.serpro.gov.br/docs/dpcserprossl.pdf

Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC SOLUTI SSL EV G2 Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC SOLUTI SSL EV G3 Subject: C = BR, O = ICP-Brasil, OU = Autoridade Certificadora Raiz Brasileira v10, CN = AC SOLUTI SSL EV G4 http://ccd.acsoluti.com.br/docs/dpc-ac-soluti-ssl-ev.pdf

lucasfurno commented 1 year ago

Perfeito @mdjunior . A partir da consulta aos certificados emitidos essa informação é fácil de ser resgatada, mas pensando em um cenário automatizado para a atualização das CRLs como ferramenta de validação de status é que fica um pouco preocupante. Porém, como a atualização das CAs não é um item recorrente, acredito que considerar as informações de forma estática auxilie. Te agradeço por compartilhar a ideia de revisar a DPC pois realmente não tive atenção a esse ponto.

mdjunior commented 1 year ago

Oi @lucasfurno, verifique individualmente como cada CA publica a sua CRL. Algumas CAs publicam elas a cada 30 dias, mas tem outras que disponibilizam as CRLs a cada hora (com validade de 6hrs). Ou seja, se você planejar usar as CRLs, vai precisar verificar como cada CA publica elas no repositório. Infelizmente eu não encontrei detalhes sobre isso dentro das DPCs... tive que verificar manualmente uma por uma.