СОВРЕМЕННЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ / 4. Информационная
безопасность
т.ғ.к., доцент
Абдимомынова М.М., Қапан С.С.
М.Х.Дулати атындағы
Тараз мемлекеттік университеті
Өндіріс
құжаттарын криптографиялық қорғау
Дәйектеме
Жұмыста “Халыққа
қызмет көрсету орталығында” орындалатын
автоматтандырылған қарапайым банктік транзакция
қарастырылған.. Транзакцияларды криптографиялық
қорғаудың математикалық моделі жазылып, алгоритмі
келтірілген. Транзакция мәліметтер базасын қорғау
мақсатында Х.509 сертификатын құрылып, құпия
кілтін сақтау жұмысы Open SSL ортасында орындалған.
Аннотация
В работе рассмотрены автоматизированные
простые банковские транзакции, выполняемые в «Центре обслуживания населения.
Написана математическая модель и алгоритм
криптографический защиты транзакции. В целях защиты базы данных транзакций создаетсясертификат X.509,
хранениясекретного ключа выполняется в среде Open SSL.
Abstract
Considers automated
banking transactions with performed in the «Population Service Centre». The mathematical model
and cryptographic protection algorithm of the transaction are written. To
protect the transaction database X.509 certificate with private key is created
in Open SSL.
Ақпараттық технологиялар қызметтерін өңдеу
дегеніміз транзакция деп аталатын жеке бөлінбес операцияларға
бөлінген ақпараттарды өңдеу. Әрбір транзакция бір
бүтін сәтті немесе сәтті болады және жұмыс
аралық күйде болмауға тиіс. Транзакцияларды
өңдеудің жаңа
стандартталған жүйелерін атқаратын функцияларына
қарай бөлуге болады. Мұндай бес өлшегіші бар
классификацияны Колумбия университетінен Абрахам Лефф және Калтон Пу
ұсынған болатын: М-машиналар жиынтығы, Р-процестер
жиынтығы, Н-бағдармалық қамтамасыздандырудың
және машиналардың біркелкілік емес деңгейі, 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].
Әрбір қолданушының өзінің ашық және
жабық кілті болады. Ашық кілт барша жұртқа мәлім
болады. Сонымен 1-ші обьектің KAprivate
, KApublicкілттері
бар, және де 2-ші обьекттің KBprivate,
KBpublicкілттері
бар. 1-ші обьектіден 2-ші обьектіге арналған хабарды оның
ашық кілтімен (public key) шифрлайды. 2-ші обьект хабарларды дешифрлау
үшін өзіне ғана белгілі жабық кілтін ғана
қолданады. (private key). Алгоритмнің сүлбесі 5-суретте
көрсетілген.
Транзакция мәліметтер базасын қорғау мақсатында Х.509
сертификатын құрып, құпия кілтін сақтау
жұмысын қарастырамыз.
D:\ дискіге
myCA файлын құрамыз және myCA файлының ішіне .rtf
форматты cakey кілттік құжатын құрамыз. OpenSSL
терезесін ашып, кілттік жұпты RSA алгоритмімен төмендегі команданы
енгізу арқылы құпия кілттің көмегімен түбірлік сертификаттың жергілікті
орталығын генерациялаймыз:

6- сурет. RSA алгоритмімен түбірлік сертификат
кодын генерациялау
Мұндағы, des3 - кілттің Triple-DES алгоритмінің
көмегімен шифрланатынын көрсетеді,
cakey – кілттік файлдың атауы,1024 – кілттің биттегі
ұзындығы.
Нәтижесіндеcakey құжатында сертификаттың
генерацияланған коды жазылады:

7- сурет.Сертификаттың генерацияланған коды
Кілт генерацияланғаннан соң сізден пароль енгізуді сұрайды. Кез-келген
саннан немесе әріптен тұратын пароль енгізе аласыз
[2]. Ал егер парольды ұмытып қалғандай жағдай болса
сертификатты қайта құруға болады.Сертификат
орталығының түбірлік сертификатын құрамыз.
Түбірлік сертификат жеке қол қойылған болады, себебі ол
барлық құрылған иерархиядан жоғары тұрады:

8- сурет. Түбірлік кодты сертификат
Жаңа (-new)
cacert.rtf (-x509) сертификатын серверде немесе CA сертификатында қолданылуы үшін
құрамыз. Сертификат –key
құпия кодын және –config
конфигурациялық файлын қолдану арқылы құрылады.
Құрылған сертификат 365 күннің (-days) аралығында ғана
жарамды болады.
Сертификатты құру барсыында сізден құрылған
сертификатта берілуге тиісті ақпараттарды сұрайды. Бұл
жолдардың ішінде Common Name
сұранысына нақты әрі түсінікті жауап беру керек,
яғни ол жерге міндетті түрде .mail почта адресін немесе IP
адресті енгізу керек.

9-сурет. Сертификат құру барысындағы
сұраныстар
Жаңа құрылған сертификатты
сақтау үшін myCA файлының ішіне .rtf форматты cacert кілттік
құжатын құрамыз:

10-сурет. myCA файлының ішіндегі .rtf форматты
cacert құжаты
Құрылған сертификаттың кілттік
коды cacert құжатында беріледі.

11-сурет. Жаңа құрылған
сертификаттың кілттік коды
Құрылған сертификатты көруге
болады:



12-сурет. Жаңа құрылған
сертификаттың түрі
Қолданушыға арналған сертификатты құру
үшін файлдағы
құпия кілтті генерациялаймыз:

13-сурет. Құпия кілтті генерациялау
Нәтижесінде сертификаттың дайын
нұсқасы СА файлында сақталады:

14-сурет. Құрылған сертификат
файлындағы құжаттар тізімі
Халыққа қызмет көрсету
орталығының мәліметтер базасын енгізу
орталығында кез-келген транзакциялық әрекетін
қолданатын тұтынушының құжаттарын қажетті
уақыт аралығында сертификациялауға, яғни, Х.509
сертификатын құрып, құпия кілтпен сақтап
қорғауға болады.
Қолданылған әдебиеттер
1.
АяжановҚ.С., ЕсеноваА.С. Ақпараттық қауіпсіздік
және ақпаратты қорғау - Қазақстан Республикасының
Білім және ғылым министрлігі.-Алматы ЖШС РПБК Дәуір,
2011.-376 б.
2.
Хорев
П.Б. Методы и средства защиты информации в компьютерных системах. М.: Академия,
2005. 256 с.