
위성을 사용하여 긴급 정보 공유하기
iPhone 14 또는 이후 모델을 사용하는 사용자는 위성 링크를 통해 다양한 서비스를 제공하도록 통신할 수 있습니다. 위성 링크에는 상당한 대역폭 제한이 적용되며, 대역폭을 최소화하는 보안 프로토콜이 필요합니다. 커뮤니케이션 유형(긴급 구조 요청, SMS 또는 iMessage)에 상관없이 Apple은 오프그리드 기기와 Apple 데이터 센터 간에 안전한 세션을 설정합니다. 기기에서 셀룰러 또는 Wi-Fi를 통해 서버에 공개 키 콘텐츠를 미리 등록하여 오프그리드 상태에서 대역폭을 절약합니다.
코어 보안 구조
기기가 위성 서비스를 요청하면, 키 교환을 위해 공개 키의 축약된 해시를 참조하여 Apple 데이터 센터와 보안 연결을 설정합니다. 각 공개-개인 키 페어는 하나의 세션만 지원하며 최대 8시간 동안 유효합니다. 서버는 각 클라이언트 키 페어에 대응하는 공개 키-개인 키 페어를 사전에 생성하고, 공개 키를 클라이언트와 공유합니다.
세션이 만료되거나 종료되면 Apple 서버 및 기기에서 해당 개인 키를 제거하여 전방향 안전성을 제공합니다. Apple 및 기기는 추가 키를 일정한 간격으로 등록하고, 개인 키 사용 후에 다시 온라인 상태로 돌아와, 위성 통신에 대한 침해 이후 보안을 제공합니다. 연관성을 차단하기 위해 각 기기에서 세션마다 식별자를 교체하기 때문에 관찰자는 세션 식별자에서 사용자를 식별할 수 없습니다.
위성을 통한 긴급 구조 및 긴급 출동 서비스
사용자가 위성을 통한 긴급 구조 요청 또는 긴급 출동 서비스를 이용하면,위에 설명된 Apple과의 보안 연결을 설정하여 대화 내용을 보호합니다. 추가적인 암호화 레이어를 사용하면 해당 콘텐츠가 항상 암호화를 유지하여 응용 프로그램 서버에 전달됩니다. 서버에서 이러한 메시지를 전송 계층 암호화로 Apple 긴급 서비스와 긴급 출동 파트너에게 전송합니다.
위성을 통한 iMessage
Wi-Fi 또는 셀룰러를 통해 iMessage를 교환하는 경우, 발신자 또는 수신자의 그룹에 있는 기기가 위성 서비스를 지원하는 경우 기기가 메시지와 함께 키 자료를 교환합니다. 이 메커니즘을 통해 셀룰러 연결이 불가능하고 기기가 위성에 연결될 때 메시지를 암호화 및 암호화 해제할 수 있는 업데이트된 키를 정기적으로 받게 됩니다. 키의 수명 제한으로 인해 사용자는 최근 30일 내에 메시지를 교환해야 오프그리드 상태에서 통신할 수 있습니다.
각 기기에서 대칭 키 자료를 생성하고, iMessage 암호화를 사용하여 배포하여 기기의 발신 메시지를 암호화합니다. 각 메시지는 해당 메시지 카운터에 대해 해시 기반 키 파생 함수(HKDF) 래칫을 통해 추출된 고유한 대칭 키를 사용합니다. 메시지를 수신하면 수신자의 기기가 발신자의 대칭 키 자료를 찾아 해당하는 메시지 키를 파생합니다. 기기가 다시 온라인 상태가 되면 새로운 대칭 키가 이후 세션용으로 배포됩니다.
발신하는 기기는 기기가 위성을 통해 메시지를 받을 수 있다는 것을 확인하는 수신자의 서명된 페이로드를 받은 후에만 iMessage를 보냅니다.
참고: 위성을 사용하는 iMessage는 그룹 메시지가 아니라 일대일 메시지를 지원합니다.
위성을 통한 SMS
위성을 사용하여 SMS 메시지를 보내거나 받는 경우, 메시지는 네트워크 상호 연동 기능(IWF)으로 전송되거나 수신됩니다. IWF는 발신자의 이동통신사에서 오프그리드 클라이언트에게 보내는 메시지를 받게 됩니다. 네트워크에 연결되지 않은 클라이언트는 이동통신사의 로컬 네트워크에 없기 때문에 로밍으로 나타납니다. 이와 마찬가지로, IWF는 오프그리드 클라이언트로부터의 발신 메시지를 받는 사람의 홈 이동통신사에 전송합니다. 암호화 및 인증으로 오프그리드 클라이언트와 IWF 간에 교환되는 SMS 메시지를 보호하며, Apple과 위성 신호에 접근할 수 있는 사람들이 메시지에 접근하거나 수정하지 못하도록 합니다.
NIST P256 곡선을 통한 Diffie-Hellman 키 교환은 클라이언트가 온그리드 상태일 때 시작되고, 오프그리드 상태로 변경하여 초기 위성 연결을 설정하면 완료됩니다. HKDF-SHA-256을 사용하여 Apple과 기기는 이 키 교환에서 여러 키를 파생합니다. 하나의 키는 256비트 키로 AES-GCM을 사용하여 적절한 SMS 라우팅(IMSI 및 SMSC)에 필요한 클라이언트 정보를 대칭적으로 암호화합니다. 또 다른 세트는 클라이언트와 IWF 간 메시지에 대해 양방향 암호화를 제공하며, 256비트 키로 AES-GCM을 사용합니다.
위성 연결은 기존의 셀룰러 통신보다 대역폭이 낮고 지연 시간이 길기 때문에, 오프그리드 상태에서 클라이언트가 접속하더라도 수신하는 모든 SMS 메시지가 즉시 전달되지는 않습니다. 이는 스팸이나 중요도가 낮은 메시지가 중요한 SMS 검색을 지연시키는 것을 방지하기 위해서입니다. 대신 시스템은 다음 중 하나에 해당하는 경우에만 인바운드 메시지를 클라이언트에게 전송합니다.
1. 오프그리드 상태의 클라이언트가 최근 24시간 동안 발신자에게 메시지를 전송했습니다.
2. 발신자가 승인된 발신자입니다(사용자의 긴급 연락처 또는 iCloud 가족 구성원).
이에 해당하지 않는 경우, Apple은 클라이언트가 다시 온라인 상태가 되어 기존 네트워크를 통해 메시지를 가져올 때까지 암호화된 메시지를 서버에 저장합니다. Apple은 사용자의 개인정보를 보호하기 위해 IWF가 사용자의 승인된 발신자 목록을 확인하지 않도록 합니다.
클라이언트는 세션의 기본 키에서 파생된 키인 HMAC-SHA-256를 사용하여 세션마다 각 전화번호에 임의의 가명을 생성합니다. 세션을 설정할 때 클라이언트는 허용 목록에서 각 전화번호의 가명을 Apple 서버로 전송합니다. 이와 마찬가지로, 클라이언트가 전화번호로 SMS를 보낼 때마다 가명을 생성하여 Apple에 전송합니다. 이렇게 하면 Apple은 세션에 대해 허용된 가명 발신자 이름 목록을 유지할 수 있습니다.
누군가 세션 설정 후에 클라이언트에게 SMS를 보내면 IWF는 해당 메시지를 암호화하고 발신자의 전화번호에 대한 가명을 계산합니다. 암호화된 메시지와 함께 이를 Apple 서버에 전송합니다. 서버는 수신 메시지의 발신자 가명을 허용 목록과 비교하여 일치할 경우 암호화된 메시지를 전달합니다.