iMessage-ի միջոցով հաղորդագրություններ ուղարկելը iOS սարքերի և Mac համակարգիչների միջև հաղորդակցվելու հանրաճանաչ միջոց է: Տասնյակ միլիոնավոր հաղորդագրություններ ամեն օր մշակվում են Apple-ի սերվերների կողմից, և քանի որ Apple-ից խայթված սարքերի վաճառքն աճում է, այնքան մեծանում է iMessage-ի ժողովրդականությունը: Բայց երբևէ մտածե՞լ եք, թե ինչպես են ձեր հաղորդագրությունները պաշտպանվում պոտենցիալ հարձակվողներից:
Apple-ը վերջերս թողարկեց փաստաթուղթ նկարագրելով iOS-ի անվտանգությունը: Այն գեղեցիկ կերպով նկարագրում է iOS-ում օգտագործվող անվտանգության մեխանիզմները՝ համակարգ, տվյալների կոդավորում և պաշտպանություն, հավելվածների անվտանգություն, ցանցային հաղորդակցություն, ինտերնետ ծառայություններ և սարքի անվտանգություն: Եթե մի քիչ հասկանում եք անվտանգության մասին և անգլերենի հետ խնդիր չունեք, կարող եք գտնել iMessage-ը 20-րդ էջում։ Եթե ոչ, ապա ես կփորձեմ հնարավորինս պարզ նկարագրել iMessage-ի անվտանգության սկզբունքը։
Հաղորդագրություններ ուղարկելու հիմքը դրանց կոդավորումն է։ Աշխարհիկ մարդկանց համար դա հաճախ ասոցացվում է մի ընթացակարգի հետ, որտեղ դուք գաղտնագրում եք հաղորդագրությունը բանալիով, իսկ ստացողը վերծանում է այն այս բանալիով: Նման բանալին կոչվում է սիմետրիկ: Այս գործընթացի կրիտիկական կետը բանալին ստացողին հանձնելն է: Եթե հարձակվողը ձեռք է բերել այն, նա պարզապես կարող է վերծանել ձեր հաղորդագրությունները և անձնավորել ստացողին: Պարզեցնելու համար պատկերացրեք կողպեքով տուփ, որի մեջ տեղավորվում է միայն մեկ բանալի, և այս բանալիով կարող եք տեղադրել և հեռացնել տուփի պարունակությունը։
Բարեբախտաբար, կա ասիմետրիկ ծածկագրություն՝ օգտագործելով երկու բանալի՝ հանրային և մասնավոր: Սկզբունքն այն է, որ բոլորը կարող են իմանալ ձեր հանրային բանալին, իհարկե միայն դուք գիտեք ձեր անձնական բանալին: Եթե ինչ-որ մեկը ցանկանում է ձեզ հաղորդագրություն ուղարկել, նա այն կգաղտնագրի ձեր հանրային բանալիով: Այնուհետև կոդավորված հաղորդագրությունը կարող է վերծանվել միայն ձեր անձնական բանալիով: Եթե պատկերացնեք փոստարկղ կրկին պարզեցված ձևով, ապա այս անգամ այն կունենա երկու կողպեք։ Հանրային բանալիով յուրաքանչյուրը կարող է ապակողպել այն՝ բովանդակություն զետեղելու համար, բայց միայն դուք՝ ձեր անձնական բանալիով կարող եք ընտրել այն: Համոզված լինելու համար ես կավելացնեմ, որ հանրային բանալիով գաղտնագրված հաղորդագրությունը չի կարող վերծանվել այս հանրային բանալիով:
Ինչպես է անվտանգությունն աշխատում iMessage-ում.
- Երբ iMessage-ն ակտիվանում է, սարքի վրա ստեղծվում են երկու բանալիների զույգ՝ 1280b RSA՝ տվյալների գաղտնագրման համար և 256b ECDSA՝ ստուգելու, որ տվյալները ճանապարհին չեն կեղծվել:
- Երկու հանրային բանալին ուղարկվում է Apple-ի տեղեկատու ծառայությանը (IDS): Իհարկե, երկու մասնավոր բանալիները պահվում են միայն սարքում:
- IDS-ում հանրային բանալիները կապված են ձեր հեռախոսահամարի, էլփոստի և սարքի հասցեի հետ՝ Apple Push Notification ծառայության (APN):
- Եթե ինչ-որ մեկը ցանկանում է ձեզ հաղորդագրություն ուղարկել, նրա սարքը կպարզի ձեր հանրային բանալին (կամ բազմաթիվ հանրային բանալիներ, եթե օգտագործում եք iMessage-ը մի քանի սարքերում) և ձեր սարքերի APN հասցեները IDS-ում:
- Նա գաղտնագրում է հաղորդագրությունը՝ օգտագործելով 128b AES և ստորագրում այն իր անձնական բանալիով: Եթե հաղորդագրությունը պետք է ձեզ հասնի մի քանի սարքերով, հաղորդագրությունը պահվում և գաղտնագրվում է Apple-ի սերվերներում՝ դրանցից յուրաքանչյուրի համար առանձին:
- Որոշ տվյալներ, ինչպիսիք են ժամանակի դրոշմանիշերը, ընդհանրապես գաղտնագրված չեն:
- Ամբողջ հաղորդակցությունը կատարվում է TLS-ի միջոցով:
- Ավելի երկար հաղորդագրությունները և հավելվածները կոդավորված են iCloud-ում պատահական բանալիով: Յուրաքանչյուր այդպիսի օբյեկտ ունի իր սեփական URI (սերվերի վրա ինչ-որ բանի հասցե):
- Երբ հաղորդագրությունը առաքվում է ձեր բոլոր սարքերին, այն ջնջվում է: Եթե այն չի առաքվում ձեր սարքերից գոնե մեկին, այն 7 օր մնում է սերվերների վրա, ապա ջնջվում։
Այս նկարագրությունը կարող է ձեզ բարդ թվալ, բայց եթե նայեք վերևի նկարին, ապա անպայման կհասկանաք սկզբունքը։ Անվտանգության նման համակարգի առավելությունն այն է, որ դրա վրա կարելի է հարձակվել միայն դրսից՝ կոպիտ ուժով։ Դե, առայժմ, քանի որ հարձակվողները դառնում են ավելի խելացի:
Պոտենցիալ սպառնալիքը պատկանում է հենց Apple-ին: Դա պայմանավորված է նրանով, որ նա կառավարում է բանալիների ամբողջ ենթակառուցվածքը, ուստի տեսականորեն նա կարող է ձեր հաշվին նշանակել մեկ այլ սարք (մեկ այլ զույգ հանրային և մասնավոր բանալի), օրինակ՝ դատարանի որոշման պատճառով, որում մուտքային հաղորդագրությունները կարող են վերծանվել: Սակայն այստեղ Apple-ն ասել է, որ նման բան չի անում և չի անի։
Իսկ ո՞ւմ առաջ է այն կոդավորված։ Արդյո՞ք նորմալ SSL-ը բավարար չի լինի, հաղորդագրությունն ուղարկվում է Apple-ին, իսկ Apple-ն այնուհետև նորից ուղարկում է հաղորդագրությունը SSL-ի միջոցով: Apple-ը, այնուամենայնիվ, հաղորդագրությունները գաղտնալսելու ուժ ունի, այդ դեպքում ինչո՞ւ է դրա շուրջ աղմուկը: Ամեն դեպքում, խոսքն ընդամենը երրորդ կողմի հաղորդագրությունը գաղտնալսելուց կանխելու մասին է, իսկ SSL-ը բավական է դրա համար։
Եթե հավատանք, որ Apple-ը մասնավոր բանալիներ չի ուղարկում, ապա նա էլ չի կարդա դրանք։ Եվ ամեն դեպքում, SSL-ը պարզապես ասիմետրիկ գաղտնագրման իրականացում է հաճախորդ-սերվեր կապի վրա։
Այսպիսով, մենք ուղարկում ենք հաղորդագրությունը 2x կոդավորված SSL-ի միջոցով, և Apple-ը կարող է կարդալ այն, կամ 2x չգաղտնագրված այն փաստով, որ մենք նախապես պահանջում ենք հանրային բանալիներ և օգտագործում ենք նույն ծածկագիրը, ինչ SSL-ի դեպքում, և Apple-ը չի կարող դրանք կարդալ տեսականորեն:
Իսկ ինչո՞ւ են տվյալները կոդավորված նույնիսկ Apple-ում: Որովհետև ինչ-որ աշխատակից անպայման մուտք կունենա դրանց: Նրան խաբել է իր ընկերուհին, ուստի նա սկսում է ներբեռնել նրա հաղորդագրությունները. այն արտահոսում է, և Apple-ը դժվարության մեջ է:
Զվարճալի աղաղակ..