Keychain Access este un manager de nume de cont, parole și informații despre cardul de credit care vă permite să salvați valorile introduse o dată pe un dispozitiv pe altul folosind iCloud. Cu ajutorul acestuia, puteți scăpa de necesitatea de a introduce același lucru pentru a autoriza pe site-uri sau a plăti bunuri și servicii prin Safari pe computerele iPhone, iPad și Mac. Să vă încredeți sau nu datele în serviciul cloud Apple este o problemă individuală pentru toată lumea. Cu toate acestea, trebuie să știți că toate acestea sunt stocate pe serverele companiei în formă criptată și nu pot fi vizualizate de angajații companiei.

Deci, cum configurați și utilizați Keychain Access pe iPhone și iPad care rulează iOS 7?

1. Accesați aplicația „Setări” a sistemului de operare iOS 7:

2. Accesați secțiunea iCloud:

3. Accesați meniul „Breloc”:

4. Glisați comutatorul pentru a activa funcția în poziția activă (poate fi necesar să introduceți parola pentru contul dvs. Apple ID):

5. Creați, introduceți și reintroduceți codul de securitate iCloud pentru a restricționa accesul la accesul la cheie:

6. Selectați țara de reședință, introduceți numărul de telefon și confirmați datele făcând clic pe „Următorul”:

7. Acum, când introduceți datele contului sau ale cardului de credit pe paginile de internet din Safari, utilizatorul va avea ocazia să le salveze pentru acces ulterior la acestea de pe alte dispozitive:

Astfel, prin configurarea funcției Keychain Access pe toate dispozitivele dvs., puteți elimina necesitatea de a introduce detaliile contului dvs. pe mai multe servicii, repetându-le o singură dată pe unul dintre dispozitivele asociate cu un singur ID Apple.

ICloud Keychain este o tehnologie pentru stocarea și sincronizarea datelor sensibile pe computerele iPhone, iPad, iPod Touch și Mac. Următoarele articole se încadrează în categoria informațiilor stocate: autentificări și parole pentru știri și resurse de divertisment, rețele sociale; carduri de credit adăugate pentru plată, chei pentru autorizare în puncte Wi-Fi securizate.

Mai recent, dezvoltatorii Apple transferă date între diferite dispozitive din aplicații terțe - „Calendare”, „Contacte”, „Poștă” și mesaje „iMassage”. Ideea principală a iCloud Keychain este de a oferi utilizatorilor serviciile unui manager de parole securizat (criptare AES pe 256 de biți) care funcționează cu orice date și permite utilizatorilor să nu-și amintească informații, ci să fie de acord să completeze automat formularele text disponibile pentru autorizare sau plată.

Cum se configurează și se folosește?

Tehnologie - Keychain iCloud - Disponibil pe sistemul de operare iOS? începând de la versiunea 7.0.3 și pe macOS cu Mavericks 10.9 și este deschis în aproape toate regiunile lumii (dezvoltatorii scriu mai multe despre restricții într-o secțiune specială de pe site-ul oficial Apple). Dacă condițiile sunt de acord, rămâne să treceți prin setările inițiale:

  1. Pe iPad, iPhone și iPod Touch, deschideți Setări și mergeți pentru a edita profilul iCloud curent;
  2. În partea de jos a meniului disponibil, găsiți elementul „Breloc”, apoi mutați glisorul în poziția activă;

  3. Pe computerele Mac, procedura este și mai simplă - accesați „Preferințe sistem iCloud” și puneți o bifă în fața elementului cu același nume;


  4. Dacă sistemul solicită autorizare, va trebui să introduceți date din contul curent Apple ID;
  5. Dacă autentificarea cu doi factori este activă în profil, atunci va trebui să confirmați acțiunile asupra gadgetului vecin adăugat la profil (trebuie să introduceți un cod din 6 cifre și să permiteți lucrul la setările iCloud).

Dacă nu au existat probleme cu repetarea acțiunilor descrise și a existat dorința de a încerca sistemul de stocare și sincronizare a datelor, rămâne să ne dăm seama de detalii.

  1. Căutați în „Setări”, mergeți în meniu la articolul „Parole și conturi”;
  2. Secțiunea care se deschide vă va permite să vizualizați conturile curente adăugate la sistem (iCloud, eventual Gmail sau unele e-mailuri interne). Un nou meniu va apărea în partea de sus - „Parole pentru site-uri și programe”. Iată datele pentru autorizarea rapidă utilizate în tehnologia „iCloud Password Bundle”;
  3. Prin urmare, dacă există dorința de a încerca sistemul, trebuie să intrați în interior și apoi să faceți clic pe semnul plus din partea de sus a meniului. După aceea, un mic formular va fi afișat pe ecran pentru interacțiunea ulterioară. Este important să introduceți adresa site-ului (de asemenea, pagina principală este potrivită, nu este necesar să mergeți adânc și să adăugați un link către secțiune cu contul dvs. personal, sistemul va da seama totul fără ajutor inutil), apoi datele de conectare și parola;
  4. După salvare, datele vor fi afișate în meniul „Parole pentru site-uri și programe” și vor deveni active pentru utilizare în timpul autorizării. Cum? Elementar! Trebuie să accesați pagina site-ului adăugată la pachet și să consultați formularul de text pentru a intra. Apoi rămâne să faceți clic pe un spațiu gol pentru introducere, iar pe ecran va apărea o tastatură tactilă și odată cu acesta - un element special numit „Utilizați ...”. Dacă doriți, puteți consulta direct butonul care prezintă cheia, dacă există mai multe date de conectare și trebuie să selectați o anumită opțiune;
  5. Plata funcționează în același mod - datele de pe cardurile deja utilizate sunt atașate automat și vă permit să efectuați plăți sigure în orice moment.

Și totuși - funcția funcționează în liniște cu toate aplicațiile terță parte. Același browser de la Google Chrome, apelează „Keychain” și ia în liniște datele necesare. La fel, este ușor să vă conectați la serviciile App Store, iTunes și iCloud.

Intrebari si raspunsuri

Cum să accelerați procesul de introducere a datelor?

Bifați în „Setări” din secțiunea „Parole și conturi” vizavi de elementul „Completare automată”. Dacă sistemul întâlnește o resursă deja familiară, va încerca imediat să completeze câmpul „nume de utilizator și parolă”. Pe smartphone-urile care încep cu versiunea 5S, va trebui să puneți degetul pe scanerul de amprente Touch ID, până la 5S - introduceți codul de verificare. Pe iPhone X, totul funcționează instantaneu - fața este scanată automat.

Accesul la breloc este sigur?

Așa cum sugerează dezvoltatorii de la Apple, este aproape imposibil să treceți prin criptarea pe 256 de biți, deoarece datele de criptare sunt generate separat pentru fiecare dispozitiv, în conformitate cu setările selectate și parolele introduse. Puteți citi mai multe despre protocoalele de securitate la.

Dacă iCloud Keychain este dezactivat, ce se întâmplă?

Sistemul va oferi două opțiuni pentru acțiuni - ștergeți datele salvate sau arhivați-le pentru utilizare ulterioară dacă tehnologia este necesară din nou.

Cum configurez completarea automată a informațiilor despre cardul de credit în Safari?

Procedura este simplă:

Câți oameni au încredere astăzi în computere și smartphone-uri? Aproape toți stochează fotografii, informații despre locație, adesea date și coduri de pe carduri de credit și nenumărate parole.

Acestea din urmă sunt principalul mecanism de protecție pe Internet, ele stochează accesul la tot ceea ce utilizatorul ar dori probabil să ascundă, ceea ce înseamnă că trebuie să fie avansat și dificil de selectat. Numărul de astfel de parole se acumulează, depășește o sută, iar acum nimeni nu este capabil să le amintească.

Pentru a proteja și a stoca în siguranță toate aceste informații, Apple a venit cu un instrument numit Keychain.

chei "?

În esență, este un manager de parole dezvoltat de Apple special pentru sistemul său de operare. Acest instrument a fost introdus odată cu lansarea a 8-a iterație Mac OS în 1998. De atunci, acest utilitar a făcut parte din fiecare versiune Apple, inclusiv OS X și iOS (din 2013 denumit „Keychain iCloud”).

Este capabil să stocheze diferite tipuri de date pe Mac, de exemplu: parole pentru site-uri web, servere FTP, conturi SSH, rețele publice, rețele fără fir, note ascunse, software și hardware generale, precum și pentru certificate și imagini de disc criptate.

Istoricul produsului

Un mecanism similar a fost folosit inițial în PowerTalk, care a fost clientul de e-mail al Apple. Aplicația a fost creată la începutul anilor 90, iar Keychain a ajutat la controlul tuturor datelor utilizatorilor din diferite servicii de e-mail la care PowerTalk s-ar putea conecta.

Datorită utilizării criptării, parolele erau greu de reținut și recuperat. Prin urmare, a fost necesar un mecanism care să permită utilizatorului să introducă o singură parolă (parola principală), care deschide accesul la toate serviciile de poștă (fiecare dintre ele având propriile date de intrare și parole).

Această idee, în ciuda clarității și utilității sale, a murit practic în momentul în care Apple a decis să pună capăt sprijinului pentru PowerTalk. Dar odată cu revenirea lui Steve Jobs, această funcție a revenit și a funcționat nu numai într-un singur program, ci și în întregul sistem.

Depozitare și acces

În sistemele de operare Mac din a 10-a generație și mai vechi, toate fișierele Keychain sunt stocate într-un director special al sistemului, iar aceste date pot fi găsite și într-o aplicație specială aflată în folderul Utilities.

Keychain Access este un software gratuit și open source (codul sursă al utilitarului este disponibil gratuit) și este distribuit sub o licență publică de la Apple.

Fișierul breloc stochează o mulțime de informații, doar notele și parolele sunt criptate din acesta, orice altceva (nume, linkuri) este disponibil pentru toată lumea.

Blocare și deblocare

În mod implicit, fișierul Keychain este protejat de aceeași parolă, motiv pentru care funcția devine disponibilă imediat după conectarea sub numele dvs. de utilizator și parola. Poate fi instalat separat pentru această funcție, dacă este necesar.

De asemenea, pentru o securitate mai mare, puteți seta intervalul de blocare, de exemplu, 15 minute. În acest caz, dacă computerul nu a fost utilizat timp de 15 minute, va solicita o parolă atunci când încearcă să utilizeze Keychain.

„Grămadă de chei

Acest produs a fost anunțat de Apple la 15 ani de la apariția brelocului original. În 2013, la conferința WWDC, împreună cu versiunea iOS 7 și OS X Mavericks, a fost prezentată o tehnologie care vă permite să sincronizați toate datele de utilizator clasificate și să le stocați în siguranță.

Această opțiune este un fel de stocare online care conține toate datele utilizatorului, inclusiv: parole din pagini web, parole din rețelele fără fir, informații despre cont și informații despre plata cu cardul de credit (cu excepția codurilor de securitate - CVV).

Toate aceste date sunt criptate conform standardului AES pe 256 de biți și sunt disponibile numai pentru un anumit utilizator și numai în aplicațiile adaptate să funcționeze cu acest utilitar (trimit o cerere către Safari, browserul verifică corespondența linkurilor și oferă aplicației o parolă salvată anterior în sistem).

Serviciul include și crearea de parole lungi, complexe și sigure pentru site-urile pe care este înregistrat un utilizator.

„Grămadă de chei

Este ușor să începeți cu iCloud Keychain, dar primul lucru de făcut este să vă asigurați că gadgetul dvs. (smartphone sau tabletă) are iOS 7.0.3 sau o versiune ulterioară, iar computerul dvs. are OS X 10.9 sau o versiune ulterioară.

Configurarea „iCloud Keychain” (instrucțiuni pentru Mac):

  • Mai întâi trebuie să lansați „Setări” (fie din meniul Apple, care este ascuns în spatele pictogramei Apple din colțul din stânga sus, fie din Dock).
  • Selectați submeniul iCloud.
  • Introduceți parola pentru a debloca computerul.
  • Introduceți detaliile ID-ului dvs. Apple.

Cum să adăugați un card de credit la Keychain Access (instrucțiuni Mac):

  • Safari trebuie să ruleze.
  • Apoi accesați setările acestui program.
  • În setări, selectați submeniul Completare automată.
  • Lângă sub-elementul „Carduri de credit” găsiți butonul „Editați”.
  • Faceți clic pe butonul „Adăugați” și introduceți detaliile cardului dvs. de credit.

Cum să configurați „iCloud Keychain” (manual iOS):

  • Selectați submeniul iCloud.
  • Apoi sub-elementul „Breloc”.
  • Mutați comutatorul iCloud Keychain în poziția ON. În consecință, pentru a opri, trebuie să efectuați acțiunea opusă, comutați comutatorul în poziția OPRIT.
  • După aceea, vi se va solicita să veniți cu o nouă parolă sau să introduceți una existentă (codul de securitate iCloud Keychain pentru activare), precum și să atașați gadgeturi terțe pentru confirmare.
  • Trebuie să lansați „Setări” din ecranul „Acasă”.
  • Selectați submeniul Safari.
  • Apoi sub-elementul Parolă și Completare automată (Parole și Completare automată).
  • Introduceți codul de acces.
  • Selectați submeniul Carduri de credit salvate.
  • Adăugați un card de credit (introduceți informațiile necesare și faceți clic pe „Finalizare”).

Sincronizare parolă

Sincronizarea datelor în Keychain Access nu este o opțiune obligatorie. Mai mult, puteți sincroniza datele fără a trece prin iCloud (numai pentru Mac).

Pentru a evita sincronizarea datelor cu cloud-ul și stocarea lor ulterioară acolo, în timpul activării „Keychain”, trebuie să săriți pasul generării unui cod de verificare din șase cifre. În acest caz, toate datele vor fi stocate numai pe un suport fizic, local.

De asemenea, este posibilă sincronizarea datelor folosind fișierele stocate în / Library / Keychains /. De obicei utilizat în rețelele corporative și atunci când aveți mai multe computere Mac partajate. Din păcate, sincronizarea dispare adesea atunci când schimbați parola din sistem pe unul dintre dispozitive (inclusiv Windows).

Acces la accesul la breloc

Înainte de a putea obține toate informațiile stocate în cloud, trebuie să confirmați „Keychain iCloud”. Acest lucru se poate face prin SMS sau un al doilea dispozitiv.

În primul caz, utilizatorul va primi o parolă generată aleatoriu pentru a-și verifica identitatea sau pentru a activa complet Keychain-ul iCloud. Puteți confirma de pe un alt dispozitiv dacă utilizatorul are un gadget pe care această funcție rulează deja.

Cod de securitate

Acesta este un cifru special, format din 6 cifre, sau dintr-o combinație alfanumerică complicată, care este necesară pentru a avea acces la parole și carduri stocate în „Breloc”, precum și în cazul pierderii accesului la acesta.

Posibile probleme

Nimic nu este perfect, nici măcar brelocul iCloud. Nu, nu vorbim despre găuri de securitate sau pierderi de date, dar există multe probleme asociate conectării acestei funcții și returnării accesului după actualizarea, resetarea și configurarea unui dispozitiv nou. O listă cu cele mai frecvente întrebări și probleme este prezentată mai jos.

Nu s-a putut configura brelocul iCloud din cauza lipsei codului SMS? Dacă din anumite motive mesajul SMS cu codul parolei nu vine, trebuie să:

  • Verificați conexiunea la rețeaua celulară.
  • Asigurați-vă că telefonul este capabil să primească SMS (planul tarifar și cartela SIM instalată acceptă această caracteristică).
  • Verificați dacă numărul este indicat pentru a primi codul SMS. Pentru a face acest lucru, în setările „Keychain”, găsiți subelementul „Adițional” și specificați numărul corect în elementul „Număr de verificare”.

ICloud Keychain nu sincronizează datele între dispozitive. În acest caz, dezactivarea completă și activarea funcției ajută aproape întotdeauna. Acest lucru trebuie făcut pe toate dispozitivele. Odată pornite din nou, toți vor primi cele mai actualizate date de la server și vor continua să funcționeze ca de obicei.

Aveți probleme la găsirea parolelor salvate în iCloud Keychain? Puteți găsi datele și cardurile de credit stocate în cloud după cum urmează:

  • Accesați „Setări” din ecranul „Acasă”.
  • Selectați submeniul Safari.
  • Apoi subelementul Parole.
  • Sistemul vă va cere să introduceți o parolă sau să utilizați Touch ID (senzor de amprentă) pentru a vă verifica identitatea.
  • După verificare, puteți selecta orice site și puteți vedea parola pentru acesta.

Safari nu salvează date în Keychain Access și nu oferă înlocuirea parolei. Această problemă poate fi rezolvată prin activarea comutatorului „Nume și parole” în submeniul „Completare automată” din preferințele Safari.

Dispozitive acceptate

ICloud Keychain este acceptat pe toate dispozitivele Apple actuale. Aceasta include toate computerele care rulează sistemul de operare macOS din generația Mavericks și mai târziu (aproape toate computerele fabricate în 2007 și ulterior).

De asemenea, această funcție funcționează pe mai multe dispozitive mobile (toate pe care puteți instala sistemul de operare mobil versiunea 7.0.3). Acestea includ: iPhone a 4-a generație și versiunile ulterioare, iPad a doua generație și versiunile ulterioare, a 5-a generație și versiunile ulterioare.

Stocarea parolelor în siguranță și sincronizarea acestora între dispozitive nu este o sarcină ușoară. În urmă cu aproximativ un an, Apple a prezentat lumii iCloud Keychain, magazinul său centralizat de parole pentru OS X și iOS. Să încercăm să ne dăm seama unde și cum sunt stocate parolele utilizatorilor, ce riscuri potențiale poartă și dacă Apple poate tehnic să acceseze datele decriptate stocate pe serverele sale. Compania susține că un astfel de acces este imposibil, dar pentru a confirma sau a nega acest lucru, este necesar să înțelegem cum funcționează brelocul iCloud.

iCloud 101

De fapt, iCloud nu este doar un serviciu, este denumirea generală de marketing pentru gama Apple de servicii cloud. Aceasta include setări de sincronizare, documente și fotografii și Find My Phone pentru găsirea dispozitivelor pierdute sau furate și iCloud Backup pentru backupul în cloud, iar acum iată iCloud Keychain pentru sincronizarea sigură a parolelor și numerelor cardurilor de credit între dispozitivele iOS și OS X. ...

Fiecare serviciu iCloud este situat pe propriul domeniu de nivel al treilea, cum ar fi pXX-keyvalueservice.icloud.com, unde XX este numărul grupului de servere responsabil pentru procesarea cererilor de la utilizatorul curent; acest număr poate diferi pentru diferite ID-uri Apple; conturile mai noi au de obicei o valoare mai mare pentru acest contor.

Cod de securitate ICloud

Înainte de a ne scufunda în analiza Keychain iCloud, să aruncăm o privire asupra modului în care este configurat acest serviciu. Când iCloud Keychain este pornit, utilizatorul este solicitat să vină și să introducă un cod de securitate iCloud (Codul de securitate iCloud, în continuare - iCSC). În mod implicit, formularul de introducere vă permite să utilizați un cod numeric din patru cifre, dar făcând clic pe linkul „Opțiuni avansate”, puteți utiliza în continuare un cod mai complex sau chiar permite dispozitivului să genereze un cod aleatoriu puternic.

Știm acum că datele din iCloud Keychain sunt protejate de iCSC. Ei bine, să încercăm să ne dăm seama exact cum este implementată această protecție!

Interceptarea traficului sau omul în mijloc

Primul pas în analiza serviciilor de rețea este adesea obținerea accesului la traficul de rețea dintre client și server. În cazul iCloud, există două noutăți pentru noi: bune și rele. Rău este că tot traficul (bine sau cel puțin majoritatea covârșitoare a acestuia) este protejat de TLS / SSL, adică este criptat și nu poate fi „citit” printr-un atac pasiv obișnuit. Vestea bună este că Apple a oferit tuturor un cadou pentru a explora iCloud și nu folosește fixarea certificatelor, ceea ce face mai ușoară organizarea unui atac om-în-mijloc și decriptarea traficului interceptat. Pentru aceasta este suficient:

  1. Plasați dispozitivul experimental iOS pe aceeași rețea Wi-Fi cu computerul de interceptare.
  1. Instalați un server proxy de interceptare (cum ar fi Burp, Charles Proxy sau orice alt tip similar) pe computer.
  1. Importați certificatul TLS / SSL al serverului proxy instalat pe dispozitivul iOS (detalii în ajutorul proxy-ului specific).
  1. În setările rețelei Wi-Fi de pe dispozitivul iOS (Setări → Wi-Fi → Nume rețea → HTTP Proxy), specificați adresa IP a computerului de interceptare din rețeaua Wi-Fi și portul pe care ascultă serverul proxy.

Dacă totul se face corect, atunci tot traficul dintre dispozitiv și iCloud va fi dintr-o privire. Și de la interceptarea acestui trafic, se va vedea clar că iCloud Keychain este construit pe baza a două servicii iCloud: com.apple.Dataclass.KeyValue și com.apple.Dataclass.KeychainSync - atât la pornirea inițială, cât și la pornirea repetată pe alte dispozitive iOS, schimbă date cu aceste servicii.

Primul serviciu nu este nou și a fost printre primele caracteristici ale iCloud; este utilizat pe scară largă de aplicații pentru a sincroniza setările. Al doilea este nou și a fost dezvoltat, evident, special pentru iCloud Keychain (deși funcționalitatea sa vă permite teoretic să îl utilizați în alte scopuri). Să luăm în considerare aceste servicii mai detaliat.

com.apple.Dataclass.KeyValue

După cum s-a menționat mai sus, acesta este unul dintre serviciile utilizate de iCloud Keychain. Multe aplicații existente îl folosesc pentru a sincroniza cantități mici de date (setări, marcaje și altele asemenea). Fiecare intrare stocată de acest serviciu este asociată cu un ID de pachet și un nume de magazin. În consecință, pentru a primi datele stocate de la serviciu, trebuie să furnizați și acești identificatori. În cadrul Keychain iCloud, acest serviciu este utilizat pentru sincronizarea înregistrărilor Keychain în formă criptată. Acest proces este descris în detaliu suficient în documentul de securitate iOS din Sincronizarea brelocurilor și Cum funcționează sincronizarea brelocurilor.

Sincronizare breloc

Când un utilizator pornește prima oară Keychain-ul iCloud, dispozitivul creează un „cerc de încredere” și sincronizează identitatea (cheile publice și private) pentru dispozitivul curent. Cheia publică a acestei perechi este plasată într-un „cerc de încredere”, iar acest „cerc” este semnat de două ori: mai întâi cu cheia de sincronizare privată a dispozitivului și apoi cu o cheie asimetrică (bazată pe criptografie eliptică) derivată din parola iCloud a utilizatorului. De asemenea, „cercul” stochează parametrii pentru calcularea cheii din parolă, cum ar fi sarea și numărul de iterații.

„Cercul” semnat este salvat în stocarea cheie / valoare. Nu poate fi citit fără a cunoaște parola iCloud a utilizatorului și nu poate fi modificat fără a cunoaște cheia privată a unuia dintre dispozitivele adăugate la cerc.

Când un utilizator activează iCloud Keychain pe un alt dispozitiv, acel dispozitiv accesează stocarea Cheie / valoare din iCloud și observă că utilizatorul are deja un „cerc de încredere” și că noul dispozitiv nu face parte din acesta. Dispozitivul generează chei de sincronizare și o chitanță pentru solicitarea calității de membru al cercului. Chitanța conține cheia de sincronizare publică a dispozitivului și este semnată cu o cheie obținută din parola iCloud a utilizatorului utilizând parametrii de generare a cheilor obținuți din magazinul Key / Value. Chitanța semnată este apoi plasată în magazinul Cheie / valoare.

Primul dispozitiv vede noua chitanță și îi arată utilizatorului un mesaj că noul dispozitiv solicită să fie adăugat la cercul de încredere. Utilizatorul introduce parola iCloud și semnătura chitanței este verificată pentru corectitudine. Aceasta dovedește că utilizatorul care a generat cererea de adăugare a dispozitivului a introdus parola corectă la crearea chitanței.

După ce utilizatorul confirmă adăugarea dispozitivului în cerc, primul dispozitiv adaugă cheia de sincronizare publică a noului dispozitiv în cerc și îl semnează de două ori folosind cheia sa de sincronizare privată și folosind cheia obținută din parola iCloud a utilizatorului. Noul „cerc” este salvat în iCloud, iar noul dispozitiv îl semnează în același mod.

Cum funcționează sincronizarea Keychain

Acum există două dispozitive în „cercul de încredere” și fiecare dintre ele cunoaște cheile publice pentru sincronizarea altor dispozitive. Încep să facă schimb de înregistrări Keychain prin stocarea iCloud Key / Value. Dacă aceeași intrare este prezentă pe ambele dispozitive, atunci modificarea care are un timp ulterior va avea prioritate. Dacă timpul de modificare al unei înregistrări în iCloud și pe dispozitiv este același, înregistrarea nu se va sincroniza. Fiecare intrare de sincronizare este criptată special pentru dispozitivul țintă; nu poate fi decriptat de alte dispozitive sau Apple. În plus, înregistrarea nu este stocată permanent în iCloud - este suprascrisă de noile înregistrări sincronizate.

Acest proces se repetă pentru fiecare dispozitiv nou adăugat la cercul de încredere. De exemplu, dacă un al treilea dispozitiv este adăugat la cerc, cererea de confirmare va fi afișată pe celelalte două dispozitive. Utilizatorul poate confirma adăugarea pe oricare dintre ele. Pe măsură ce se adaugă dispozitive noi, fiecare dispozitiv din cerc se sincronizează cu cele noi pentru a se asigura că setul de intrări este același pe toate dispozitivele.

Trebuie remarcat faptul că nu întregul Keychain este sincronizat. Unele intrări sunt legate de dispozitiv (cum ar fi conturile VPN) și nu ar trebui să părăsească dispozitivul. Doar înregistrările care au atributul kSecAttrSynchronizable sunt sincronizate. Apple a setat acest atribut pentru datele utilizatorului Safari (inclusiv numele de utilizator, parolele și numerele cardurilor de credit) și pentru parolele Wi-Fi.

De asemenea, în mod implicit, nici intrările din aplicații terțe nu sunt sincronizate. Pentru a le sincroniza, dezvoltatorii trebuie să seteze în mod explicit atributul kSecAttrSynchronizable atunci când adaugă o intrare în Keychain.

iCloud Keychain funcționează cu două depozite:

  • com.apple.security.cloudkeychainproxy3
- ID pachet: com.apple.security.cloudkeychainproxy3;
  • com.apple.sbd3
- ID pachet: com.apple.sbd (SBD este un acronim pentru Daemon Backup Secure).

Primul magazin se presupune că este utilizat pentru a menține o listă de dispozitive de încredere (dispozitive din „cercul de încredere” între care este permisă sincronizarea parolei), pentru a adăuga dispozitive noi la această listă și pentru a sincroniza intrările între dispozitive (în conformitate cu mecanismul descris mai sus).

Cel de-al doilea spațiu de stocare este destinat copierii de rezervă și restaurării înregistrărilor Keychain pe dispozitive noi (de exemplu, atunci când nu există alte dispozitive în „cercul de încredere”) și conține înregistrări Keychain criptate și informații conexe.

Astfel, înregistrările Keychain sunt stocate în stocare obișnuită Key / Value (com.apple.securebackup.record). Aceste înregistrări sunt criptate folosind un set de chei stocate acolo (BackupKeybag). Dar acest set de chei este protejat prin parolă. De unde vine această parolă? Ce este serviciul Apple de depunere a parolei? În continuare, să încercăm să ne dăm seama.

apple.Dataclass.KeychainSync

Acesta este un serviciu nou, a apărut relativ recent: pentru prima dată suportul său a apărut în versiunile beta de iOS 7, apoi a lipsit în iOS 7.0–7.0.2 și a fost re-adăugat în iOS 7.0.3, care a fost lansat simultan cu lansarea OS X Mavericks. Acesta este serviciul de escrow de parolă menționat mai sus (adresa serviciului este pXX-escrowproxy.icloud.com).

Serviciul este conceput pentru a stoca în siguranță secretele utilizatorului și permite utilizatorului, după autentificarea cu succes, să recupereze aceste secrete. Pentru autentificarea cu succes, aveți nevoie de următoarele:

  • jeton de autentificare iCloud, obținut în schimbul ID-ului și parolei Apple în timpul autentificării primare în iCloud (metoda standard de autentificare pentru majoritatea serviciilor iCloud);
  • codul de securitate iCloud (iCSC);
  • un cod numeric format din șase cifre trimis de serverele Apple către numărul de telefon mobil asociat utilizatorului.

Acest lucru arată bine în teorie, dar pentru a determina dacă teoria este aceeași cu practica, trebuie să audităm programul clientului escrow. Pe iOS și OS X, acest program se numește com.apple.lakitu. Descrierea procesului de inversare și audit a acestuia depășește domeniul de aplicare al articolului, așa că să mergem direct la rezultate.

Comenzi disponibile

Auditul com.apple.lakitu vă permite să definiți o listă de comenzi implementate de serviciul escrow. Captura de ecran corespunzătoare arată comenzile și descrierile acestora. Aș dori în special să mă opresc asupra ultimei comenzi - cu ajutorul acesteia este posibil să schimbați numărul de telefon asociat contului curent. Prezența acestei comenzi face ca autentificarea cu mai mulți factori utilizată pentru recuperarea iCloud Keychain (parola Apple ID + dispozitiv iCSC +) să fie mai puțin fiabilă, deoarece elimină unul dintre factori. De asemenea, este interesant faptul că interfața cu utilizatorul iOS nu vă permite să executați această comandă - pur și simplu nu are o astfel de opțiune (cel puțin eu nu am găsit-o).

Particularitatea acestei comenzi, care o deosebește de toate celelalte, este că necesită autentificare cu parola Apple ID și nu va funcționa dacă simbolul iCloud este utilizat pentru autentificare (alte comenzi funcționează cu autentificare simbolică). Aceasta servește drept protecție suplimentară pentru echipă și indică faptul că proiectanții de sistem au luat măsuri pentru a-și îmbunătăți securitatea. Cu toate acestea, nu este deloc clar de ce această comandă este prezentă deloc în sistem.

Recuperarea datelor depuse

Pentru a primi datele depuse, se execută următorul protocol:

  1. Clientul solicită o listă de înregistrări cu garanție (/ get_records).
  1. Clientul solicită un număr de telefon asociat, către care serverul va trimite un cod de confirmare (/ get_sms_targets).
  1. Clientul inițiază generarea și livrarea unui cod de confirmare (/ generate_sms_challenge).
  1. După ce utilizatorul a introdus codul de confirmare iCSC și SMS, clientul inițiază o încercare de autentificare utilizând protocolul SRP-6a (/ srp_init).
  1. După primirea unui răspuns de la server, clientul efectuează calculele prescrise de protocolul SRP-6a și solicită datele escrow (/ recuperare).
  1. Dacă clientul este autentificat cu succes, serverul returnează datele depuse, după ce le-a criptat anterior pe cheia generată în timpul operațiunii de protocol SRP-6a (dacă protocolul a funcționat cu succes, atunci atât serverul, cât și clientul au calculat această cheie partajată).

Este important să rețineți că numărul de telefon obținut la pasul 2 este utilizat exclusiv pentru nevoile interfeței cu utilizatorul, adică pentru a arăta utilizatorului numărul către care va fi trimis codul de confirmare, iar la pasul 3 clientul nu trimite serverului numărul către care ar trebui trimis codul de confirmare.

Parolă securizată la distanță

În pasul 4, clientul pornește protocolul SRP-6a. SRP (Secure Remote Password) este un protocol de autentificare a parolei, care este protejat de ascultare și atacuri om-în-mijloc. Astfel, de exemplu, atunci când utilizați acest protocol, este imposibil să interceptați hash-ul parolei și apoi să încercați să îl recuperați, pur și simplu pentru că nu este transmis niciun hash.

Apple folosește cea mai avansată versiune a protocolului, SRP-6a. Această opțiune indică terminarea conexiunii în cazul în care autentificarea eșuează. În plus, Apple permite doar zece încercări de autentificare eșuate pentru un anumit serviciu, după care toate încercările ulterioare sunt blocate.

O descriere detaliată a protocolului SRP și a bazelor sale matematice depășește scopul acestui articol, dar, din motive de completitudine, mai jos este o versiune privată utilizată de serviciul com.apple.Dataclass.KeychainSync.

SHA-256 este utilizat ca funcție de hash H, iar grupul de 2048 biți de la RFC 5054 „Utilizarea protocolului Secure Remote Password (SRP) pentru autentificare TLS” este folosit ca grup (N, g). Protocolul rulează după cum urmează:

  1. Dispozitivul generează o valoare aleatorie a, calculează A \u003d g ^ a mod N, unde N și g sunt parametri ai grupului de 2048 biți din RFC 5054 și trimite un mesaj către server conținând ID-ul utilizatorului, valoarea calculată a lui A și codul de confirmare SMS. Valoarea DsID este utilizată ca identificator de utilizator - un identificator numeric unic de utilizator.
  2. După primirea mesajului, serverul generează o valoare aleatorie b și calculează B \u003d k * v + g ^ b mod N, unde k este factorul definit în SRP-6a ca k \u003d H (N, g), v \u003d g ^ H (sare, iCSC) mod N este un verificator de parolă stocat pe server (analog al unui hash de parolă), Sarea este o sare aleatorie generată la crearea unui cont. Serverul trimite un mesaj către client care conține B și Salt.
  3. Prin intermediul unor transformări matematice simple, clientul și serverul calculează cheia de sesiune comună K. Aceasta finalizează prima parte a protocolului - generarea cheii - și acum clientul și serverul trebuie să se asigure că obțin aceeași valoare K.
  4. Clientul calculează M \u003d H (H (N) XOR H (g) | H (ID) | Sare | A | B | K), dovada că știe K și trimite M și codul de confirmare SMS către server. Serverul calculează, de asemenea, M și compară primirea de la client și valoarea calculată; dacă nu se potrivesc, serverul pune capăt execuției protocolului și termină conexiunea.
  5. Serverul dovedește cunoștințele despre K către client prin calcularea și trimiterea lui H (A, M, K). Acum ambele părți la protocol nu numai că au elaborat o cheie comună, dar s-au asigurat și că această cheie este aceeași pentru ambele părți. În cazul serviciului de escrow, serverul returnează, de asemenea, un vector de inițializare aleatoriu IV și o înregistrare de escrow criptată pe cheia partajată K utilizând algoritmul AES în modul CBC.

Utilizarea SRP pentru protecția suplimentară a datelor utilizatorilor, în opinia mea, îmbunătățește semnificativ securitatea sistemului împotriva atacurilor externe, chiar dacă numai pentru că vă permite să rezistați eficient încercărilor de forță brută iCSC: puteți încerca o singură parolă per conexiune la serviciu. După mai multe încercări nereușite, contul (în cadrul lucrării cu serviciul de escrow) este transferat în starea de blocare soft și blocat temporar, iar după zece încercări nereușite, contul este blocat complet și este posibilă o colaborare suplimentară cu serviciul de escrow numai după ce iCSC pentru cont este resetat.

În același timp, utilizarea SRP nu protejează în niciun fel împotriva amenințărilor interne. Parola depusă este stocată pe serverele Apple, deci se poate presupune că Apple o poate accesa dacă este necesar. În acest caz, dacă parola nu a fost protejată (de exemplu, criptată) înainte de escrow, acest lucru poate duce la un compromis complet al intrărilor Keychain stocate în iCloud, deoarece parola escrow va permite decriptarea cheilor de criptare, iar acestea - Intrările Keychain (uită-te la com apple.Dataclass.KeyValue).

Cu toate acestea, în documentul de securitate iOS, Apple afirmă că modulele de securitate hardware specializate (HSM) sunt utilizate pentru a stoca înregistrări escrow și că datele escrow nu pot fi accesate.

Depozit de garanție

iCloud oferă o infrastructură sigură pentru escrow Keychain, asigurând recuperarea Keychain doar de către utilizatori și dispozitive autorizate. Clusterele HSM protejează înregistrările escrow. Fiecare cluster are propria sa cheie de criptare care este utilizată pentru a proteja înregistrările.

Pentru a recupera Keychain, utilizatorul trebuie să se autentifice utilizând numele de utilizator și parola iCloud și să răspundă la SMS-ul trimis. Când se face acest lucru, utilizatorul trebuie să introducă un cod de securitate iCloud (iCSC). Clusterul HSM verifică corectitudinea iCSC utilizând protocolul SRP; iCSC nu este transmis către serverele Apple. Fiecare nod din cluster, independent de celelalte, verifică dacă utilizatorul a depășit numărul maxim de încercări de recuperare a datelor. Dacă verificarea are succes pe majoritatea nodurilor, clusterul decriptează înregistrarea escrow și o returnează utilizatorului.

Dispozitivul folosește apoi iCSC pentru a decripta înregistrarea escrow și pentru a obține parola utilizată pentru a cripta înregistrările Keychain. Folosind această parolă, Brelocul obținut din stocarea cheie / valoare este decriptat și restaurat pe dispozitiv. Sunt permise doar zece încercări de autentificare și recuperare a datelor depuse. După mai multe încercări nereușite, înregistrarea este blocată și utilizatorul trebuie să contacteze asistența pentru a o debloca. După a zecea încercare nereușită, clusterul HSM distruge înregistrarea escrow. Aceasta oferă protecție împotriva atacurilor de forță brută care vizează obținerea unei înregistrări.

Din păcate, nu este posibil să se verifice dacă HSM-urile sunt de fapt utilizate. Dacă totul este adevărat și HSM nu permite citirea datelor stocate în ele, atunci se poate argumenta că datele iCloud Keychain sunt protejate de amenințări interne. Dar, din nou, din păcate, este imposibil să demonstrezi sau să respingi utilizarea HSM și imposibilitatea de a citi date din acestea.

Rămâne încă o modalitate de a proteja datele împotriva amenințărilor interne - protejarea datelor escrow pe dispozitiv înainte de a le transfera pe serverele Apple. Din descrierea Apple rezultă (și inversarea confirmă acest lucru) că se aplică o astfel de protecție - parola depusă este precriptată folosind iCSC. Evident, în acest caz, nivelul de securitate (din amenințarea internă) depinde direct de complexitatea iCSC, iar iCSC implicit cu patru caractere nu oferă o protecție suficientă.

Deci, ne-am dat seama cum funcționează elementele individuale ale sistemului și acum este momentul să analizăm întregul sistem.

Punând totul împreună

Diagrama arată activitatea Keychain iCloud în ceea ce privește depunerea și restabilirea înregistrărilor Keychain. Sistemul funcționează după cum urmează:

  1. Dispozitivul generează un set de chei aleatorii (în terminologia Apple - cheie) pentru a cripta înregistrările Keychain.
  2. Dispozitivul criptează înregistrările Keychain (cu setul de atribute kSecAttrSynchronizable) utilizând setul de chei generate în pasul anterior și stochează înregistrările criptate în magazinul Key / Value com.apple.sbd3 (key com.apple.securebackup.record).
  3. Dispozitivul generează o parolă aleatorie formată din șase grupuri de patru caractere (entropia unei astfel de parole este de aproximativ 124 de biți), criptează setul de chei generate la pasul 1 cu această parolă și stochează setul de chei criptat în aplicația com. Key / Value store. sbd3 (BackupKeybag).
  4. Dispozitivul criptează parola aleatorie generată în pasul anterior utilizând cheia obținută din codul de securitate iCloud al utilizatorului și depune parola criptată în serviciul com.apple.Dataclass.KeychainSync.

La configurarea iCloud Keychain, utilizatorul poate folosi un iCSC complex sau aleator în locul codului implicit din patru cifre. Dacă se utilizează un cod complex, mecanismul sistemului de depozit nu se modifică; singura diferență este că cheia pentru criptarea parolei aleatorii va fi calculată nu din iCSC din patru cifre, ci din cea mai complexă introdusă de utilizator.

Cu un cod aleatoriu, subsistemul escrow de parolă nu este utilizat deloc. În acest caz, parola aleatorie generată de sistem este iCSC, iar sarcina utilizatorului este să o amintească și să o stocheze în siguranță. Intrările Keychain sunt încă criptate și stocate în magazinul Key / Value com.apple.sbd3, dar serviciul com.apple.Dataclass.KeychainSync nu este utilizat.

concluzii

Putem spune cu siguranță că, din punct de vedere tehnic (adică nu luăm în considerare ingineria socială) și în raport cu amenințările externe (adică nu Apple), securitatea serviciului de escrow iCloud Keychain este la un nivel suficient: datorită utilizării protocolului SRP, chiar dacă parola iCloud este compromisă, atacatorul nu va putea accesa înregistrările Keychain, deoarece acest lucru necesită suplimentar un cod de securitate iCloud, iar iterarea prin acest cod este semnificativ dificilă.

În același timp, folosind un alt mecanism iCloud Keychain - sincronizarea parolei, un atacator care a compromis parola iCloud și are un acces fizic scurt la unul dintre dispozitivele utilizatorului poate compromite complet Keychain iCloud: pentru aceasta, este suficient să adăugați dispozitivul atacatorului la „cercul de încredere” al dispozitivelor utilizatorului. , și pentru aceasta este suficient să cunoașteți parola iCloud și să aveți acces pe termen scurt la dispozitivul utilizatorului pentru a confirma solicitarea de a adăuga un nou dispozitiv la „cerc”.

Dacă luăm în considerare protecția împotriva amenințărilor interne (adică Apple sau cineva cu acces la serverele Apple), atunci în acest caz securitatea serviciului de escrow nu arată atât de roz. Afirmațiile Apple cu privire la utilizarea HSM-urilor și incapacitatea de a citi date de la acestea nu au dovezi concludente, iar protecția criptografică a datelor în garanție este legată de codul de securitate iCloud, setările implicite fiind extrem de slabe și permit oricui este capabil să extragă de pe serverele Apple (sau HSM-uri) înregistrările depuse, recuperați codul de securitate iCloud din patru cifre aproape instantaneu.

Când se folosește un cod alfanumeric complex, acest atac devine mai dificil pe măsură ce crește numărul de parole posibile. Dacă iCloud Keychain este configurat pentru a utiliza un cod aleatoriu, atunci serviciul de escrow nu este deloc implicat, ceea ce face efectiv imposibil acest vector de atac.

Nivelul maxim de securitate (fără a lua în considerare închiderea completă a Keychain-ului iCloud, desigur) este asigurat atunci când se utilizează un cod aleatoriu - și nu atât pentru că un astfel de cod este mai dificil de găsit, dar pentru că nu este implicat subsistemul escrow de parolă și, prin urmare, suprafața atacului este redusă. Dar comoditatea acestei opțiuni, desigur, lasă de dorit.


Bună tuturor, dragi cititori. Astăzi vă voi spune ce este celebrul Keychain iCloud, cum să-l activați și cum să-l utilizați. În primul rând, vă voi da o definiție a ceea ce este un breloc iCloud.

ICloud Keychain este un serviciu cloud de la Apple numit iCloud Keychain. Servește pentru stocarea datelor personale ale utilizatorilor în formă criptată. Datele personale pot fi considerate autentificări și parole, precum și coduri de securitate de pe cardurile de credit + certificate pe care le utilizați în serviciile Apple.

În mod firesc apare întrebarea - cât de sigur este să folosiți acest serviciu pentru siguranța datelor. Potrivit companiei, toate datele sunt stocate în formă criptată și numai proprietarul datelor le poate accesa, angajații Apple nu au acces la datele dvs.

Puteți activa acest mod direct de pe dispozitivul dvs. Apple, de exemplu iPad sau iPhone... Voi arăta folosind iPad ca exemplu, dar nu există nicio diferență între activarea modului pe un iPhone sau iPad.

Activare

Urmați pașii de mai jos pentru a activa cu succes serviciul necesar:

În viitor, veți putea sincroniza informațiile din acest serviciu cu alte dispozitive: atât bazate pe sistemul de operare iOS, cât și pe Mac OS.

Configurare

Acum, să configurăm salvarea automată a datelor importante în serviciul iCloud Keychain introdus în browserul Safari:

  1. În primul rând, trebuie să accesați setările dispozitivului și să selectați secțiunea Safari, apoi să accesați elementul parole;
  2. În câmpul care se deschide, trebuie să bifați caseta din secțiunea „Nume și parole”.

După efectuarea operației de mai sus, toate parolele, datele de conectare și alte date introduse în browserul Safari vor fi salvate, la cererea dvs., în serviciul cloud iCloud Keychain.

Câteva sfaturi pentru utilizarea acestei funcții descrise:

  1. Dacă nu puteți configura sau activa pachetele, trebuie să actualizați sistemul de operare la versiunea curentă și, de asemenea, să vă verificați conexiunea la Internet;
  2. Puteți vizualiza toate parolele salvate, pentru aceasta trebuie să: accesați setările, apoi la secțiunea Safari, Parole, parole salvate;
  3. Este posibil ca acest serviciu să nu poată stoca parole pe unele site-uri web. astfel de site-uri, din motive de securitate, interzic stocarea oricăror date;
  4. Vă recomand să utilizați acest instrument - breloc - numai pe dispozitivul dvs. mobil Apple fără jailbreak. pentru că utilizarea acestei funcții cu un jailbreak poate fi nesigură.