iMessageなどでロックアウトされたときの対策法

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

iMessage / FaceTime ロックアウト対策法


最新の状況(2015/2)

2015/2/14ころにAppleが行ったとみられる変更により、ロックアウト問題は発生しなくなった模様です。いままでロックアウト状態だった人が使えるようになったとか、適当なMLB/ROM使ったけどカスタマーコードダイアログが出ないでそのまま利用できたという報告が次々に寄せられているようです。どの程度適当に作った番号でもokなのかはまだ未確認ですが、制約が大幅に緩和されのは事実のようです。一説には、Apple IDの認証方式が変わったのに伴ない、ハードウェアでのチェックを緩和したのではないかと言われています。ということで、すくなくとも、このページに書かれた手法でそれらしいMLB/ROMを作成すれば、iMessage/FaceTimeが問題なく使えるようになったようです。

http://support.apple.com/en-us/HT204152


最新の状況(2015/1)

2014/12/29ころにAppleが行ったとみられる変更により、同一のMLB/ROMを複数機種で使い回すとiMessageの送信ができなくなりました。使い回しを止めてしばらくすると正常化するようです。このことを追記しました。 また、17文字MLBを独自に作るのはまだ不可能なようですが、13文字MLBなら可能なようです。以下にそのあたりをまとめておきます。

  • MLBとROMの両方がappleの許可リストに登録されていないとカスタマーコードダイアログが出る。
    • それでサポートに電話をするとMLBとROMを登録してくれる。
  • 2014/11/17まではそれでokだったけど以後はMLBのフォーマットが正しくないと登録してあっても拒否される。
    • (このとき同じカスタマーコードが出続ける)
  • 17文字MLBはチェックが厳しいけど13文字MLBはチェックが緩い。
    • (シリアル11文字の機種はMLBが13文字で、シリアル12文字の機種はMLBが17文字)
  • なので13文字MLBで良いという人は現在わかっている情報でなんとかなる。
    • たとえばPPYWWSSSSCCCCでPPは場所、Yは年号、WWは週、SSSSは週の中での製造番号。
    • CCCCはハードウェアモデルの番号でMBP 5,5なら6GCAなど。
  • 13文字MLBと組み合わせるROM番号は適当で良い(EthernetのMACとかでも良い?)。
    • この規則で作った13文字MLB/ROMで出たカスタマーコードを伝えればずっと使える。
  • 17文字MLBの規則はまだ解明できていないしROMとも連動している可能性がある。

最新の状況(2014/12)

2014/11/17ころにAppleが行ったとみられているiMessage認証ポリシー変更にともない、以下の注意が必要になりました。

  1. 以下ではアップルサポートに電話をかけることが説明されていますが、現在はサポートに電話をしてロック解除を依頼しても解決されなくなりました。なのでサポートに 電話をしても無駄 です。正しいMLB/ROMの値を書き込めば、電話をしなくてもロックアウトは解除されます。
  2. 以下では実機のMLB/ROMを使うとロックアウト解除されると書いてあります。この方法は効果がありますが、実機のシリアル番号を使うのと同様に危険なのではという意見もあります。実機の番号を使わない方法をOSX86コミュニティで模索中のようですので、様子を見てもよいかもしれないです。



iCloundの設定がそこそこ成功したところで、iMessageやFaceTimeを使おうとすると次のようなメッセージが出ることがあります。このときの対策法です。
tonymacosx86の以下のガイドを参考に書きました




これはどのような状態なのか?


良いニュース

ネットワーク関係の設定はうまく働いています。 設定が不備だとiMessageサーバに門前払いされるのですが、 一応は相手をしてくれてます。サーバに正しく接続できていると言えます。

悪いニュース

このメッセージが出たら何をやっても無駄です。 Appleのサポートに電話をしてロックを解除してもらう以外にこのメッセージを取り除く手段はありません。
(加筆)2014年11月17日ころから発生したMLB/ROM関連のチェックによりこのダイアログが出た場合は、サポートに電話押してもこのメッセージを取り除けないことが報告されています。MLB/ROMの設定を下記で説明するように正しく設定することで、サポートに電話をしなくてもこのメッセージを取り除けるようです。

何がいけないのか

本当に何が原因でロックアウトされたのかは、Appleの中の人にしかわかりません。 その理由も今後、変更される可能性は十分にあります。 いろいろ推測されているところでは次の原因のようです。

  • シリアル番号とそのほかのマシン固有番号が正しくなくて、その組み合わせが定まっていない このような場合に、セキュリティ的に問題があると判断してロックアウトされるのではと推測されています。


どうすれば良いのか


  • Cloverを使う(Chameleonでも設定できますがかなり面倒です)
  • シリアル番号を正しく設定する
  • マシン固有の番号(SmUUID)を正しく設定する
  • マシン固有の番号(MLB/ROM)を正しく設定する
  • これらをいったん設定したら変更しない
  • 以上を行っても解決しないならAppleに電話する (上記が不完全だと電話をかけても解決しなかったり再びロックアウトされたりします)


シリアル番号はどう設定すればよいか


実存するシリアル番号を絶対に使ってはいけない

アップルから実際に出荷された実存するマシンのシリアル番号を使えばうまく接続できると書いているページもあります。 ある意味正しいですが、実存するマシンのシリアル番号は 絶対に使ってはいけません。 実存しないシリアル番号でも十分に機能します。 あるシリアル番号が、実際にアップル社から出荷されたMacintoshなのかどうかは、以下のページで確認できます。

  • https://selfsolve.apple.com/agreementWarrantyDynamic.do ここで、機種情報が出てくる番号は、出荷されて誰かが使用している可能性があります。 その本来のユーザがiCloudを使用すると、同じシリアル番号で、機種固有情報が異なるMacintoshが存在していることがアップルのサーバに伝わります。セキュリティ上に問題があるとされて、ロックアウトされたりApple IDが停止されたりするのではと言われています。本来のユーザに迷惑がかかるだけでなく、このことからHackintoshに対して厳しい対応が将来とられる可能性もあります。だれにとってもメリットがありませんので、実在するシリアル番号は絶対に使わないようにしましょう。上記のページで「申し訳ありませんが、お客様が指定されたシリアル番号が見つかりません。」と言われるシリアル番号を使うようにしましょう。
    自分が所有しているマシンのシリアル番号を使うという方法も可能です。が、両方を使うとやはりロックアウトされる可能性があります。所有しているけど壊れている、もしくは、ゴミ捨て場に捨ててあるマシンのシリアル番号を使うのであればおそらく問題無いでしょう。ただ、後述するように、使おうとしているマシンとハードウェア構成が類似している必要がありますので、現実的ではないかもしれません。

Clover Configuratorでシリアル番号を作る

シリアル番号を生成するツールはいくつかあります。Cloverを使うならClover Configuratorを使います。これのSMBIOSの項目を選択して、魔法の杖のアイコン

をクリックすると、シリアル番号などを生成して、これをconfig.plistに書いてくれるダイアログが現れます。

製品種類を決める

上記の場面で、最初に決めなければいけないのは機種名です。昔は、MacPro3,1にしておけば大丈夫と言われていましたが、今はそれが最善策ではありません。MacPro3,1のように古いCPU使用機種を指定すると、最新CPUに対してkernel機能が最適化されません。また、iMessageなどで不具合が出る可能性もあります。そこで、Mactracker (App Storeにもあります)などを使って、各種Macintosh機種のスペックを調べて、自分が使おうとしているマシンにできるだけ構成が似ている製品を選びます。とはいっても、CPUが近いことが重要で、それ以外の項目はあまり気にする必要はありません。

機種名を決めると、それに付随した情報が自動入力されます。シリアル番号は、機種にもよりますが、生産国、年号、生産週、製造番号、機種固有文字から構成されています。週と製造番号をランダムに選ぶことができますので、何回かボタンを押して生成してください。生成できたら、上記のサイトで、実存していないことを確認します。


機種固有番号(SmUUID)はどう設定すればよいか


(追記)以下の記述でのBoardSerialNumberの設定は、次の項目で述べるMLBの設定を行えば、設定しなくても良い、もしくは、MLBの設定に合わせるべきかもしれません。

上記の操作で、機種固有の情報のかなりが自動設定できます。 BoardSerialNumberとSmUUIDについては、手動で調整する必要があります。 config.plistのSMBIOSの項目では、以下のように設定できます。

	<key>SMBIOS</key>
	<dict>
		...
		<key>BoardSerialNumber</key>
		<string>XXXXXXXXXXX123456</string>

		<key>SmUUID</key>
		<string>63A05D82-6F6E-4B83-9AB5-36B85E54D379</string>
		...
	</dict>

BoardSerialNumber は、何も指定しないとデフォルトでSerialNumberがそのまま使用されます。 iMessageではこれが17桁である必要があります。 シリアル番号は機種によって桁数が違いますがいずれも17桁未満です。 そこで、 ここではシリアル番号に適当な英数字を足して17桁にしたものを指定します。

SmUUID は、何も指定しないとデフォルトでマザボのBIOSが返す値が使用されます。 この値が十分にランダムなら良いのですが、マザボによっては0が多数並んでいたり、規則的な数値だったりします。 これもiMessageで問題を引き起こします。 一番簡単な解法は、十分にランダムなUUIDを用意してconfig.plistで指定してしまうことです。 ターミナルを開いて、uuidgenというコマンドを打ち込みます。するとランダムなUUIDを得ることができます。 これを何度か繰り返して、適当なところでその値を採用します。

SmUUIDはiMessageだけでなく、市販のアプリのライセンス管理などでも利用されているそうです。 なので、その意味でも、一旦決めたら変更しないことが重要です。 また、すでに有償アプリ等のユーザ登録をしていて、なおかつマザボから十分ランダムなSmUUIDが得られているなら ここで指定しないほうが良い場合もあります。いま、得られているSmUUIDが幾つであるかは、 IORegistryExplorerなどで知ることができます。


機種固有番号(MLB/ROM)はどう設定すればよいか


(追記)この項目は以下の記事の説明を要約したものです。

<key>RtVariables</key>
<dict>
    <key>MLB</key>
    <string>XXXXXXXXXXXXXXXXX</string>
    <key>ROM</key>
    <string>YYYYYYYYYYYY</string> 
</dict>

MLBは"Main Logic Board"シリアルナンバーのことで、17文字の長さです。 ROMはマックのファームウェアの固有番号で、MACアドレスのようなものです。16進数で12桁です。 MLBとROMの値が正しく設定されていることは、iMessage/FaceTimeを利用するために必須の条件です。 Cloverでは上記のようにconfig.plistのRtVariablesのセクションで指定します。

ここで指定されていない場合は、Cloverは次のルールで自動生成します。 すなわち、MLBはBIOSセクションに書かれたBoardSerialNumberの番号が使われます。 また、ROMはSmUUIDの最後の12文字が使われます。

2014年11月17日あたりまで、この自動生成の手法で問題ありませんでした。 自動生成で作ったMLB/ROMを使うと、カスタマーコードが表示されて、サポートに電話することで、自動生成のMLB/ROMの番号がサーバに登録され、iMessageが使えるようになっていたのではと思われます。 しかし、おそらくAppleの方針変更により、現在では、実際に出荷されたマシンのMLB/ROMの組み合わせであることが必須になったようです。それ以外の設定の場合、カスタマーコードが表示されて、サポートに電話するよう指示されます。しかし、電話をかけて対応してもらっても、解決することはありません。MLB/ROMを出荷されているマシンの値に設定すれば、サポートに電話をかけることなく解決する場合もあります。

では、MLB/ROMはどうやって取得したら良いでしょうか。 実際のマッキントッシュから取得するしかいまのところ手段はありません。 実機で、 imessage_debugというプログラムをターミナルで起動すると、MLB/ROMの値を知ることができます。これをconfig.plistに書き込みます。 imessage_debugの代わりに、以下の標準的なnvramコマンドでMLB/ROMを知ることもできます。

nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB
nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM

nvramコマンドでは、ROMの値はASCIIコードに対応する文字があれば、その文字で表示されます。16進数に変換して使ってください。

では、実際のマッキントッシュはどうやって探すべきでしょうか。 MLB/ROMを抽出するMacintoshと、SMBIOSで指定した機種は一致する必要はありません。 MacBook Airから取り出したMLB/ROMをiMacとして設定しているマシンで使っても大丈夫です。 使っていない実機を自分で持っているなら、それのMLB/ROMを使うのがベストです。 以前は複数の機種で同じMLB/ROMを使うことができましたが、2014/12/29あたりから、 同一のMLB/ROMを複数機種で使い回すとiMessageの送信ができなくなりました。 使い回しを止めてしばらくすると正常化するようです。 ということで、iMessageを使わない実機を探す必要があります。


これらを設定したら変更してはいけない


シリアル番号と機種固有の情報の組み合わせが変化すると、ロックアウトされるようです。 なので、いったんこれを設定したら変更してはいけません。 変更があると、せっかくロックを解除してもらってもまたロックされてしまいます。 またこれらを変更すると、「サポートに連絡してください」というダイアログに現れるカスタマーコードが変化します。このカスタマーコードがいつ起動しても同じ値になっていないと、サポートに電話をしても無駄になります。

また、 imessage_debugというプログラムをターミナルで起動すると、iMessageがチェックしているとされるパラメータの一覧を見ることができます。この結果が、いつも同じ値であることを確認してから、次に進みましょう。


アップルに電話をする(必要は無くなりました)


2014/2/14の変更で、すくなくとも上記のMLB/ROMの問題を確実に解決しておけば、 iMessageが使えるようになりました。

以下は、古い情報ですが、将来再び必要になるかもしれないので、念のために残しておきます。


シリアル番号と機種固有情報が正しく設定できているのに、まだダイアログが消えないようなら、 いよいよアップルに電話をします。 Hackintoshしているのにアップルに電話をするのは気が重いでしょうが、 それをすこしでも軽減する方法はあります。

  1. http://www.apple.com/jp/support/ へ行く
  2. 「お問い合わせ」→「ここからスタート」→「その他の製品とサービス」→「Apple ID」→「その他のApple IDに関するトピック」→「メッセージとApple ID」を選択

これを実行すると、問い合わせ番号が出てきたり、Appleから電話をしてもらうことが可能です。 このあとで電話をする・受けることで、要件の説明の手間が省けます。

さらに、 https://appleid.apple.com/jp/ のページで4桁の「一時的なサポート認証コード」を取得しておくと、本人確認が楽になります。この認証コードに加えて、次に説明するシリアル番号やセキュリティ質問で本人確認されます。

電話をすると、不調になったMacintoshのシリアル番号は何でしょうかと聞かれることがあります。 これはHackintoshであることを疑われているのではなく、 本人確認の一部のようです。 なので、実機を持っている人は、そのシリアル番号を伝えましょう。

  • https://supportprofile.apple.com のページで自分のIDと紐付けされたシリアル番号を知ることができますし、登録することもできます。 ここに書いてある番号を申し出れば確実です。 申し出るシリアル番号が、SMBIOSで指定した番号と一致していなくても解除手続きには影響ありません。 ロック解除に必要な情報は、すべて画面上のカスタマーコードに書かれていますので、 申し出たシリアル番号と一致していなくても正しく解除してくれます。

実機を持っていない(持っているけどG5マシンのシリアルを告げたら断られたという報告もあります) 場合には、「今はMacintoshがある場所とは別の場所にいて、手元にないのでシリアル番号がわからない。」と言うのも良いでしょう。 その場合、セキュリティ質問や、登録クレジットカード番号などの別の手段で本人確認してくれます。

ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。