Кіріспе

Шифрлау протоколы

CipherSaber – RC4 ағынды шифрына негізделген қарапайым симметриялық шифрлау протоколы. Оның мақсаттары техникалық және саяси: ол хабарламалардың құпиялылығын сенімді түрде қорғауға мүмкіндік береді, бірақ сонымен бірге тіпті жаңадан бастаған бағдарламашылар да алгоритмді жаттап алып, оны бастапқы кодтан іске асыра алатындай қарапайым етіп жасалған. Дизайнердің сөзіне сүйенсек, QBASIC бағдарламалау тіліндегі CipherSaber нұсқасы небәрі он алты жол кодтан тұрады. Оның саяси жағынан қарағанда, өте қарапайым болғандықтан, оны кез келген жерде, кез келген уақытта қайта іске асыруға болады, соның арқасында пайдаланушылар үкіметтік немесе басқа да шектеулер қалыпты криптографиялық бағдарламалық қамтамасты таратуды толығымен мүмкін емес еткен жағдайда да жеке хабар алмасу мүмкіндігіне ие болады.

Тарих және мақсаты

CipherSaber-ті Арнольд Рейнхольд мықты криптографияны халықтың қолында сақтап қалу үшін ойлап тапты. Көптеген үкіметтер криптографияны кім пайдалана алатынына қатысты заңдық шектеулер енгізді, ал тағы да көп үкіметтер мұндай шараларды ұсынуда. Рейнхольд қауіпті, бірақ бағдарламалауы оңай шифрлау алгоритмі туралы ақпаратты жариялау арқылы шифрлау технологиясын баршаға қолжетімді етуді үміттенеді. PGP сияқты бағдарламалар пайдалануға ыңғайлы, алдын ала жазылған бағдарламалық қамтамасыз ету түрінде таратылатын болса, Рейнхольд CipherSaber-ді тек техникалық сипаттама ретінде жариялайды. Бұл сипаттама соншалықты қарапайым болуы керек, тіпті бастаушы бағдарламашы да оны оңай іске асыра алады. CipherSaber веб-сайтында мынадай түсіндірме берілген: Джордж Лукастың «Жұлдыздар соғысы» трилогиясында джедай рыцарьдары өздерінің жарық қылыштарын жасауға міндетті болған. Бұл хабардың мәні анық: тоталитарлық билікке ұмтылған күшті империяға қарсы тұрған жауынгер өзін-өзі қамтамасыз етуі керек. Құрама Штаттарда және мүмкін, бүкіл әлемде мықты криптографияны таратуға тыйым салу қаупі туған кезде, біз джедай шеберлеріне еліктеп, мықты криптографиялық бағдарламаларды өзіміз жасауды үйренуіміз керек. Егер мұны істей алсақ, мықты криптографияны жою мүмкін болмайды. Веб-сайтта «CipherKnight» сертификаты ретінде көрсетілген графикалық файл бар; алайда, бұл файл CipherSaber арқылы, файлмен бірге жарияланған белгілі кілтті пайдаланып шифрланған. Пайдаланушылар файлды шифрлау үшін алдымен өздерінің CipherSaber іске асырылуын жазып, содан кейін графиканы көруге (және қалауынша, рамкаға орнату үшін басып шығаруға) болады. Өз бағдарламасын жазып, бірнеше шағын тапсырмаларды орындағаннан кейін пайдаланушы CipherKnight атанады, ал шифрланған сертификат оның рыцарь екенін куәландырады. Осылайша, CipherSaber-дің авторы дайын құрал ұсынудың орнына компьютер пайдаланушыларына кәсіби дамытушыларға немесе үкіметтің рұқсатына сүйенбей, өздерінің мықты криптографиялық бағдарламаларын жасауға қабілетті екенін түсінуге көмектесуді мақсат етеді.

Техникалық сипаттама

CipherSaber-дің бастапқы нұсқасында (қазір CipherSaber 1 немесе CS1 деп аталады) әрбір шифрланған хабарлама кездейсоқ он байттық инициализациялау векторымен (IV) басталады. Бұл IV, RC4 кілтін орнату алгоритміне кіріс ретінде пайдалану үшін CipherSaber кілтіне қосады. RC4 кілт ағынымен XOR операциясы жасалған хабарлама дереу одан кейін келеді. Флюрер, Мантин және Шамирдің RC4-ке жасаған шабуылы, егер көптеген (>1000) хабарлама бірдей CipherSaber кілтімен жіберілсе, CipherSaber 1-ді әлсіз етеді. Осы мәселені шешу үшін CipherSaber жасаушысы өзгертілген протокол жасады (CipherSaber 2 деп аталады), онда RC4 кілтін орнату циклы бірнеше рет қайталанады (20 рет ұсынылады). Құпия кілтке келісуден басқа, CipherSaber 2 арқылы байланыс жасайтын тараптар осы циклды қанша рет қайталауға келісуі керек. Шифрланған мәтіннің нәтижесі – "кездейсоқ шудан ажырату мүмкін емес" екілік байт ағыны. Тек ASCII деректерін қабылдай алатын байланыс жүйелері үшін автор байт ағынын ондық сандар түрінде кодтауды ұсынады. Бұл, мысалы, base64 MIME кодтауынан тиімділігі төмен, бірақ CipherSaber-дің максималды оңай іске асыру мақсатына сәйкес, бағдарламалауды әлдеқайда жеңілдетеді.

Қауіпсіздік және пайдалану

CipherSaber өзінің саяси позициясын тиімді жеткізуге жеткілікті күшті және қолдануға ыңғайлы. Дегенмен, ол мұндай криптожүйеден күтілетін қауіпсіздік және пайдалану жеңілдігінен айтарлықтай кем. CipherKnights CipherSaber-ді қызық үшін немесе қиын жағдайда бір-бірімен хабар алмасу үшін қолдана алса да, CipherSaber криптографияны ең қарапайым деңгейіне дейін төмендетіп, оны кеңінен таратуға және күнделікті қолдануға қолайлы емес етеді. Шындығында, CipherSaber авторы пайдаланушылардан CipherKnight болу үшін PGP-ні жүктеуді және орнатуды сұрайды. CipherSaber, PGP сияқты бағдарламаларға тыйым салынған жағдайда қолданылатын соңғы құрал ретінде қарастырылуы мүмкін. CipherSaber-дің кейбір кемшіліктері мен құрбандықтары RC4-ке тән, бірақ барлығы емес. CipherSaber хабарламаның дұрыстығын тексермейді. Бұл кемшілік барлық қарапайым ағынды шифрларға ортақ және оны пайдалану оңай. Мысалы, шабуылшы хабарламада "Ертең сағат 15:30-да Жейнмен және менімен кездесеміз" деген сөз бар екенін білсе, шифрланған мәтін мен ашық мәтіннен сол сәттегі кілт ағынын қалпына келтіре алады. Содан кейін шабуылшы бастапқы мазмұнды дәл осындай ұзындықтағы кез келген басқа мазмұнмен ауыстыра алады, мысалы, "15:30-дағы кездесу отмененді, үйде қалыңыз" дегенді қалпына келтірілген кілт ағынымен шифрлап, шифрлау кілтін білмейді. Бүгінгі күні көптеген деректерді беруге қолданылатын шифрлар сияқты, CipherSaber да симметриялық кілт шифры болып табылады. Осылайша, қарым-қатынас жасайтын әрбір пайдаланушы жұбы шифрлау кілті туралы келісуі керек, ал әрбір пайдаланушы олармен қарым-қатынас жасайтын шифрлау кілттерін қауіпсіз сақтауы керек. Қолда бар жалғыз байланыс арналары қауіпсіз болмаған жағдайда шифрлау кілттерін келісу – PGP сияқты бағдарламалар шешкен классикалық "тауық пен жұмыртқа" мәселесі. Әрбір пайдаланушы жұбы арасындағы қауіпсіз симметриялық кілт келісімдерінің қажеттілігін болдырмау ыңғайлы және қауіпсіздікті жақсартады. Тиімділік пен ыңғайлылыққа қол жеткізу үшін әдетте қолданылатын протокол – кілт алмасу үшін RSA сияқты ашық кілт шифрын пайдалану, содан кейін келісілген кілтті пайдалана отырып, жаппай деректерді беру үшін CipherSaber сияқты симметриялық кілт шифрын пайдалану. CipherSaber 1-де қолданылған RC4 кілтінің орнатылуы бұзылды: RC4-тің бастапқы кілтті жоспарлауы бір кілтпен шифрланған көптеген шифр мәтіндерін қорғауға тым әлсіз екені белгілі болды. CipherSaber 2, CipherSaber 1-дің кілтті орнату процедурасын бірнеше рет қайталап, оның қауіпсіздігін жақсартуға тырысады (нәтижесі күрделі алгоритммен алдын ала өңделген кілтпен басталатын стандартты RC4-ке тең). Бұл процедура RC4 кілтін жоспарлаудағы осалдықты жоюға көмектеседі деп есептелсе де, оның тиімділігі дәлелденбеді. Кез келген таңдалған кілт шифры сияқты, CipherSaber-дің екі нұсқасы да таңдалған кілт (әдетте пароль немесе құпия сөз) жеткілікті энтропияға ие болмаса, сөздік шабуылға ұшырайды. Симметриялық кілт криптографиясының іске асырылуы жоғары қауіпсіздік қажет болғанда кездейсоқ кілттерді жасау мүмкіндігін қамтиды. CipherSaber сайты Diceware қолданып, жоғары энтропиялы кездейсоқ құпия сөздерді жасауды ұсынады. Басқа криптожүйелер сияқты (соның ішінде PGP), CipherSaber шифрланған хабарламаларды анықтауға (шифрлаудан гөрі) шабуылшыларға кедергі келтірмейді. Бұл CipherSaber-дің жойылған мақсаты үшін маңызды мәселе: егер үкімет криптографиялық бағдарламалық жасақтаманы таратуға тыйым салса, ол шифрланған хабарламаларды жібергендерді де ұстағысы келеді. Бұл мәселелер мен оларға қарсы шаралар туралы көбірек ақпарат алу үшін трафик талдау және стеганографияны қараңыз.