人生100年!生涯エンジニア人生!

楽しいエンジニア人生!

iOS15から始まったiCloud+の「メールを非公開」は返信するとApple IDに使用しているメールアドレスが漏れます(条件付き)

f:id:hideaki_kawahara:20211012155846p:plain

結論

  • 「メールを非公開」で作成したメールアドレスを受信専用するだけならメールアドレスは漏れません。
  • 前提条件がありますが、受信したメールから返信すると、メールヘッダーからApple IDに使用しているメールアドレスが漏れます。

「メールを非公開」試してみる!

今回は、iOS15から開始したiCloud+で「メールを非公開」を使ってみます。
なお、iCloud+とカスタムメールドメインの説明はこちらです。
kawahara-ci.hatenablog.com

プライベートリレーの知られていない機能の説明はこちらです。
kawahara-ci.hatenablog.com

「メールを非公開」は「Apple でサインイン」とは異なる機能です。
support.apple.com

「メールを非公開」と「Apple でサインイン」の違いをまとめましたので、ご確認ください。

Apple でサインイン

  • サイトやアプリの対応が必要です。(対応してないサイトやアプリでは使用できません)
  • サインインするときApple IDのメールアドレスを使用するかメールを非公開にするか選べる。
  • メールを非公開にするときメールアドレスは *@privaterelay.appleid.com になります。
  • サイトにサインインするときに、または対応アプリをインストールするときにメールアドレスが決まる。
  • iOS 13から登場した機能です。
  • iCloud+を利用しなくても使えます。

メールを非公開

  • サイトやアプリの対応は不要です。
  • メールアドレスは *@icloud.com
  • サインインするまえにメールアドレスを決める。
  • iOS 15から登場した機能です。
  • iCloud+にアップグレードする必要がある。

メールアドレスを発行する

新たにメールアドレスを発行するのは、[設定]-[アカウント]-[iCloud]-[メールを非公開]から行います。
「新しいアドレスを作成する」をタップすると、下の画面が出ます。

f:id:hideaki_kawahara:20211005024154p:plain:w320

「別のアドレスを使用する」をタップすると、他に2つ候補が出てきます。
メモなどを入力して、次へをタップするとメールアドレスが発行されます。

f:id:hideaki_kawahara:20211005024209p:plain:w320

完了をタップしてメニューに戻ります。
実に簡単にメールアドレスが発行されました。

f:id:hideaki_kawahara:20211005024305p:plain:w320

発行したメールアドレスの転送先はApple IDで使用しているメールアドレスになります。

メールをやり取りする

Googleアカウント(Gmail)から、「メールを非公開」で作成したメールアドレスにテストメールを送信します。

f:id:hideaki_kawahara:20211005024320p:plain:w640

上の図はApple IDに使用しているメールアドレスで受信したところです。
送信元(From)は元のメールアドレス(Googleアカウント)から来るのではなく、元のメールアドレスから変換されたicloud.comからとなります。

Googleアカウントから送信したので「Googleアカウント_at_gmail_com_ランダムなシリアル値@icloud.com」というメールアドレスになりました。
そして、転送メールなので送信先(To)は「メールを非公開」で発行したメールアドレスになっています。

余談ですが、この変換されたメールアドレスの仕組みは15年ぐらい前に考案したことあるんですが、特許取っておけばよかったなーと、あははは。

f:id:hideaki_kawahara:20211005024344p:plain:w640

上の図は返信を行うところです。

変換されたメールアドレスに返信すると、iCloud側が変換して元々の送信元にメールを送信するだろうと言うことで返信してみます。
そして、Apple IDに使用しているメールアドレスは隠されたままと信じます。

f:id:hideaki_kawahara:20211005024356p:plain:w640

上の図は元々の送信元のGoogleアカウントでメールを受信したところです。

差出人は「発行したメールアドレス」になっていて、Apple IDに使用しているメールアドレスでは無いです。
問題なさそうかな??

返信したメールを詳細に確認

いやいや、メールっていうのは、メールヘッダーに色々な情報がある!!
メールヘッダーを見ないとスッキリしません!!確認しましょう!!!!
普通のGoogleアカウントで受信したメールのメールソースを確認します。

f:id:hideaki_kawahara:20211005024710p:plain

上の図はメールヘッダーを確認したところです。
あれ??駄目ですね。
Authentication-Resultsの項目にApple IDに使用しているメールアドレスの情報が出ていますね。
DMARC1DKIM2にはApple IDで使用しているメールアドレスのドメインが表示されています。
SPF3にはApple IDで使用しているメールアドレスそのものが表示されています。

このことから、SPFに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスが漏れてしまうことになります。
DMARCやDKIMに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスのドメインが漏れてしまうことになります。

なお、DMARCやDKIMSPFに対応していないメールアドレスなら漏れないだろうとは思います。
実際に、DMARCとDKIMに対応したメールサーバーは多くは無いですが、SPFに対応したメールサーバーは国内においては9割を超えているし、GmailやYahooメールやマイクロソフトメールなどの主要なメールサービスではSPFに対応しています。

まとめ

SPFに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスが漏れます。
DMARCやDKIMに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスのドメインが漏れます。

受信したメールを返信する用途があるとき「メールを非公開」は使えない機能となります。
返信することが無ければとりあえず使える機能です。

余談ですが、この問題は「Apple でサインイン」からある問題でして・・・そのままかー!というのが正直な感想です。
今までは「Apple でサインイン」という名前でサインイン程度なら良い機能で、うるさく言うつもり無かったけど、今回は「メールを非公開」と堂々と言ってきたので、返信してしまうと非公開とは言い切れないので注意喚起としてブログにまとめました。


  1. DMARCはメールアドレスの不正利用を防止するための仕組みです。

  2. DKIMはメールを送信するとき電子署名を行い、受信者がそれを検証して送信元の改ざんを防ぐ仕組みです。

  3. SPFはメールを送信するドメインが詐称されていないかを検査するための仕組みです。