
안전 확인 보안
안전 확인을 사용하면 사용자는 지원 기기가 미리 지정한 목적지에 도착하지 않은 경우 알림을 전송할 연락처를 선택할 수 있습니다. 사용자가 안전 확인을 시작할 연락처를 선택하면 목적지 등의 세션 세부사항이 포함된 iMessage가 해당 연락처로 전송됩니다. 시작하는 사용자의 기기는 액세스 토큰과 안전 확인 암호화 키도 생성합니다. 안전 확인 암호화 키는 두 번째 iMessage를 통해 전송되지만 이 메시지는 즉시 전달되지 않고 iMessage 서버에 보관됩니다. 이 메시지는 사용자와 지정된 연락처 사이에서 종단간 암호화되므로 Apple은 해당 내용을 볼 수 없습니다.
사용을 시작한 사용자의 기기가 목적지로 이동하는 동안 주기적으로 iMessage 서버에 심박 메시지를 보내서 안전 확인 암호화 키 메시지가 전달되기 전에 만료 시간을 연장합니다. 기기가 꺼지거나 연결이 끊어진 경우, 만료 시간에 도달하면 iMessage 서버에서 암호화 키가 포함된 iMessage를 자동으로 연락처에 보냅니다. 안전 확인 암호화 키 메시지는 기기가 목적지로 이동하고 있지 않은 경우에도 보내질 수 있습니다. 이런 방식으로 보내는 메시지에는 액세스 토큰이 포함됩니다.
안전 확인 세션 동안 사용을 시작한 사용자의 기기는 주기적으로 관련 안전 확인 데이터(예: 위치 및 배터리 수준)를 수집하고 안전 확인 키로 암호화한 다음 iCloud에 업로드합니다. Apple은 안전 확인 키에 대한 접근 권한이 없으며 업로드된 데이터에도 접근할 수 없습니다.
안전 확인 세션을 종료하려면 사용자 인증이 필요합니다. 사용자가 세션을 취소하면 암호화된 데이터 및 안전 확인 암호화 키가 포함된 iMessage가 서버에서 안전하게 삭제됩니다.
안전 확인 기기가 예상대로 목적지에 도착하지 않거나 구성된 타이머가 만료되면 선택된 연락처는 안전 확인 암호화 키가 포함된 iMessage를 받습니다. 이런 경우가 발생할 수 있는 시나리오는 두 가지가 있습니다.
연결이 끊어진 이후: 이 경우 지정된 연락처에는 액세스 토큰이 없으며 연락처의 기기는 마지막 심박 이후 충분한 시간이 경과했는지 확인하기 위해 두 번째 확인을 수행합니다. 연락처의 기기는 서버에서 암호화된 안전 확인 데이터를 요청하고, 서버는 마지막 심박 이후 충분한 시간이 지났는지 다시 확인하기 위해 세 번째 확인을 수행합니다. 충분한 시간이 지난 경우 서버는 연락처에 암호화된 안전 확인 데이터를 제공하며, 연락처는 안전 확인 키로 해당 데이터의 암호화를 해제할 수 있습니다.
사용자의 기기가 목적지로 이동하고 있지 않다고 판단한 이후: 이러한 경우 사용자가 메시지를 받고 안전 확인을 취소하거나 연장하지 않는 한 지정된 연락처에게 액세스 토큰과 안전 확인 암호화 키가 모두 제공됩니다. 연락처의 기기는 서버에 액세스 토큰을 제공하여 암호화된 안전 확인 데이터를 다운로드할 수 있도록 합니다. 그러면 암호 확인 키를 사용하여 데이터를 암호화 해제할 수 있습니다.