Кіріспе

Адаптивті таңдалған шифрмәтіндік шабуыл (қысқаша CCA2) – таңдалған шифрмәтіндік шабуылдың интерактивті түрі, онда шабуылшы алдымен адаптивті түрде таңдалған шифрмәтіндерді шифрлауды сұрайды, содан кейін нәтижелерді мақсатты шифрмәтінді сынақ шифрмәтіні туралы оракулмен кеңеспей-ақ ажырату үшін пайдаланады. Адаптивті шабуыл кезінде шабуылшыға мақсат ашылғаннан кейін (бірақ мақсатты сұранысқа рұқсат етілмейді) адаптивті сұраныстар қоюға рұқсат беріледі. Бұл бейтарап (адаптивті емес) таңдалған шифрмәтіндік шабуылды (CCA1) кеңейтеді, онда адаптивті сұраныстардың екінші кезеңіне рұқсат етілмейді. Чарльз Ракофф пен Дэн Саймон CCA2 анықтамасын берді және Мони Наор мен Моти Юнгтың адаптивті емес CCA1 анықтамасы мен жүйесіне негізделген жүйе құруды ұсынды (бұл ашық кілт жүйелерінің таңдалған шифрмәтіндік шабуылға қарсы тұру қабілетіне жасалған алғашқы зерттеу болды). Белгілі бір практикалық жағдайларда, бұл шабуылдың мақсаты – шифрланған хабарлама туралы немесе шифрлау кілті туралы ақпаратты біртіндеп ашу болып табылады. Ашық кілт жүйелері үшін адаптивті таңдалған шифрмәтіндер, әдетте, шифрмәтіннің өңделу қабілетіне ие болған кезде ғана қолданылады, яғни шифрмәтінді белгілі бір тәсілдермен өзгертуге болады, бұл хабарламаның шифрлануына болжамды әсер етеді.

Іс жүзіндегі шабуылдар

Адаптивті таңдалған шифрмәтіндік шабуылдар, бұрын теориялық мәселе деп есептелген, бірақ 1998 жылға дейін тәжірибеде көрінбеді. Ол кезде Дэниел Блейхенбахер (сол кезде Белл зертханаларында жұмыс істеген) PKCS#1 v1.5 кодтау функциясымен бірге RSA шифрлауын қолданатын жүйелерге қарсы нақты шабуыл көрсетті. Бұл шабуылға сол кезде мыңдаған веб-серверлер қолданған Secure Sockets Layer (SSL) хаттамасының бір нұсқасы да ілікті. Блейхенбахер шабуылдары, сондай-ақ "миллион хабарлама шабуылы" деп белгілі, PKCS#1 v1.5 толтыру функциясының әлсіздіктерін пайдаланып, RSA шифрланған хабарламаның мазмұнын кезең-кезеңімен ашты. Аталған толтыру функциясы бойынша, толтырылған қарапайым мәтін белгілі бір форматта болуы керек. Егер шифрлау құрылғысы (мысалы, SSL қолдауы бар веб-сервер) толтырудың дұрыс екенін білдірсе, ол құпия кілт туралы ақпаратты ашатын "көреген" (oracle) рөлін атқарады. Кілтті толық анықтау үшін нысанаға бірнеше миллион сынақ шифрмәтін жіберу қажет. Практикалық тұрғыда, бұл SSL сессия кілтінің ақылға қонымды уақыт ішінде, мысалы, бір күн немесе одан да аз уақытта ашылуы мүмкін дегенді білдіреді. Шамалы өзгерістермен бұл осалдық бүгінде көптеген заманауи серверлерде "Блейхенбахердің көреген қатерінің қайта оралуы" (ROBOT) деген жаңа атаумен сақталып қалған.

Шабуылдардың алдын алу

Адаптивті таңдалған шифрмәтінге шабуылдарды болдырмау үшін шифрмәтіннің өзгеруге бейімділігін шектейтін шифрлау немесе кодтау схемасын және жүйенің қауіпсіздігін дәлелдейтін құжатты пайдалану қажет. CCA қауіпсіз жүйелердің теориялық және негізгі деңгейін дамытудан кейін, Random Oracle моделінде бірнеше жүйелер ұсынылды: RSA шифрлау үшін ең көп қолданылатын стандарт – Оптималды асимметриялық шифрлау толтыруы (OAEP). PKCS#1-дің алғашқы нұсқаларында қолданылған толтыру сияқты импровизацияланған схемалардан өзгеше, OAEP кездейсоқ оракул моделінде қауіпсіз екені дәлелденді. OAEP 1998 жылы жарияланған PKCS#1-дің 2.0 нұсқасына енгізіліп, қазіргі уақытта ұсынылатын кодтау схемасы болды, ал ескі схема әлі де қолдау көрсетіледі, бірақ жаңа қолданбалар үшін ұсынылмайды. Дегенмен, қауіпсіздіктің алтын стандарты – Random Oracle идеализациясына сүйенбей жүйенің қауіпсіздігін көрсету болып табылады.

Математикалық модель

Күрделілік теориялық криптографияда, адаптивті таңдалған шифрмәтінге қарсы қауіпсіздік әдетте шифрмәтін ажыратылмайтындығы (IND CCA2) арқылы модельденеді.