Archeologia
Ostatnio przyglądam się (z powodów, o których może kiedyś napiszę) formatowi pakietu SPA (wersja z szyfrowaniem symetrycznym) używanego przez fwknop.
Całość wygląda dość prosto i bezpiecznie, o ile użyte zostaną mocne klucze. Pakiet jest szyfrowany AES (Rijndael), następnie liczony jest HMAC (czyli mamy typowe podejście encrypt-then-mac, tak jak teraz się zaleca).
To gdzie ta archeologia? W samym pakiecie:
16 bytes of random data Local username Local time stamp fwknop version SPA message type Access request or command to execute SPA message digest (SHA-256 by default)
Jaka jest wartość ostatniego pola – SPA message digest? Pozwala potwierdzić, że pakiet został rozszyfrowany prawidłowo, a nie wygląda prawidłowo przez przypadek. Pole to miało większą wartość wtedy, gdy HMAC nie był używany. A nie był, można to sprawdzić tutaj.
A teraz pytanie – wykorzystywane jest szyfrowanie w trybie CBC. W jakim przypadku atakujący byłby w stanie zmodyfikować zaszyfrowany pakiet w taki sposób, by po rozszyfrowaniu zaszły założone przez atakującego zmiany? Czy jest to możliwe w przypadku wykorzystanego algorytmu szyfrowania (nie chodzi mi tu o AES, tylko o całą otoczkę związaną z generowaniem IV – podpowiem Crypt:CBC)?
Oryginał tego wpisu dostępny jest pod adresem Archeologia
Autor: Paweł Goleń