Рањивост у имплементацији пост-квантног алгоритма за шифровање Кибер

У имплементацији алгоритма за шифровање Кибер, који је победио у конкуренцији криптографских алгоритама отпорних на грубу силу на квантном рачунару, идентификована је рањивост која омогућава нападима са стране канала да поново креирају тајне кључеве на основу мерења времена операција током дешифровања шифровани текст који је обезбедио нападач. Проблем утиче и на референтну имплементацију механизма енкапсулације кључева ЦРИСТАЛС-Кибер КЕМ и на многе библиотеке за шифровање независних произвођача које подржавају Кибер, укључујући пкцрипто библиотеку која се користи у сигналном мессенгер-у.

Суштина рањивости, која је добила кодни назив КиберСласх, је у коришћењу операције дељења „т = (((т < 1) + КИБЕР_К/2)/КИБЕР_К) & 1;” у процесу декодирања поруке. , у којој дивиденда садржи тајну вредност “т” типа “доубле”, а делилац је добро позната јавна вредност КИБЕР_К. Проблем је у томе што време операције дељења није константно, а у различитим окружењима број ЦПУ циклуса извршених за дељење зависи од улазних података. Дакле, на основу промена у времену рада, може се стећи идеја о природи података који се користе у подели.

Даниел Ј. Бернстеин, познати стручњак у области криптографије, успео је да припреми радну демонстрацију доказа да се напад може извести у пракси. У два од три спроведена експеримента, приликом покретања кода на плочи Распберри Пи 2, било је могуће потпуно поново креирати приватни кључ Кибер-512 на основу мерења времена декодирања података. Метода се такође може прилагодити за кључеве Кибер-768 и Кибер-1024. Да би се напад успешно извршио, неопходно је да се шифровани текст који је одредио нападач обради користећи исти пар кључева и да се време извршења операције може прецизно измерити.

У неким библиотекама је идентификовано још једно цурење (КиберСласх2), које такође настаје услед коришћења тајне вредности приликом поделе. Разлике у односу на прву опцију своде се на позив у фази шифровања (у функцијама поли_цомпресс и поливец_цомпресс), а не током дешифровања. Међутим, друга опција може бити корисна за напад само у случајевима када се поступак користи у операцијама поновног шифровања у којима се излаз шифрованог текста сматра поверљивим.

Рањивост је већ исправљена у библиотекама:

  • зиг/либ/стд/црипто/кибер_д00.зиг (22. децембар),
  • пк-цристалс/кибер/реф (30. децембар),
  • симболицсофт/кибер-к2со (19. децембар),
  • бљесак облака/круг (8. јануар),
  • авс/авс-лц/црипто/кибер (4. јануар),
  • либокс/срц/кем/кибер (8. јануар).

Библиотеке које првобитно нису погођене рањивости:

  • борингсл/црипто/кибер,
  • филиппо.ио/млкем768,
  • формоса-црипто/либјаде/трее/маин/срц/црипто_кем,
  • кибер/цоммон/амд64/авк2,
  • формоса-црипто/либјаде/трее/маин/срц/црипто_кем/кибер/цоммон/амд64/реф,
  • пк-цристалс/кибер/авк2,
  • пкцлеан/црипто_кем/кибер*/авк2.

Рањивост остаје неоткривена у библиотекама:

  • антонтутовеану/цристалс-кибер-јавасцрипт,
  • Аргиле-Софтваре/кибер,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • куделскисецурити/цристалс-го,
  • мупк/пкм4/црипто_кем/кибер* (20. децембра је исправљена само 1 верзија рањивости),
  • ПКЦлеан/ПКЦлеан/црипто_кем/кибер*/аарцх64,
  • ПКЦлеан/ПКЦлеан/црипто_кем/кибер*/цлеан,
  • рандомбит/ботан (20. децембра је поправљена само 1 рањивост),
  • рустпк/пкцрипто/пкцрипто-кибер (поправка је додата у либсигнал 5. јануара, али рањивост још није исправљена у самом пкцрипто-киберу).

Извор: опеннет.ру

Купите поуздан хостинг за сајтове са ДДоС заштитом, ВПС ВДС сервере 🔥 Купите поуздан веб хостинг са DDoS заштитом, VPS VDS сервере | ProHoster