fredericopissarra's Content - Mente Binária
Notícia Comments posted by fredericopissarra
Alguns vídeos interessantes sobre Diffie-Helman, RSA e ECC:
Sim, sim... existe, é claro, um certo exagero (típico de quem quer lucrar), mas RSA está, de fato, com os dias contados e os bancos serão os primeiros a migrarem para ECDSA. De fato, a maioria dos sites já migrou, pelo menos, para o ECDHE (key exchange), uma vez que certificados digitais só servem para autenticação (identificação) e não vale à pena gastar dimdim só para trocar um certificado que ainda é válido (certificados são caros!). Mas, pelo menos, o canal de troca de chave não usa mais o DHE (que é a base do algoritmo RSA).
"Ahhh, mas tem o Let's Encrypt!"... Yep, mas o Let's Encrypt também oferece certificados com ECDSA - Embora exista um problema conceitual com ele (o Let's Encrypt, nao o certificado!): Qual é a utilidade de uma "Autoridade Certificadora"? Ela é uma "autoridade" porque estabelece uma cadeia de confiança entre o cliente e o fornecedor do serviço e, por isso, ambos confiam em certificados assinados por ela... Como essa confiança é estabelecida? O fornecedor (site) tem que, além de pagar uma valor pelo certificado (afugentando os pobretões!), verificar a validade dos dados do fornecedor (documentação)... Há alguns anos, autoridades como a Verisign, por exemplo, pediam CNPJ, documentação do responsável técnico, documentação autenticada em cartório, etc... Com o Let's Encrypt quaalquer pessoa pode adquirir um certificado digital assinado, bastando apenas ter um nome válido que possa ser buscado por DNS. Ou seja, a cadeia de confiança só existe no nome "chain of trust", não na prática!
Porque estou citando o Let's Encrypt? Só porque percebi que o certificado DESTE forum é deles (e RSA), embora o key exchange seja feito por ECDHE e via TLS 1.2.
O problema de todo esquema de criptografia assimétrica, até então, é que eles se baseiam na impossibilidade prática de fatoração. Para encontrar dois números primos relativos enormes e o módulo usado no cálculo, era estimado que um computador doméstico levaria algumas dezenas de bilhões de anos para fazer. Hoje, com alguma grana sobrando, isso tende a cair consideravelmente (alguns anos? meses? semanas? Provavelmente, daqui a uns anos levará alguns segundos!).
As curvas elípticas adicionam alguns fatores a mais a esse esquema: A curva é parametrizada pelo lado de quem gera as chaves e, sem esses parâmetros, temos um grupo considerável de curvas disponíveis para a mesma "classe" de curvas (imagine as chaves sendo intersecções de uma linha entre dois pontos da curva. Se você não sabe como a curva se apresenta [não conhece os parâmetros da curva, mas só sua aparência geral], não dá para achar o outro ponto [o primeiro é a chave pública])... Isso, mais o esquema parecido com o Diffie-Helman (aritmética exponencial e modular) torna as EC trocentas vezes mais seguras que o RSA - mesmo para os futuros computadores quênticos...
PS: Não estou achando, agora, o artigo onde um dos 3 inventores do RSA faz a recomendação, mas o vi há alguns meses atrás (e, sorry... a recomendação foi feita - pelo que me lembro - em 2017, não 2018)...
É interessante tentar entender como os esquemas de criptografia RSA e de EC funcionam, pelo menos em princípio e porquê são consideradas "fortes", em termos de criptografia. EC (Elliptic Curves), além do tamanho de chaves e das restrições binárias das mesas, tem ainda a complexidade em relação à curva usada para obter as chaves. É um método que exige BEM MAIS processamento para "quebrar" as chaves que o RSA e ai reside sua força (senão a prática impossibilidade matemática de quebra - até alguém descobrir como)...
Já reparou como tá todo mundo migrando para TLS 1.2 ou superior e o keyexchange geralmente é ECDHE? O certificado digital DESTE forum, por exemplo (que é usado apenas para autenticação) continua sendo RSA, mas a preferência, hoje, é pelo ECDSA (Elliptic Curve Digital Signing Algorithm) porque:
As chaves são menores, em termos de bits.
Não se trata de apenas uma "nova tecnolgia", trata-se do moribundo RSA...
O problema não é o tamanho da chave, necessariamente, e compara a "quebra" com um script em perl é, no mínimo ingênuo, em vista de que, hoje, qualquer usuário com alguma grana sobrando consegue montar máquinas com mũltiplas placas de vídeo e usar paralelismo com MILHARES de unidades de processamento para fazer a mágica.
Em 2018, um dos "inventores" do RSA recomendou que o algoritmo fosse gradualmente descontinuado em detrimento à curvas elípticas, já que sua força reside apenas na impossibilidade de processamento na fatoração de chaves - coisa que está ficando "fácil" de fazer, em vista do que eu disse lá em cima...
Yep... a apresentação é imprecisa e usa chaves pequenas, mas o princípio é o mesmo para chaves maiores e com processamento suficiente (junte umas 3 nVidia RTX2080Ti [4352 "cores" cada] ao custo de uns US$ 4000.00) e você tem a ideia do estrago que dá pra fazer... Ainda, existem grupos de crackers que investem em máquinas com múltiplos barramentos PCI (não apenas o localbus) que permitem colocar dezenas de placas dessas num "mesmo" circuito...