Ce que le relais de Peering peut et ne peut pas voir
Un relais est un serveur au milieu de votre session de bureau à distance, la bonne question est donc ce qui l'empêche de regarder. La réponse est une clé qu'il ne reçoit jamais.
Ce qu'il fait
Le relais accomplit trois tâches. Il présente deux appareils qui ne peuvent pas se joindre directement, il copie des octets entre eux quand ils n'y arrivent toujours pas, et il envoie des notifications push de la part d'un Mac, comme « votre agent de code attend une réponse ». C'est un petit programme Rust, et garder sa mission réduite, c'est tout le principe.
Ce qu'il sait
Être honnête là-dessus fait partie de la démarche. Pour faire son travail, le relais voit :
- Les identifiants des appareils et le nom du Mac, pour pouvoir faire correspondre un iPhone à un Mac.
- L'adresse réseau depuis laquelle chaque appareil se connecte, comme tout serveur, et il remet à chacun celle de l'autre pour qu'ils puissent tenter un chemin direct.
- La formule utilisée et le temps de relais consommé, pour appliquer l'allocation gratuite de 30 minutes par jour.
- Qu'une session existe, quand elle a commencé et combien de temps elle a duré.
La politique de confidentialité les énumère en détail. Aucun d'eux n'est le contenu de votre session.
Ce qu'il ne peut pas voir
L'image, le son, le presse-papiers, les frappes au clavier et le pointeur circulent tous dans un canal chiffré qui se termine sur vos deux appareils. Le relais ne peut ni les lire, ni les modifier, ni les rejouer. Deux mécanismes le garantissent, et aucun ne repose sur la confiance accordée au relais.
Le canal de contrôle est du TLS entre les appareils
Quand une session est relayée, l'iPhone mène une négociation TLS 1.3 avec le Mac à travers le relais. Le relais copie les enregistrements chiffrés sans les terminer, il ne détient donc jamais de clé de session. Les deux extrémités s'authentifient avec les clés qu'elles ont épinglées lors de l'association, de sorte que le relais ne peut pas s'interposer sans que l'iPhone refuse la connexion.
La clé vidéo ne passe jamais par le relais
La vidéo emprunte une autre route, en UDP, et a donc besoin de sa propre clé. Une fois la session prête, le Mac crée 32 octets aléatoires et les envoie à l'iPhone à l'intérieur du flux TLS. Le relais transporte ce flux sans pouvoir l'ouvrir. Chaque sens dérive ensuite sa propre clé avec HKDF-SHA256, et chaque datagramme est scellé avec ChaCha20-Poly1305 et un compteur.
key = HKDF-SHA256(secret, salt = "pl.dmq.peering.video-datagram", info = direction) datagram = token | counter | ciphertext | tag
Le jeton de 16 octets placé en tête est la seule chose que le relais lit. C'est une indication de routage qui indique à quelle session appartient le datagramme, et le relais le retire avant de transmettre. Tout ce qui suit est du texte chiffré.
Notifications push et Live Activities
Quand votre iPhone est en veille, le Mac demande au relais de le réveiller par un push Apple. Ce qui entre dans ce push est volontairement mince : un court titre et un message pour une alerte, et pour les mises à jour de Live Activity, uniquement un état codé, comme des identifiants, des états, des nombres et des heures. Le Mac n'envoie jamais au relais votre écran ni la sortie de vos terminaux. Pour les approbations d'agents, voir les notifications pour agents de code.
Des preuves plutôt que des comptes
L'allocation gratuite doit être rattachée à quelque chose. Plutôt qu'un compte, les appareils signent un court message avec leur propre clé, et le relais vérifie la signature dans une fenêtre de cinq minutes. Cela lie l'allocation à une clé plutôt qu'à un identifiant réinitialisable, et personne ne peut se faire passer pour un Mac enregistré sans détenir sa clé privée.
Vérifiez par vous-même
Le format de transmission est documenté et le relais est construit autour d'une contrainte : il présente les pairs et copie des octets chiffrés, sans pouvoir inspecter, modifier ni autoriser ce qu'il transporte. Pour savoir comment une session arrive sur le relais au départ, lisez comment votre iPhone joint votre Mac de n'importe où, et pour savoir comment les clés de chaque extrémité deviennent dignes de confiance, l'association sans compte.
Questions
Le relais de Peering peut-il voir mon écran ?
Non. L'image est scellée avec une clé que le Mac envoie à l'iPhone dans une connexion chiffrée que le relais ne peut pas ouvrir : il ne fait donc que copier du texte chiffré.
Que sait le relais de Peering sur moi ?
Les identifiants d'appareil, le nom de votre Mac, la formule utilisée, l'usage du relais et l'adresse réseau depuis laquelle chaque appareil se connecte. Il ne voit ni la vidéo, ni l'audio, ni les frappes, ni le contenu du presse-papiers.