Zavřít reklamu

Posílání zpráv přes iMessage patří k populárním způsobům komunikace mezi iOS zařízeními a také počítači Mac. Denně servery Applu zpracují desítky milionů zpráv a jak rostou prodeje zařízení s nakousnutým jablkem, roste také popularita iMessage. Přemýšleli jste ale někdy na tím, jakým způsobem jsou vaše zprávy chráněny před potencionálními útočníky?

Apple nedávno vydal dokument popisující bezpečnost iOS. Jsou v něm pěkně popsány bezpečnostní mechanizmy použité v iOS – systém, šifrování a ochrana dat, zabezpečení aplikací, síťové komunikace, internetových služeb a zabezpečení zařízení. Pokud bezpečnosti trochu rozumíte a nemáte problém s angličtinou, iMessage najdete na straně číslo 20. Pokud ne, pokusím se princip zabezpečení iMessage popsat co nejsrozumitelněji.

Základem posílání zpráv je jejich šifrování. To je u laiků často spojeno s postupem, kdy zprávu zašifrujete nějakým klíčem a tímto klíčem ji příjemce dešifruje. Takový klíč se nazývá symetrický. Kritickým bodem tohoto procesu je předání klíče příjemci. Pokud by se ho zmocnil útočník, mohl by vaše zprávy jednoduše dešifrovat a vydávat se za příjemce. Pro zjednodušení si představte schránku se zámkem, do kterého pasuje pouze jeden klíč a s tímto klíčem můžete do schránky obsah vkládat i vybírat.

Naštěstí zde existuje asymetrická kryptografie využívající dvou klíčů – veřejného a soukromého. Princip je takový, že váš veřejný klíč mohou znát všichni, soukromý znáte samozřejmě jen vy. Pokud vám někdo bude chtít poslat zprávu, zašifruje ji vaším veřejným klíčem. Zašifrovanou zprávu lze pak dešifrovat pouze vaším soukromým klíčem. Představíte-li si opět zjednodušeně schránku, potom bude mít tentokrát dva zámky. Veřejným klíčem ji kdokoli odemkne pro vložení obsahu, avšak ten můžete vybrat jen vy s vaším privátním klíčem. Pro jistotu doplním, že zprávu zašifrovanou veřejným klíčem nelze tímto veřejným klíčem dešifrovat.

Jak funguje zabezpečení v iMessage:

  • Při aktivování iMessage jsou v zařízení vygenerovány dva páry klíčů – 1280b RSA pro šifrování dat a 256b ECDSA pro ověření, zda nebyla data po cestě pozměněna.
  • Dva veřejné klíče jsou odeslány do adresářové služby Applu (IDS). Dva privátní klíče zůstávají samozřejmě uloženy pouze v zařízení.
  • V IDS jsou veřejné klíče spojeny s vašim telefonním číslem, e-mailem a adresou zařízení ve službě pro rozesílaní oznámení (Apple Push Notification – APN)
  • Pokud vám někdo chce napsat zprávu, zjistí si jeho zařízení v IDS váš veřejný klíč (nebo více veřejných klíčů, pokud použáve iMessage na více zařízeních) a APN adresy vašich zařízení.
  • Zprávu zašifruje pomocí 128b AES a podepíše svým soukromým klíčem. Jestliže vám zpráva má dorazit na více zařízení, je zpráva uložena a zašifrována na serverech Applu zvlášť pro každé z nich.
  • Některá data, jako například časová razítka, nejsou šifrována vůbec.
  • Veškerá komunikace je prováděna přes TLS.
  • Delší zprávy a přílohy jsou zašifrovány náhodným klíčem na iCloud. Každý takový objekt má svou vlastní URI (adresa pro něco na serveru).
  • Jakmile je zpráva doručena na všechny vaše zařízení, je smazána. Pokud není doručena alespoň na jedno z vašich zařízení, je ponechána na serverech po dobu 7 dnů a poté smazána.

Tento popis se vám možná bude zdát složitý, avšak pokud se podíváte na obrázek výše, jistě princip pochopíte. Výhodou takovéhoto systému zabezpečení je ten, že ho lze zvenčí napadnout jen hrubou silou. Tedy prozatím, protože útočníci jsou stále chytřejší.

Potenciální hrozba je u samotného Applu. Ten totiž spravuje celou infrastrukturu klíčů, a tak by teoreticky k vašemu účtu mohl přiřadit například kvůli soudnímu nařízení jiné zařízení (další pár veřejného a soukromého klíče), ve kterém by byly příchozí zprávy dešifrovatelné. Avšak zde Apple řekl, že nic takového nedělá ani dělat nebude.

Zdroje: TechCrunch, iOS Security (February 2014)
.