Bit entropii to jednostka opisująca niepewność przy odgadywaniu tajnej wartości. Jeśli dwa wyniki są równie prawdopodobne, a atakujący nie wie, który wystąpił, mamy jeden bit entropii. Cztery równie prawdopodobne możliwości to dwa bity, a szesnaście — cztery bity. Nie jest to liczba bitów, które plik lub klucz zajmuje w pamięci.
Uczciwa moneta daje obu stronom taką samą szansę. Jeden tajny rzut ma dwa możliwe wyniki, dwa niezależne rzuty mają cztery, a cztery rzuty — szesnaście. Każdy kolejny niezależny rzut podwaja liczbę możliwych sekwencji i dodaje bit entropii. To właśnie opisuje H = log2(N): dla N równie prawdopodobnych możliwości otrzymujemy liczbę bitów. Przy 16 możliwościach są to 4 bity. Równe prawdopodobieństwo jest ważnym warunkiem, do którego jeszcze wrócimy. [1] [2]
Zamiast kolejnych rzutów weź teraz jeden wynik i zapisz go 256 razy. Ciąg będzie miał 256 bitów, ale wciąż tylko dwie możliwości: same zera albo same jedynki. Faktyczny sekret ma nadal tylko 1 bit entropii. Powtórzenie nie stworzyło nowych niezależnych wyborów. Podobny problem może być mniej widoczny, gdy pomiary są ze sobą powiązane. Dlatego bez sprawdzenia niezależności nie można po prostu pomnożyć oszacowania entropii jednej próbki przez liczbę próbek. [1]
Tę samą wartość można zapisać zwykłymi cyframi, słowami albo szesnastkowo. Zapis szesnastkowy używa cyfr oraz liter od A do F. To tylko inny sposób przedstawienia liczby, a nie nowy sekret. Również hash, czyli odcisk danych obliczony za pomocą określonej funkcji, sam nie dodaje nieznanych możliwości. Jeśli powstał z małego zbioru możliwych danych wejściowych, atakujący może je kolejno sprawdzać i porównywać ich odciski. Znając dokładne dane wejściowe, obliczy ten sam wynik. Najważniejsze jest więc to, jak powstała tajna wartość, a nie jak skomplikowanie wygląda. [1] [2]
W BIP39 12 słów zapisuje 128 bitów wejścia i 4 bity sumy kontrolnej, łącznie 132 bity. Przy 24 słowach jest to 256 plus 8, czyli 264 bity. Bity kontrolne są obliczane; nie stanowią dodatkowych niezależnych tajnych wyborów. Te 128 lub 256 bitów zakłada też dobrą metodę utworzenia wejścia. Jeśli sam wybierzesz słowa na podstawie ulubionej opowieści, ich liczba nie zagwarantuje takiej entropii. [3]
Wyobraź sobie 128 niezależnych tajnych bitów, każdy uzyskany jak wynik uczciwego rzutu monetą. Jeśli ujawnisz 32 konkretne bity, w tym modelu pozostanie 96 nieznanych. To nie jest ogólna zasada dla każdego wycieku: zależy od ujawnionej informacji i powiązań między wartościami. Seed to tajna wartość początkowa, z której portfel wyprowadza klucze. Kto zna cały seed, nie musi go w ogóle zgadywać. Jego niepewność wynosi zero, nawet jeśli seed pierwotnie wygenerowano idealnie. [1] [2]
Dotąd wszystkie wyniki były równie prawdopodobne. Przy obciążonym źródle atakujący zapewne najpierw sprawdzi najczęstszy wynik. Min-entropia mierzy przewagę takiego pierwszego strzału: Hmin = -log2(pmax), gdzie pmax to prawdopodobieństwo najczęstszego wyniku. Przy 3/4 otrzymujemy około 0,415 bitu. Istnieje też entropia Shannona, opisująca średnią zawartość informacji. To różne miary i żadna nie jest dokładną średnią liczbą prób potrzebnych do odgadnięcia sekretu. [1] [2]
Atakujący nie musi tylko zgadywać pierwotnego wejścia; może próbować wykorzystać matematyczne właściwości algorytmu. Dlatego rozróżnia się bity entropii, długość klucza i siłę bezpieczeństwa. W kryptografii krzywych eliptycznych (ECC) bezpieczeństwo zależy od trudności konkretnego problemu matematycznego. NIST SP 800-57 przypisuje na przykład kluczom ECC o długości od 256 do 383 bitów siłę 128 bitów w porównaniu klasycznym. Nie jest to ocena konkretnego portfela ani stwierdzenie, że każdy klucz 256-bitowy zapewnia bezpieczeństwo 256-bitowe. [4]
Zapytaj, jaka miara entropii jest używana, z jakiego źródła pochodzi oszacowanie i co może wiedzieć atakujący. NIST SP 800-90B ocenia źródło i jego próbki, uwzględniając zależności oraz zachowanie po ponownym uruchomieniu. Pomiar jednego pliku nie jest gwarancją dla wszystkich urządzeń i przyszłych warunków. Sama min-entropia nie wyznacza też dokładnego czasu ataku. Liczba jest użyteczna, gdy znamy jej założenia. [1]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Cryptographic Entropy, Brute Force Search Space, Seed Phrase, Private Key. Do tego hasła prowadzą również odsyłacze z Dice Roll Entropy, Cryptographic Entropy, Brute Force Search Space.