Keychain Access je správce pro názvy účtů, hesla a informace o kreditních kartách, který vám umožňuje ukládat hodnoty zadané jednou na jednom zařízení do jiného pomocí iCloud. S jeho pomocí se můžete zbavit nutnosti zadávat stejnou věc k autorizaci na webech nebo platit za zboží a služby prostřednictvím Safari na počítačích iPhone, iPad a Mac. Důvěřovat svým datům cloudové službě Apple nebo ne je pro každého individuální záležitostí. Musíte si však být vědomi toho, že jsou všechny uloženy na serverech společnosti v šifrované podobě a zaměstnanci společnosti je nemohou zobrazit.

Jak tedy nastavíte a používáte Keychain Access na iPhonu a iPadu se systémem iOS 7?

1. Přejděte do aplikace „Nastavení“ operačního systému iOS 7:

2. Přejděte do sekce iCloud:

3. Přejděte do nabídky Klíčenka:

4. Posunutím přepínače aktivujte funkci do aktivní polohy (možná budete muset zadat heslo pro svůj účet Apple ID):

5. Vytvořte, zadejte a znovu zadejte bezpečnostní kód iCloud, abyste omezili přístup ke klíčence:

6. Vyberte zemi pobytu, zadejte své telefonní číslo a potvrďte údaje kliknutím na tlačítko „Další“:

7. Nyní, když zadáváte data pro účty nebo kreditní karty na internetu v Safari, bude uživateli nabídnuta možnost uložit je pro další přístup k nim z jiných zařízení:

Nastavením funkce Keychain Access na všech svých zařízeních můžete eliminovat potřebu opakovaného zadávání podrobností o účtu u více služeb zadáváním pouze jednou na jednom ze zařízení přidružených k jednomu Apple ID.

ICloud Keychain je technologie pro ukládání a synchronizaci citlivých dat na počítačích iPhone, iPad, iPod Touch a Mac. Do kategorie uložených informací spadají tyto položky: přihlašovací údaje a hesla pro zdroje zpráv a zábavy, sociální sítě; přidány kreditní karty pro platby, klíče pro autorizaci v zabezpečených Wi-Fi bodech.

V poslední době vývojáři Apple přenášejí data mezi různými zařízeními z aplikací třetích stran - „Kalendáře“, „Kontakty“, „Pošta“ a zprávy „iMassage“. Hlavní myšlenkou iCloud Keychain je poskytnout uživatelům služby zabezpečeného (256bitového šifrování AES) správce hesel, který pracuje s jakýmikoli daty a umožňuje uživatelům nepamatovat si informace, ale souhlasit s automatickým vyplňováním dostupných textových formulářů pro autorizaci nebo platbu.

Jak nastavit a používat?

Technologie - Klíčenka na iCloudu - K dispozici v operačním systému iOS? počínaje verzí 7.0.3 a MacOS s Mavericks 10.9 a je otevřen téměř ve všech oblastech světa (vývojáři píší více o omezeních ve speciální sekci na oficiálním webu Apple). Pokud podmínky souhlasí, zbývá projít počátečním nastavením:

  1. Na iPadu, iPhonu a iPodu Touch otevřete Nastavení a přejděte k úpravám aktuálního profilu iCloud;
  2. Ve spodní části dostupné nabídky najděte položku „Keychain“ a poté posuňte jezdec do aktivní polohy;

  3. Na počítačích Mac je postup ještě jednodušší - přejděte na „Předvolby systému iCloud“ a zaškrtněte před stejnojmennou položkou;


  4. Pokud systém požádá o autorizaci, budete muset zadat data z aktuálního účtu Apple ID;
  5. Pokud je v profilu aktivní dvoufaktorové ověřování, budete muset potvrdit akce na sousedním gadgetu přidaném do profilu (musíte zadat šestimístný kód a povolit práci v nastavení iCloud).

Pokud nedojde k problémům s opakováním popsaných akcí a bude chtít vyzkoušet systém pro ukládání a synchronizaci dat, zbývá zjistit podrobnosti.

  1. Podívejte se do „Nastavení“, přejděte dolů z nabídky na položku „Hesla a účty“;
  2. Část, která se otevře, vám umožní zobrazit aktuální účty přidané do systému (iCloud, případně Gmail nebo nějaký domácí e-mail). V horní části se zobrazí nová nabídka - „Hesla pro weby a programy“. Zde jsou data pro rychlou autorizaci použitá v technologii „iCloud Password Bundle“;
  3. Pokud tedy chcete systém vyzkoušet, musíte se dostat dovnitř a poté kliknout na znaménko plus v horní části nabídky. Poté se na obrazovce zobrazí malá forma pro následnou interakci. Je důležité zadat adresu webové stránky (vhodná je také hlavní stránka, není nutné se do hloubky vracet a přidat odkaz na sekci s vaším osobním účtem, systém na to přijde bez zbytečné pomoci) a poté přihlašovací jméno a heslo;
  4. Po uložení se data zobrazí v nabídce „Hesla pro weby a programy“ a budou aktivní pro použití během autorizace. Jak? Základní! Musíte přejít na stránku webu přidaného do balíčku a zadat textový formulář, který chcete zadat. Pak zbývá kliknout na prázdné místo pro zadání a na obrazovce se objeví dotyková klávesnice a spolu s ní - speciální položka s názvem „Použít ...“. Pokud si přejete, můžete přejít přímo na tlačítko zobrazující klíč, pokud existuje několik přihlašovacích údajů a musíte vybrat konkrétní možnost;
  5. Platba funguje stejným způsobem - data z již používaných karet se automaticky připojí a umožní vám kdykoli provést bezpečné platby.

A přesto - funkce pracuje tiše se všemi aplikacemi třetích stran. Stejný prohlížeč z Google Chrome volá „Keychain“ a tiše přijímá potřebná data. Stejně tak je snadné se přihlásit do služeb App Store, iTunes a iCloud.

Otázky a odpovědi

Jak urychlit proces zadávání dat?

Zaškrtněte políčko „Nastavení“ v části „Hesla a účty“ naproti položce „Automatické doplňování“. Pokud systém narazí na již známý zdroj, pokusí se okamžitě vyplnit pole „uživatelské jméno a heslo“. Na smartphonech od verze 5S budete muset přiložit prst ke skeneru otisků prstů Touch ID, až 5S - zadejte ověřovací kód. Na iPhonu X vše funguje okamžitě - obličej je skenován automaticky.

Je přístup ke klíčence bezpečný?

Jak naznačují vývojáři z Apple, je téměř nemožné prorazit 256bitové šifrování, protože data šifrování se generují pro každé zařízení samostatně, v souladu s vybraným nastavením a zadanými hesly. Více o bezpečnostních protokolech si můžete přečíst na.

Pokud je klíčenka na iCloudu vypnutá, co se stane?

Systém nabídne dvě možnosti akcí - odstranit uložená data nebo je archivovat pro budoucí použití, pokud je technologie znovu potřebná.

Jak nastavím automatické vyplňování informací o kreditní kartě v Safari?

Postup je jednoduchý:

Kolik lidí dnes důvěřuje počítačům a smartphonům? Téměř všichni ukládají fotografie, informace o poloze, často data a kódy z kreditních karet a nespočet hesel.

Posledně jmenované jsou hlavním ochranným mechanismem na internetu, ukládají přístup ke všemu, co by uživatel pravděpodobně chtěl skrýt, což znamená, že musí být pokročilí a obtížně vybírat. Počet takových hesel se hromadí, přesahuje stovku a nyní si je nikdo nedokáže zapamatovat.

Aby Apple všechny tyto informace chránil a bezpečně ukládal, přišel s nástrojem Keychain.

klíče "?

Jádrem je správce hesel vyvinutý společností Apple speciálně pro jeho operační systém. Tento nástroj byl představen vydáním 8. iterace Mac OS v roce 1998. Od té doby je tento nástroj součástí každého vydání Apple, včetně OS X a iOS (od roku 2013 označováno jako „iCloud Keychain“).

Je schopen ukládat různé typy dat na Macu, například: hesla pro webové stránky, servery FTP, účty SSH, veřejné sítě, bezdrátové sítě, skryté poznámky, obecný software a hardware, stejně jako pro certifikáty a šifrované obrazy disků.

Historie produktu

Podobný mechanismus byl původně použit v PowerTalk, což byl e-mailový klient společnosti Apple. Aplikace byla vytvořena počátkem 90. let a Keychain pomohl ovládat všechna uživatelská data z různých e-mailových služeb, ke kterým se PowerTalk mohl připojit.

Vzhledem k použití šifrování bylo obtížné si hesla zapamatovat a obnovit. Proto byl zapotřebí mechanismus, který by uživateli umožňoval zadat pouze jedno heslo (hlavní heslo), které by otevřelo přístup ke všem poštovním službám (každá z nich má svá vlastní vstupní data a hesla).

Tato myšlenka, navzdory své zjevnosti a užitečnosti, prakticky zemřela v okamžiku, kdy se Apple rozhodl ukončit podporu pro PowerTalk. Ale s návratem Steva Jobse se tato funkce vrátila a fungovala nejen v jednom programu, ale také v celém systému.

Skladování a přístup

V operačních systémech Mac 10. generace a starších jsou všechny soubory klíčenky uloženy ve speciálním adresáři systému a tato data najdete také ve speciální aplikaci umístěné ve složce „Utility“.

Keychain Access je bezplatný a otevřený software (zdrojový kód nástroje je volně dostupný) a je distribuován na základě veřejné licence od společnosti Apple.

Soubor klíčenky ukládá spoustu informací, šifrují se z něj pouze poznámky a hesla, vše ostatní (jména, odkazy) je k dispozici všem.

Zamykání a odemykání

Ve výchozím nastavení je soubor klíčenky chráněn stejným heslem, a proto je funkce k dispozici ihned po přihlášení pod vaším uživatelským jménem a heslem. V případě potřeby může být pro tuto funkci nainstalován samostatně.

Pro větší bezpečnost můžete také nastavit interval blokování, například 15 minut. V takovém případě, pokud počítač nebyl používán po dobu 15 minut, požádá o heslo při pokusu o použití klíčenky.

„Svazek klíčů

Tento produkt byl oznámen společností Apple 15 let po objevení původní klíčenky. V roce 2013 byla na konferenci WWDC spolu s verzí iOS 7 a OS X Mavericks představena technologie, která umožňuje synchronizovat všechna utajovaná uživatelská data a zabezpečit je.

Tato možnost je druh online úložiště, které obsahuje všechna uživatelská data, včetně: hesel z webových stránek, hesel z bezdrátových sítí, informací o účtu a platebních údajů o kreditní kartě (s výjimkou bezpečnostních kódů - CVV).

Všechna tato data jsou šifrována podle 256bitového standardu AES a jsou k dispozici pouze konkrétnímu uživateli a pouze v aplikacích přizpůsobených pro práci s tímto nástrojem (odešlou požadavek do Safari, prohlížeč zkontroluje odkazy a nabídne aplikaci heslo dříve uložené v systému).

Služba také zahrnuje vytváření dlouhých, složitých a bezpečných hesel pro weby, na kterých je uživatel registrován.

„Svazek klíčů

Začít s klíčenkou na iCloudu je snadné, ale nejprve musíte zajistit, aby váš gadget (chytrý telefon nebo tablet) měl iOS 7.0.3 nebo novější a váš počítač OS X 10.9 nebo novější.

Nastavení „iCloud Keychain“ (pokyny pro Mac):

  • Nejprve musíte spustit „Nastavení“ (buď z nabídky Apple, která je skryta za ikonou jablka v levém horním rohu, nebo z Docku).
  • Vyberte podnabídku iCloud.
  • Odemkněte počítač zadáním hesla.
  • Zadejte své Apple ID podrobnosti.

Jak přidat kreditní kartu do Keychain Access (pokyny pro Mac):

  • Safari musí být spuštěno.
  • Poté přejděte do nastavení tohoto programu.
  • V nastavení vyberte podnabídku Automatické vyplňování.
  • Vedle podpoložky „Kreditní karty“ vyhledejte tlačítko „Upravit“.
  • Klikněte na tlačítko „Přidat“ a zadejte podrobnosti o své kreditní kartě.

Jak nastavit „iCloud Keychain“ (příručka pro iOS):

  • Vyberte podnabídku iCloud.
  • Poté podpoložka „Keychain“.
  • Přepněte přepínač iCloud Keychain do polohy ON. Podle toho musíte vypnout opačnou akci, přepněte přepínač do polohy VYPNUTO.
  • Poté budete vyzváni, abyste přišli s novým heslem nebo zadali stávající (bezpečnostní kód iCloud Keychain pro aktivaci) a pro potvrzení připojte gadgety třetích stran.
  • Musíte spustit „Nastavení“ z obrazovky „Domov“.
  • Vyberte podnabídku Safari.
  • Poté podpoložka Heslo a Automatické vyplňování.
  • Zadejte přístupový kód.
  • Vyberte podnabídku Uložené kreditní karty.
  • Přidejte kreditní kartu (zadejte požadované informace a klikněte na „Dokončit“).

Synchronizace hesla

Synchronizace dat v Keychain Access není požadovanou možností. Navíc můžete synchronizovat data, aniž byste museli procházet iCloud (pouze Mac).

Abyste se vyhnuli synchronizaci dat s cloudem a jejich následnému ukládání, musíte během aktivace klíčenky přeskočit krok s vytvořením šestimístného ověřovacího kódu. V tomto případě budou všechna data uložena pouze na fyzickém médiu, lokálně.

Je také možné synchronizovat data pomocí souborů uložených v / Library / Keychains /. Obvykle se používá v podnikových sítích a na více sdílených počítačích Mac. Synchronizace bohužel často zmizí, když změníte heslo v systému na jednom ze zařízení (včetně Windows).

Přístup ke klíčence Přístup

Než získáte všechny informace uložené v cloudu, musíte potvrdit klíčenku na iCloudu. To lze provést pomocí SMS nebo druhého zařízení.

V prvním případě uživatel obdrží náhodně vygenerovaný přístupový kód k ověření své identity nebo úplné aktivaci klíčenky iCloud. Můžete potvrdit z jiného zařízení, pokud má uživatel gadget, na kterém již tato funkce běží.

Bezpečnostní kód

Jedná se o speciální šifru skládající se ze 6 číslic nebo ze složité alfanumerické kombinace, která je nezbytná pro získání přístupu k heslům a kartám uloženým v „klíčence“, jakož i v případě ztráty přístupu k nim.

Možné problémy

Nic není dokonalé, ani klíčenka na iCloudu. Ne, nemluvíme o bezpečnostních dírách nebo ztrátě dat, ale s připojením této funkce a vrácením přístupu po aktualizaci, resetování a konfiguraci nového zařízení je spojeno mnoho problémů. Níže uvádíme seznam nejčastějších otázek a problémů.

Nepodařilo se nastavit iCloud Keychain Access kvůli chybějícímu SMS kódu? Pokud z nějakého důvodu SMS zpráva s kódem hesla nepřijde, musíte:

  • Zkontrolujte připojení k celulární síti.
  • Ujistěte se, že je telefon schopen přijímat SMS (tarifní tarif a nainstalovaná SIM karta tuto funkci podporují).
  • Zkontrolujte, zda je číslo uvedeno pro příjem SMS kódu. Chcete-li to provést, v nastavení „Klíčenka“ najděte podpoložku „Další“ a v položce „Číslo ověření“ zadejte správné číslo.

ICloud Keychain nesynchronizuje data mezi zařízeními. V tomto případě téměř vždy pomůže úplné deaktivace a povolení funkce. To musí být provedeno na všech zařízeních. Po opětovném zapnutí budou všichni dostávat nejaktuálnější data ze serveru a budou pokračovat v činnosti jako obvykle.

Máte potíže s hledáním hesel uložených v iCloud Keychain? Jejich data a kreditní karty uložené v cloudu najdete takto:

  • Na domovské obrazovce přejděte do Nastavení.
  • Vyberte podnabídku Safari.
  • Poté podpoložka Hesla.
  • Systém bude vyžadovat zadání hesla nebo ověření identity pomocí Touch ID (snímač otisků prstů).
  • Po ověření můžete vybrat libovolný web a zobrazit jeho heslo.

Safari neukládá data do služby Keychain Access a nenabízí nahrazení hesla. Tento problém lze vyřešit aktivací přepínače „Jména a hesla“ v podnabídce „Automatické dokončování“ v předvolbách Safari.

Podporovaná zařízení

ICloud Keychain je podporován na všech současných zařízeních Apple. To zahrnuje všechny počítače, na kterých běží operační systém macOS generace Mavericks a novější (téměř všechny počítače vyrobené v roce 2007 a novějších).

Tato funkce funguje také na řadě mobilních zařízení (na která můžete nainstalovat mobilní operační systém verze 7.0.3). Mezi ně patří: iPhone 4. generace a novější, iPad 2. generace a novější, 5. generace a novější.

Bezpečné ukládání hesel a jejich synchronizace mezi zařízeními není snadný úkol. Asi před rokem představila společnost Apple svět iCloud Keychain, centralizované úložiště hesel pro OS X a iOS. Pokusme se přijít na to, kde a jak jsou uložena hesla uživatelů, jaká potenciální rizika to přináší a zda je Apple technicky schopen přistupovat k dešifrovaným datům uloženým na svých serverech. Společnost tvrdí, že takový přístup je nemožný, ale aby to bylo možné potvrdit nebo vyvrátit, je nutné pochopit, jak iCloud Keychain funguje.

iCloud 101

Ve skutečnosti iCloud není jen jedna služba, je to obecný marketingový název pro řadu cloudových služeb společnosti Apple. Patří sem nastavení synchronizace, dokumenty a fotografie a funkce Najít můj telefon pro hledání ztracených nebo odcizených zařízení a iCloud Backup pro zálohování do cloudu a nyní je zde iCloud Keychain pro bezpečnou synchronizaci hesel a čísel kreditních karet mezi zařízeními iOS a OS X. ...

Každá služba iCloud je umístěna na vlastní doméně třetí úrovně, například pXX-keyvalueservice.icloud.com, kde XX je číslo skupiny serverů odpovědné za zpracování požadavků od aktuálního uživatele; toto číslo se může u různých Apple ID lišit; novější účty mají obvykle pro toto počítadlo vyšší hodnotu.

Bezpečnostní kód ICloud

Než se ponoříme do analýzy klíčenky na iCloudu, podívejme se, jak je tato služba nakonfigurována. Když je iCloud Keychain zapnutý, je uživatel vyzván, aby přišel a zadal bezpečnostní kód iCloud (bezpečnostní kód iCloud, dále jen iCSC). Ve výchozím nastavení vstupní formulář umožňuje použít čtyřmístný číselný kód, ale kliknutím na odkaz „Pokročilé možnosti“ můžete stále používat složitější kód nebo dokonce nechat zařízení vygenerovat silný náhodný kód.

Nyní víme, že data v iCloud Keychain jsou chráněna iCSC. Pokusme se přijít na to, jak přesně je tato ochrana implementována!

Zachycení provozu nebo man-in-the-middle

Prvním krokem v analýze síťových služeb je často získání přístupu k síťovému provozu mezi klientem a serverem. V případě iCloudu pro nás existují dvě novinky: dobrá a špatná. Špatnou věcí je, že veškerý (dobře, nebo alespoň jeho drtivá většina) provoz je chráněn pomocí TLS / SSL, to znamená, že je šifrovaný a nelze jej „číst“ běžným pasivním útokem. Dobrou zprávou je, že Apple dal každému dárek prozkoumat iCloud a nepoužívá připínání certifikátů, což usnadňuje organizaci útoku typu man-in-the-middle a dešifrování zachyceného provozu. K tomu stačí:

  1. Umístěte experimentální zařízení iOS do stejné sítě Wi-Fi s zachycujícím počítačem.
  1. Nainstalujte do počítače zachycovací proxy server (například Burp, Charles Proxy nebo podobný).
  1. Importujte certifikát TLS / SSL nainstalovaného serveru proxy do zařízení iOS (podrobnosti v nápovědě konkrétního serveru proxy).
  1. V nastavení sítě Wi-Fi na zařízení iOS (Nastavení → Wi-Fi → Název sítě → HTTP Proxy) zadejte IP adresu zachycujícího počítače v síti Wi-Fi a port, na kterém naslouchá proxy server.

Pokud je vše provedeno správně, bude veškerý provoz mezi zařízením a iCloudem na první pohled. A z zachycení tohoto provozu bude jasně vidět, že klíčenka iCloud je postavena na základě dvou služeb iCloud: com.apple.Dataclass.KeyValue a com.apple.Dataclass.KeychainSync - jak při počátečním, tak při opakovaném zapnutí na jiných zařízeních iOS, s nimiž si vyměňuje data tyto služby.

První služba není nová a byla mezi prvními funkcemi iCloud; je široce používán aplikacemi k synchronizaci nastavení. Druhý je nový a byl vyvinut, samozřejmě, speciálně pro iCloud Keychain (ačkoli jeho funkčnost vám teoreticky umožňuje použít jej pro jiné účely). Zvažme tyto služby podrobněji.

com.apple.Dataclass.KeyValue

Jak je uvedeno výše, jedná se o jednu ze služeb používaných iCloud Keychain. Mnoho stávajících aplikací jej používá k synchronizaci malého množství dat (nastavení, záložky apod.). Každá položka uložená touto službou je spojena s ID balíčku a názvem úložiště. V souladu s tím, abyste mohli přijímat uložená data ze služby, musíte také poskytnout tyto identifikátory. V rámci Klíčenky na iCloudu se tato služba používá k synchronizaci záznamů Klíčenky v šifrované podobě. Tento proces je dostatečně podrobně popsán v dokumentu Zabezpečení iOS v části Synchronizace klíčenky a Jak synchronizace klíčenky funguje.

Synchronizace klíčenky

Když uživatel poprvé zapne klíčenku na iCloudu, vytvoří zařízení „kruh důvěry“ a synchronizuje identitu (veřejné a soukromé klíče) pro aktuální zařízení. Veřejný klíč této dvojice je umístěn v „kruhu důvěryhodnosti“ a tento „kruh“ je podepsán dvakrát: nejprve soukromým synchronizačním klíčem zařízení a poté asymetrickým klíčem (založeným na eliptické kryptografii) odvozeným od hesla uživatele iCloud. „Kruh“ také ukládá parametry pro výpočet klíče z hesla, například sůl a počet iterací.

Podepsaný „kruh“ je uložen v úložišti klíčů / hodnot. Nelze jej číst bez znalosti hesla uživatele iCloud a nelze jej změnit bez znalosti soukromého klíče jednoho ze zařízení přidaných do kruhu.

Když uživatel zapne klíčenku na iCloudu na jiném zařízení, toto zařízení přistupuje k úložišti klíčů / hodnot v iCloudu a všimne si, že uživatel již má „kruh důvěry“ a že nové zařízení v něm není zahrnuto. Zařízení generuje synchronizační klíče a potvrzení o žádosti o členství v kruhu. Potvrzení obsahuje veřejný synchronizační klíč zařízení a je podepsán klíčem získaným z hesla uživatele iCloud pomocí parametrů generování klíčů získaných z úložiště Klíč / hodnota. Podepsaný příjem se poté umístí do úložiště klíčů / hodnot.

První zařízení uvidí nové potvrzení a zobrazí uživateli zprávu, že nové zařízení požaduje přidání do kruhu důvěryhodnosti. Uživatel zadá heslo pro iCloud a zkontroluje správnost podpisu potvrzení. To dokazuje, že uživatel, který generoval požadavek na přidání zařízení, zadal při vytváření dokladu správné heslo.

Poté, co uživatel potvrdí přidání zařízení do kruhu, přidá první zařízení veřejný synchronizační klíč nového zařízení do kruhu a dvakrát jej znovu podepíše pomocí svého soukromého synchronizačního klíče a pomocí klíče získaného z hesla iCloud uživatele. Nový „kruh“ se uloží na iCloud a nové zařízení ho podepíše stejným způsobem.

Jak funguje synchronizace klíčenky

Nyní jsou v „kruhu důvěryhodnosti“ dvě zařízení a každé z nich zná veřejné klíče pro synchronizaci dalších zařízení. Začnou si vyměňovat záznamy klíčenky prostřednictvím úložiště klíčů / hodnot na iCloudu. Pokud je na obou zařízeních stejný záznam, bude dána přednost modifikaci, která má pozdější čas. Pokud je čas úpravy záznamu na iCloudu a na zařízení stejný, záznam se nesynchronizuje. Každá položka synchronizace je šifrována speciálně pro cílové zařízení; nelze jej dešifrovat jinými zařízeními ani společností Apple. Nahrávka navíc není trvale uložena v iCloudu - je přepsána novými synchronizovanými nahrávkami.

Tento proces se opakuje pro každé nové zařízení přidané do kruhu důvěry. Pokud je například do kruhu přidáno třetí zařízení, požadavek na potvrzení se zobrazí na dalších dvou zařízeních. Uživatel může přidání potvrdit na kterémkoli z nich. Při přidávání nových zařízení se každé zařízení v kruhu synchronizuje s novými, aby byla zajištěna stejná sada položek ve všech zařízeních.

Je třeba poznamenat, že ne celá klíčenka je synchronizována. Některé položky jsou svázány se zařízením (například účty VPN) a neměly by zařízení opustit. Synchronizovány jsou pouze záznamy, které mají atribut kSecAttrSynchronizable. Apple nastavil tento atribut pro uživatelská data Safari (včetně uživatelských jmen, hesel a čísel kreditních karet) a pro hesla Wi-Fi.

Ve výchozím nastavení se také nesynchronizují položky z aplikací třetích stran. Aby je mohli synchronizovat, musí vývojáři při přidávání položky do klíčenky výslovně nastavit atribut kSecAttrSynchronizable.

iCloud Keychain pracuje se dvěma úložišti:

  • com.apple.security.cloudkeychainproxy3
- ID balíčku: com.apple.security.cloudkeychainproxy3;
  • com.apple.sbd3
- ID balíčku: com.apple.sbd (SBD je zkratka pro Secure Backup Daemon).

První úložiště se údajně používá k udržování seznamu důvěryhodných zařízení (zařízení v „kruhu důvěryhodnosti“, mezi nimiž je povolena synchronizace hesel), k přidávání nových zařízení do tohoto seznamu a k synchronizaci položek mezi zařízeními (v souladu s výše popsaným mechanismem).

Druhé úložiště je určeno pro zálohování a obnovení záznamů klíčenky na nová zařízení (například když v „kruhu důvěryhodnosti“ nejsou žádná další zařízení) a obsahuje šifrované záznamy klíčenky a související informace.

Záznamy klíčenky jsou tedy uloženy v běžném úložišti klíčů / hodnot (com.apple.securebackup.record). Tyto záznamy jsou šifrovány pomocí sady klíčů uložených tam (BackupKeybag). Ale tato sada klíčů je chráněna heslem. Odkud pochází toto heslo? Co je služba Apple Escrow Service? Dále se pokusíme na to přijít.

apple.Dataclass.KeychainSync

Jedná se o novou službu, která vznikla relativně nedávno: poprvé se její podpora objevila v beta verzích iOS 7, poté chyběla v iOS 7.0–7.0.2 a byla znovu přidána do iOS 7.0.3, který byl vydán současně s vydáním OS X Mavericks. Toto je výše uvedená služba úschovy hesla (adresa služby je pXX-escrowproxy.icloud.com).

Služba je navržena tak, aby bezpečně ukládala uživatelská tajemství a umožňuje uživateli po úspěšném ověření tato tajemství obnovit. Pro úspěšné ověření potřebujete následující:

  • token ověřování iCloud, získaný výměnou za Apple ID a heslo během primárního ověřování na iCloudu (standardní metoda ověřování pro většinu služeb iCloud);
  • bezpečnostní kód iCloud (iCSC);
  • šestimístný číselný kód odeslaný servery Apple na číslo mobilního telefonu přidruženého k uživateli.

Teoreticky to vypadá dobře, ale abychom zjistili, zda je teorie stejná jako praxe, musíme provést audit klientského programu úschovy. V iOS a OS X se tento program nazývá com.apple.lakitu. Popis procesu jeho zrušení a auditu je nad rámec článku, pojďme tedy rovnou k výsledkům.

Dostupné příkazy

Audit com.apple.lakitu vám umožňuje definovat seznam příkazů implementovaných službou úschovy. Odpovídající snímek obrazovky zobrazuje příkazy a jejich popisy. Obzvláště bych se chtěl zabývat posledním příkazem - s jeho pomocí je možné změnit telefonní číslo spojené s aktuálním účtem. Přítomnost tohoto příkazu výrazně snižuje spolehlivost vícefaktorového ověřování používaného pro obnovu klíčenky na iCloudu (heslo Apple ID + zařízení iCSC +), protože eliminuje jeden z faktorů. Je také zajímavé, že uživatelské rozhraní iOS neumožňuje tento příkaz provést - prostě takovou možnost nemá (alespoň jsem ji nenašel).

Zvláštností tohoto příkazu, který ho odlišuje od všech ostatních, je to, že vyžaduje ověření pomocí hesla Apple ID a nebude fungovat, pokud se k ověření použije token iCloud (ostatní příkazy fungují s ověřováním pomocí tokenu). To slouží jako další ochrana týmu a naznačuje, že návrháři systému podnikli kroky ke zlepšení jeho zabezpečení. Není však zcela jasné, proč je tento příkaz v systému vůbec přítomen.

Obnova uložených dat

Pro příjem uložených dat se provede následující protokol:

  1. Klient požaduje seznam uložených záznamů (/ get_records).
  1. Klient požaduje přidružené telefonní číslo, na které server odešle potvrzovací kód (/ get_sms_targets).
  1. Klient zahájí generování a doručení potvrzovacího kódu (/ generate_sms_challenge).
  1. Poté, co uživatel zadá iCSC a potvrzovací kód SMS, zahájí klient pokus o ověření pomocí protokolu SRP-6a (/ srp_init).
  1. Po obdržení odpovědi ze serveru klient provede výpočet předepsaný protokolem SRP-6a a požádá o uložená data (/ obnovit).
  1. Pokud je klient úspěšně ověřen, server vrátí uložená data a předtím je zašifroval na klíč vygenerovaný během operace protokolu SRP-6a (pokud protokol fungoval úspěšně, pak server i klient vypočítali tento sdílený klíč).

Je důležité si uvědomit, že telefonní číslo získané v kroku 2 se používá výhradně pro potřeby uživatelského rozhraní, to znamená, aby se uživateli zobrazilo číslo, na které bude zaslán potvrzovací kód, a v kroku 3 klient neposílá serveru číslo, na které by měl být potvrzovací kód zaslán.

Zabezpečené vzdálené heslo

V kroku 4 klient spustí protokol SRP-6a. Secure Remote Password (SRP) je protokol ověřování hesla, který je chráněn před odposlechem a útoky typu man-in-the-middle. Například při použití tohoto protokolu je nemožné zachytit hodnotu hash hesla a poté se ji pokusit obnovit, jednoduše proto, že není přenášen žádný hash.

Apple používá nejpokročilejší verzi protokolu SRP-6a. Tato možnost dává pokyn k ukončení připojení, pokud se ověření nezdaří. Kromě toho Apple povoluje pouze deset neúspěšných pokusů o ověření pro danou službu, po kterých jsou blokovány všechny následující pokusy.

Podrobný popis protokolu SRP a jeho matematických základů je nad rámec tohoto článku, ale pro úplnost níže uvádíme soukromou verzi používanou službou com.apple.Dataclass.KeychainSync.

Jako hashovací funkce H se používá SHA-256 a jako skupina (N, g) se použije 2048bitová skupina z RFC 5054 „Použití protokolu Secure Remote Password (SRP) pro ověřování TLS“. Protokol běží následovně:

  1. Zařízení generuje náhodnou hodnotu a, vypočítá A \u003d g ^ a mod N, kde N a g jsou parametry 2048bitové skupiny z RFC 5054, a odešle zprávu na server obsahující ID uživatele, vypočítanou hodnotu A a potvrzovací kód SMS. Hodnota DsID se používá jako identifikátor uživatele - jedinečný číselný identifikátor uživatele.
  2. Po obdržení zprávy server vygeneruje náhodnou hodnotu b a vypočítá B \u003d k * v + g ^ b mod N, kde k je faktor definovaný v SRP-6a jako k \u003d H (N, g), v \u003d g ^ H (sůl, iCSC) mod N je ověřovatel hesla uložený na serveru (analogický s hash hesla), Salt je náhodná sůl generovaná při vytváření účtu. Server odešle klientovi zprávu obsahující B a Salt.
  3. Pomocí jednoduchých matematických transformací klient a server vypočítají společný klíč relace K. Tím je dokončena první část protokolu - generování klíčů - a klient a server se nyní musí ujistit, že dostanou stejnou hodnotu K.
  4. Klient vypočítá M \u003d H (H (N) XOR H (g) | H (ID) | Sůl | A | B | K), důkaz, že zná K, a pošle M a potvrzovací kód SMS na server. Server také vypočítá M a porovná přijaté od klienta a vypočítanou hodnotu; pokud se neshodují, pak server ukončí provádění protokolu a ukončí připojení.
  5. Server prokazuje znalost K klientovi výpočtem a odesláním H (A, M, K). Nyní obě strany protokolu nejenže vypracovaly společný klíč, ale také se ujistily, že je tento klíč pro obě strany stejný. V případě služby úschovy server také vrátí náhodný inicializační vektor IV a záznam úschovy zašifrovaný na sdíleném klíči K pomocí algoritmu AES v režimu CBC.

Použití SRP pro dodatečnou ochranu uživatelských dat podle mého názoru významně zlepšuje zabezpečení systému před vnějšími útoky, už jen proto, že vám umožňuje účinně odolat pokusům o hrubou sílu iCSC: na každé připojení ke službě můžete vyzkoušet pouze jedno heslo. Po několika neúspěšných pokusech je účet (v rámci práce se službou úschovy) převeden do stavu soft lock a dočasně uzamčen a po deseti neúspěšných pokusech je účet zcela uzamčen a další práce se službou úschovy je možná až po resetování iCSC pro účet.

Zároveň použití SRP nijak nechrání před vnitřními hrozbami. Uložené heslo je uloženo na serverech společnosti Apple, takže lze předpokládat, že k němu bude mít Apple v případě potřeby přístup. V takovém případě, pokud heslo nebylo chráněno (například šifrované) před úschovou, může to vést k úplnému kompromisu položek klíčenky uložených v iCloudu, protože heslo pro úschovu umožní dešifrování šifrovacích klíčů a oni - položky klíčenky (podívejte se na com. apple.Dataclass.KeyValue).

V dokumentu Zabezpečení iOS však Apple uvádí, že k ukládání úschovaných záznamů se používají specializované moduly zabezpečení hardwaru (HSM) a že k údajům úschovy nelze získat přístup.

Zabezpečení úschovy

iCloud poskytuje zabezpečenou infrastrukturu pro úschovu klíčenek a zajišťuje obnovu klíčenky pouze oprávněnými uživateli a zařízeními. Klastry HSM chrání uložené záznamy. Každý klastr má svůj vlastní šifrovací klíč, který se používá k ochraně záznamů.

Chcete-li klíčenku obnovit, musí se uživatel autentizovat pomocí uživatelského jména a hesla iCloud a reagovat na odeslanou SMS. Když je to hotové, musí uživatel zadat bezpečnostní kód iCloud (iCSC). Klastr HSM ověří správnost iCSC pomocí protokolu SRP; iCSC se nepřenáší na servery Apple. Každý uzel v klastru nezávisle na ostatních kontroluje, zda uživatel nepřekročil maximální počet pokusů o načtení dat. Pokud je ověření úspěšné na většině uzlů, klastr dešifruje uložený záznam a vrátí jej uživateli.

Zařízení poté pomocí iCSC dešifruje uložený záznam a získá heslo použité k zašifrování záznamů klíčenky. Pomocí tohoto hesla je klíčenka získaná z úložiště klíčů / hodnot dešifrována a obnovena do zařízení. Je povoleno pouze deset pokusů o ověření a načtení uložených dat. Po několika neúspěšných pokusech je nahrávání blokováno a uživatel musí kontaktovat podporu, aby jej odblokoval. Po desátém neúspěšném pokusu cluster HSM zničí uložený záznam. To poskytuje ochranu před útoky hrubou silou zaměřenou na získání záznamu.

Bohužel není možné zkontrolovat, zda se HSM skutečně používají. Pokud je vše pravdivé a HSM neumožňuje čtení dat v nich uložených, pak lze tvrdit, že data iCloud Keychain jsou chráněna před interními hrozbami. Opět je však bohužel nemožné prokázat nebo vyvrátit použití HSM a nemožnost číst z nich data.

Existuje ještě jeden způsob, jak chránit data před interní hrozbou - ochrana dat úschovy v zařízení před jejich přenosem na servery Apple. Z popisu Apple vyplývá (a obrat to potvrzuje), že taková ochrana je použita - uložené heslo je předšifrováno pomocí iCSC. Je zřejmé, že v tomto případě úroveň zabezpečení (před vnitřní hrozbou) přímo závisí na složitosti iCSC a výchozí čtyřmístný iCSC neposkytuje dostatečnou ochranu.

Takže jsme zjistili, jak fungují jednotlivé prvky systému, a nyní je čas podívat se na celý systém.

Dáme to dohromady

Diagram ukazuje práci iCloud Keychain z hlediska ukládání a obnovy záznamů Keychain. Systém funguje následovně:

  1. Zařízení generuje sadu náhodných klíčů (v terminologii Apple - keybag) k šifrování záznamů klíčenky.
  2. Zařízení šifruje položky Keychain (se sadou atributů kSecAttrSynchronizable) pomocí sady klíčů generované v předchozím kroku a šifrované položky ukládá do úložiště klíčů / hodnot com.apple.sbd3 (klíč com.apple.securebackup.record).
  3. Zařízení generuje náhodné heslo skládající se ze šesti skupin po čtyřech znacích (entropie takového hesla je přibližně 124 bitů), zašifruje sadu klíčů vygenerovaných v kroku 1 pomocí tohoto hesla a uloží zašifrovanou sadu klíčů do úložiště klíčů / hodnot com.apple. sbd3 (BackupKeybag).
  4. Zařízení zašifruje náhodné heslo vygenerované v předchozím kroku pomocí klíče získaného z bezpečnostního kódu iCloud uživatele a uloží zašifrované heslo do služby com.apple.Dataclass.KeychainSync.

Při nastavování klíčenky na iCloudu může uživatel místo výchozího čtyřmístného kódu použít komplexní nebo náhodný iCSC. Pokud se použije složitý kód, mechanismus depozitního systému se nezmění; jediný rozdíl je v tom, že klíč pro šifrování náhodného hesla se nebude počítat ze čtyřmístného iCSC, ale ze složitějšího zadaného uživatelem.

S náhodným kódem se subsystém úschovy hesla vůbec nepoužívá. V tomto případě je náhodným heslem generovaným systémem iCSC a úkolem uživatele je zapamatovat si a bezpečně jej uložit. Položky klíčenky jsou stále šifrovány a uloženy v úložišti klíčů / hodnot com.apple.sbd3, ale služba com.apple.Dataclass.KeychainSync se nepoužívá.

závěry

Můžeme bezpečně říci, že z technického hlediska (to znamená, že neuvažujeme o sociálním inženýrství) a ve vztahu k vnějším hrozbám (tj. Ne Apple) je zabezpečení escrow služby iCloud Keychain na dostatečné úrovni: díky použití protokolu SRP, i když je heslo iCloud prolomeno, útočník nečiní bude mít přístup k záznamům Keychain, protože to navíc vyžaduje bezpečnostní kód iCloud a iterace tímto kódem je výrazně obtížná.

Současně s použitím jiného mechanismu klíčenky iCloud - synchronizace hesla, může útočník, který prolomil heslo iCloud a má krátký fyzický přístup k jednomu ze zařízení uživatele, zcela ohrozit klíčenku iCloud: k tomu stačí přidat zařízení útočníka do „kruhu důvěry“ zařízení uživatele , a k tomu stačí znát heslo pro iCloud a mít krátkodobý přístup k zařízení uživatele k potvrzení požadavku na přidání nového zařízení do „kruhu“.

Pokud vezmeme v úvahu ochranu před vnitřními hrozbami (tj. Apple nebo někdo s přístupem k serverům Apple), pak v tomto případě zabezpečení služby úschovy nevypadá tak růžově. Tvrzení společnosti Apple o používání HSM a neschopnosti číst data z nich nemají žádný přesvědčivý důkaz a kryptografická ochrana uložených dat je svázána s bezpečnostním kódem iCloud, přičemž výchozí nastavení je extrémně slabé a umožňuje každému, kdo je schopen extrahovat ze serverů Apple (nebo HSM) uložené záznamy, obnovte svůj čtyřmístný bezpečnostní kód iCloud téměř okamžitě.

Při použití složitého alfanumerického kódu se tento útok stává obtížnějším, protože se zvyšuje počet možných hesel. Pokud je iCloud Keychain nakonfigurován tak, aby používal náhodný kód, není služba úschovy vůbec zapojena, což tento vektor útoku skutečně znemožňuje.

Maximální úroveň zabezpečení (samozřejmě bez započtení úplného vypnutí iCloud Keychain) je zajištěna při použití náhodného kódu - a ne tolik, protože takový kód je obtížnější najít, ale proto, že není zahrnut subsystém úschovy hesel, a proto je zmenšena plocha útoku. Pohodlí této možnosti však samozřejmě zůstává hodně žádoucí.


Ahoj všichni, milí čtenáři. Dnes vám řeknu, co je notoricky známá klíčenka na iCloudu, jak ji aktivovat a jak ji používat. Na začátek uvedu definici toho, co je klíčenka na iCloudu.

ICloud Keychain je cloudová služba od společnosti Apple s názvem iCloud Keychain. Slouží k ukládání osobních údajů uživatelů v šifrované podobě. Za osobní údaje lze považovat přihlašovací údaje a hesla, stejně jako bezpečnostní kódy z kreditních karet + certifikáty, které používáte ve službách Apple.

Přirozeně vyvstává otázka - jak bezpečné je použití této služby pro bezpečnost dat. Podle společnosti jsou všechna data uložena v zašifrované podobě a má k nim přístup pouze vlastník dat, zaměstnanci Apple nemají přístup k vašim datům.

Tento režim můžete aktivovat přímo ze zařízení Apple, například z iPadu nebo iPhonu... Jako příklad ukážu použití iPadu, ale mezi aktivací režimu na iPhonu nebo iPadu není žádný rozdíl.

Aktivace

K úspěšné aktivaci požadované služby postupujte podle následujících pokynů:

V budoucnu budete moci synchronizovat informace z této služby s jinými zařízeními: jak na základě operačního systému iOS, tak i Mac OS.

Nastavení

Nyní nakonfigurujme automatické ukládání důležitých dat ve službě iCloud Keychain zadané v prohlížeči Safari:

  1. Nejprve musíte přejít do nastavení zařízení a vybrat sekci Safari a poté přejít na položku hesla;
  2. V poli, které se otevře, musíte zaškrtnout políčko v části „Jména a hesla“.

Po provedení výše uvedené operace budou všechna vaše hesla, přihlašovací údaje a další data zadaná v prohlížeči Safari uložena na vaši žádost do cloudové služby iCloud Keychain.

Několik tipů pro použití této popsané funkce:

  1. Pokud nemůžete konfigurovat nebo aktivovat balíčky, musíte aktualizovat operační systém na aktuální verzi a také zkontrolovat připojení k internetu;
  2. Můžete zobrazit všechna uložená hesla, k tomu potřebujete: přejít do nastavení a poté do sekce Safari, Hesla, uložená hesla;
  3. Tato služba nemusí být schopna ukládat hesla na některých webových stránkách. takové stránky z bezpečnostních důvodů zakazují ukládání jakýchkoli dat;
  4. Doporučuji používat tento nástroj - klíčenku - pouze na mobilním zařízení Apple bez útěku z vězení. Protože používání této funkce s útěkem z vězení může být nebezpečné.