
Безопасность функции «На связи»
Функция «На связи» позволяет пользователю выбрать контакт, который будет уведомлен, если устройство пользователя не прибыло в заранее заданное место назначения. Когда пользователь выбирает контакт, с которым будет начат сеанс «На связи», этому контакту отправляется сообщение iMessage с информацией о сеансе, включая место назначения. Устройство пользователя, начавшего сеанс, также генерирует токен доступа и ключ шифрования сеанса «На связи». Ключ шифрования сеанса «На связи» отправляется во втором сообщении iMessage, но это сообщение остается на серверах iMessage, а не доставляется немедленно. Это сообщение защищено сквозным шифрованием между пользователем и назначенным контактом, поэтому Apple не имеет доступа к его содержимому.
Когда устройство пользователя, начавшего сеанс, приближается к месту назначения, оно периодически отправляет сообщения о своей доступности на серверы iMessage. При этом продлевается контрольный срок, по истечении которого отправляется ключ шифрования сеанса «На связи». Если устройство выключается или теряет соединение с сетью, по истечении контрольного срока серверы iMessage автоматически отправляют сообщение iMessage с ключом шифрования назначенному контакту. Сообщение с ключом шифрования сеанса «На связи» также может быть отправлено, если устройство не приближается к месту назначения. В этой ситуации также отправляется токен доступа.
Во время сеанса «На связи» устройство пользователя, начавшего сеанс, периодически собирает данные, относящиеся к сеансу «На связи» (например, о геопозиции и уровне заряда аккумулятора), шифрует их ключом сеанса «На связи» и выгружает в iCloud. Apple не имеет доступа к ключу сеанса «На связи» и не может получить доступ к выгруженным данным.
Для завершения сеанса «На связи» требуется аутентификация пользователя. Если пользователь отменяет сеанс, зашифрованные данные и сообщение iMessage с ключом шифрования сеанса «На связи» безопасно удаляются с сервера.
Если устройство с активным сеансом «На связи» не прибыло в место ожидаемого назначения или время настроенного таймера истекло, выбранный контакт получает сообщение iMessage с ключом шифрования сеанса «На связи». Это может произойти в одной из двух ситуаций, описанных далее.
Если устройство, начавшее сеанс, теряет соединение с сетью. В этом случае у назначенного контакта нет токена доступа, и устройство этого контакта выполняет вторую проверку, чтобы определить, прошло ли достаточно времени с момента последнего сообщения о доступности устройства, начавшего сеанс. Устройство назначенного контакта запрашивает у сервера зашифрованные данные сеанса «На связи», и сервер выполняет третью проверку, чтобы подтвердить, что прошло достаточно времени с момента последнего сообщения о доступности устройства, начавшего сеанс. Если прошло достаточно времени, сервер предоставляет контакту зашифрованные данные сеанса «На связи», и контакт может расшифровать их своим ключом сеанса «На связи».
Если устройство, начавшее сеанс, не приближается к месту назначения. В этом случае, если пользователь, начавший сеанс «На связи», не отменяет и не продлевает его при отображении запроса, назначенный контакт получает токен доступа и ключ шифрования сеанса «На связи». Устройство этого контакта отправляет токен доступа на сервер, который позволяет ему загрузить зашифрованные данные сеанса «На связи». Затем эти данные можно расшифровать ключом сеанса «На связи».