Nov 16, 2006

署名と拡張機能の安全性

僕を助けようという意図で無いにしろ、詳しい人がわかりやすく解説してくださって、大変助かりました。自分でも責任を果たしておこう。

拡張機能の「安全性」と言った場合に、それが指すものには二つのレイヤがある。

  1. その拡張機能が、トロイの木馬や致命的なセキュリティ上の脆弱性など、利用者を危険に晒す要素を含んだ物であるかどうか?(内容が良いか悪いか)
  2. ダウンロードしたそのファイルが本当に、インストールしようとしている拡張機能そのものであるかどうか?(ファイルが本物かどうか)

電子署名やSSLといった認証技術は、後者は保証するけれども、前者は保証しない。後者と前者は全く分断されており、どちらかが保証されていてももう一方が保証されているかどうかには何ら関係が無い。利用者は、そのことを知った上で認証技術を利用する、ということが、情報リテラシの一つとして期待されている。

ところが現実には、そうなっていない場合がある。僕も含めて、正規の情報教育を受けないまま自己流で情報リテラシに相当するものを身に着けてきた世代の人間は、あるいは、受験科目では無いからなどの理由でまともな情報教育を受けられなかった人は、後者の安全性が保証されていれば、そうでない場合に比べて、前者の安全性も高いはずである、という誤解をしている場合がある。はいごめんなさい、自分の事です。いざ自分がハンドアックスを投げつけられる立場に立つまで真面目に考えたことがありませんでした。反省しています。

ぷーる氏が、個人が電子署名を付けていても結果としてあまり意味が無い、ということを理由を添えて解説してくださっている。そういう「事実」があるにも関わらず、盲目的に「個人で作っている拡張機能にも電子署名が施されているべきだ」と考える人がいるということが、そもそも、おかしいのであろう。

余談。ぷーる氏は、電子署名の役割を誤解し過剰に期待する人や、「悪意を持って作られていないかどうか」といった機械的な判別が極めて困難な事に期待するような人の存在自体を疑っているけれども、それは、氏のリテラシが非常に高いために、そういうリテラシの低い人と接する機会が無く、氏にとってそういう人の存在が不可視になっているだけのことだと、僕は思う。情報技術に疎い人間は、というより、情報技術を専門としておらずただ利用するだけの一般人は、機械を過剰に蔑むか、機械を過剰に信奉するかの、どちらかの傾向がある。人の専門分野が細分化され、それぞれが高度に発展している現状では、そういう人は必ず存在する。(自分で洗濯も炊事もできない人がいるくらいなのだから、いわんや電子的な認証に関する知識をや、である。)だからせめて、そういう馬鹿の発生を少数に留められるよう、教育を継続することの必要性は依然としてあるわけだ。余談終わり。

「オレオレ証明書」とか「認証局」とか「署名を買うためのプロセス」といったものが、そういう「誤解」を助長している側面はあると思う。僕も含めて、そこを誤解している人は、考えを改めなければいけない。会社の登記簿やら、1年ごとの更新料やらといったものは、ファイルが改竄されていないことを証明するための、証明書を維持するために要求されるものでしかない、実際のところそれ以上の意味を持たない、ということを繰り返し繰り返し肝に銘じておかなければならない。

  • 拡張機能の動作チェックという審査があるAMOは、前者の意味での安全性をある程度保証してくれる。後者の意味での安全性は、限定的にしか保証されない(nasano氏の指摘にある技術によって、通信経路上での改竄は防げるけれども、サーバ上での改竄は防ぎきれない)。
  • 電子署名は、後者の意味での安全性を保証してくれるけれども、前者の意味での安全性は、全く保証してくれない。

Mozilla CorporationなりMozilla FoundationなりがMozilla Add-onsにあるファイルに代わりに電子署名を施せば、後者の安全性を完全な形に近づけられるだろう。ファイルが改竄されていないということだけを証明するためにMC/MFが拡張機能に署名を付けることは、何ら問題が無いと思われる。

でもそうなったら、拡張機能が原因でトラブルが起こったときに、必ず、僕のような馬鹿が「MC/MFが『安全』だと言ったじゃあないか! にもかかわらずこんなことになるなんて、詐欺だ! 連中は詐欺師だ! 奴らをぶっ潰せ!!」といった、的外れも甚だしいシュプレヒコールをあげるに決まっている。断言できる、僕らリテラシの低い庶民はその程度には十分に愚かである。悪いのはMF/MCではなく、この二つを混同してしまっている、僕のように愚かな人間の方である、責任は100%こちら側にあるというのに。この二つが完全に無関係で、互いに全く影響しない、という原理原則が、浸透していないから。「鍵のアイコンが表示されてれば安全らしい」という程度に単純化された事柄しか、僕ら愚かな一般庶民は理解できないから。

それが分かっているからこそMF/MCは、拡張機能に署名を施さないんでしょうね。

……え、そんな誤解、二つの安全性の混同をしてるのは僕だけですか? 僕以外の一般庶民はそこまで愚かではない? なら、結構なことです。はい。

ともかく結論として、

  • 野良サイトで野良拡張機能を署名もSSLも無しに配布するよりも、AMOで配布する方が、二つの意味の安全性において、はるかにマシである。
  • 電子署名だけを求めるのは、安全性に対する考え方としては、片手落ちである。

ということは、どうやら、言えるようだ。

以下、技術的な事から離れた一般論。

我々が一般的に求める「安全性」とは、突き詰めると、「最終的に自分の手元にあるそれが、自分を危険に晒すものでないこと」に対する保証である。それさえ保証されるなら、電子署名であるとかSSLであるとかの過程は、はっきり言って、どうでもいい。Microsoftの作ったものであろうとMicronsoftの作ったものであろうとどこぞの山田さんが作ったものであろうと、実際に役に立って且つ害悪が無いのであれば、何ら問題は無い。これは、技術に疎い人間が持つ非常に素直な感情であろう。

ただ、その「素直な感情」を満足させる結果を現実に得ることは、非常に難しいし、現在のところ、解決策が存在しない。しかしながら「解決策が無い」という状況に耐えられない心の弱い人間は、何かにその役割を期待せずには生きていけない。そうした心理から、「電子署名があれば、そのソフトウェアは自分に対して害をなさないはずだ」という誤った神話が生まれてしまうのだと、僕は思う。

とはいえ神話は神話、現実に即した物ではない。その神話が嘘と危険を孕んだ物であるならば、我々は、神話を進んで解体しなくてはならない。そのことを、自分が当事者となって初めて意識することとなったというのが、今回の自分にとっての最大の収穫だったのかもしれない。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能