
Segurança do recurso Chegou Bem
O recurso Chegou Bem permite que um usuário escolha um contato para receber uma notificação caso o dispositivo compatível do usuário não chegue a um destino predeterminado. Quando o usuário escolhe um contato para iniciar uma sessão de Chegou Bem, uma iMessage com os detalhes da sessão (incluindo a localização do usuário) é enviada para o contato. O dispositivo do usuário que iniciou a sessão também gera um token de acesso e uma chave de criptografia da sessão de Chegou Bem. A chave de criptografia da sessão de Chegou Bem é enviada em uma segunda iMessage. No entanto, essa mensagem é mantida pelos servidores do iMessage, em vez de ser entregue de imediato. Por ser criptografada de ponta a ponta entre o usuário e o contato escolhido, o conteúdo dessa mensagem não é disponibilizado à Apple.
Enquanto o dispositivo do usuário que inicia a sessão de Chegou Bem está progredindo rumo ao destino, ele envia periodicamente uma mensagem com um sinal de atividade para os servidores do iMessage, que estendem o tempo de validade da entrega da mensagem que contém a chave de criptografia da sessão de Chegou Bem. Se o dispositivo for desligado ou perder a conectividade, os servidores do iMessage liberam automaticamente a iMessage que contém a chave de criptografia para o contato ao atingir o tempo de validade. A mensagem que contém a chave de criptografia da sessão de Chegou Bem também poderá ser liberada se o dispositivo não estiver progredindo rumo ao destino. Quando liberada dessa forma, o token de acesso também é incluído.
Durante uma sessão de Chegou Bem, o dispositivo do usuário que a iniciou coleta periodicamente dados relevantes do recurso Chegou Bem (como localização e nível da bateria), os criptografa com a chave da sessão de Chegou Bem e os envia para o iCloud. A Apple não tem acesso à chave da sessão de Chegou Bem e não pode acessar os dados enviados.
Para encerrar uma sessão de Chegou Bem, o usuário precisa autenticar. Se o usuário cancelar a sessão, os dados criptografados e a iMessage que contém a chave de criptografia da sessão de Chegou Bem serão apagados com segurança do servidor.
Se o dispositivo da sessão de Chegou Bem não chegar ao destino conforme esperado ou o timer configurado expirar, o contato escolhido receberá a iMessage que contém a chave de criptografia da sessão de Chegou Bem. Há dois cenários em que isso é possível:
Depois da perda de conectividade: neste caso, o contato designado não tem o token de acesso e o dispositivo do contato realiza uma segunda verificação para determinar se tempo suficiente se passou desde o último sinal de atividade. O dispositivo do contato solicita os dados criptografados da sessão de Chegou Bem ao servidor, que realiza uma terceira verificação para confirmar mais uma vez que tempo suficiente decorreu desde o último sinal de atividade. Em caso positivo, o servidor fornece os dados criptografados da sessão de Chegou Bem ao contato, que pode descriptografá‑los com sua chave da sessão de Chegou Bem.
Depois que o dispositivo do usuário determina que ele não está progredindo rumo ao destino: neste caso, se o usuário não cancelar ou estender a sessão de Chegou Bem quando solicitado, o contato designado recebe o token de acesso e a chave de criptografia da sessão de Chegou Bem. O dispositivo do contato fornece o token de acesso ao servidor, o que permite ao servidor baixar os dados criptografados da sessão de Chegou Bem. Com isso, é possível descriptografá‑los com a chave da sessão de Chegou Bem.