przedstawionej przez Oberthur Technologies 1 Prawdopodobieństwo
Transkrypt
przedstawionej przez Oberthur Technologies 1 Prawdopodobieństwo
Komentarz do “Analizy koncepcji ograniczonej identyfikacji” przedstawionej przez Oberthur Technologies dr Krystian Matusiewicz∗ prof. Mirosław Kutyłowski† Instytut Matematyki i Informatyki, Politechnika Wrocławska 14.05.2010 Streszczenie W niniejszym stanowisku odnosimy się do opinii przedstawionej przez Oberthur Technologies w dokumencie “Analiza koncepcji ograniczonej identyfikacji”. Wyjaśniamy, że • zastrzeżenia co do użycia funkcji skrótu w celu tworzenia ograniczonych identyfikacji przedstawione w opinii wynikają ze rażącego niezrozumienia właściwości i wymagań wobec funkcji skrótu, • przyjęcie modelu bezpieczeństwa zaproponowanego w opinii Oberthur Technologies prowadzi nie tylko do rezygnacji z schematu ograniczonej identyfikacji, lecz w takim samym stopniu ze wszystkich szyfrów blokowych i podpisów cyfrowych z załącznikiem (tryb powszechnie stosowany dla podpisów kwalifikowanych), jak i wielu innych powszechnie akceptowanych i uważanych za bezpieczne technik. 1 Prawdopodobieństwo kolizji Kolizje funkcji skrótu Dokument [EACv.2.0.x] definiuje proces obliczania pseudonimu jako Sector IID := H(KA(SKID , P KSector , D)) gdzie H jest kryptograficzną funkcją skrótu (funkcją haszującą) a SKID jest informacją charakterystyczną dla karty, natomiast P KSector i D są danymi charakteryzującymi dostawcę usług. Opinia [Feraud10] stwierdza w punkcie 2.3.2 co następuje: Wykorzystanie funkcji haszującej do obliczenia pseudonimu nie zapewnia unikalności wyniku; jedną z jej głównych właściwości jest to, że nieskończona wielkość różnych wiadomości wejściowych może posiadać ten sam skrót. Oznacza to że kilka wyników uzgodnień klucza (wygenerowanych za pomocą tego samego lub innych skalarów) ∗ Krystian Matusiewicz otrzymał doktorat z kryptografii w Macquarie University w Sydney, współautor algorytmu Grøstl - jednego z kandydatów 2 rundy konkursu NIST na SHA-3 † profesor zwyczajny Politechniki Wrocławskiej, dr hab nauk matematycznych, laureat konkursu MISTRZ Fundacji Nauki Polskiej 2009 w zakresie nauk technicznych 1 może mieć ten sam skrót, co jest niedopuszczalne. Wykorzystanie funkcji haszującej nie gwarantuje unikalności obliczonego pseudonimu powiązanego z danym skalarem tajnym: powoduje to utratę informacji. Aby poprawnie ocenić, czy sytuacja taka rzeczywiście dyskwalifikuje rozwiązanie oparte o kryptograficzne funkcje skrótu należy najpierw uzmysłowić sobie, z jakim prawdopodobieństwem sytuacja kolizji może wystąpić. Jeśli mamy do czynienia z idealną funcją skrótu o długości skrótu n bitów to na podstawie analizy paradoksu urodzinowego [Menezes96, Sekcja 2.1.5] wiemy, że średnio musimy wygenerować co najmniej 2n/2 skrótów zanim trafimy na kolizję. Dla skrótów długości 256 bitów (np. otrzymanych za pomocą SHA-256) oznacza to konieczność wykonania około 2128 prób. Opinia [Feraud10] uważa to za niedopuszczalne. Zauważmy jednak, że 2128 jest takim samym kosztem obliczeniowym jak przeszukanie wszystkich 128-bitowych kluczy symetrycznych np. szyfru AES. Jeśli więc ze względów bezpieczeństwa odrzucamy algorytm generowania pseudonimów w oparciu o 256-bitową kryptograficzną funkcję skrótu ze względu na możliwość wystąpienia kolizji, musimy też konsekwentnie odrzucić stosowanie 128-bitowych kluczy symetrycznych ze względu na taką samą możliwość zgadywania wartości kluczy. Na identycznej zasadzie zmuszeni bylibyśmy odrzucić obecnie zalecane schematy podpisów cyfrowych z załącznikiem, gdyż pierwszym etapem składania podpisu jest zastosowanie funkcji haszującej do podpisywanej wiadomości. W szczególności dotyczy to wszystkich schematów dopuszczonych do stosowania w Polsce jako bezpieczny podpis elektroniczny oparty o kwalifikowany certyfikat. Kolizja wartości funkcji haszującej w takim wypadku pozwola na pozytywną weryfikację podpisu z innym dokumentem niż faktycznie podpisany. Należy zaznaczyć, że nie istnieją techniczne możliwości wykonania wspomnianej liczby prób (2128 ), a literatura popularno-naukowa podaje szereg spektakularnych odniesień porównujących czas obliczeń np. do wieku Ziemi. Kolizje tajnych skalarów Opinia [Feraud10] stwierdza w punkcie 2.2: skalar tajny nie może być losowym numerem wygenerowanym przez kartę lub też przez mechanizmy zewnętrzne, ponieważ nie zapewnia to unikalności pośród innych kart Identycznie jak w przypadku kolizji skrótów, prawdopodobieństwo, że w przypadku generowania losowych tajnych skalarów o odpowiedniej długości prawdopodobieństwo wystąpienia kolizji jest tak niewyobrażalnie małe, iż unikalność jest w praktyce zapewniona. Co więcej, gwarancje te są o wiele silniejsze, niż w przypadku przydzielania unikalnych numerów, gdzie kolizja może nastąpić wskutek błędu organizacyjnego. Należy tu również zaznaczyć, że opinia [Feraud10] kwestionuje zastosowanie podpisów cyfrowych takich jak DSA czy ECDSA. Istotnie, w takim przypadku powtórzenie tajnych skalarów dla dwóch podpisów prowadzi wprost do kompromitacji danych do składania podpisu. Mimo tego, specyfikacja tych schematów mówi explicite o konieczności generowania tajnych skalarów w sposób losowy. 2 2 Uwagi na temat zaproponowanej alternatywy W celu kompletnego wyeliminowania możliwości kolizji [Feraud10] proponuje, by do przekształcania danych identyfikacyjnych na tajny skalar używać odwracalnego przekształcenia w postaci szyfrowania blokowego. Rodzi to jednak pytanie o to, w jaki sposób wybierany będzie klucz używany dla tego procesu szyfrowania symetrycznego. Znajomość klucza użytego do szyfrowania pozwala bowiem na odwrócenie operacji co nie jest możliwe w przypadku jednokierunkowych funkcji skrótu. Może prowadzić to do krytycznej luki bezpieczeństwa. Opinia stwierdza (punkt 2.2), iż Aby zachować właściwość bijektywności, nie należy stosować dopełnień. Uwaga jest chybiona, gdyż własność bijektywności zostanie zachowana, jeśli tylko użyjemy jednoznacznego schematu dopełnienia (unambiguous padding). Zauważmy również, że nie jest też konieczne ograniczenie do wielokrotności długości bloku użytego szyfru blokowego. W przypadku danych identyfikacyjnych dłuższych niż jeden blok możliwe jest użycie techniki typu “ciphertext stealing” w celu otrzymania kryptogramu tak samo długiego jak wejściowe dane identyfikacyjne. Literatura [Feraud10] A. Feraud, “Analiza koncepcji ograniczonej identyfikacji”, Oberthur Technologies, 2010 [EACv.2.0.x] Technical Guideline TR-03110 Advanced Security Mechanisms for Machine Readable Travel Documents – Extended Access Control (EAC), Password Authenticated Connection Establishment (PACE) and Restricted Identification (RI), TR-03110, version 2.0x, Bundesamt für Sicherheit in der Informationstechnik (BSI) [Menezes96] A.J. Menezes, P.C. van Oorschot, Scott A. Vanstone, “Handbook of Applied Cryptography” CRC Press, 1996 3