Proaktywne udostępnianie tajemnic
Proaktywne udostępnianie tajemnic jest podstawową techniką proaktywnych protokołów bezpieczeństwa. Jest to metoda okresowej aktualizacji rozproszonych kluczy ( udziałów ) w tajnym schemacie udostępniania, dzięki czemu osoba atakująca ma mniej czasu na złamanie zabezpieczeń udziałów i dopóki osoba atakująca odwiedza mniej niż próg lub grupę kworum, system pozostaje bezpieczny. Kontrastuje to z nieproaktywnym schematem, w którym jeśli próg liczby akcji zostanie naruszony w okresie istnienia tajemnicy, tajemnica jest skompromitowany. Model, który uwzględnia ograniczenia czasowe, został pierwotnie zaproponowany jako rozszerzenie koncepcji bizantyjskiej tolerancji błędów , w której redundancja współdzielenia zapewnia solidność w dziedzinie czasu (okresy) i został zaproponowany przez Rafaila Ostrowskiego i Moti Yunga w 1991 r. Metoda została stosowane w obszarach protokołów kryptograficznych w bezpiecznych obliczeniach wielopartyjnych oraz w progowych systemach kryptograficznych .
Motywacja
Jeśli gracze (posiadacze wspólnego sekretu) przechowują swoje udziały na niezabezpieczonych serwerach komputerowych, osoba atakująca może się włamać i ukraść/uczyć się udziałów. Ponieważ zmiana tajemnicy często nie jest praktyczna, bezkompromisowe (uczciwe) akcje ( w stylu Shamira ) powinny zostać zaktualizowane w taki sposób, aby generowały ten sam sekret, ale stare akcje zostaną unieważnione. Istnieje również potrzeba odzyskania udziałów wcześniej uszkodzonych serwerów, a do przeprowadzenia odzyskiwania potrzebna jest społeczność uczciwych serwerów. Zapewnia to długowieczność bezpiecznego i możliwego do odzyskania udostępniania lub bezpiecznych i poprawnych bezpiecznych protokołów obliczeniowych. Jeśli trzeba zachować udostępnianie przy zmianie liczby serwerów lub progu, to proaktywna metoda z odzyskiwaniem udziałów umożliwia to, jak pierwotnie wykazali Frankel i inni. Zdolność do rozpowszechniania tajnego hasła (słowa kodowego), a następnie odzyskiwania rozproszonych udziałów, tak jak ma to miejsce w przypadku proaktywnej metody udostępniania tajnych informacji, została uznana za bardzo potrzebną w systemach pamięci masowej około 2010 roku, a w reakcji teoretycy kodowania zmienili nazwę metody, udoskonalili ją i sformalizowali jest jako `regenerujące kody' i `kody odzyskiwane lokalnie.'
Matematyka
Jest to w pewnym stopniu zgodne z pracą w. Aby zaktualizować udziały, dealerzy (tj. osoby, które rozdają udziały; aw systemie rozproszonym są to wszyscy uczestnicy pojedynczo) generują nowy losowy wielomian o stałym wyrazie zero i oblicza dla każdego pozostałego gracza nową uporządkowaną parę, gdzie współrzędne x starej i nowej pary są takie same. Następnie każdy gracz dodaje do siebie stare i nowe współrzędne y i zachowuje wynik jako nową współrzędną y sekretu.
- Krupier konstruuje losowy wielomian na polu stopnia, gdzie jest progiem k - 1 {
- Każdy gracz otrzymuje udział gdzie i , to liczba graczy, a } udział dla gracza w przedziale czasowym
- Sekret można zrekonstruować poprzez interpolację udziałów
- Aby zaktualizować udziały, wszystkie strony muszą skonstruować losowy wielomian postaci
- ja wysyła wszystkich innych graczy
- Każdy gracz aktualizuje swój udział o gdzie jest czasu, w którym akcje są ważne
Wszystkie niezaktualizowane udziały zgromadzone przez atakującego stają się bezużyteczne. Osoba atakująca może odzyskać tajemnicę tylko wtedy, gdy znajdzie wystarczającą liczbę innych niezaktualizowanych udziałów, aby osiągnąć próg. Taka sytuacja nie powinna mieć miejsca, ponieważ gracze usunęli swoje stare udziały. Ponadto osoba atakująca nie może odzyskać żadnych informacji o oryginalnym kluczu tajnym z procesu aktualizacji, ponieważ zawiera on tylko losowe informacje.
Krupier może zmienić liczbę progową podczas dystrybucji aktualizacji, ale musi zawsze zachować czujność wobec graczy przechowujących wygasłe akcje, jak w. Jest to jednak nieco ograniczony pogląd, ponieważ oryginalne metody dają społeczności serwerów możliwość bycia dealerem ponownego udostępniania i regenerator utraconych akcji.
Przykład
Poniższy przykład ma 2 udziały i próg 2 z 2 graczami i 1 krupierem. Ponieważ udziały i wielomiany są ważne tylko przez określony czas, okres, w którym są ważne, jest oznaczony indeksem górnym.
- Wszystkie strony zgadzają się co do skończonego pola:
- Krupier ustala tajemnicę:
- Krupier konstruuje losowy wielomian na stopniu 2 - 1 (próg 2 )
- uwaga
- Gracz 1 otrzymuje udział i gracz 2 otrzymuje udział
- Aby zrekonstruować sekret, użyj i
- Ponieważ jest linią, możemy użyć formy nachylenia punktowego do interpolacji
- Aby zaktualizować udziały, wszystkie strony muszą skonstruować losowe wielomiany stopnia 1, tak aby wolny współczynnik wynosił zero
- Gracz 1 konstruuje
- Gracz 2 konstruuje
- Każdy gracz ocenia swój wielomian i dzieli się pewnymi informacjami z innymi graczami
- Gracz 1 oblicza i w
- Gracz 1 wysyła Gracza 2
- Gracz 2 oblicza i w
- Gracz 2 wysyła Gracza 1
- Każdy gracz aktualizuje swój udział o
- Gracz 1 oblicza
- Gracz 2 oblicza
- Potwierdź, że zaktualizowane udziały generują ten sam oryginalny klucz tajny
- Użyj i , aby zrekonstruować wielomian
- Ponieważ jest linią, możemy użyć nachylenia punktowego
Zobacz też
- Klucz (kryptografia)
- Generowanie klucza
- Dystrybucja kluczy
- Zarządzanie kluczami
- Sekretne udostępnianie Shamira