Depuis ce week-end des tutos pour lancer des backups de jeux Switch apparaissent un peu partout.
En effet, SciresM (à l'origine du CFW Atmosphère) a récemment rendu public son plugin LayeredFS qui permet, pour faire très très simple, de lancer des jeux depuis la carte SD.
Sur Twitter, SciresM rappelle toutefois la dangerosité d'un telle méthode et de l’énorme risque de ban auquel vous vous exposerez si vous connectez votre Switch à internet.
Dans un article publié sur reddit, SciresM explique comment fonctionne le système d'authentification aux serveurs de Nintendo (eShop, online, etc) et à quel point Nintendo à fait du très bon travail pour sécuriser les services en ligne. Il y rappelle notamment qu'à la différence de la Wii U, la Switch sort d'usine avec un certificat unique qui permet à Nintendo de vous identifier dès que vous utilisez un service en ligne. De plus, lorsque la Switch est connectée au WiFi, elle interroge régulièrement un serveur Nintendo pour détecter la connexion à internet.
Surtout, il indique que Nintendo peut très facilement détecter (en cas de connexion à ses serveurs) si vous utilisez une version modifiée d'un jeu, qu'il vienne d'un dump de cartouche ou encore plus d'un jeux eshop.
Il est donc important de comprendre le grand risque auquel vous vous exposez si vous connectez votre Switch à internet après avoir lancé des backups de jeux, qu'ils s'agissent de techniques dérivées du plugin LayeredFS ou du SX PRO/SX OS.
Le lancement de backup est très récent, des techniques plus sûres devraient voir le jour. Si vous vous lancez dans l'aventure du lancement de backup, soyez bien au fait des risques encourus
Mise à jour 19/06. Traduction de l'article de SciresM (par mariogamer) :
Comment l'autorisation d'application fonctionne sur la Switch ?
Salut tout le monde,
Après avoir effectué quelque recherche, plus tôt aujourd'hui, sur la manière dont la switch acquiert les autorisations pour permettent à un jeu d'accéder au jeu en ligne, j'ai appris que Nintendo ont mis en place un système anti-pirate très perfectionner. En fait, ils peuvent déterminer exactement si un jeu a été acheté légitimement. J'ai pensé à en faire un post, car c'est techniquement très intéressant.
Général
Voilà ce qui se passe quand vous vous connectez en ligne dans un certains jeu:
1. La console vérifie qu'elle peut se connecter
2. La console vérifie si elle peut obtenir une 'clé' d'autorisation (spécifique à la console) -- autrement dit, qu'elle n'est pas bannie
3. La console autorise le compte Nintendo liée à elle
4. La console obtient une clé d'autorisation spécifique au jeu
Espérons que cela fait du sens dans votre tête. Maintenant, voyons voir les détails techniques
La console vérifie qu'elle peut se connecter
Cette étape s'explique d'elle-même, mais je l'inclus pour que ces étapes soit le plus approfondie possible. Votre console se connecte périodiquement à "ctest.cdn.nintendo.net" et vérifie la réponse du serveur, qui doit contenir un en-tête spéciale -- "X-Organization: Nintendo". Si cet en-tête est présent, la console conclue qu'elle a accès à l'internet, sinon, eh bien non. C'est très simple.
Voyons voir ce qui nous intéresse vraiment.
Information supplémentaire
Pour ceux qui n'ont pas lus mon autre post sur l'eShop, je vous le recommande. C'est très intéressant. Par contre, il n'y a qu'un détail que nous allons retenir pour cet article.
Sur la Switch, le seul serveur non-authentifier est bugyo (d'une certaine manière, l'interface de l'eShop), tous les autre nécessite des authentifications du client et rejettent toute réponse en manque de celle-ci. En plus, ces certificats sont uniques à chaque console et flasher en usine. (Le reste détails les encryptions utilisées, etc.)
Notez donc que, contrairement à la 3DS, Nintendo peut déterminer qu'elle console a fait qu'elle demande. Ceci veut dire que Nintendo peut bannir le certificat d'un utilisateur et ainsi, l'empêcher d'utiliser les services Nintendo.
La console vérifie si elle peut obtenir une 'clé' d'autorisation (spécifique à la console)
(La seconde partie de l'article est un résumé rapide, car trop technique.
Nintendo à un serveur spécifique pour ce genre de demande: "dauth-lp1.ndas.srv.nintendo.net".
1. La console se connecte au serveur avec /challenge comme url
2. Dauth répond avec des données en format json et aléatoire
3. La console traite et décrypte ces données
4. La console renvoie une réponse au serveur, constitué de paramètre telle que le certificat du client, la version système, etc.
5. Si tout c'est bien passé, dauth renvoie une clé à la console bannie
Cette manière de procédé est efficace si la TrustZone (le logiciel effectuant divers opération de cryptographie sur la switch) n'est pas corrompu (par un attaquant l'ayant remplacé, par exemple).
La console autorise le compte Nintendo liée à elle
C'est une connexion standard, comme sur un ordinateur, je ne la décrirais donc pas en détail. La Switch se connecte à "api.accounts.nintendo.com".
La console obtient une clé d'autorisation spécifique au jeu
C'est l'étape la plus intéressante et c'est également ou la sécurité de Nintendo se voit le plus.
Cette étape a également un serveur dédié: "aauth-lp1.ndas.srv.nintendo.net". Voici comment ça fonctionne:
1. La console obtient une clé d'autorisation (pour la console) de dauth pour aauth
2. La console obtient le certificat du jeu (cette partie est décrite plus bas dans l'article originale, mais, en gros, pour une cartouche, c'est son certificat et pour un jeu eShop, le ticket, qui est décrypté avec une clé aléatoire)
Les impacts pratiques
Nintendo a très bien fait son travail sur ces protections.
Pour les cartouches, Nintendo peuvent déterminer si la cartouche contient des données valide pour un certains jeu. Les certificats ne peuvent plus être partagés entre dump, contrairement à la 3DS. En plus, les certificats contiennent aussi des données inconnues (cryptées) qui sont envoyées au serveur -- et le certificat est lié au compte Nintendo si des points or sont demandés. Le partage de certificat devrait donc être facilement détectable.
Pour les jeux eShop, Nintendo prévient entièrement le piratage en ligne. Les tickets ne peuvent pas être fabriqué, Nintendo peut vérifier si l'ID de la console est le même dans le ticket que dans le certificat, même chose pour l'ID du compte Nintendo. Les utilisateurs qui piratent des jeux ne peuvent pas avoir de bon ticket pour leur console et donc, ne peuvent pas se connecter en ligne sans ban immédiat -- c'est exactement ce que j'aurais fait si j’étais eux.
Ce message a été modifié par eliboa - 19 juin 2018 - 06:42.