Tajemnice szyfrowania dokumentów Microsoft Office

W zaktualizowanym niedawno dokumencie "Office Document Cryptography Structure Specification" firma Microsoft ujawniła szczegóły różnych technik kryptograficznych stosowanych w historycznych i bieżących wersjach Microsoft Office. Lektura ciekawa, choćby ze względu na straszliwe algorytmy "szyfrujące" z początku lat 90-tych takie jak XOR.

W dokumencie, poza wieloma mniej lub bardziej związanymi z kryptografią szczegółami implementacyjnymi, opisuje cztery główne rodzaje szyfrowania stosowane w kolejnych wersjach Microsoft Office:

  1. XOR - David LeBlanc z Microsoftu wzdraga się przed nazwaniem tej metody "szyfrowaniem" i w dokumencie jest ona opisana jako "zaciemnianie" (obfuscation). Metoda jest trywialna do złamania.
  2. RC4 - szyfr RC4 pojawił się w Office97. Sam w sobie jest to algorytm silny, ale jako szyfr strumieniowy oparty o XOR łatwo można popełnić błędy implementacyjne. I Microsoft je popełnił, dopuszczając wielokrotne szyfrowanie różnych danych tym samym ciągiem kluczowym. Błąd ten istniał jeszcze w Microsoft Office 2002 (a także w MS PPTPv1) i z powodzeniem demonstrowałem go na szkoleniach z kryptografii z pomocą CrypToola. Na domiar złego MS Office stosowało klucz RC4 o długości 40 bitów - niezależnie od długości hasła - i robiło to na długo po zniesieniu amerykańskich ograniczeń eksportowych, które to ograniczenie wymusiły.
  3. Cryptograpic API - Office zaczęło korzystać z CryptoAPI wraz z pojawieniem się go w systemie Windows. Domyślnym szyfrem było znowu RC4 i pomimo możliwości stosowania dłuższych kluczy (do 128 bitów), domyślną wartością było nadal 40 bitów. Aż do wspomnianego Office 2002 oraz XP powtarzano też te same błędy w implementacji RC4, popsuta też było generowanie klucza z hasła (brak iteracji).
  4. Office 2007 - jest to pierwsza wersja Office, która - wraz z wprowadzeniem OOXML (ECMA-376) uporządkowała kwestie szyfrowania i doprowadziła je do współczesnych standardów. Domyślnym algorytmem jest AES, zaś proces konwersji hasła na klucz ma aż 50 tys. iteracji. W Office 2010 nie ma specjalnych różnic - bo i format dokumentu jest ten sam - dodano za to podpis elektroniczny w formacie XAdES.

    Dokument "Office Document Cryptography Structure Specification":

    http://msdn.microsoft.com/en-us/library/cc313071.aspx

    Blog Davida LeBlanca na temat wstydliwych incydentów w implementacji kryptografii przez Microsoft:

    http://blogs.msdn.com/b/david_leblanc/archive/2008/07/03/office-crypto-f...

Odpowiedzi

Opcje wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zapisz ustawienia" by wprowadzić zmiany.

Mi się podoba jeszcze prezentacja
http://www.esiea-recherche.eu/data/filiol_pacsec.pdf

Opisuje ciekawą rzecz:
RC4 128 bit'ów - w sumie jest bezpieczny, ale:
- RC4 nie lubi kiedy ponownego uzycia tego samego klucza
- Office tworzy pliki tymczasowe
- Windows kasuje te pliki, ale są one w prosty sposób do odzyskania

Efekt, mimo użycia 128 bitowego RC4 mając dostęp do komputera ofiary
mamy możliwość odzyskania kopii, a następnie szybkiego rozszyfrowania
dokumentu. :)

W sumie, dwa niewielkie błedy, ale zsumowane razem dają ciekawy błąd.

Polecam :)

Restrykcje nie obowiązywały, ale wpływ na dalsze używanie RC4 z kluczem 40bit mogły mieć dwa czynniki (albo co najmniej jeden z nich):

1. Lenistwo korporacji - w końcu implementowanie czegoś nowego wymaga kosztów (ludzkich, czasu, zmiany formatu, etc.)

2. NSA miało nadal ułatwione zadanie w przejmowaniu i rozczytywaniu dokumentów ważnych (z ich punktu widzenia) :-)

Argument nr 2 trąci spiskową teorią dziejów, ale w końcu podsłuchują wszystkie telefony satelitarne, to dlaczego nie dokumenty MS Worda?