Keresés

Hirdetés

Új hozzászólás Aktív témák

  • burgatshow

    veterán

    válasz peugeotmate #273958 üzenetére

    Nem, sokkal prózaibb…

    A Messages szolgáltatás bekapcsolásakor az adott készüléken összesen négy kulcs generálódik (2 pár). Az egyik párt arra használja, hogy titkosítsa vele az üzeneteket, a másik párt pedig az üzenetek hitelesítésére. A kulcspárokból a privátokat természetesen az adott Apple ID-hoz tartozó Keychain-ben helyezi el a rendszer, a publikus kulcsokat pedig feltölti az Apple Identity Service-be (IDS).

    Az Apple IDS szolgáltatása gondoskodik arról, hogy a világban ma működő összes Apple készülékhez társított APN (Apple Push Notification) azonosítóját, valamint a FaceTime és iMessagesben regisztrált telefonszámokat és email címeket tárolják, azokat egymáshoz társítsák. Tehát például az én esetemben az IDS-ben tárolt rekordom összesen 6 APN azonosítót (és ezzel együtt 5 publikus kulcsot) és 7 regisztrált elérhetőséget tartalmaz. Azért tartalmaz az IDS rekordom csak 5 publikus kulcsot, mert bár 6 Apple eszközöm van, abból csak 5 képes részt venni a Messages szolgáltatásban.

    Az APN azonosító egyébként ahhoz kell, hogy az Apple képes legyen egyértelműen meghatározni azt, hogy a különféle értesítéseket mely készüléknek kell küldeni. APN azonosító nélkül egyetlen értesítést sem kapnál.
    Érdekes, hogy az Apple nem egy szép “kerek” (2 valamilyen hatványa – kockavicc) számot választottak kulcsméretnek, hanem pontosan 1280-at. Tehát a generált kulcsok hossza 1280 bit. Gondolom ennek valamilyen kompatibilitási oka lehet.

    Amikor üzenetet küldünk egy másik iMessage szolgáltatásban résztvevő személynek, akkor a készülékünk a címzett publikus kulcsait az Apple IDS-ből letölti (bekékül a cím! :)). A küldő eszköz a címzett összes eszközéhez 88 bites, véletlenszerű értéket generál, majd fogja ezt a 88 bitnyi információt, a küldő és fogadó publikus kulcsát valamint az üzenetet és ezek kombinációjából egy 40 bites értéket derivál. A 88 + 40 bitnyi érték alkotja az üzenet titkosításához használt 128 bites kulcsot. A 40 bites érték segítségével lesz képes a fogadó fél az üzenet integritását ellenőrizni.

    Ebből látható, hogy minden elküldött üzenetnek saját titkosító kulcsa van. Ezt az üzenetenkénti kulcsot fogadó eszköz publikus kulcsához társítják. A titkosított üzenetből és a hozzá tartozó kulcsból együttesen egy SHA-1 hash-t generál a küldő eszköz, majd ezt a hash-t aláírja a saját, privát kulcsával. Végül a titkosan, titkosított titok felkerül az APN szolgáltatásra, hogy eljusson a címzetthez.
    Mivel az APN 4 vagy 16 KB méretű üzeneteket képes csak továbbítani, ezért a csatolmányok kezelése másképp történik.

    Amikor valami nagyot csatolunk egy üzenetünkhöz, akkor a rendszer a csatolt fájlt véletlenszerűen generált 256 bit hosszú kulccsal letitkosítja, majd a titkosított fájlt feltölti az iCloud-ra. A sikeres feltöltés után a csatolmányhoz tartozó kulcs és a csatolmányhoz tartozó egyedi azonosító (URI) a már korábban ismertetett módon kerül átadásra.

    [ Szerkesztve ]

Új hozzászólás Aktív témák