Dazzozo氏が、任天堂のゲーム機に実装されているペアレンタルコントロールを解除するためのマスターキーを生成することができるmkey generatorを公開していました。
ペアレンタルコントロールはゲーム機を買い与えた親が子供に対して勝手にコンテンツを購入したりすることを防ぐために実装された機能で、コントロール配下のゲーム機ではインターネット接続が制限されるためeショップ等での商品やサービスの購入などインターネット接続必須の機能を使えなくなります。
ある意味任天堂の良心から生まれた機能ですが、これが解除できるというのは表向きの理由としての「パスワードを忘れた!」という親御さんにはとっても便利です。(敢えて裏の理由は言いません。かつてSwizzy氏の3DS Parental Toolの記事にアクセスが集まった事実から裏の理由の方がニーズが高い可能性があります。そもそも仮に忘れたとしてもサポートセンターに電話すれば済むんですから。)
mkey generatorはこのペアレンタルコントロールのマスターキーを生成します。それをゲーム機に入力することで「保護者による使用制限」(ペアレンタルコントロール)で設定された制限を解除することができます。
具体的には、本来パスワードを忘れたり秘密の答えを忘れた場合任天堂のサポートに電話して「マスターキー」を発行してもらい、それを入力することでペアレンタルコントロールが解除できるのですが、そのマスターキーをmkey generatorで発行できるのです。
電話する際にサポートへ伝える
・「お問い合わせ番号」(パスワードを忘れたことにすれば画面に表示される)
・ゲーム機本体に設定されている日付
をmkey generatorに入力することでマスターキーが生成されます。
マスターキーのアルゴリズムは3DS 7.2.0-XとWii U 5.0.0から使われているもので、つまりはDazzozo氏はそのアルゴリズムの解析に成功したことになります。
任天堂はアルゴリズムをゲーム機全体に適用しているため、mkey generatorで生成するマスターキーが適用できるのは以下の任天堂のゲーム機になります。
3DS / DSi / Wii U / Wii / Switch
そう、Switchが入っているのがポイントです。
ただし、ファームウェアによっては対応していないものがあります。実はSwitchがそれに該当します。残念ながらSwitchの最新ファームウェアである3.0.1には非対応です。マスターキーのアルゴリズムが変更になったことに起因していますので、今後リリースされるファームウェアには今のmkey generatorは対応しません。第一、こんなものが公開されたらアルゴリズム変更するに決まってます。
Wii 1.0 -> 4.3: 全リージョン (v0)
DSi 1.1 -> 1.4.5: 全リージョン (v0)
DS 1.0.0 -> 6.3.0: 全リージョン (v0)
3DS 7.0.0 -> 7.1.0: 全リージョン (v1)
3DS 7.2.0 -> 11.5.0: 全リージョン (v2)
3DS “8.1.2” (key 13): USA, EUR, JPN (スマブラの非売品体験版カードにだけ存在するらしい)
Wii U 1.0.0 -> 4.1.0: 全リージョン (v0)
Wii U 5.0.0 -> 5.5.2: 全リージョン (v2)
Switch 1.0.0 -> 3.0.0: 全リージョン (v3)
[使い方]
1) mkey generatorへアクセスする
2) 上記サイトで下記情報を入力する
Device type: デバイスタイプ。3DS / DSi / Wii U / Wii / Switchを選択
System date: システム上の日付。普通は時間を合わせてあるので当日の日付
Inquiry number: 問い合わせ番号
以前の問い合わせ番号は8桁ですが、今の問い合わせ番号は10桁です。
正しい情報を入力するとブラウザの上の方に
Your master key is: XXXXX
とマスターキーが表示されます。
mkey generatorのソースコードはGitHubで公開されています。