On Sun Nov 23 2014 at 7:20:34 PM rysiek rysiek@hackerspace.pl wrote:
Problem z SSL/TLS jest taki, że w obecnym modelu bez sensu na siłę łączy dwie niezależne rzeczy:
- uwierzytelnienie hosta
- szyfrowanie transmisji
W tej chwili diabelnie potrzebujemy drugiego, dla każdego możliwego połączenia. LetsEncrypt ma potencjał dostarczenia właśnie tego.
Nawet sam chciałem coś takiego napisać, ale potem podrapałem się po głowie trochę i zaniechałem.
Szyfrowanie i uwierzytelnianie są pozornie prostopadłe, ale tak naprawdę not so much w tym kontekście. Żeby uwierzytelnić drugą stronę musisz mieć co najmniej (ale nie wyłącznie) jakąś porządnie tamper- i replay-proof komunikację. Żeby zaszyfrować dane tak, żeby tylko dany odbiorca mógł je odczytać, musisz mieć jakąś formę uwierzytelnienia czy choćby shared knowledge o *czymś*, niech to będzie public key, na przykład, a z drugiej strony - uwierzytelnie jest najłatwiejsze poprzez sprawdzenie, czy odbiorca może odczytać dane zaszyfrowane tylko do niego, co potrzebuje być jakoś zdefiniowane. Kind of.
Pozorne poczucie bezpieczeństwa nie pomaga tak strasznie dużo, a może być rzeczywiście szkodliwe. A przeglądarki na desktopach z kolorowymi kłódeczkami to tylko czubek góry lodowej, przecież miliony tępych deweloperów appek na telefony nigdy nie słyszało o certificate pinning choćby. Także to jest strasznie, strasznie delikatny system.
Ja się zgadzam z pomysłem, żeby szyfrować wszystko, let's encrypt jest jakimś krokiem w tę stronę, ale nie jedynym. Połączone z http://www.certificate-transparency.org/ może mieć niezłą moc, bo *w końcu* można będzie względnie „demokratycznie” i tanio audytować CA, potrzebujemy porządnego, darmowego i szybkiego CA - win-win.
A jak radzi sobie np z takimi dowcipnymi rzeczami jak homoglyph attack?
pozdr.