Les Français d'Applidium dénudent Siri et en exposent le fonctionnement

Presque rien ne se passe sur l'iPhone 64
Vincent Hermann
Siri est un assistant fourni avec l’iPhone 4S et piloté entièrement à la voix. Le principe est simple : on énonce une requête à haute voix, et le téléphone effectue l’action la plus appropriée. Une équipe de Français vient de percer les mystères de son fonctionnement, avec quelques surprises à la clé.

siri

Ce sont les Français de la société Applidium qui ont décortiqué Siri. Contrairement à ce que l’on pourrait penser, le traitement de l’information ne se passe aucunement sur l’iPhone 4S. La première étape du processus requête/action commence par l’enregistrement de la voix de l’utilisateur, comme le ferait un dictaphone. Ces données brutes sont ensuite compressées à l’aide d’un codec open source, Speex. Le fichier ainsi créé est envoyé en l’état aux serveurs d’Apple.

La connexion aux serveurs de Siri se fait en HTTPS via le port TCP 443. L’analyse proprement dite du fichier audio a donc lieu chez Apple, et c’est bien la firme qui répond par l’action la plus appropriée. L’iPhone 4S reçoit alors ce signal et exécute les « ordres ». Voilà pourquoi une panne des serveurs dédiés à Siri avait complètement rendu inutile la fonctionnalité : elle ne réalise aucun traitement en local et ne peut donc prendre aucune décision par elle-même.

Les développeurs d’Applidium indiquent que le protocole de communication de Siri est particulièrement « bavard », n’hésitant pas à agrémenter par exemple chaque mot d’une estampille (horodatage) et d’un degré de confiance. Cela étant, les informations techniques obtenues devraient aider les intéressés à créer des applications qui intègreraient Siri ou en utiliseraient le fonctionnement.

Cependant, cet objectif ne sera pas simple à atteindre. Applidium explique en effet qu’Apple utilise tout un jeu de signatures pour contrôler entre autres que les données sont bien émises depuis un iPhone S. Elles se basent notamment sur l’identifiant unique du téléphone, et il faut donc posséder un tel identifiant pour arriver à communiquer avec les serveurs. Et quand bien même cette étape serait franchie, Apple a la possibilité de bloquer un identifiant, dans le cas probable où il serait utilisé par plusieurs appareils.

À la fin du billet consacré à ses explications, Applidium fournit un certain nombre d’outils dédiés à la compréhension du protocole de Siri et rédigés en Ruby pour la plupart. L’éditeur indique qu’ils sont là pour des développeurs expérimentés qui souhaiteraient des applications prenant en charge Siri. Évidemment, il n’y aurait aucune chance pour qu’un tel projet passe les sas de l’App Store.