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