Signal-ontwikkelaar Open Whisper Systems heeft een methode geïntroduceerd waarmee gebruikers op een privacyvriendelijke manier contacten kunnen vinden die Signal gebruiken. Hiervoor gebruikt de dienst de SGX-functie van Intel-cpu's.
In een blogpost legt Moxie Marlinspike van Open Whisper Systems uit dat het probleem van elke sociale dienst is dat er een zogenaamde social graph aanwezig moet zijn, waaruit blijkt wie de contacten van een bepaald persoon zijn. Sommige diensten laten je bijvoorbeeld inloggen met Facebook om contacten te vinden. Marlinspike zegt dat daarbij het probleem is dat Facebook de eigenaar van de data is. Daar komt bij dat hij wil dat Signal zo weinig mogelijk over zijn gebruikers weet. Ook zouden gebruikers er niet blind op hoeven te vertrouwen dat Open Whisper Systems doet wat het zegt, omdat 'dat niet is hoe privacy werkt'.
Dit is een probleem als Signal de contacten van een gebruiker in kaart wil brengen, omdat 'niemand een leeg adresboek wil hebben als hij een bericht wil versturen'. Op dit moment gebeurt dat met hashes, maar die zouden vrij eenvoudig om te keren zijn omdat een telefoonnummer nu eenmaal uit een vast aantal cijfers bestaat, waardoor de keyspace klein is. Bovendien moeten gebruikers erop vertrouwen dat de opensourcecode van Signal ook daadwerkelijk op de servers van Open Whisper Systems draait.
Daarom willen de Signal-ontwikkelaars voor de servers gebruik gaan maken van de SGX-functie van Intel-cpu's, oftewel Software Guard Extensions. Intel maakte deze functionaliteit in 2013 onderdeel van zijn architectuur, om de mogelijkheid te geven beschermde softwarecontainers te maken. Marlinspike legt uit dat een applicatie een secure enclave kan inrichten die losstaat van de rest van het OS en de kernel. Daarnaast is het mogelijk om cryptografisch te bewijzen dat bepaalde code daadwerkelijk in die enclave draait.
Oorspronkelijk zou de functie voor drm-doeleinden in het leven zijn geroepen, zodat een mediaserver kan verifiëren dat het systeem van een kijker daadwerkelijk de juiste code draait. In het Signal-scenario is het echter de server die de enclave draait, in versleuteld ram. Clients, die dus geen Intel-chip hoeven te hebben, maken beveiligd verbinding met de enclave en versturen er versleutelde identifiers van hun contactenlijst naar toe. Op die manier komt het hostsysteem niets te weten over hetgeen zich binnen de enclave afspeelt en daarmee ook niet over de gebruiker, aldus Marlinspike.
Open Whisper Systems heeft de code achter het nieuwe project publiekelijk beschikbaar gemaakt. Daarbij gaat het nog om een technology preview. De code moet in de komende maanden in clients worden opgenomen, zodra de tests zijn afgesloten.