X3DH
Х3ДҲ (инглизча Эхтендед Трипле Диффиэ–Ҳеллман, ўзбекча «кенгайтирилган уч карра Диффиэ–Ҳеллман») — асинхрон шароитда икки фойдаланувчи ўртасида умумий махфий калит ҳосил қилиш учун мўлжалланган калитларни келишиш протоколи.
Протокол қабул қилувчи фойдаланувчи тармоққа уланмаган ҳолатда ҳам дастлабки ҳимояланган мулоқот сессиясини яратиш имконини беради. Х3ДҲ очиқ калитли криптографияга асосланади ва фойдаланувчиларнинг идентификация калитлари, вақтинчалик калитлари ҳамда олдиндан серверга жойлаштирилган калитларидан фойдаланади.[1]
Х3ДҲ натижасида ҳосил қилинган дастлабки умумий махфий калит кейинги шифрланган хабар алмашиш протоколларида қўлланилиши мумкин. Амалий тизимларда ундан кейин сессия калитларини мунтазам янгилаб борувчи Доубле Ратчет алгоритмидан фойдаланилиши мумкин.[2]
Тарихи
Х3ДҲ протоколи Мохиэ Марлинспике ва Тревор Перрин томонидан ишлаб чиқилган. Протоколнинг расмий спецификацияси 2016-йил 4-ноябрда э’лон қилинган.[1]
Х3ДҲ номидаги “3ДҲ” қисми учта Диффиэ–Ҳеллман ҳисоблашига асосланганлигини англатади. Қабул қилувчининг бир марталик олдиндан тайёрланган калити мавжуд бўлган ҳолатда протокол қўшимча Диффиэ–Ҳеллман ҳисоблашини ҳам бажариши мумкин.[1]
Мақсади
Х3ДҲнинг асосий вазифаси икки томон ўртасида дастлабки умумий махфий калитни ҳосил қилишдан иборат. Ушбу протокол қуйидаги шароитлар учун мўлжалланган:
- юборувчи фойдаланувчи қабул қилувчига биринчи ҳимояланган хабарни юбормоқчи бўлади;
- қабул қилувчи фойдаланувчи айни вақтда тармоқда бўлмаслиги мумкин;
- қабул қилувчининг айрим очиқ калитлари олдиндан серверга жойлаштирилади;
- юборувчи мазкур калитлар асосида дастлабки сессия калитини ҳосил қилади.
Х3ДҲ хабарлар алмашинувининг барча босқичларини мустақил равишда бошқарувчи протокол эмас. У дастлабки умумий махфий калитни яратишга хизмат қилади. Кейинги хабарлар учун калитларни янгилаш алоҳида сессия протоколи орқали амалга оширилади.[1]
Иштирокчилар
Х3ДҲ протоколи тавсифида одатда учта иштирокчи кўрсатилади:
- Алиса — ҳимояланган сессияни бошловчи фойдаланувчи. У қабул қилувчининг олдиндан серверга жойлаштирилган очиқ калитларидан фойдаланиб дастлабки сессия калитини ҳосил қилади.
- Боб — дастлабки хабарни қабул қилувчи фойдаланувчи. У ўзининг идентификация калити, имзоланган олдиндан тайёрланган калити ва мавжуд бўлса, бир марталик олдиндан тайёрланган калитлари ёрдамида юборувчи билан бир хил умумий махфий калитни ҳосил қилади.
- Сервер — Бобнинг очиқ калитлари ва олдиндан тайёрланган калитларини сақловчи воситачи тизим. Сервер дастлабки шифрланган хабарни Бобга етказиб бериши мумкин, бироқ умумий махфий калитни ҳосил қилишда бевосита қатнашмайди.
Боб тармоқда бўлмаган вақтда Алиса серверда сақланаётган калитлар тўпламидан фойдаланиб дастлабки ҳимояланган хабарни юбориши мумкин.[1]
Криптографик параметрлар
Х3ДҲ протоколида очиқ калитли криптография, хеш функсияси ва калит ҳосил қилиш функсиясидан фойдаланилади. Протоколни амалга оширишда одатда қуйидаги параметрлар белгиланади:
- эллиптик эгри чизиқли Диффиэ–Ҳеллман функсияси;
- хеш функсияси;
- калит ҳосил қилиш функсияси;
- илова ёки протокол муҳитини аниқловчи сатрли параметр;
- очиқ калитларни кодлаш ва узатиш қоидалари.
Х3ДҲ спецификацияси эллиптик эгри чизиқли калит келишуви учун Х25519 ёки Х448 каби функсиялардан фойдаланишни назарда тутади.[1]
Х25519 ва Х448 алгоритмлари эллиптик эгри чизиқли Диффиэ–Ҳеллман калит келишувида фойдаланиш учун РФC 7748 ҳужжатида тавсифланган.[3]
Калит ҳосил қилиш учун ҲКДФ функсиясидан фойдаланилиши мумкин. ҲКДФ дастлабки махфий ма’лумотдан криптографик жиҳатдан мустаҳкам чиқиш калитларини ҳосил қилишга мўлжалланган.[4]
Калитлар
Х3ДҲ протоколида бир нечта турдаги калитлардан фойдаланилади.
Алисанинг идентификация калити — юборувчининг узоқ муддатли очиқ калити. Ушбу калит фойдаланувчини аниқлаш ва дастлабки аутентификация жараёнида иштирок этади.
Алисанинг вақтинчалик калити — юборувчи томонидан янги Х3ДҲ сессияси бошланишидан олдин яратиладиган очиқ калит. У дастлабки умумий махфий калитни ҳосил қилишда ишлатилади.
Бобнинг идентификация калити — қабул қилувчининг узоқ муддатли очиқ калити. Ушбу калит Бобнинг шахсини криптографик жиҳатдан боғлаш учун хизмат қилади.
Бобнинг имзоланган олдиндан тайёрланган калити — Боб томонидан яратиладиган, унинг идентификация калити билан имзоланадиган ҳамда ма’лум вақт оралиғида янгиланадиган очиқ калит. Ушбу калит қабул қилувчи тармоқда бўлмаган пайтда ҳам дастлабки сессияни яратишга ёрдам беради.
Бобнинг бир марталик олдиндан тайёрланган калити — фақат битта дастлабки сессияда ишлатилиши учун мўлжалланган очиқ калит. У ишлатилгандан кейин унинг ёпиқ қисми қайта қўлланилмаслиги керак.[1]
Протокол босқичлари
Х3ДҲ протоколи учта асосий босқичдан иборат:
- Боб серверга ўзининг идентификация калити, имзоланган олдиндан тайёрланган калити ва бир марталик олдиндан тайёрланган калитларини жойлаштиради.
- Алиса сервердан Бобнинг очиқ калитлари тўпламини олади ҳамда дастлабки ҳимояланган хабарни тайёрлайди.
- Боб юборилган хабарни қабул қилиб, Алиса ҳосил қилган умумий махфий калит билан бир хил калитни ҳисоблайди.[1]
Калитлар тўпламини жойлаштириш
Боб серверга ўзининг идентификация калитини, имзоланган олдиндан тайёрланган калитини, ушбу калитнинг рақамли имзосини ҳамда бир марталик олдиндан тайёрланган калитлар тўпламини жойлаштиради.
Имзоланган олдиндан тайёрланган калит ма’лум даврийликда янгиланади. Бир марталик олдиндан тайёрланган калит сервер томонидан юборувчига тақдим этилгандан кейин қайта ишлатилмаслиги керак.[1]
Дастлабки хабарни юбориш
Алиса сервердан Бобнинг идентификация калитини, имзоланган олдиндан тайёрланган калитини, ушбу калитнинг имзосини ва мавжуд бўлса, бир марталик олдиндан тайёрланган калитини олади.
Алиса дастлаб Бобнинг имзоланган олдиндан тайёрланган калити ҳақиқийлигини текширади. Текширув муваффақияциз якунланса, сессия яратилмайди.
Текширувдан сўнг Алиса янги вақтинчалик калит жуфтлигини ҳосил қилади. У юборувчи ва қабул қилувчининг идентификация ҳамда олдиндан тайёрланган калитларига асосланган бир нечта Диффиэ–Ҳеллман ҳисоблашларини амалга оширади.
Ҳосил қилинган қийматлар калит ҳосил қилиш функсиясига узатилади. Натижада дастлабки умумий махфий калит яратилади.
Агар Бобнинг бир марталик олдиндан тайёрланган калити мавжуд бўлса, қўшимча Диффиэ–Ҳеллман ҳисоблаш бажарилади. Бу дастлабки сессиянинг олдинга йўналтирилган махфийлигини кучайтиришга хизмат қилади.[1]
Алиса дастлабки хабарга ўзининг идентификация калити, вақтинчалик калити, фойдаланилган Боб калитлари идентификаторлари ва шифрланган ма’лумотни киритади.[1]
Дастлабки хабарни қабул қилиш
Боб дастлабки хабарни олгач, Алисанинг идентификация калити ва вақтинчалик калитидан фойдаланади. У ўзининг ёпиқ идентификация калити, имзоланган олдиндан тайёрланган калити ҳамда ишлатилган бир марталик калитидан фойдаланиб мос Диффиэ–Ҳеллман ҳисоблашларини бажаради.
Натижада Боб Алиса ҳосил қилган умумий махфий калит билан бир хил калитни олади. Ушбу калит ёрдамида дастлабки шифрланган хабар очилади.
Агар бир марталик олдиндан тайёрланган калит ишлатилган бўлса, Боб унинг ёпиқ қисмини кейинги фойдаланишдан чиқариши керак.[1]
Хавфсизлик хусусиятлари
Асинхрон ишлаш
Х3ДҲ қабул қилувчи фойдаланувчи тармоқда бўлмаган вақтда ҳам дастлабки ҳимояланган сессияни яратиш имконини беради. Бунга қабул қилувчининг олдиндан серверга жойлаштирилган очиқ калитлари орқали эришилади.[1]
= Аутентификация
Имзоланган олдиндан тайёрланган калит қабул қилувчининг калитлар тўпламини текшириш имконини беради. Бироқ фойдаланувчилар идентификация калитларини мустақил равишда тасдиқламаса, улар мулоқот қилаётган томоннинг ҳақиқийлигини тўлиқ текшира олмайди.
Х3ДҲ спецификациясида идентификация калитларини ишончли алоқа канали орқали солиштириш, жумладан калит излари ёки ҚР-код ёрдамида текшириш тавсия этилади.[1]
Олдинга йўналтирилган махфийлик
Бир марталик олдиндан тайёрланган калитлардан фойдаланиш узоқ муддатли калитлар кейинчалик ошкор бўлган тақдирда аввалги сессия калитларини ҳимоялаш даражасини оширади.
Ушбу ҳимоя ишлатилган бир марталик калитнинг ёпиқ қисми ўчирилган бўлса самарали ҳисобланади.[1]
Криптографик инкор этиш хусусияти
Х3ДҲ спецификациясида криптографик инкор этиш хусусияти ҳам кўрсатилган. Протокол ма’лумотлари учинчи томонга икки фойдаланувчи ўртасида ма’лум мазмундаги мулоқот бўлганини оммавий тарзда текшириш имконини берувчи далилни автоматик равишда яратмайди.[1]
Кейинги сессия ҳимояси
Х3ДҲ фақат дастлабки умумий махфий калитни ҳосил қилади. Кейинги хабарлар учун калитларни мунтазам янгилаш бошқа протоколлар орқали амалга оширилади.
Амалий тизимларда бу мақсад учун Доубле Ратчет каби ратчет механизмларидан фойдаланилиши мумкин.[2]
Чекловлари ва хавфлар
Х3ДҲ протоколи хавфсизлиги унинг тўғри амалга оширилиши ҳамда ёпиқ калитларнинг ишончли сақланишига боғлиқ.
- Сервер хабарларни етказиб бермаслик ёки бир марталик калитларни тақдим этмаслик орқали мулоқот жараёнига та’сир кўрсатиши мумкин.
- Бир марталик калит ишлатилмаган дастлабки хабар қайта юбориш ҳужумларига нисбатан заифроқ бўлиши мумкин.
- Идентификация калитининг ёпиқ қисми ошкор бўлса, фойдаланувчи номидан сохта сессиялар яратиш хавфи юзага келади.
- Бир марталик калитлар захираси тугаган ҳолатда дастлабки сессиянинг олдинга йўналтирилган махфийлиги камайиши мумкин.
- Х3ДҲдан кейин сессия калитлари янгиланмаса, калитларнинг узоқ муддат ишлатилиши хавфи юзага келади.[1]
Қўлланилиши
Х3ДҲ асинхрон ҳимояланган хабар алмашиш тизимларида дастлабки сессия калитини ҳосил қилиш учун қўлланилади.
Протокол фойдаланувчилар бир вақтнинг ўзида тармоқда бўлишини талаб қилмайдиган тизимларга мўлжалланган. Ҳосил қилинган умумий махфий калит кейинги шифрлаш ҳамда сессия калитларини янгилаш механизмларининг бошланғич нуқтаси сифатида ишлатилади.[1]
Шунингдек қаранг
Манбалар
- ↑ 1,00 1,01 1,02 1,03 1,04 1,05 1,06 1,07 1,08 1,09 1,10 1,11 1,12 1,13 1,14 1,15 1,16 1,17 Марлинспике, Мохиэ; Перрин, Тревор. Тҳе Х3ДҲ Кей Агреэмент Протоcол. Сигнал. 4-ноябр 2016-йил. Қаралди: 23-июн 2026-йил.
- ↑ 2,0 2,1 Перрин, Тревор. Тҳе Доубле Ратчет Алгоритҳм. Сигнал. Қаралди: 23-июн 2026-йил.
- ↑ Ланглей, Адам; Ҳамбург, Мике; Турнер, Сеан. РФC 7748: Эллиптиc Cурвес фор Сеcуритй. ИЭТФ. 2016-йил январ. Қаралди: 23-июн 2026-йил.
- ↑ Краwcзйк, Ҳуго; Эронен, Паси. РФC 5869: ҲМАC-басед Эхтраcт-анд-Эхпанд Кей Дериватион Фунcтион. ИЭТФ. 2010-йил май. Қаралди: 23-июн 2026-йил.