Bon, ça fait quelques semaines que j’ai testé, mais je publie enfin : VideoLAN a mis à jour les librairies pour la lecture des Blu-ray, et c’est nettement plus efficaces pour les menus des Blu-ray.
Note : libbluray 0.8 est disponible depuis quelques jours, mais j’avais pris du retard. Je complète dès que possible.
Petit résumé rapide : la lecture de Blu-ray avec VLC fonctionne assez bien, mais demande deux choses, des clés de décodage pour les films et un certificat pour la lecture. Pour les clés, deux possibilités : soit une clé « générique » qui décode tous les Blu-ray, soit une clé pour un film précis. Dans le premier cas, ça fonctionne pour les films de la génération (MKB) 30 au maximum, sachant que les disques récents dépassent la génération 50. Dans le second cas, il faut que quelqu’un récupère la clé de votre édition, ce qui n’est pas évident.
Pour le certificat, il est là pour permettre au lecteur (physique) de lire un film, et il peut être bloqué : si votre certificat est révoqué par un disque, votre lecteur ne pourra plus lire de films avec ce certificat précis. Sans nouveau certificat, le lecteur est donc inutilisable, et les certificats valides sont évidemment rares. Actuellement, on peut trouver des certificats valables jusqu’à la génération 50 (MKB50) mais pas au-delà. Une autre solution existe, mais elle est illégale.
Pour lire un Blu-ray avec VLC, il faut idéalement compiler le programme avec la dernière version de libbluray (la 0.7) et installer les derières versions de libaacs (0.8) et libbdplus (0.1.2) ainsi que les clés. J’ai déjà détaillé comment faire tout ça, mais ça reste assez ardu si vous n’avez jamais fait ça : c’est surtout de la démonstration technique.
En pratique, j’ai donc compilé VLC 3.0 avec libbluray 0.7 et installé les dernières bibliothèques pour le reste, avant de tester avec mes Blu-ray. Le résultat ? Des menus classiques qui marchent dans la majorité des cas, des menus en Java qui marchent parfois (il y a un bug au niveau de la gestion des polices) et un résultat satisfaisant. En fait, les Blu-ray qui ne fonctionnent pas chez moi sont ceux qui sont trop récents (MKB30 et au-delà) ainsi que ceux protégés par BDPlus.
Le problème principal n’évolue pas réellement : VLC est capable techniquement de lire les films, mais les DRM ne permettent pas à une personne qui a acheté un film de le lire avec VLC. Et comme la protection AACS est bien plus efficace que le CSS des DVD, il y a peu de chances qu’une solution simple de contournement des DRM arrive un jour.
Salutation,
Je ne me suis pas penché sur le fonctionnement d’un blu-ray,
mais je me demandais pourquoi on n’attaque pas la clef en bruteforce comme — il me semble — on le ferais sur la CSS d’un DVD ?
Je me doutes que ça doit pas être instantanée, mais après c’est mis en cache, Ou alors j’ai sauté un truc qui empêcherais cette solution.
Cordialement.
Y a un souci, le temps. C’est de l’AES 128 bits, donc ça demande énormément de temps pour tout tester. Ca arrivera un jour, mais pas tout de suite.
Et le fait que l’AACS dépend de pas mal de choses, même quand on a la clé du disque lui-même, ça empêche peut-être de tout tester.
Le DVD, c’était une clé de seulement 40 bits et un algorithme avec des failles, donc on peut le faire rapidement en brute force.