2016-01-28 8 views
10

In watchOS 2, non ci sono più portachiavi condivisi.È sicuro utilizzare updateApplicationContext per inviare il valore portachiavi

Se si desidera inviare un valore di portachiavi dall'app iOS all'app Watch, è sicuro inviarlo tramite WCSession updateApplicationContext?

+0

Che cosa si intende per 'sicuro'? – ccjensen

+0

da SAFE intendo l'hacker non può ottenere le password ecc ... – david72

+0

@ccjensen Basato su [questo commento] (http://stackoverflow.com/questions/35073236/is-it-safe-to-use-updateapplicationcontext-to-send-keychain- valore/35075970 # comment57902075_35075970), l'OP ha [preoccupazioni su questo aspetto] (http://stackoverflow.com/q/32546602/4151918). –

risposta

1

di risposta da parte di Apple:

contenuti dell'app è crittografato durante il trasporto. In caso contrario, il contenuto viene memorizzato nel contenitore dell'app che fornisce la sicurezza intrinseca di contenitori.

Questo è un collegamento al white paper sulla sicurezza. https://www.apple.com/business/docs/iOS_Security_Guide.pdf

Per la parte in transito, si dovrebbe dare un'occhiata alla “Apple Watch” sezione in "App Sicurezza". Per la parte pertinente del contenitore di sicurezza, si dovrebbe dare un'occhiata alla sezione “File di protezione dei dati” in "Crittografia e protezione dei dati”.

2

Sì.

Se il valore del portachiavi non cambia e si aggiorna ripetutamente il contesto dell'applicazione, è possibile decidere di inviare solo il valore una volta (affinché l'orologio si aggiunga al portachiavi), invece di ripetere ripetutamente il portachiavi valore.

Un ingegnere di Apple discute using Watch Connectivity to send keychain items sul forum degli sviluppatori:

Se si dispone di dati sul telefono che si desidera accedere al guardare la vostra applicazione può usare WatchConnectivity per trasferire i dati specifici ed elementi del portachiavi di cui ha bisogno . Il portachiavi su Apple Watch contiene un insieme distinto di voci dal portachiavi sull'iPhone appaiato, quindi se hai bisogno di qualcosa in entrambe le posizioni puoi generarlo una volta per ogni dispositivo o utilizzare WatchConnectivity per trasferirlo tra di loro.

Aggiornamento:

In watchos 2, Guarda connettività è il meccanismo per il trasferimento di dati tra un telefono associato e il suo orologio. La comunicazione tra i dispositivi è crittografata, secondo lo iOS Security Guide.

Per quanto riguarda la possibilità che il dizionario sia accessibile durante la memoria, o in che modo potrebbe essere mantenuto prima che l'estensione lo riceva, penso che si debba fare affidamento su Apple per risolvere eventuali vulnerabilità.

E 'probabilmente ragionevole dire che le informazioni non è in come sicuro un luogo come il portachiavi, fino a quando il proprio interno si sveglia, riceve l'aggiornamento, quindi memorizza il valore nel portachiavi.

+1

Il valore può cambiare, è per questo che preferisco usare updateApplicationContext. Ma questo dizionario - è archiviato in un luogo sicuro in cui l'hacker non può ottenere i dati? – david72

2

Come per la linea guida di sicurezza Apple: -

portachiavi protezione dei dati Molte applicazioni hanno bisogno di gestire le password e altri pezzi brevi ma sensibili di dati, come le chiavi e token di accesso. Il portachiavi iOS fornisce un modo sicuro per archiviare questi elementi. Il portachiavi è implementato come un database SQLite memorizzato nel file system. Lì è solo un database; il daemon securityd determina quali elementi del portachiavi possono accedere a ogni processo o app. Le API di accesso tramite portachiavi danno luogo alle chiamate al daemon, che interroga i "gruppi di accesso-chiave", " " application-identifier, "e" applicationgroup "dell'app dell'app. Piuttosto di limitare l'accesso a un singolo processo, i gruppi di accesso consentono di condividere gli elementi portachiavi tra le app. Gli articoli portachiavi possono essere condivisi solo da tra le app dello stesso sviluppatore. Questo è gestito richiedendo app di terze parti per utilizzare i gruppi di accesso con un prefisso assegnato a loro tramite il programma per sviluppatori iOS tramite gruppi di applicazioni. Il prefisso e l'univocità del gruppo di applicazioni vengono applicate tramite la firma del codice , i profili di provisioning e il programma per sviluppatori iOS.

I dati del portachiavi sono protetti utilizzando una struttura di classe simile a quella utilizzata nel file Data Protection. Queste classi hanno comportamenti equivalenti a per classificare le classi di protezione dati, ma utilizzano chiavi distinte e fanno parte delle API denominate in modo diverso.


Apple Osservare IT utilizza le caratteristiche di sicurezza e tecnologia integrata per iOS per proteggere i dati sul dispositivo, così come le comunicazioni con la sua coppia iPhone e Internet. Ciò include le tecnologie come la protezione dei dati e il controllo dell'accesso con portachiavi. Il passcode dell'utente è anche impigliato con l'UID del dispositivo per creare chiavi di crittografia . L'accoppiamento di Apple Watch con iPhone è garantito utilizzando un processo (OOB) fuori banda per lo scambio di chiavi pubbliche, seguito dal collegamento segreto BTLE del link . Apple Watch visualizza un motivo animato, che è catturato dalla fotocamera su iPhone. Il pattern contiene un segreto codificato che viene utilizzato per l'associazione fuori banda BTLE 4.1. Standard BTLE La passkey Entry viene utilizzata come metodo di accoppiamento fallback, se necessario. Dopo la viene stabilita la sessione BTLE, le chiavi di scambio Apple Watch e iPhone utilizzando un processo adattato da IDS, come descritto nella sezione iMessage di questo documento. Una volta scambiati i tasti, la chiave Bluetooth della sessione viene scartata e tutte le comunicazioni tra Apple Watch e l'iPhone vengono crittografate tramite IDS, con i collegamenti BTLE e Wi-Fi crittografati che forniscono un livello di crittografia secondario. La rotazione delle chiavi viene utilizzata a intervalli di 15 minuti per limitare la finestra di esposizione, nel caso il traffico fosse compromesso. Per supportare le app che necessitano di dati in streaming, la crittografia è fornita utilizzando i metodi descritti nella sezione FaceTime di questo documento , utilizzando il servizio IDS fornito dall'iPhone abbinato. Apple Watch implementa l'archiviazione crittografata con hardware e la protezione basata su classe di file e articoli portachiavi, come descritto nella sezione Protezione dei dati di questo documento. Vengono anche utilizzate le keybags controllate dagli accessi per gli articoli portachiavi . Le chiavi utilizzate per la comunicazione tra l'orologio e l'iPhone vengono inoltre protette mediante la protezione basata su classi. Quando Apple Watch non è compreso nell'intervallo Bluetooth, è possibile utilizzare il Wi-Fi. Apple Watch non si unirà alle reti Wi-Fi a meno che le credenziali per farlo siano presenti sull'iPad associato, che fornisce automaticamente l'elenco delle reti note all'orologio. Apple Watch può essere manualmente bloccato tenendo premuto il pulsante laterale. Inoltre, l'euristica movimento viene utilizzata per tentare di bloccare automaticamente il dispositivo poco dopo essere stato rimosso dal polso. Se bloccato, Apple Pay non può essere utilizzato. Se il blocco automatico fornito dal rilevamento del polso è disattivato nelle impostazioni, Apple Pay è disabilitato. Il rilevamento dei polsi è disattivato tramite l'app Apple Watch su iPhone. Questa impostazione può anche applicare utilizzando la gestione dei dispositivi mobili. L'iPhone associato può anche sbloccare l'orologio , a condizione che l'orologio sia indossato. Questo è realizzato stabilendo una connessione autenticata dalle chiavi stabilite durante l'accoppiamento. iPhone invia la chiave, che l'orologio utilizza per sbloccare le sue chiavi di protezione dei dati. Il codice di accesso dell'orologio non è noto all'iPhone né viene trasmesso.Questa funzione può essere disattivata utilizzando l'app Apple Watch su iPhone. Apple Watch può essere abbinato a un solo iPhone alla volta. L'abbinamento con un nuovo iPhone cancella automaticamente tutti i contenuti e i dati di da Apple Watch. Abilitando Trova il mio telefono sull'iPhone abbinato abilita anche il blocco di attivazione su Apple Watch. Attivazione Blocco rende più difficile per chiunque di utilizzare o vendere un Apple Watch che ha stato perso o rubato. Activation Lock richiede l'ID Apple dell'utente e la password per disaccoppiare, cancellare o riattivare un Apple Watch.

Servizi Portachiavi Facilità d'uso https://developer.apple.com/library/ios/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html

Problemi correlati