т.ғ.к. Абдимомынова М.М., магистрант Ерманова Ғ.Б.
М.Х.Дулати атындағы Тараз мемлекеттік
университеті
Транзакцияларды
криптографиялық қорғау алгоритмін құру
Ақпараттық
технологиялардағы транзакцияларды өңдеу дегеніміз транзакция
деп аталатын жеке бөлінбес операцияларға бөлінген
ақпараттарды өңдеуді айтады. Әрбір транзакция бір
бүтін сәтсіз немесе сәтті болуға тиіс және
жұмыс аралық күйде болмауға тиіс. Транзакцияларды
өңдеудің жаңа
стандартталған жүйелерді атқаратын функцияларына
қарай бөлуге болады. Мұндай бес өлшегіші бар
классификацияны Колумбия университетінен Абрахам Лефф және Калтон Пу
ұсынған болатын: М-машиналар жиынтығы, Р-процестер
жиынтығы, Н-бағдармалық қамтамасыздандырудың және
машиналардың біркелкілік емес деңгейі, D- логикалық
мәліметтердің жиынтығы,
S- тораптар жиынтығы.

1 – сурет.
“Халыққа қызмет көрсету орталығы”
автоматтандырылған ортасы
Бұл
классификация қарапайымынан (P1, M1, H1, D1, S1), әртүрлі
типті мәліметтер жиынтығын қолдайтын көп торапты
біркелкі емес күрделіге(Pn, Mn, Hn, Dn, Sn) дейінгі кез-келген транзакция өңдеу
жүйесін сипаттайды. Транзакцияларды өңдеу белгілі, келісімді
күйдегі компьютерлік жүйені қолдауға бағытталған.
Жүйедегі кез-келген операциялар бір-бірімен өзара
қарым-қатынаста болады және барлық операциялар толығымен
сәтті аяқталуға тиіс немесе толығымен кері
қайтарылу қажет. Мысалы, “Халыққа
қызмет көрсету орталығында” орындалатын (1-сурет)
автоматтандырылған қарапайым банктік транзакцияны
қарастырсақ, онда клиенттің жинақ шотындағы
$700-ды клиенттің есеп шотына аудару операциясы жүргізіледі.
Бұл
транзакция банк үшін бір ғана операция болады, ал негізі компьютерлік терминде екі бөлек операция
болады: депозитті шотқа $700 салынады, сонымен қатар есеп
шотқа $700 кредиттеледі. Егерде дебеттелген операциялар сәтті
өткен болса, ал кредиттелген сәтсіз болған болса(немесе
керісінше), банк кітаптарында күн соңында қалдықтар
қалмайды. Сондықтанда кепілдік тәсілі болуға тиіс,
яғни екі операция бірдей сәтті болуға тиіс немесе керісінше
сәтсіз болу керек. Сондықтанда ешқашанда банк
жүйесіндегі кейбір мәліметтер базасында (2-сурет) толығымен
сәйкес келмеушілік жағдайлар орын алмайды. Транзакцияны
өңдеу осыны қамтамасыз ету үшін арналған.

2-сурет.
Орталықтың анықтамасы мен мәліметтерд енгізу
Транзакцияларды
өңдеу бірнеше жеке операцияларды автоматты түрде бір-бірімен
тығыз байланысып, біріккен бөлінбейтін транзакция болуға
көмегін тигізеді. Транзакцияларды өңдеу жүйесі
транзакциядағы барлық операциялар қатесіз орындалуын немесе
ешбір операция орындалмауына кепіл береді. Егерде кейбір операциялар, ал
кейбірлері қатесіз аяқталса, транзакцияны өңдеу
жүйесі транзакциядағы барлық операцияларға «кейін
шегіну» командасын береді.

3-сурет. “Халыққа
қызмет көрсету орталығының транзакциялық
қызметтері
Бұл
кезде барлық операция іздері жойылады
және жүйені транзакцияға дейінгі бастапқы
күйге қайта қалпына келтіреді. Егерде транзакцияның
барлық операциялары сәтті аяқталса, онда транзакция
жүйеде жазылады (3-сурет), және мәліметтер базасындағы
өзгерістер «тұрақты» (commited) болады. Транзакциялар
жасалынып қойған болса, оны қайта қайтаруға
болмайды. Транзакцияны өңдеу – компьютерді аппараттық
және бағдарламалық қателіктерден қорғайды.
Қателіктер транзакцияны бітпеген, белгісіз қарама-қайшы
күйлерде тастап кетуі мүмкін. Егерде компьютерлік жүйеде
транзакция ортасында бұзылу болса, транзакцияны өңдеу процесі
кез келген жазылмаған(яғни, толық өңделмеген)
транзакциялардағы операциялар кері қайтарылатынына кепілдік береді. Транзакциялар
қатаң хронологиялық тәртіппен рәсімделінеді.
Егерде N+1 келісім шарты мәліметтер базасына N транзакциясы секілді
қосылатын болса, онда N+1 транзакциясы N транзакциясы аяқталмайынша
басталмайды (4-сурет). Кез-келген транзакция аяқталмайынша
жүйенің сол бөлігіне қатысы бар қалған
транзакцияларда аяқталуы тиіс. Ешқандайда алдыңғы
транзакция тізбектерінде «тесік» болмауға тиіс. Сонымен қатар,
мәліметтер базасындағы барлық өзгерістерге жеке журнал
арнауға болады( кейде бұл after images деп аталады), бұл
сәтсіз операциялардың кейін шегініуін талап етпейді, бірақта
бұл мәліметтер базасы кері қайтару жасаған
жағдайда мәліметтер базасын қайта қалпына келтіруге
пайдасын тигізеді. Сондықтан кейбір транзакцияларды өңдеу
жүйелері осы функцияны қамтамасыз етеді. Егер мәліметтер
базасы мүлде жауап бермесе, онда ол соңғы резервті
жағдайдан қайта қалпына келтіріледі. Резервтегілер
өздері жасалынып болғаннан кейінгі операцияларды көрсетпейді.
Бірақта мәліметтер базасы қайта қалпына келтірілгеннен
кейін after images журналы
мәліметтер базасын (rollforward),
ерікті күйге әкелу үшін қолданады. Кез келген
транзакциялар процесс ішіндегі бұзылу кезеңінде тұрған
жағдайда жиырылып қойылуы мүмкін. Қорытындыда
мәліметтер базасының белгілі келісілген күйдегі
жағдайлары сипатталады, онда кері қайтарғанға дейінгі
жасалынған барлық транзакциялар қорытындысы жазылады.
4-сурет. Халыққа
қызмет көрсету орталығының мәліметтер базасын
енгізу
Кейде, екі
бірдей транзакция өздерін өңдеу барысында мәліметтер
базасының бір бөлігіне қолжетімділік
құқығын алуға тырсады, бірақ бұл
олардың аяқталуына кедергісін тигізеді. Мысалы, А транзакция
мәліметтер базасының Х бөлігіне қолжетімділік
құқығын алуы мүмкін және В транзакция
мәліметтер базасының У бөлігіне қолжетімділік
құқығын алуы мүмкін. Егер осы уақытта А
транзакциясы У мәліметтер базасына, ал В транзакция Х мәліметтер
базасынан қолжетімділік құқығын алуға
тырысса, онда өзара шектеу жағдайы туындайды. Сол кезде
ешқандайда транзакция орындалмауы мүмкін. Транзакцияларды
өңдеу жүйесі осындай жағдайларды анықтау
үшін арналған. Қарапайым жағдайда екі транзакцияда кері
қайтарылып, кейін шегіну операциясы жүргізіледі, содан кейін олар
басқа тәртіппен автоматты түрде қосылады.
Сондықтан өзара шектеу жағдайы қайталанбайды. Немесе
кей кездері тұйыққа тап болған бір ғана
транзакция кері қайтарылып, кейін шегіну жасалынады және кішкене
кешігуден кейін автоматты түрде қайталанады. Өзара шектеу
үш немесе одан да көп транзакция арасында жүруі мүмкін.
Транзакциялар көбірек байланысқан сайын оларды анықтау
қиындай түседі. Транзакцияларды өңдеу жүйесі
өздері анықтайтын тұйық жағдайларға да
тәжірибелік шектеулер орнатқан. Транзакцияларды қорғау
мақсатында криптографиялық әдістерді қолдануға
болады. Мысалы, симметриялық емес криптографиялық алгоритмді
қарастырайық, М (message) деп ашық хабар мәтінін
белгілейік, С (ciphertext) деп шифрланған мәтінді белгілейік.
Шифрлау функциясы (encryption) және дешифрлау (decryption) функциялары
келесідей:
EK(M)=CDK(C)=M (1)
Мұндағы
К (key) – кілт, ол жеткілікті үлкен кеңістіктен таңдап алынуы
тиіс. Шифрлау сенімділігі түгелдей кілтке байланысты. Шифрлау алгоритмі
белгілі деп саналады.

5-сурет. Ашық кілтті
криптожүйенің сүлбесі
Ашық кілтті криптожүйелер шифрлау және дешифрлау
үшін әртүрлі кілттерді қолданады. Дешифрлау кілті
шифрлау кілтінен есептелініп шығарылмайды. Әрбір қолданушының
өзінің ашық және жабық кілті болады. Ашық
кілт барша жұртқа мәлім болады. Сонымен 1-ші обьектің KAprivate , KApublicкілттері
бар, және де 2-ші обьекттің KBprivate,
KBpublicкілттері
бар. 1-ші обьектіден 2-ші обьектіге арналған хабарды оның
ашық кілтімен (public key) шифрлайды. 2-ші обьект хабарларды дешифрлау
үшін өзіне ғана белгілі жабық кілтін ғана
қолданады. (private key). Алгоритмнің сүлбесі 5-суретте
көрсетілген. Кейбір криптографиялық алгоритмдерде, мысалы,
электрондық қол таңбаны алу үшін, хабарды жабық
кілтпен шифрлайды. Шифр мәтінді дешифрлау үшін ашық кілтті
қолданамыз.
Қолданылатын
әдебиеттер
1.
Зегджа Д.П., Ивашко А.М.
Основы безопасности информационных систем. - М.: Горячая
линия-Телеком.2000.-452с.,
2.
Герасименко В. А. Защита
информации в автоматизированных
системах обработки данных. Книга 1,2 М.; Энергоатомиздат, 1994 .-176 с.
3.
Салома А. Криптография с
открытым ключом. Пер. с англ. — М.: Мир, 1996.-304с.
4.
Хорев П.Б. Методы и
средства защиты информации в компьютерных системах. М.: Академия, 2005. 256 с.
5.
Хоффман Л. Дж.
Современные методы защиты информации / Пер. с англ. — М.: Сов.радио,
1980.-264с.