Double Ratchet
Доубле Ратчет (ўзбекча: икки томонлама ратчет алгоритми) — ҳимояланган хабар алмашиш тизимларида сессия калитларини босқичма-босқич янгилаш учун мўлжалланган криптографик алгоритм.
Алгоритм икки томон ўртасида аввалдан ҳосил қилинган умумий махфий калит асосида ишлайди. У ҳар бир юборилган ёки қабул қилинган хабар учун янги хабар калитини ҳосил қилади ҳамда мулоқот давомида Диффиэ–Ҳеллман калитларини янгилаб боради.[1]
Доубле Ратчет одатда дастлабки умумий махфий калитни ҳосил қилувчи бошқа калитларни келишиш протоколи билан бирга қўлланилади. Бундай протоколларга Х3ДҲ ёки ПҚХДҲ мисол бўла олади.[2][3]
Тарихи
Доубле Ратчет алгоритми Тревор Перрин ва Мохиэ Марлинспике томонидан ишлаб чиқилган. Расмий спецификацияда Диффиэ–Ҳеллман ратчет консепсиясининг айрим ғоялари ОТР протоколига бориб тақалиши қайд этилган.[1]
“Ратчет” атамаси криптографик калитларни фақат олдинга йўналишда янгилаб бориш тамойилини англатади. Ушбу ёндашувда кейинги калитлар ҳосил қилинади, аввалги калитлар эса амалда қайта тикланмаслиги ёки улардан олдинги хабарларни очиш учун фойдаланилмаслиги керак.
Мақсади
Доубле Ратчет алгоритмининг асосий мақсади хабар алмашиш сессиясида калитларни мунтазам янгилаб боришдан иборат.
Алгоритм қуйидаги вазифаларни бажаришга мўлжалланган:
ҳар бир хабар учун алоҳида шифрлаш калитини ҳосил қилиш; аввалги хабар калитларининг кейинги калитлардан ҳосил қилинишининг олдини олиш; янги Диффиэ–Ҳеллман қийматлари асосида сессия калитларини янгилаш; фойдаланувчилардан бирининг жорий калитлари ошкор бўлган тақдирда, кейинги мулоқотда ҳимояни тиклаш имкониятини яратиш; кечикиб келган ёки тартибсиз етказилган хабарларни қайта ишлаш.
Доубле Ратчет мустақил хабар алмашиш тизими эмас. У одатда фойдаланувчиларни аниқлаш, дастлабки сессияни яратиш, хабарларни етказиб бериш ва файлларни узатиш механизмларидан иборат каттароқ криптографик тизимнинг таркибий қисми сифатида қўлланилади.[1]
Асосий тамойили
Доубле Ратчет икки турдаги калитларни янгилаш механизмини бирлаштиради:
симметрик калитли ратчет; Диффиэ–Ҳеллман ратчет.
Ушбу икки механизм биргаликда ишлагани учун алгоритм “Доубле Ратчет” деб аталади.[1]
Симметрик калитли ратчет
Симметрик калитли ратчет хабар юборилган ёки қабул қилинган ҳар бир сафар калит ҳосил қилиш занжирини янгилайди.
Ҳар бир йўналиш учун алоҳида калитлар занжири мавжуд бўлади:
юбориш занжири; қабул қилиш занжири.
Юборувчи янги хабар юборишдан олдин юбориш занжиридан янги хабар калитини ҳосил қилади. Қабул қилувчи эса келган хабарни очиш учун қабул қилиш занжиридан мос хабар калитини ҳосил қилади.
Ҳар бир хабар учун алоҳида калитдан фойдаланиш хабар калитларининг бир-биридан ажратилганлигини та’минлашга ёрдам беради. Эски хабар калити шифрлаш ёки очиш жараёнидан кейин ўчириб ташланиши мумкин.[1]
Диффиэ–Ҳеллман ратчет
Диффиэ–Ҳеллман ратчет мулоқот давомида янги Диффиэ–Ҳеллман калит жуфтларини яратиш орқали сессия калитларини янгилайди.
Ҳар бир томон жорий ратчет калит жуфтига эга бўлади. Юборилган хабар сарлавҳасида одатда юборувчининг жорий ратчет очиқ калити кўрсатилади.
Томонлардан бири бошқа томондан янги ратчет очиқ калитини олганда, у янги Диффиэ–Ҳеллман ҳисоблашини бажаради. Ҳосил қилинган қиймат асосий калитлар занжирига киритилади ва ундан янги юбориш ҳамда қабул қилиш занжирлари учун калитлар ҳосил қилинади.[1]
Диффиэ–Ҳеллман ратчетнинг мақсади фақат битта калитлар занжирига боғланиб қолмасликдир. Агар тажовузкор ма’лум бир вақтда сессиянинг айрим калитларини қўлга кирица, кейинчалик яратилган янги Диффиэ–Ҳеллман қиймати унга ма’лум бўлмаса, келажакдаги хабар калитларини ҳисоблаш имконияти камаяди.[1]
Асосий калитлар занжири
Доубле Ратчетда асосий калитлар занжири мавжуд бўлади. Ушбу занжир Диффиэ–Ҳеллман ҳисоблашидан олинган янги қийматларни қабул қилади.
Асосий калитлар занжири натижасида янги юбориш ва қабул қилиш занжирлари учун калитлар ҳосил қилинади. Бу механизм симметрик калитли ратчетнинг олдинги хабарлар учун ҳимоясини Диффиэ–Ҳеллман ратчетнинг кейинги мулоқот учун ҳимояси билан бирлаштиради.[1]
Ишлаш жараёни
Доубле Ратчет сессияси одатда дастлабки умумий махфий калит ва қабул қилувчининг ратчет очиқ калити билан ишга туширилади.
Сессия давомида қуйидаги жараёнлар бажарилади:
юборувчи юбориш занжиридан янги хабар калитини ҳосил қилади; хабар ушбу калит ёрдамида шифрланади; юборувчи хабар сарлавҳасига ратчет очиқ калити ва хабар тартиб рақамига оид ма’лумотларни киритади; қабул қилувчи хабар сарлавҳасини текширади; агар янги ратчет очиқ калити аниқланса, Диффиэ–Ҳеллман ратчет босқичи бажарилади; қабул қилувчи қабул қилиш занжиридан мос хабар калитини ҳосил қилади; хабар очилади ва сессия ҳолати янгиланади.[1]
Хабар сарлавҳасида одатда қуйидаги техник ма’лумотлар бўлади:
юборувчининг жорий ратчет очиқ калити; олдинги юбориш занжирининг узунлиги; жорий юбориш занжиридаги хабар тартиб рақами.
Бу ма’лумотлар қабул қилувчига қайси калитлар занжиридан фойдаланиш кераклигини аниқлашга ёрдам беради.[1]
Тартибсиз етказилган хабарлар
Тармоқларда хабарлар кечикиб келиши, айрим хабарлар вақтинча йўқолиши ёки хабарлар тартибсиз етказилиши мумкин.
Доубле Ратчет бундай ҳолатларни қайта ишлаш учун кечиктирилган хабар калитларини вақтинча сақлаш имкониятини назарда тутади. Агар қабул қилувчи кейинги тартиб рақамли хабарни олса, у ўтказиб юборилган хабарлар учун калитларни ҳисоблаб, кейинчалик фойдаланиш учун сақлаши мумкин.
Кечиктирилган хабар етиб келганда, унга мос сақланган хабар калити ишлатилади. Хабар муваффақиятли очилгандан сўнг ушбу калит ўчирилади.[1]
Кечиктирилган хабар калитларини ҳаддан ташқари кўп сақлаш хотира сарфи ва хизмат кўрсатишни рад этиш ҳужумлари хавфини ошириши мумкин. Шу сабабли спецификацияда бундай калитлар сони учун оқилона чеклов белгилаш ҳамда фойдаланилмай қолган калитларни вақт ўтиши билан ўчириш тавсия этилади.[1]
Сарлавҳани шифрлаш
Доубле Ратчет алгоритмининг сарлавҳани шифрлашга мўлжалланган варианти ҳам мавжуд.
Оддий вариантда хабар сарлавҳаси ратчет очиқ калити ва хабарларнинг тартиб рақамларига оид ма’лумотларни ўз ичига олади. Айрим ҳолатларда бу ма’лумотлар ташқи кузатувчига қайси хабарлар битта сессияга тегишли эканини ёки уларнинг кетма-кетлигини тахмин қилиш имконини бериши мумкин.
Сарлавҳани шифрлаш вариантида хабар сарлавҳаси алоҳида симметрик сарлавҳа калитлари ёрдамида шифрланади. Бу механизм кузатувчининг хабарлар сессияси ва тартиби ҳақидаги ма’лумотларни аниқлашини чеклашга хизмат қилади.[1]
Хавфсизлик хусусиятлари
Олдинга йўналтирилган махфийлик
Доубле Ратчет олдинга йўналтирилган махфийлик хусусиятини та’минлашга мўлжалланган.
Ушбу хусусиятга кўра, тажовузкор ма’лум вақт нуқтасида сессиянинг жорий калитини қўлга кирица, аввалги хабарлар калитларини кейинги калитлар асосида ҳисоблаш имконияти чекланади.
Бу хусусият хабар калитларининг мунтазам янгиланиши ва олдинги калитларнинг ўчириб ташланиши билан боғлиқ.[1]
Бузилишдан кейинги тикланиш
Доубле Ратчет протоколида бузилишдан кейинги тикланиш хусусияти ҳам мавжуд.
Агар тажовузкор ма’лум бир вақтда юбориш ёки қабул қилиш калитлари занжирига эга бўлиб қолса, у келажакдаги хабарларни очишга уриниши мумкин. Бироқ томонлар янги Диффиэ–Ҳеллман калитлари билан алмашгандан сўнг, янги махфий қийматлар асосида янгиланган калитлар занжири ҳосил қилинади.
Агар янги Диффиэ–Ҳеллман қиймати тажовузкорга ма’лум бўлмаса, кейинги хабарлар учун ҳимоя даражаси қайта тикланиши мумкин.[1]
Хабар калитларининг ажратилганлиги
Доубле Ратчетда ҳар бир хабар учун алоҳида калит ҳосил қилинади. Шу сабабли битта хабар калитининг ошкор бўлиши бошқа хабарлар калитларини автоматик равишда ошкор қилмаслиги керак.
Ушбу ёндашув хабарлар хавфсизлигини сессия даражасида эмас, балки алоҳида хабарлар даражасида ажратишга ёрдам беради.[1]
Чекловлари ва хавфлар
Доубле Ратчет алгоритми хавфсизлик тизимининг фақат бир қисмини ташкил этади. Унинг ҳимоя даражаси дастлабки калитларни келишиш протоколи, фойдаланувчи идентификацияси, қурилма хавфсизлиги ва дастурий амалга ошириш сифатига ҳам боғлиқ.
Алгоритм билан боғлиқ айрим чекловлар қуйидагилардан иборат:
у дастлабки умумий махфий калитни мустақил яратмайди; фойдаланувчи идентификация калитларини ишончли текшириш алоҳида механизмларни талаб қилади; қурилмадаги сессия ҳолати ва ёпиқ калитлар ҳимояланган сақланиши керак; хабарлар сарлавҳаси стандарт вариантда айрим техник метадата ма’лумотларини ошкор қилиши мумкин; хабар калитлари ёки сессия ҳолатининг нотўғри захираланган нусхалари хавфсизликка та’сир қилиши мумкин; кечиктирилган хабар калитларини ҳаддан ташқари кўп сақлаш хотира сарфи ва хизмат кўрсатишни рад этиш хавфини ошириши мумкин.[1]
Қўлланилиши
Доубле Ратчет асинхрон ҳимояланган хабар алмашиш тизимларида қўлланилади.
У одатда қуйидаги таркибий қисмлар билан бирга ишлатилади:
дастлабки калитларни келишиш протоколи; фойдаланувчилар идентификацияси; хабарларни аутентификацияланган шифрлаш механизми; хабарларни етказиб бериш сервери; сессияларни бошқариш механизми; қурилмалар бўйича алоҳида сессияларни юритиш тизими.
Сигнал спецификацияларида Х3ДҲ каби асинхрон калитларни келишиш протоколлари орқали яратилган сессияларни Доубле Ратчет ёрдамида юритиш ёндашуви тавсифланган.[2][4]
Шунингдек қаранг
Х3ДҲ ПҚХДҲ Диффиэ–Ҳеллман калит алмашинуви Эллиптик эгри чизиқли криптография ҲКДФ Сигнал протоколи Учдан учгача шифрлаш Калитларни келишиш протоколи
Манбалар
- ↑ 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 Тҳе Доубле Ратчет Алгоритҳм. Сигнал. Қаралди: 23-июн 2026-йил.
- ↑ 2,0 2,1 Тҳе Х3ДҲ Кей Агреэмент Протоcол. Сигнал. Қаралди: 23-июн 2026-йил.
- ↑ Тҳе ПҚХДҲ Кей Агреэмент Протоcол. Сигнал. Қаралди: 23-июн 2026-йил.
- ↑ Тҳе Сесаме Алгоритҳм. Сигнал. Қаралди: 23-июн 2026-йил.
Ташқи ҳаволалар
Доубле Ратчет расмий спецификацияси Х3ДҲ расмий спецификацияси Сесаме алгоритми спецификацияси
Туркум протоколлар Туркум калитли криптография Туркум хавфсизлиги Туркум бошқариш Туркум хабар алмашиш