Затвори рекламата

Изпращането на съобщения чрез iMessage е популярен начин за комуникация между iOS устройства и Mac компютри. Десетки милиони съобщения се обработват от сървърите на Apple всеки ден и с нарастването на продажбите на устройства, поддържани от Apple, расте и популярността на iMessage. Но замисляли ли сте се как вашите съобщения са защитени от потенциални нападатели?

Apple пусна наскоро Dokument описващ сигурността на iOS. Той добре описва механизмите за сигурност, използвани в iOS - система, криптиране и защита на данните, сигурност на приложенията, мрежова комуникация, интернет услуги и сигурност на устройството. Ако разбирате малко от сигурността и нямате проблем с английския, можете да намерите iMessage на страница номер 20. Ако не, ще се опитам да опиша принципа на сигурността на iMessage възможно най-ясно.

В основата на изпращането на съобщения е тяхното криптиране. За лаиците това често се свързва с процедура, при която шифровате съобщението с ключ и получателят го декриптира с този ключ. Такъв ключ се нарича симетричен. Критичният момент в този процес е предаването на ключа на получателя. Ако нападател се докопа до него, той може просто да дешифрира вашите съобщения и да се представи за получателя. За да опростите, представете си кутия с ключалка, в която се побира само един ключ и с този ключ можете да вкарвате и изваждате съдържанието на кутията.

За щастие съществува асиметрична криптография, използваща два ключа – публичен и частен. Принципът е, че всеки може да знае вашия публичен ключ, разбира се само вие знаете своя частен ключ. Ако някой иска да ви изпрати съобщение, той ще го шифрова с вашия публичен ключ. След това шифрованото съобщение може да бъде декриптирано само с вашия личен ключ. Ако отново си представите пощенска кутия по опростен начин, то този път тя ще има две ключалки. С публичния ключ всеки може да го отключи, за да вмъкне съдържание, но само вие с личния си ключ можете да го изберете. За да съм сигурен, ще добавя, че съобщение, криптирано с публичен ключ, не може да бъде декриптирано с този публичен ключ.

Как работи сигурността в iMessage:

  • Когато iMessage е активиран, на устройството се генерират две двойки ключове - 1280b RSA за криптиране на данните и 256b ECDSA за проверка дали данните не са били подправени по пътя.
  • Двата публични ключа се изпращат до директорийната услуга на Apple (IDS). Разбира се, двата частни ключа остават съхранени само на устройството.
  • В IDS публичните ключове са свързани с вашия телефонен номер, имейл и адрес на устройство в услугата за насочени известия на Apple (APN).
  • Ако някой иска да ви изпрати съобщение, неговото устройство ще открие вашия публичен ключ (или множество публични ключове, ако използвате iMessage на няколко устройства) и APN адресите на вашите устройства в IDS.
  • Той криптира съобщението с помощта на 128b AES и го подписва с личния си ключ. Ако съобщението трябва да достигне до вас на няколко устройства, то се съхранява и криптира на сървърите на Apple отделно за всяко от тях.
  • Някои данни, като клеймото за време, изобщо не са криптирани.
  • Цялата комуникация се извършва през TLS.
  • По-дългите съобщения и прикачените файлове се криптират с произволен ключ в iCloud. Всеки такъв обект има собствен URI (адрес за нещо на сървъра).
  • След като съобщението бъде доставено на всички ваши устройства, то се изтрива. Ако не бъде доставен на поне едно от вашите устройства, той се оставя на сървърите за 7 дни и след това се изтрива.

Това описание може да ви се стори сложно, но ако погледнете снимката по-горе, със сигурност ще разберете принципа. Предимството на такава система за сигурност е, че може да бъде атакувана отвън само с груба сила. Е, засега, защото нападателите стават по-умни.

Потенциалната заплаха е в самата Apple. Това е така, защото той управлява цялата инфраструктура от ключове, така че на теория той може да присвои друго устройство (друга двойка публичен и частен ключ) към вашия акаунт, например поради съдебно разпореждане, в което входящите съобщения могат да бъдат декриптирани. Тук обаче Apple каза, че не прави и няма да прави такова нещо.

източници: TechCrunch, Сигурност на iOS (февруари 2014 г.)
.