Shifrlash

Vikipediya, ochiq ensiklopediya

Shifrlash-Kriptografik uslublardan (shifrmatnga va dastlabki matnga oʻgirish, elektron raqamli imzoni shakllantirish va tekshirish, xesh-funksiya shakllantirish va tekshirish) foydalanishga asoslangan axborotni oʻzgartirish jarayoni. Axborotni shifrlash uni begonalar tomonidan oʻrganish yoki oʻzgartirish imkoniyatini yoʻqqa chiqaradi. Shuningdek, maʼlumotlarga va dasturlarga, ulardan noqonuniy foydalanish maqsadida, ruxsatsiz raqamli imzo tizimiga kirishning oldini olishni taʼminlaydi. Shifrlashning ikki usuli mavjud: simmetrik va asimmetrik. Simmetrik shifrlashda, kodlash va kodni ochish uchun birgina kalitning oʻzidan foydalaniladi. Asimmetrik shifrlashda ikkita kalitdan foydalaniladi. Ulardan biri (ochiq kalit) dastlabki matnni shifrmatnga oʻgirishni, ikkinchisi esa (yopiq kalit) dastlabki matnga oʻgirishni taʼminlaydi. Самарадорликни янада ошириш мақсадида симметрик ва асимметрик шифрлаш алгоритмлари биргаликда ишлатилади. Бу ҳолатда симметрик шифрлашдан маълумотларни очиқ каналлар орқали узатишда маълумотларни шифрлашда, асимметрик шифрлашдан эса симметрик шифрлаш алгоритмларининг калитларини шифрлашда ишлатилади. CryptoAPI ёрдамида симметрик шифрлаш схемасини амалга ошириш Ҳозирги кунда мавжуд криптографик шияралаш алгоритмларининг асосида криптографик калит ётади, ширлаш алгоритмларининг криптобардошлилиги айнан шу калитларга боғлиқдир. Шифрлаш алгоритмлари учун калитларни генерация қилишнинг усулларидан бири бу пароллардан (калит сўздан) криптографик калит яратишдир. Ушбу парол ўзгарувчан узунликда бўлади ва криптографик калитдан узунлиги кичик бўлади. Лекин парол калит яратиш учун унча яхши бўлмаган материал ҳисобланади, чунки фойдаланувчилар парол сифатида эсда қолувчи луғатларда мавжуд сўзлардан кўп фойдаланади, буни эса луғат ёрдамидаги ҳуружлардан осонлик билан бузиш мумкин. Одатда луғат ёрдамидаги ҳуружлар 105-106операция ёрдамида амалга оширилади, шу сабабли пароллардан калит ясаш узоқ вақт давом этиши керак, бу вақт ҳисоблаш машиналари учун узоқ саналади, фойдаланувчилар учун эса билинмайдиган вақтдир. Агар луғатдаги сўзлар сони N та, калитнисақлаш вақти T бўлса, у ҳолдакалитдан парол яратиш учун кетадиган вақт t0қуйидаги формула орқали ҳисобланади[22]: t0= 2T/N Агар калитни сақлаш муддати ўртача Т = 7кун = 6,1 *105 секунд, луғат катталиги N = 106та бўлса паролдан калит яратиш вақти t0 = 1,2 секунддан кам бўлмаслиги зарур. Агар хавфсизликнинг юқорибосқичи талаб этилса бундай ҳолларда парол тасодифий кетма-кетликлардан ташкил топиши зарур. Бундай кетма-кетликларни криптопровайдерда CryptGenRandom()функцияси ёрдамида ёки бошқа тасодифий сонлар датчигидан олиш мумкин[23]. Пароллар ёрдамида калит яратишнинг бир қанча шартлари мавжуд: – парол ихтиёрий узунликда берилиши мумкин, калит эса фиксирланган узунликда бўлади; – бир-бирига ўхшаш ва яқин пароллардан, бир-бирига ўхшамаган ва узоқ калитлар яратилиши керак; – турли хил пароллар ёрдамида бир хил калитлар яратилмаслиги керак; Бундай шартлар асосида калит яратишга хэшлаш функцияларини ишлатиш жуда самарали ҳисобланади.Калитларнинг криптобардошлилигини янада ошириш мақсадида ушбу механизмга “асос” вектори (salt) ва итерациялар сонини қўшиш мумкин. “Асос” вектори – тасодифий кетма-кетлик бўлиб, парол билан аралаштирилади. “Асос” векторининг қўлланилиши луғат ҳуружларини қийинлаштиради, ушбу векторнинг бугунги кунда тавфсия этилган узунлиги 8 байт.[23] Итерациялар сони – бу паролдан калит яратиш алмаштириш функциясининг қатнашишлар сони. Агар алмаштириш функцияси сифатида хэшлаш функцияси иштирок этса у ҳолда хэшлаш функцияси итерациялар сонига тенг миқдорда иштирок этади. Бугунги кунда итерациялар сони 1000 тадан кам бўлмаслиги зарур. Бу ҳолатда жўнатувчи ва қабул қилувчи паролларни олдиндан келишиб олишлари зарур. Келтирилган калит яратиш механизми орқали фойдаланувчилар қуйидаги схемада кўрсатилган каби маълумот алмашади:

Ҳимояланган канал мавжуд бўлмаган ҳолатда калитлар асимметрик шифрлаш алгоритми ёрдамида шифрлаб жўнатилади. Бунинг учунхабар жўнатувчида қабул қилувчининг очиқ калити бўлиши керак, ушбу очиқ калит ёрдамида шифрлаш калити асимметрик шифрлаш усулида шифрланади ва шифрланган ахборот билан қўшиб очиқ канал орқали қабул қилувчига узатилади.Калитлар сертификатларда ёки контейнерларда сақланади. Шифрлаш калитини эса тасодифий сонлар генератори орқали яратилади. Бу калит очиқ ҳолатда ҳеч қаерда сақланмайди, ушбу калит билан боғлиқ барча операциялар компьютер тезкор хотирасида амалга оширилади. Бундай калитлар сессия калити деб ҳам ёритилади. Сессия калити ҳар бир янги алоқа бошланганда бир марта яратилади.

CryptoAPI ёрдамида асимметрик шифрлаш схемасини амалга ошириш Асимметрик шифрлаш схемалари ҳам симметрик шифрлаш схемалари каби амалга оширилади фақат калитларни тарқатиш бошқа усулда амалга оширилади. Шифрлаш амалга оширилишидан олдин калитлар жуфтлиги яратилади ҳамда очиқ калит ёрдамида сертификат яратилади бошқа фойдаланувчиларга тарқатилади. [22] Бошқа фойдаланувчилар ушбу очиқ калит ёрдамида маълумотларни шифрлайди очиқ канал орқали узатади, қабул қилинган шифрланган хабар очиқ калитга мос ёпиқ калит билан дешифрланади.[22]


CryptoAPI ёрдамида ЭРИ схемасини амалга ошириш

Ахборотларни компьютер тармоқлари орқали узатишда уларнинг тўлалиги ва ҳақиқийлигини текшириш мақсадида ЭРИдан фойдаланилади. ЭРИ амалга ошириш уч босқичда бажарилади: – ЭРИ калитларини шакллантириш; – ЭРИни шакллантириш; – ЭРИни текшириш; ЭРИ калитларини сақлаш махсус тасодифий сонлар генератори ёрдамида амалга оширилади. Генераторлар ёрдамида яратилган очиқ калит сертификатдасақланади ва барчага очиқ бўлади, ёпиқ калитэса фақатгина криптопровайдер таркибида ёки махсус токен қурилмаларида сақланади. ЭРИни шакллантириш ЭРИ калити мавжуд ҳолатда амалга оширилади, бунда ЭРИ қўйилиши лозим бўлган хужжатнинг хэш қиймати олинади ва хэш қиймат хужжат жўнатувчининг ёпиқ калити ёрдамида шифрланади ҳамда хужжат билан биргаликда қабул қилувчига узатади. ЭРИни текширишда эса қабул қилувчи олинган хужжатнинг хэш қийматини ҳисоблайди, ЭРИни жўнатувчининг очиқ калити ёрдамида дешифрлайди ҳамда дешифрланган хэш қийматни хужжатдан олинган хэш қиймат билан таққослайди, агар бу қийматлар тенг бўлса ҳужжат ҳақиқий ва айнан жўнатувидан қабул қилинган деб ҳисобланади. Microsoft CSPDK таркиби Юқоридаги бўлимларда CryptoAPI функциялари ва улардан қандай фойдаланишни кўриб чиқдик, энди ушбу функцияларни қандай яратиш яъни криптопровайдерни яратишни кўриб чиқамиз.[63] Криптопровайдер бир нечта тизим кутубхона – DLL файллардан ташкил топади ҳамда файлларда функциялар жойлашади ва улар тизимга экспорт қилинади ҳамда ушбу функциялар тизим реестрида рўйхатдан ўтган бўлади. Microsoft компанияси криптопровайдерлар яратиш учун қўлланма яратган (CSPDK – Cryptographic Service Provider Development Kit) ушбу қўлланма ёрдамида криптопровайдер яратиш мумкин. Ушбу қўлланма таркибига тайёр бош (header) файлларҳамда тизим кутубхона файлларини рўйхатдан ўтказиш дастурлари мавжуд.

{Wikify} { Mr_Ok }

Bu maqola vikilashtirilishi kerak.

nothumb

Iltimos, bu maqolani Vikipediya qoida va yoʻllanmalariga muvofiq tartibga keltiring.