Адаптивті таңдалған шифрмәті шабуылы және оның қорғаныс шаралары
Adaptive chosen-ciphertext attack
Адаптивті таңдалған шифрмәті шабуылы (CCA2) – шифрларды бұзудың күрделі әдісі. Шабуылшы шифрмәттерді жіберіп, нәтижелерді пайдаланып мақсатты шифрды анықтайды. Қауіпсіздік жүйелері үшін маңызды.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Адаптивті таңдалған шифрмәтіндік шабуыл (қысқаша CCA2) – таңдалған шифрмәтіндік шабуылдың интерактивті түрі, онда шабуылшы алдымен адаптивті түрде таңдалған шифрмәтіндерді шифрлауды сұрайды, содан кейін нәтижелерді мақсатты шифрмәтінді сынақ шифрмәтіні туралы оракулмен кеңеспей-ақ ажырату үшін пайдаланады. Адаптивті шабуыл кезінде шабуылшыға мақсат ашылғаннан кейін (бірақ мақсатты сұранысқа рұқсат етілмейді) адаптивті сұраныстар қоюға рұқсат беріледі. Бұл бейтарап (адаптивті емес) таңдалған шифрмәтіндік шабуылды (CCA1) кеңейтеді, онда адаптивті сұраныстардың екінші кезеңіне рұқсат етілмейді. Чарльз Ракофф пен Дэн Саймон CCA2 анықтамасын берді және Мони Наор мен Моти Юнгтың адаптивті емес CCA1 анықтамасы мен жүйесіне негізделген жүйе құруды ұсынды (бұл ашық кілт жүйелерінің таңдалған шифрмәтіндік шабуылға қарсы тұру қабілетіне жасалған алғашқы зерттеу болды). Белгілі бір практикалық жағдайларда, бұл шабуылдың мақсаты – шифрланған хабарлама туралы немесе шифрлау кілті туралы ақпаратты біртіндеп ашу болып табылады. Ашық кілт жүйелері үшін адаптивті таңдалған шифрмәтіндер, әдетте, шифрмәтіннің өңделу қабілетіне ие болған кезде ғана қолданылады, яғни шифрмәтінді белгілі бір тәсілдермен өзгертуге болады, бұл хабарламаның шифрлануына болжамды әсер етеді.
An adaptive chosen ciphertext attack (abbreviated as CCA2) is an interactive form of chosen ciphertext attack in which an attacker first sends a number of ciphertexts to be decrypted chosen adaptively, and then uses the results to distinguish a target ciphertext without consulting the oracle on the challenge ciphertext. In an adaptive attack, the attacker is further allowed adaptive queries to be asked after the target is revealed (but the target query is disallowed). It is extending the indifferent (non adaptive) chosen ciphertext attack (CCA1) where the second stage of adaptive queries is not allowed. Charles Rackoff and Dan Simon defined CCA2 and suggested a system building on the non adaptive CCA1 definition and system of Moni Naor and Moti Yung (which was the first treatment of chosen ciphertext attack immunity of public key systems). In certain practical settings, the goal of this attack is to gradually reveal information about an encrypted message, or about the decryption key itself. For public key systems, adaptive chosen ciphertexts are generally applicable only when they have the property of ciphertext malleability — that is, a ciphertext can be modified in specific ways that will have a predictable effect on the decryption of that message.
Іс жүзіндегі шабуылдар
Адаптивті таңдалған шифрмәтіндік шабуылдар, бұрын теориялық мәселе деп есептелген, бірақ 1998 жылға дейін тәжірибеде көрінбеді. Ол кезде Дэниел Блейхенбахер (сол кезде Белл зертханаларында жұмыс істеген) PKCS#1 v1.5 кодтау функциясымен бірге RSA шифрлауын қолданатын жүйелерге қарсы нақты шабуыл көрсетті. Бұл шабуылға сол кезде мыңдаған веб-серверлер қолданған Secure Sockets Layer (SSL) хаттамасының бір нұсқасы да ілікті. Блейхенбахер шабуылдары, сондай-ақ "миллион хабарлама шабуылы" деп белгілі, PKCS#1 v1.5 толтыру функциясының әлсіздіктерін пайдаланып, RSA шифрланған хабарламаның мазмұнын кезең-кезеңімен ашты. Аталған толтыру функциясы бойынша, толтырылған қарапайым мәтін белгілі бір форматта болуы керек. Егер шифрлау құрылғысы (мысалы, SSL қолдауы бар веб-сервер) толтырудың дұрыс екенін білдірсе, ол құпия кілт туралы ақпаратты ашатын "көреген" (oracle) рөлін атқарады. Кілтті толық анықтау үшін нысанаға бірнеше миллион сынақ шифрмәтін жіберу қажет. Практикалық тұрғыда, бұл SSL сессия кілтінің ақылға қонымды уақыт ішінде, мысалы, бір күн немесе одан да аз уақытта ашылуы мүмкін дегенді білдіреді. Шамалы өзгерістермен бұл осалдық бүгінде көптеген заманауи серверлерде "Блейхенбахердің көреген қатерінің қайта оралуы" (ROBOT) деген жаңа атаумен сақталып қалған.
Adaptive chosen ciphertext attacks were perhaps considered to be a theoretical concern, but not to have been be manifested in practice, until 1998, when Daniel Bleichenbacher (then of Bell Laboratories) demonstrated a practical attack against systems using RSA encryption in concert with the PKCS#1 v1.5 encoding function, including a version of the Secure Sockets Layer (SSL) protocol used by thousands of web servers at the time. The Bleichenbacher attacks, also known as the million message attack, took advantage of flaws within the PKCS #1 v1.5 padding function to gradually reveal the content of an RSA encrypted message. Under this padding function, padded plaintexts have a fixed format that it should follow. If the decryption device (e. g. SSL equipped web server) somehow reveals whether the padding is valid, it also serves as an "oracle" that reveals information on the secret key. Finding the whole key requires sending several million test ciphertexts to the target. In practical terms, this means that an SSL session key can be exposed in a reasonable amount of time, perhaps a day or less. With slight variations, this vulnerability still exists in many modern servers, under the new name "Return Of Bleichenbacher's Oracle Threat" (ROBOT).
Шабуылдардың алдын алу
Адаптивті таңдалған шифрмәтінге шабуылдарды болдырмау үшін шифрмәтіннің өзгеруге бейімділігін шектейтін шифрлау немесе кодтау схемасын және жүйенің қауіпсіздігін дәлелдейтін құжатты пайдалану қажет. CCA қауіпсіз жүйелердің теориялық және негізгі деңгейін дамытудан кейін, Random Oracle моделінде бірнеше жүйелер ұсынылды: RSA шифрлау үшін ең көп қолданылатын стандарт – Оптималды асимметриялық шифрлау толтыруы (OAEP). PKCS#1-дің алғашқы нұсқаларында қолданылған толтыру сияқты импровизацияланған схемалардан өзгеше, OAEP кездейсоқ оракул моделінде қауіпсіз екені дәлелденді. OAEP 1998 жылы жарияланған PKCS#1-дің 2.0 нұсқасына енгізіліп, қазіргі уақытта ұсынылатын кодтау схемасы болды, ал ескі схема әлі де қолдау көрсетіледі, бірақ жаңа қолданбалар үшін ұсынылмайды. Дегенмен, қауіпсіздіктің алтын стандарты – Random Oracle идеализациясына сүйенбей жүйенің қауіпсіздігін көрсету болып табылады.
In order to prevent adaptive chosen ciphertext attacks, it is necessary to use an encryption or encoding scheme that limits ciphertext malleability and a proof of security of the system. After the theoretical and foundation level development of CCA secure systems, a number of systems have been proposed in the Random Oracle model: the most common standard for RSA encryption is Optimal Asymmetric Encryption Padding (OAEP). Unlike improvised schemes such as the padding used in the early versions of PKCS#1, OAEP has been proven secure in the random oracle model, OAEP was incorporated into PKCS#1 as of version 2.0 published in 1998 as the now recommended encoding scheme, with the older scheme still supported but not recommended for new applications. However, the golden standard for security is to show the system secure without relying on the Random Oracle idealization.
Математикалық модель
Күрделілік теориялық криптографияда, адаптивті таңдалған шифрмәтінге қарсы қауіпсіздік әдетте шифрмәтін ажыратылмайтындығы (IND CCA2) арқылы модельденеді.
In complexity theoretic cryptography, security against adaptive chosen ciphertext attacks is commonly modeled using ciphertext indistinguishability (IND CCA2).