ちゃっぴの監禁部屋

ガチガチに締めすぎて動きがとれなくなる。。。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  405  : 記事  5  : コメント  12114  : トラックバック  134

ニュース

記事カテゴリ

書庫

日記カテゴリ

Communities

Personal Information

何度か書いた記憶があるんですが。。。

有効な電子署名が無い software は defulat 実行禁止にしたほうが良いのではないでしょうか?

現状、ほとんどの malware は電子署名なぞ当然していません。というのは、Malware を実行させるのにそんなもの必要ないというのがその理由になりますね。

では、なぜ電子署名が必要なのでしょう?

電子署名を行うことによって完璧とは言えませんが、ある程度の traceability (追跡性) を確保することができます。もっとも、traceability  の確保は証明書の発行をどれだけ厳しく行うかに依存していますが、有効な電子署名を行わないのが当たり前な状態より遥かにマシな状態を作り出すことができるでしょう。

ただ、一つ大きな問題があります。現状では software に署名するために必要な code signing 証明書が有償であることです。Software を有償で販売しているなら当然 code signing 証明書を購入すべきですが、無償で公開している software はその費用どこから捻出するか問題ですね。

これに関しては解決策があります。Code signing 証明書を無償で取得できるようにしてしまえばいいのです。ただし、これをやってしまうと code signing 証明書の信頼性が低下してしまいますね。これは大問題です。でも、この問題の解決策も存在します。証明書に階級を設ければいいんです。

ただ、現状では code signing 証明書に階級はありません。しかし、EV SSL のような実例もあるわけでして、既存の X.509 と互換性がある形式でも証明書の階級を作りだすことは技術的に可能です。現状では正直実施していないだけだと思っています。

証明書を無償発行することによって生じる費用が問題になると思う人もいると思います。ですが、これはより階級が高い証明書を有償販売することにより、吸収可能ではないでしょうか? 個人的には、このような business model は十分に成り立つと思っています。

すべての software に電子署名を義務付ければ、少なくとも現状よりは相当マシな状態が作り出せると思います。公的な証明書を発行している機関はこのような方式を取り入れてはいだだけないでしょうか?

投稿日時 : 2008年5月17日 1:14

コメント

# re: すべての software に電子署名必須にしてほしい 2008/05/17 15:32 シャノン
実施するには、最低限、証明書のレベルを3段階に分ける必要があります。
ひとつは無償証明書、ひとつは現行の証明書、そしてもう一段階高い証明書です。
この最高レベルの証明書は、現行の証明書よりも審査を厳格にする必要がある上に、無償証明書の発行費用を上乗せしなければなりませんから、価格はかなり高くなることが予想されます。
それでも、これが相当数売れなければ、無償証明書が発行できません。

そのような高価な証明書が、市場に必要とされているかどうかという問題もあると思います。要するに、それは売れるのか? ということです。
Web用にはEVSSLが登場したのは需要の高まりを受けてでしょうが、コードサイニング証明書にそこまでの需要があるとは思っていません(無償証明書の需要ではなく、より高レベルの証明書の需要です)。

# re: すべての software に電子署名必須にしてほしい 2008/05/18 15:09 ちゃっぴ
> 実施するには、最低限、証明書のレベルを3段階に分ける必要があります。
> ひとつは無償証明書、ひとつは現行の証明書、そしてもう一段階高い証明書です。

同意。

> そのような高価な証明書が、市場に必要とされているかどうかという問題もあると思います。要するに、それは売れるのか? ということです。

必要だと思ってますね。
現在 user がこの software は安全なのか簡単に判断する方法が提供されていません。それが実際多くの問題を引き起こしていますね。

3段階に分けるとして、最上位のものは無条件で実行可能、中位のものは黄色で警告、最下位のものは赤色で警告なんて風にしてやれば誰でも簡単に判断がつきますね。(あ、赤・緑はあんまり良くないかも)

そういう仕組みが普及してくれば、より上位の証明書を利用するでしょう。

もっとも、現在の警告無視が当たり前な風潮はなんとかする必要がありますが。

# re: すべての software に電子署名必須にしてほしい 2008/05/18 23:05 シャノン
原則として、証明書というのは、ソフトウェアの安全性を担保するものではありません。
証明機関が行うのは、EV SSLであっても、厳格な実在性検査だけです。
フィッシングサイト対策とされていますが、いくつかの認証機関のサイトを見ても、「その企業が怪しいサイトを運営していないかどうか」は審査基準に入っていないと思います。

コードサイニング証明書であっても同様で、証明書はそのソフトウェアが無害であることは証明してくれません。
それをどこが作ったかを証明することで、ユーザーに対して判断基準の一つを提供するだけです。

それとも、最上位の証明書には、発行基準にソフトウェアの品質チェックまで組み込もうと考えていますか?

いずれにせよ、「証明書があるからといってむやみに信用しない」というリテラシ教育が先だと思います。

# re: すべての software に電子署名必須にしてほしい 2008/05/18 23:21 ちゃっぴ
> それとも、最上位の証明書には、発行基準にソフトウェアの品質チェックまで組み込もうと考えていますか?

そうです。WHQL みたいにね。
必須とされるのはごく一部でしょうけど、そういうしくみは絶対にあったほうがいいです。

> いずれにせよ、「証明書があるからといってむやみに信用しない」というリテラシ教育が先だと思います。

これは難しいですね。どうやって信用する・しないを user が判定するのでしょうか?

そのためには分かりやすいしくみを先に用意する必要があります。

建前だけを声高に叫んでも、現状がその建前にそぐわないの rule であれば user はその rule を無視することを当然と考えます。
こういったものを普及させる場合、先に問題ないしくみを作成しないと user を誘導することはできないでしょう。

# re: すべての software に電子署名必須にしてほしい 2008/05/18 23:42 シャノン
> これは難しいですね。どうやって信用する・しないを user が判定するのでしょうか?

どこまで突き詰めても、機械的に判断するのは無理です(今のところは)。
場合によっては、証明機関を疑う必要さえあるでしょう?
現行の HTTPS も EV SSL も、証明書はサイトが信頼できるかどうかを直接保障しません。
それが一般のユーザにとって高いハードルであることは認めますが、なんとか頑張るしかないでしょう。

ウェブを利用する者、すべからくこれを熟読すべし、とかでも、かなりの効果があると思います。
http://www.rcis.aist.go.jp/special/websafety2007/
コードサイニングではないですが、多くの話題は共通しています。

セマンティック・ウェブのレイヤーケーキと呼ばれる図があります。
http://www.asahi-net.or.jp/~ax2s-kmtn/internet/search2.html

今のところ、RDF や OWL は言語規格としては完成して、RDF は RSS で使われていたりしますが、本来の目的である機械推論には全く届いていない状況だと思います。
信頼性を機械が判断するのは最上位の Trust の領域です。
実現できるのはいつのことでしょうか。

> そのためには分かりやすいしくみを先に用意する必要があります。

最上位の証明書がついているソフトウェアは中身まで検査されていますから何も考えずに実行しても安全です。
中位、低位の証明書は、マルウェアの製造に対する抑止力として働くことを狙ったものであって、必ずしもソフトウェアが安全であるとは限りません。
これがわかりやすいですか? 「証明書がある=安全」という誤った図式が早々に確立されそうな予感がします。

# re: すべての software に電子署名必須にしてほしい 2008/05/18 23:52 ちゃっぴ
> 中位、低位の証明書は、マルウェアの製造に対する抑止力として働くことを狙ったものであって、必ずしもソフトウェアが安全であるとは限りません。

そうです。偽造や架空登録とか問題は絶えないでしょうけど、少なくとも現状よりは大幅にマシな状態になるでしょう。
あと、現状ではまともに機能しているとは思えない CRL の処理を厳密に行うべきですね。

> これがわかりやすいですか? 「証明書がある=安全」という誤った図式が早々に確立されそうな予感がします。

そういう message と色とかで簡単に識別できるような dialog 出せばいいです。わかりにくいかなぁ?
前提を書き忘れましたが、署名していない software は既定で実行できないようにします。

普及方法はこんな感じになるかなぁ?
1. CA の対応
2. OS の対応
3. 開発者の対応
4. user の対応

# re: すべての software に電子署名必須にしてほしい 2008/05/19 0:10 シャノン
> 前提を書き忘れましたが、署名していない software は既定で実行できないようにします。

規定でということは、回避する方法もあるわけですね。
予言しますが、「Windows を快適に使う Tips」として「そのブロック機能を無効にする」という記述が氾濫しますよ。
「Vista をインストールしたらまず UAC を切る」という人もいますし。

> そういう message と色とかで簡単に識別できるような dialog 出せばいいです。わかりにくいかなぁ?

実行しようとしたらダイアログが出ました。
それだけで多くのユーザにとっては大問題です。
メッセージの内容なんか理解できない以前に読みすらしませんよ。
PCメーカに「壊れたのか!?」って質問が殺到すること請け合いです。

大多数のソフトウェアが最上位の証明書を取得することはあり得ません。
中位、低位の証明書では依然としてリテラシ教育を行う必要があるのですから、まずはそっちからやってもいいでしょう。
それは現状でもできることです。

俺が考える普及順は
1. ユーザの対応(教育)
2. 開発者の対応
3. CA & OS の対応(証明書に新しいレベルを設けるならここ)
です。

# re: すべての software に電子署名必須にしてほしい 2008/05/19 0:27 ちゃっぴ
> 規定でということは、回避する方法もあるわけですね。
> 予言しますが、「Windows を快適に使う Tips」として「そのブロック機能を無効にする」という記述が氾濫しますよ。
> 「Vista をインストールしたらまず UAC を切る」という人もいますし。

過度期では当然そういうことが起こるでしょうね。
ただ、最終的には収束すると思います。

規定と書いたのは開発環境を意識してのことです。
ただ、IDE 側で公的な証明書を利用しない場合には、自己署名を強制するようなしくみにすれば、開発環境でもこちらを off にしなくても済みますね。

全体の環境が整備されれば大多数の user はついてくるものです。
それ以外は自己責任ですから、それでいいんじゃないでしょうか?

> PCメーカに「壊れたのか!?」って質問が殺到すること請け合いです。

現状でもそうなっていると思いますが。。。
Windows XP SP2 以降では download された file の実行に対し警告出ます。 そういう意味だと変わらないと正直思います。

> 中位、低位の証明書では依然としてリテラシ教育を行う必要があるのですから、まずはそっちからやってもいいでしょう。
> それは現状でもできることです

具体的にどうやって教育するのでしょうか?そこが気になります。
どうやって判断すればいいの?という問題には対応できないですよね?

少なくとも、ある程度の専門知識を持っている人を教育する方が早いですから、先に環境を用意する。User はあとから着いてきてね。というのは極めてまともな順序だと思いますが。

# re: すべての software に電子署名必須にしてほしい 2008/05/19 0:39 ちゃっぴ
> 大多数のソフトウェアが最上位の証明書を取得することはあり得ません。

一般的な user が利用する software ってそんなに数が多いでしょうか?
皆さんが想定されているよりは実はずっと少ないんじゃないでしょうか?

それだけでも対応すれば全然違うと思うんですけど。

Software を無償で公開するのは別に制限する必要はありませんけど、それ最初に利用するのは geek だけですよね?そういうのは geek の自己判断で行えばいいと正直思いますが。

有名にならないと一般的な user は利用しませんよね。
それだけ有名になったら user から金とるとか、sponsor 見つけてそれで証明書購入すればいいでしょう。

# re: すべての software に電子署名必須にしてほしい 2008/05/19 10:00 シャノン
> 具体的にどうやって教育するのでしょうか?そこが気になります。

例えばこれを読ませる、というのは既に挙げましたよ。
http://www.rcis.aist.go.jp/special/websafety2007/
HTTP 経由でダウンロードする Web ページも、HTTP 経由でダウンロードするソフトウェアも、気をつけるべきことに変わりはありません。

> 一般的な user が利用する software ってそんなに数が多いでしょうか?
> 皆さんが想定されているよりは実はずっと少ないんじゃないでしょうか?

それはそうかもしれません。
が、だとすれば、そうした少数のソフトウェアの中にも悪意あるソフトウェアがたくさんあるから、そういったものを実行できないようにしようと言っているように聞こえますよ。

# re: すべての software に電子署名必須にしてほしい 2008/05/20 0:32 ちゃっぴ
> 例えばこれを読ませる、というのは既に挙げましたよ。
> http://www.rcis.aist.go.jp/special/websafety2007/

それ読んでくれる人がどれだけいるか?
また、読んでもちゃんと理解してくれる人がどれだけいるか?

というのが問題ですね。もっと直観的に訴えかけないと厳しい面があるんじゃないかと正直思います。

> が、だとすれば、そうした少数のソフトウェアの中にも悪意あるソフトウェアがたくさんあるから、そういったものを実行できないようにしようと言っているように聞こえますよ。

それはそれでしかたないと思いますよ。
まあ、最終的には利益と不利益見極めて判断することになりますがね。

# re: すべての software に電子署名必須にしてほしい 2008/05/20 0:57 シャノン
> それ読んでくれる人がどれだけいるか?
> また、読んでもちゃんと理解してくれる人がどれだけいるか?

読めといって読んでくれる人はいいんですが、そうでない人の場合、もともとこの文書の想定対象読者は「利用手順をユーザに説明する方」ですから、パソコン教室とかで教えるべきでしょうね。
ま、読んで欲しい人が全員パソコン教室に通っているわけではないのですが。

> もっと直観的に訴えかけないと厳しい面があるんじゃないかと正直思います。

IE7 からは不正な証明書はかなり直観的にヤバげな表示になりましたから、「壊れたのか?」という問い合わせに対して、この内容を紹介する(「読め」じゃなくて、オペレータがかみ砕いて説明する)のはありでしょうね。

無条件で実行しても安全な証明書レベルを設けるというのは、そうしたリテラシ教育が不要な方向へ持っていこうとしているように思えてならないのです。
たとえ証明書にレベルを設けても、教育の必要性は変わりませんよと。

>> が、だとすれば、そうした少数のソフトウェアの中にも悪意あるソフトウェアがたくさんあるから、そういったものを実行できないようにしようと言っているように聞こえますよ。

> それはそれでしかたないと思いますよ。

え、現状がそうだとでもいうんですか?
既製のPCを買ってきたときにデフォルトでインストールされているアプリが、実行しちゃいけないような危ないものばかりだと?

# re: すべての software に電子署名必須にしてほしい 2008/05/20 1:41 ちゃっぴ
> 読めといって読んでくれる人はいいんですが、そうでない人の場合、もともとこの文書の想定対象読者は「利用手順をユーザに説明する方」ですから、パソコン教室とかで教えるべきでしょうね。

それはあくまで理想です。もちろん教育は行うべきですが、それだけに頼ってしまうのも考えものです。
技術者としてはあまり認めたくないことなんですが、普及ささるためには user の直観に訴えかえるのが一番効果的なんじゃないかと思ってます。

> 既製のPCを買ってきたときにデフォルトでインストールされているアプリが、実行しちゃいけないような危ないものばかりだと?

想定されている少数に相違があるようですね。
現状では必要が無いので、まともな証明書を取得している malware なんてほとんど無いでしょう。
少数と書かれたので、てっきり証明書を取得していない software だと思いました。


# re: すべての software に電子署名必須にしてほしい 2008/05/20 1:50 シャノン
あぁ、食い違いの原因を見つけました。

>> 大多数のソフトウェアが最上位の証明書を取得することはあり得ません。
> 一般的な user が利用する software ってそんなに数が多いでしょうか?
> 皆さんが想定されているよりは実はずっと少ないんじゃないでしょうか?
> それだけでも対応すれば全然違うと思うんですけど。

ここで、俺は「一般的なユーザーが利用する少数のソフトウェア=大手ベンダーが開発するソフトウェア」という結び付けをしてしまったんです。

で、そうでなく、フリーで公開しているものの中にも、PCスキルの低い人が触れるものがあるとして(現実にありますが)、

> それだけ有名になったら user から金とるとか、sponsor 見つけてそれで証明書購入すればいいでしょう。

これはちょっと受け入れられないだろうなぁ、と思いますよ。

# re: すべての software に電子署名必須にしてほしい 2008/05/20 11:00 シャノン
> ここで、俺は「一般的なユーザーが利用する少数のソフトウェア=大手ベンダーが開発するソフトウェア」という結び付けをしてしまったんです。

補足すると、ちゃっぴさんは「大多数のソフトウェア」に反応されたのに対して、俺の主眼はここでも「最上位の証明書」なんです。
そこで「一般的なユーザーが必要とするのは少数のソフト」とか言われたので、「一般的なユーザーが必要とするのは最上位の証明書を取得できるような資金力を持った会社が作った少数のソフト=ブラウザとかメーラとかOfficeとかPCプリインストールアプリとか…」となって、「え? そういうソフトの中にマルウェアがあるのか!?」となったわけです。
実際には、「フリーのものも含めた、有名な少数のソフト」を意図されていたわけですが。

# re: すべての software に電子署名必須にしてほしい 2008/05/23 2:47 ちゃっぴ
これに関しても後で書きます。

とりあえず、食い違いの原因は私にあります。

Post Feedback

タイトル
名前
Url:
コメント