Stäng annons

Att skicka meddelanden via iMessage är ett populärt sätt att kommunicera mellan iOS-enheter och Mac-datorer. Tiotals miljoner meddelanden bearbetas av Apples servrar dagligen, och i takt med att försäljningen av Apple-bitna enheter växer ökar även populariteten för iMessage. Men har du någonsin tänkt på hur dina meddelanden skyddas från potentiella angripare?

Apple släppte nyligen dokument som beskriver iOS-säkerhet. Den beskriver på ett bra sätt säkerhetsmekanismerna som används i iOS - system, datakryptering och skydd, applikationssäkerhet, nätverkskommunikation, Internettjänster och enhetssäkerhet. Om du förstår lite om säkerhet och inte har problem med engelska så hittar du iMessage på sid nummer 20. Om inte så ska jag försöka beskriva principen för iMessage-säkerhet så tydligt som möjligt.

Grunden för att skicka meddelanden är deras kryptering. För lekmän är detta ofta förknippat med en procedur där man krypterar meddelandet med en nyckel och mottagaren dekrypterar det med denna nyckel. En sådan nyckel kallas symmetrisk. Den kritiska punkten i denna process är att lämna över nyckeln till mottagaren. Om en angripare fick tag på det kunde de helt enkelt dekryptera dina meddelanden och utge sig för att vara mottagare. För att förenkla, föreställ dig en låda med lås, i vilken endast en nyckel får plats, och med denna nyckel kan du sätta in och ta bort innehållet i lådan.

Lyckligtvis finns det asymmetrisk kryptografi med två nycklar - offentlig och privat. Principen är att alla kan känna till din publika nyckel, självklart är det bara du som känner till din privata nyckel. Om någon vill skicka ett meddelande till dig kommer de att kryptera det med din publika nyckel. Det krypterade meddelandet kan då endast dekrypteras med din privata nyckel. Om du föreställer dig en brevlåda igen på ett förenklat sätt, så kommer den denna gång att ha två lås. Med den offentliga nyckeln kan vem som helst låsa upp den för att infoga innehåll, men bara du med din privata nyckel kan välja det. För att vara säker kommer jag att tillägga att ett meddelande krypterat med en offentlig nyckel inte kan dekrypteras med denna publika nyckel.

Så fungerar säkerhet i iMessage:

  • När iMessage aktiveras genereras två nyckelpar på enheten - 1280b RSA för att kryptera data och 256b ECDSA för att verifiera att data inte har manipulerats på vägen.
  • De två publika nycklarna skickas till Apples katalogtjänst (IDS). Naturligtvis förblir de två privata nycklarna endast lagrade på enheten.
  • I IDS är offentliga nycklar associerade med ditt telefonnummer, e-post och enhetsadress i Apple Push Notification-tjänsten (APN).
  • Om någon vill skicka meddelanden till dig kommer deras enhet att ta reda på din offentliga nyckel (eller flera offentliga nycklar om du använder iMessage på flera enheter) och APN-adresserna för dina enheter i IDS.
  • Han krypterar meddelandet med 128b AES och signerar det med sin privata nyckel. Om meddelandet ska nå dig på flera enheter lagras och krypteras meddelandet på Apples servrar separat för var och en av dem.
  • Vissa data, som tidsstämplar, är inte alls krypterade.
  • All kommunikation sker över TLS.
  • Längre meddelanden och bilagor krypteras med en slumpmässig nyckel på iCloud. Varje sådant objekt har sin egen URI (adress för något på servern).
  • När meddelandet har levererats till alla dina enheter raderas det. Om den inte levereras till minst en av dina enheter, lämnas den på servrarna i 7 dagar och raderas sedan.

Denna beskrivning kan verka komplicerad för dig, men om du tittar på bilden ovan kommer du säkert att förstå principen. Fördelen med ett sådant säkerhetssystem är att det bara kan angripas utifrån med brutalt våld. Tja, för nu, eftersom angripare blir smartare.

Det potentiella hotet ligger hos Apple själv. Detta beror på att han hanterar hela infrastrukturen av nycklar, så i teorin skulle han kunna tilldela en annan enhet (ett annat par offentliga och privata nyckel) till ditt konto, till exempel på grund av ett domstolsbeslut, där inkommande meddelanden kan dekrypteras. Men här har Apple sagt att de inte gör och kommer inte att göra något sådant.

källor: TechCrunch, iOS-säkerhet (februari 2014)
.