SCMS-T, le DRM inutile en Bluetooth

En cherchant des infos sur les codecs en Bluetooth, je suis tombé sur un truc bizarre : une sorte de DRM intégré dans les périphériques audio Bluetooth, mais qui a très peu d’effet. Le SCMS-T.

Le SCMS (Serial Copy Management System) est un flag présent dans les flux numériques (par exemple les CD) qui empêche théoriquement la copie. J’en avais parlé il y a longtemps, c’est essentiellement utilisé sur les DAT ou les MiniDisc (par exemple) pour empêcher la copie numérique. Et chez Creative, j’ai découvert que la technologie est déployée en Bluetooth, sous le nom SCMS-T. Mais là aussi… elle ne sert pratiquement à rien.

Le principe semble être le même que le HDCP, en théorie il faut que les appareils soient compatibles SCMS-T pour que l’audio fonctionne. Mais c’est visiblement très théorique, de ce que j’ai pu tester. Pour essayer, j’ai sorti un vieux casque Bluetooth (Sony DR-BT22) qui a la particularité de pouvoir désactiver le SCMS-T. En pratique, c’est assez simple : 99 % des appareils Bluetooth sont compatibles, et pour trouver un appareil qui ne l’est pas, il faut vraiment aller chercher des antiquités.

Le casque propose de désactiver le SCMS-T (et il supporte le codec MP3)

Maintenant, il se passe quoi quand on désactive le SCMS-T ? Dans la majorité des cas… rien. J’ai testé avec macOS (Big Sur), iOS (14), un smartphone sous Android (10) et un PC sous Windows 10 et ça marche. En fait, la majorité des stacks (le pilote, au sens large) ne réagit pas en l’absence de SCMS-T. Il y a quelques cas où la technologie est obligatoire tout de même, notamment avec la stack Bluetooth de Toshiba. Elle était utilisée sur les PC portables de la marque, et elle nécessitait un périphérique compatible par défaut (on trouve quelques traces de ce problème sur de vieux forums, avec des réponses d’un certain… Dandu). Dans les trucs plus récents, la stack CSR Harmony peut être configurée pour l’imposer, même si ce n’est pas obligatoire. On trouve aussi des traces de la technologie dans les pilotes Bluetooth Intel.

Petit test

Pour vérifier ce que ça donnait, j’ai donc désactivé le SCMS-T sur le casque Bluetooth, et installé le pilote CSR. Au départ, il désactive SCMS-T par défaut, et il est possible de l’activer. On peut aussi ensuite le faire dans les pilote, avec un avertissement.


Ensuite, le SCMS-T ne semble pas bloquer : j’ai pu jumeler le casque et envoyer de l’audio dessus… mais uniquement avec le profil HFP, donc avec une qualité sonore (très) dégradée.


En fait, l’absence de SCMS-T (ici, donc avec l’option activée côté PC et désactivée côté casque) bloque la liaison A2DP, c’est-à-dire l’audio de qualité. La première capture montre le message d’erreur en cas de tentative de connexion, et ce n’est pas très explicite. La seconde capture montre le résultat quand on active le SCMS-T côté casque.

Une erreur pas très explicite


Une fois activé, ça marche

Du coup, le SCMS-T rejoint la longue liste des DRM inutiles, qui peuvent juste ennuyer les gens dans de très rares cas. Mais la protection elle-même n’empêche pas réellement de copier du contenu. Et de toute façon, vu la dégradation de l’audio en Bluetooth, il n’y a aucune raison de vouloir récupérer le flux nativement.