トップページに戻る

Category

AllArchives

Checker

Credit

mixi画像を外部から参照する

重大な訂正があります。ただ、この記事を下敷きに訂正記事を書いているので、先にこの記事を読んだ上で「mixi非公開日記の画像を外部に晒す」を読んでいただくようお願いいたします(2006/12/04)。

「ウェブ魚拓 mixi 画像 "外部参照"」でググっても誰も言及していないようなので言及しておく。

あるレベルにおいて、mixiの画像が外部参照される問題は解決されていない。ただし、あるレベルでは解決されている。問題は「あるレベルにおいて」であり、その詳細に関して。


これまで外部からでも参照可能であったmixi日記の画像は、11月10日頃に外部からの参照が不可能になった。時間と共に画像のアドレスが変化するので、ある瞬間において有効だったアドレスが少し後には参照不能になる。故に現実的なレベルにおいて外部からの参照が不可能なのだ。・・・と、とりあえずmixiの仕様変更をおさらいすることから書き始める。



具体的に書くと、

  • 日記のURL
    /view_diary.pl?id=(日記ID)&owner_id=(日記執筆者のユーザーID)
  • 画像表示用ページのURL
    /show_diary_picture.pl?owner_id=(日記執筆者のユーザーID)&id=(日記ID)&number=(画像を特定する数字)

という、この二つのアドレスは固定されており、時間と無関係にアクセス可能だが、セッション情報を求める。つまりmixi非登録ユーザーからは参照できないし、非公開日記の場合は閲覧権限のあるmixiIDでログインしていなければ参照できない。

  • 画像本体のURL
    (画像ごとに固定された画像用サーバー).mixi.jp/p/(画像ごとに固定されていないランダムな文字列)/(時間と共に増えていく数字)/diary/(画像ごとに固定された数字)/(画像ごとに固定された数字)/(日記ID)_(画像を特定する数字).jpg

は時間と共に変化する。

  • 画像ごとに固定されていないランダムな文字列
  • 時間と共に増えていく数字

が変化していき、特に「外部参照をしてやろう」という人間からして問題なのは前者で、42桁のランダムな英数字なので、総当たりでは破れそうにない。ただし、上記「画像本体のURL」はセッション情報を求めない。その意味では(ある瞬間においては)外部に公開されている。


従って、画像本体のアドレスに関する(外部接続からの)キャッシュを生成することは可能です。

  1. 非公開日記の画像を開く
  2. 画像上で右クリック「プロパティ」で(その瞬間における)画像本体のアドレスを取得
  3. 取得したアドレスをウェブ魚拓に入力し魚拓アドレスを取得する

取得したアドレスの例はこちら。時間と関係なく、mixiログイン情報も必要なく、いつでも僕のmixi日記内の画像を参照することができます。


・・・と、まぁ、こんなことは正直ずっと前から分かっていたことなんだが、個人的に一つ分からないことがあり、その部分をずっと調べていた。即ち、上記は「あってはならないこと」なのかどうか、という点だ。そもそもにおいて、ウェブにアップされた画像は、誰かがダウンロードしてアップローダーなどに晒せば晒される。従って「mixi日記内画像の外部参照問題」というのは、どちらかと言えば「画像をお持ち帰りされないように右クリックを禁止してます!」といった話に近しく、ただしmixiが画像本体のGETにセッション情報を要求していないという点のみが「セキュリティ」の範疇である。・・・というポジションから考えると結構微妙な問題で時間が経ってしまった、という。

画像アドレスに関する分析

画像本体アドレスには「その画像がどの日記の中に使われていた画像か」という情報、日記IDが含まれている。従ってウェブ魚拓などを使って記録したキャッシュは「その画像がたしかにその日記に含まれていたものである」ということを示す。ただし、ユーザーIDを含んでいない。故に、「その画像が誰の日記に含まれていたものか」を示さない。削除された公開日記、或いは非公開日記においても「日記ID→ユーザーID」を変換する方法が存在すれば崩れるが、僕の理解する範囲では「魚拓されている画像が誰の日記に含まれていた画像か」は不明であり、例えば晒す人間が同時に書き込むであろう「これは○○の日記にあった画像だ」的な証言しか存在しない。これは「あるレベルにおける解決」だ(繰り返すが、「日記ID→ユーザーID」が本当に不可能であるのなら)。

最初にも書きましたが、この記事には訂正があります。「日記ID→ユーザーID」は繋がります。「変換」は無理ですが「ある日記IDの日記が、提示されたユーザーIDの日記であるか否か」を第三者が確認することは可能であり、「mixi非公開日記の画像を外部に晒す」で言及しています(2006/12/04)。

画像本体アドレスを調べる際の足跡問題

(その瞬間において有効な)画像本体のアドレスを知るためには、mixiにログインし、或いはその非公開日記を見る権利のあるIDでmixiにログインし、画像表示ページ(/show_diary_picture.pl)を開かなければならない。従って、その人間に「足跡」を残す可能性がある。ウェブ魚拓を使って外部参照可能となった画像は「&data=」の形で「そのページの取得日時」を吐いているので、足跡が残っていれば、ウェブ魚拓では、状況証拠として画像を晒した人間の正体を掴むことは可能だ(当該時刻少し前に足跡を残している人間が晒しの犯人だ)。ただし、ある人間の日記一覧ページ「/list_diary.pl?id=(ユーザーID)」へのアクセスは、足跡を残さない。ここらへんはmixiに強い人の言及をどーぞ。

  1. 晒したい相手の「/list_diary.pl」にアクセス
  2. 画像サムネイルをクリックして画像本体アドレスを取得
  3. そのアドレスで魚拓を作成し、作成したアドレスを晒す

という方法によって、足跡を残さずに他人の日記内画像を晒すことが可能となる。故に、これはどのレベルにおいても「解決」ではない。ただ、今後「/list_diary.pl」や「/show_diary_picture.pl」へのアクセスで足跡が残るようになる可能性は高い(その仕様変更はmixiにとってもたやすいはず)。この場合は、ウェブ魚拓以外の同種サービスを頼る必要がある。ウェブ魚拓と同様で、ただし取得日時を記録しないサービス。それが現時点において存在するのかは未調査だが、原理的には完全に可能なサービスであり、完全に可能な(存在しないことが「偶然」に過ぎない)サービスによって崩される以上、今後「/list_diary.pl」や「/show_diary_picture.pl」へのアクセスで足跡が残るようにmixiが仕様を変更したとしても、それはどのレベルにおいても解決ではない。

mixiユーザーの了解

調べていた結果としては、mixiの画像外部参照に嫌悪感を抱くタイプのmixiユーザーは「画像が非mixiユーザー、自分と関わりのない他人の目に触れること」を問題としているような気が、僕には、した。つまり、「了解」とは、「非公開日記ならば、日記内の画像にアクセスする人間は完全に自分の(友人登録管理による)制御下/(足跡による)監視下にある」であるように、思えた。


・・・ので、ここまでを踏まえた上で、上記は一定のレベルで「問題」であるはずなので、一応エントリーとして公開しておく。うん、まぁ、分かってる人からすれば「何を大げさな」と言われそうな警告記事なんだけど、「マジで!?」と思う人もある程度いるような気がした、んですよね・・・。

SeeAlso

SameSubCategory

Footprint

Navigation

TrackBack

この記事へのトラックバック

Comment

PostForm

情報を登録  
コメントは本文以外省略可能で、当方の承認後掲載されます