たとえば,ThawteのPersonal E-mail Certificates [thawte.com]というサービスでは,メールアドレスさえあれば,個人用の証明書を,誰にでもすぐにタダで発行してもらえます.ここで使われているCAは,Firefox, Thunderbird, Java Runtime Environmentなどにあらかじめ組み込まれている,Thawte Consulting の Thawte Personal Freemail CA という名前のもので,ここから発行された証明書で署名された内容は,上記のアプリケーションで,警告無しに受け入れられることになります.
さらに,Convert the Java JKS key-store to Microsoft PFX format [crionics.com]というページには,そうしてThawteから受け取った証明書を,Java JKS key-store 形式ないし Microsoft PFX format に変換する手順が書かれています.このページに沿って作業をすれば,Java JAR ファイルへでもMicrosoft CAB ファイルへでも,自由にコード署名ができるようになります.
すみません,ぼくの書き方が,ちょっと紛らわしかったかもしれませんね.FirefoxやWindowsの証明書ストアについては,大丈夫なのでしょう.ヤバいのはJavaです.Javaでは,最新のJava SE 6であっても,Java Control Panel のCertificatesの中の,Certificate type: Signer CAのリストの中に,"Thawte Personal Freemail CA"が含まれてしまっているのです…!
もう当たり前のように使われてるんじゃないか (スコア:0)
おれおれ証明書って、もう当たり前のように使われてるんじゃないかと思うよ。あちこち使ってる感じじゃ。わざと言うより、経営側がコストけちってるとか、技術者が無知なのか。まぁ、前者だろうけど。技術への中途半端な理解が原因なのかなぁ。
#NetscapeでHotmailのSSL認証にアクセスすると証明書を認めてくれないんよね。セッション中だけ通すことで使ってるけど、あれも問題ある証明書なのかしらん。
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
#そういうのはオレオレ証明書って言わないんでしょうか?
第三種オレオレ証明書 (スコア:3, 参考になる)
はてなダイヤリー -オレオレ証明書とは- [hatena.ne.jp] に記載されている「高木浩光氏によるオレオレ証明書の分類」に従うと
ではないでしょうか。
Re:第三種オレオレ証明書 (スコア:3, 参考になる)
件のページではオレオレ証明書の定義として次のようにあります。
自己認証の証明書でも、それが安全であると主張していなければ、単純にSSLを使っていないだけのページと同じ程度の安全性で、利用者もそのつもりで利用するというだけでしょう。
安全でないものを安全だと嘘の説明をすることがオレオレ証明書の問題なので、安全だと言わない限りは非難される物でもないと思います。
Re:第三種オレオレ証明書 (スコア:1, すばらしい洞察)
だったらそもそもSSLに無駄なコストを掛ける必要はないと思いますが何のために導入するのでしょうか。
Re:第三種オレオレ証明書 (スコア:1)
たとえば、クライアントがクッキーを利用できないことを想定してWebサービスのセッション機能を実現するときに、URLにセッションキーを持つ実装があります。しかし、この方法はSSLを利用しない場合に、プロキシサーバのログや、Refererからセッションキーが(プロキサーバの管理者や、外部サイトの利用者が)意図せずして流出します。
悪意を持った攻撃は防げませんが、自己認証のSSLでもこういった事故は防げます。
もっとも明確にそういう目的を持って使っていることは稀だと思いますけれど。
Re:第三種オレオレ証明書 (スコア:0)
確かになりすましは区別できませんが、わざわざ仕掛けないと騙せませんから。
同じLANを使っている多の利用者に盗聴されない程度の意味はあるかも知れません。
Re:第三種オレオレ証明書 (スコア:0)
Re:もう当たり前のように使われてるんじゃないか (スコア:2, すばらしい洞察)
ただし、認証や、アクセス規制がかからず公開されているWebページで使用されている自己発行証明書はオレオレ証明書扱いでしょう
認証等で制限され、使用者すべてに自己証明書等が配布されているのであれば、まぁオレオレ証明書でなく適応と言っても良いと思いますが
フィンガープリントだろうと、別ルートで公開キーを安全に入手出来るようにしてあろうと
それを該当ルートで入手してない人にとってはオレオレ証明書と変わらない訳だし、公開用Webページで使う物では無いでしょう
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
> それを該当ルートで入手してない人にとってはオレオレ証明書と変わらない訳だし、
素朴な疑問として、ダウンロードしてきたブラウザとか、
プレインストールさていたOSに最初から入っている証明書、というのは、
どういう扱いになるんでしょうか?
それを別途検証して使っているという人をあまり見たことがありませんが。
そういう意味では、そういうものもオレオレ証明書と変わらん、
と結論付けざるを得ないのではないでしょうか。
Re:もう当たり前のように使われてるんじゃないか (スコア:4, 参考になる)
> プレインストールさていたOSに最初から入っている証明書、というのは、
> どういう扱いになるんでしょうか?
> それを別途検証して使っているという人をあまり見たことがありませんが。
> そういう意味では、そういうものもオレオレ証明書と変わらん、
> と結論付けざるを得ないのではないでしょうか。
同意します.すでに,「オレオレ証明書か否か」での単純な基準だけで安全性を判断してはダメ!という教育が必要な段階ではないかと思います.
以下,以前自分のblogのエントリ( 無償で正統的なコードサイニング証明書を入手する方法 [keio.ac.jp])で書いた内容ですが:
たとえば,ThawteのPersonal E-mail Certificates [thawte.com]というサービスでは,メールアドレスさえあれば,個人用の証明書を,誰にでもすぐにタダで発行してもらえます.ここで使われているCAは,Firefox, Thunderbird, Java Runtime Environmentなどにあらかじめ組み込まれている,Thawte Consulting の Thawte Personal Freemail CA という名前のもので,ここから発行された証明書で署名された内容は,上記のアプリケーションで,警告無しに受け入れられることになります.
さらに,Convert the Java JKS key-store to Microsoft PFX format [crionics.com]というページには,そうしてThawteから受け取った証明書を,Java JKS key-store 形式ないし Microsoft PFX format に変換する手順が書かれています.このページに沿って作業をすれば,Java JAR ファイルへでもMicrosoft CAB ファイルへでも,自由にコード署名ができるようになります.
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
わざわざ設定を変えない限りWebサイトの偽装は見破れるのではないかと思うのですが、どうなのでしょうか。
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
すみません,ぼくの書き方が,ちょっと紛らわしかったかもしれませんね.FirefoxやWindowsの証明書ストアについては,大丈夫なのでしょう.ヤバいのはJavaです.Javaでは,最新のJava SE 6であっても,Java Control Panel のCertificatesの中の,Certificate type: Signer CAのリストの中に,"Thawte Personal Freemail CA"が含まれてしまっているのです…!
その結果,
> 本当に
> >「オレオレ証明書」としての警告が表示されない
ということになります.
http://sqs.cmr.sfc.keio.ac.jp/tdiary/?date=20051003#p02
に,画面ダンプを載せましたので,ご覧下さい.
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
逆に言えば配布元、配布ルートが信頼できる物でありえるのであればそれはオレオレでは無いと言うことになります
最終的に判断するのは使用者であり購入者です
まぁいい加減な証明書を添付して配布していたら、購入者以外の人からのつっこみも有るかもしれませんね
Microsoftや各ブラウザ提供者が配布している証明書は少なくとも信用できると一般的に判断されている?から使用されているのでしょう。
そして各証明書等を持っていない場合は信頼できるかどうかですら、判断されていないわけですから、当然オレオレ証明書となるわけです
Re:もう当たり前のように使われてるんじゃないか (スコア:5, すばらしい洞察)
こういうブラウザとかをダウンロードしてルート証明書まで確認する人がどれだけいるか?と言えば、ほとんどの人はそんなものまで確認しないんじゃないかな?
でもなぜか信頼されてますよね。
信頼されてると言うより、そこにオレオレ証明と同様な危険性があるとは誰も気にしていないし指摘している人もいないというか。
それに対して、いわゆるオレオレ証明に対してはヒステリックに拒絶をするというのは、危険性の指摘にバランスを欠いていると感じます。
ブラウザがhttpなんだからオレオレ証明でもいいじゃないかとか、オレオレ証明で騒ぐぐらいならブラウザの配布も問題にしろという話ではなく、どちらも同程度の危険性がある(むしろブラウザの方が明確にユーザがルート証明をインストールするという手順を経ない分危険かもしれない)にも関わらず、危険性の指摘がバランスを欠いているという事に対して、直感的な違和感があるというだけですが。
Re:もう当たり前のように使われてるんじゃないか (スコア:2, 参考になる)
是非確認してみてください。ただし、V1.0には署名がありません。
Windwos XP SP2 だと、チェックが少し楽になってます。
インターネット経由でダウンロードしたプログラムには「インターネットからダウンロードした」というマークが付き
コード署名されて正当性が確認できたときは軽い警告(黄色)が出て、そうでないときは強い警告(赤色)が出たはずです。
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
出来るだけ安全な方法で配布する事が必要だと思います。
Firefoxを使ってSSLでアクセスするのであれば当然考慮した方がよいでしょうし、信用できなければSSLのアクセスには使用しない方が良いでしょう
オレオレと同程度に危険だと思いますし当然でしょう。
SSLは公開キーの配布元、流通元、流通方法のすべてが信用できて初めて使用できる物だと考えます。
もっともこれは公開キー暗号方式全般に言えることではあるのですが..
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
「どうすればFirefoxを信じられる?」の件がやっと対処 [srad.jp]
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
ちなみに..
>SSLは公開キーの配布元、流通元、流通方法のすべてが信用できて初めて使用できる物だと考えます。
この条件に合致するのは、あくまでrootCAの話で一般の公開キーは対象外です。
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
なぜSSL(TLS)限定?
そこまで信用できないのなら、素のHTTPのアクセスだってぁゃιぃじゃありませんか。
まあ、ソースコードを検証した上で、安全なOS・コンパイラでソースからmakeしたFirefox、
というのなら話は別ですが、それは、自己署名証明書のフィンガープリントを検証するより
はるかに難易度が高いのではないでしょうか?
> オレオレと同程度に危険だと思いますし当然でしょう。
それよりはるかに危険ですよ。
だって普通、Firefoxのインストールって、管理者権限でバイナリを実行するでしょ?
そんなことができるんだったら、ユーザのPCにイタズラし放題ですから。
> SSLは公開キーの配布元、流通元、流通方法のすべてが信用できて初めて使用できる物だと考えます。
で、その配布・流通を助ける一手段として、フィンガープリントが準備されているわけですが、
なぜそこまでフィンガープリントを否定するんでしょうか?
危険性の見積において、全体のバランスが取れていない印象を受けます。
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
同じThawte発行の証明書で、こういう問題 [srad.jp]が指摘されています。
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
コード署名というのは、「改竄の可能性がある」と認識している人が「改竄されていない」と確認するための手段に過ぎません。
いくら本物にデジタル署名を施しても、「改竄の可能性がある」と認識していない人には何の役にも立ちません。
高木さんが「オレオレ証明は危険だ」と指摘し、広報しているのと同様以上の情熱(?)を持って、広く一般に「Firefoxをダウンロードしたらデジタル署名を確認しないと危険だ」と指摘し、広報している人がいますか?
多くの確認もせずに使っている人が危険にさらされているという事を気にしている人がどれだけいますか?
自分が危険かもしれないと考えている人はいるでしょうが
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
これ [takagi-hiromitsu.jp] とかこれ [takagi-hiromitsu.jp] とかありましたね。
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
悪意のあるスパイウエアとかにもコード署名は出来ちゃう。
署名を良く見て判断ということになるのですが
ホストのURLを注意深く確認するのは大変そう。
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
であれば、フィンガープリントで検証するのもありですね。
そう考えると、フィンガープリントを別途入手する手段が用意されているものを、そうでないものと一緒にして、 と括ってしまうのは、乱暴な議論じゃないでしょうか。
もちろん、そういう立場の人が居ても良い訳ですが、そうでない立場もありますよ、ということで。
Re:もう当たり前のように使われてるんじゃないか (スコア:2, 参考になる)
ちなみに出来ることが可能である事ではありません
それは前の発言にも書いたとおりです、アクセスが確認できる人に制限されており、さらにユーザーに証明書等が信用できるルートで配布されていれば問題ないと言うこと
逆に言えば参照できる全ユーザーがフィンガープリントを確認し、正常で有ることを確認するのであればオレオレではないと言うことです。
しかし、確認しない人、まだ確認出来る物を持っていない人にとってはオレオレ証明書なわけです
証明書の場合はブラウザが自動で確認してくれますから、少し条件が楽になりますが、フィンガープリントだと確認してもらわないといけないのでアクセスを限定しない限り実現するのは大変でしょう
>と括ってしまうのは、乱暴な議論じゃないでしょうか。
事実上インターネットに接続し、ブラウザを使用してSSLにてアクセスする全ユーザーに上記を強制するのがほぼ不可能に近い作業であると考えますから、別に乱暴でも無いと思いますよ
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
ただし、一般的にその証明書がオレオレで有るかどうかを評価するばあいは、アクセスできる多くの人を基準にして考えますから、やはりオレオレ証明書となってしまうと言うことです
Re:もう当たり前のように使われてるんじゃないか (スコア:2, 参考になる)
それと同等の検証を、ブラウザ・OSの配布・流通においては、どう行ってます?
フィンガープリントが事前に全員に配られていなければならない、というのは厳しすぎる気がします。
ブラウザやOSの配布・流通では、すべての人が検証手段を持っているわけですらないのですから。
利用しようとする人のほとんどすべてが、フィンガープリントを(複数の手段で)入手できる、
と言う程度が適当だと思いますが、どうでしょうか?
それでも、ブラウザやOSの流通に比べて、厳しすぎるような気もしなくはないですが。
-----
...と、言うように、こう言った議論では、断定を避けるような議論になるかと思います。
立場が違えば結論も違って当然なのですから。
それも含めてどうでしょうか?
-----
ちなみに、ブラウザ・OSの流通だけでなく、管理者権限でインストールする必要のある
ソフトウェア全般に対しても、同等の検証が必要になりますよね。
MS-Windowsあたりだと、証明書ストアに何かをインストールしようとすれば、警告を発してくれるかな?
APIでなく、ファイルを直接アクセスするような場合でも警告は出るんだろうか?
Re:もう当たり前のように使われてるんじゃないか (スコア:3, 参考になる)
そのためにSSLの証明書はブラウザとともに配布されている訳でしょう
また各証明書発行団体の検証は配布側の企業・団体に委任されていると見て良いでしょう。
Microsoftだと詳細は不明ですが、こんな感じのようです [microsoft.com]
それは、秘密キーの管理の確認であったり、発行先の身元の確認方法で有ったりするわけです。
そしてユーザーはその配布団体を信用するかどうによって同時に配布されている証明書を信用するかどうかと言う事になります
そしてそのブラウザを使用して、配布された証明書を使用しSSLのアクセスを行うと言うことは、配布団体を信用するって事になるでしょう。
発行元を信用するというのは...秘密キーの管理は厳重に行われる事を確認しなければ意味がありません。
少なくとも他者に漏洩した時点でその鍵ペアは危険な物になりますから当然の最低条件です。
自己証明の場合は上記を判断する事を流通を行う側ではなく、使用者個々人に対して要求する訳ですが、フィンガープリントとともに不特定多数対し判断可能な資料は提示されるのでしょうか?
そしてそこまでを注意して個人に判断しろというのは、やはり不可能でしょう
その組織が責任を持てる範囲なら自己証明で処理することは問題ないと思いますが、不特定多数にそれを実行する物ではないと言うことです。
そしてオレオレだと文句を言われない為には、配布元が責任をもてる人以外はアクセス出来ないように制御するのが好ましいでしょう
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
> そのためにSSLの証明書はブラウザとともに配布されている訳でしょう
一行目は正しいです。しかし「そのため」以降は、一行目の論理的帰結になっていませんね。
SSLで証明書を配布し、別途フィンガープリントを配布する手段を考えてもいいわけですから。
> ユーザーはその配布団体を信用するか
は、どうやって検証されていますか?配布経路も問題になりますが。
それと比べて、自己署名証明書とフィンガープリントの公告、という手段は、
どのくらい安全だといえますか?
> 配布元が責任をもてる
では、マイクロソフトは、どういう責任を取ってくれるのでしょうか?
#証明書の「発行」とブラウザ・OSに証明書を添付して「配布」。
#この使い分けでいいですよね?
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
それを *一般人に分かりやすい* という錦の御旗の下にゼロイチで分けるから、グレーゾーンを正しく評価できなくなる。
机上で決めた分類以外は存在そのものを無視しようとする、官僚病の一種ですな。
Re:もう当たり前のように使われてるんじゃないか (スコア:2)
>どのくらい安全だといえますか?
フィンガープリントはあくまで流通の正常性を証明するものですね。逆に言えばソフトMD5だったりするわけです
発行者が信用できないのであれば双方とも安全ではないでしょう
発行者や流通が信用できるものであれば、双方は信用できる元となります
それに私はフィンガープリントで確認した証明書が安全ではないといっている訳ではありません
フィンガープリントで確認することが不可能な人、また確認しようとしない人にとっては、自己証明はオレオレ証明書でしかないのです。
そして公開サーバーを評価するばあい、フィンガープリントでその安全性を確認する方法は、すべての人が見れる環境においては不適当でしかありません
それは強制的にフィンガープリントを確認するという行為を適応することが不可能だからです
>では、マイクロソフトは、どういう責任を取ってくれるのでしょうか?
配布元が信用できなければ、ブラウザから削除もできますし
ブラウザ自体を使用しないこともできるでしょう
その後、信用できる方法で使用者の責任においてインストールするという方法もありますよ
CAも同様です(苦笑
まぁ、信用できる人だけがつかっているのでしょう
ただし、信用度は自己証明より実績面で上だと判断する人が多いのは確かだと思います
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
言ってることは解るんですが…
立場が違えば、適当・不適当の判断も変わって当然です。
> まぁ、信用できる人だけがつかっているのでしょう
> ただし、信用度は自己証明より実績面で上だと判断する人が多いのは確かだと思います
つまり、そういうことですよね。
適当・不適当は、立場によって変わるのであって、
「不適当でしかない」といえる性質のものじゃないと思います。
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
アクセス規制していないWebでこれをやると言うことはつまりインターネットにアクセスしてSSLのWebを見る人は、
フィンガープリントが提供されているホームページにアクセスする場合は、データーを送付する前に、まずフィンガープリントを取り寄せて確認しその後にデーターを送信する操作をする人だけが使っていると言う保証があるって事でいいですか?
そしてそのWebを使って情報を提供したい人にはフィンガープリントを別ルートで配布する環境がインターネットに接続可能な世界全地域に対して提供されていると言うことでしょうか?
極端ですが、公開サーバーって言うのはそう言う事でしょう、すべての情報提供者がそれをやってくれるのであれば、問題はないんでしょうけどねぇ~
そうすればrootCAなんて仕組みは必要ないかもしれません
ただし、厳密に実行するにはものすごくコストはかかりそうですが(苦笑)
なので「インターネットでアクセス制限がなく公開する」という状況においてはやはり不適当でしかないと思いますよ
むろん、上記作業をちゃんとやってくれる人以外をすべて無視して良いのであれば確かに適当なのかもしれませんが
しかし、サーバーの評価と言うのはあくまでアクセス出来る全対象を考慮して行われる物でしょう
故に世間的にはオレオレ証明書を使用したサーバーと評価されてしまうわけです
Re:もう当たり前のように使われてるんじゃないか (スコア:1)
いけません。
例えば、フィンガープリントを元に正当性を確認しない人に対しては、責任を負わない、
という立場も考えられます。
正当性を確認せずに送ってもいいけど、その場合は騙されても知らんよ、ってことですね。
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
Re:もう当たり前のように使われてるんじゃないか (スコア:0)
フィンガープリントがあればいいってものじゃない (スコア:2, すばらしい洞察)
Re:フィンガープリントがあればいいってものじゃない (スコア:1)
一番ものを言うのは、運用実績と言うところでしょうか。
いずれにしても、自己署名証明書だからどうの、と簡単に結論付けられるものじゃないと思います。
もちろん、フィンガープリントも配布しないような自己証明証明書は、信じるに値しません。
しかし、どのくらいの認証局が、フィンガープリントを公告しているでしょうか。
例えば、ベリサインだって、元をたどれば自己署名証明書ですが、
例えば、印刷されたフィンガープリントって見たことあります?
Re:フィンガープリントがあればいいってものじゃない (スコア:0)
疑い出したらきりがありません。そもそもフィンガープリントが公示されていたとしても、その媒体が信用できるのかという問題を解決しなくてはなりませんし。
たいていの人はブラウザやPCにあらかじめインストールされているものを無条件に信頼していますね。誰かがこっそりPCにログインして証明書を入れ替えていないかどうかなんてことまでは考えたりはしません。
どうしても信用する気にならなければ証明書ストアから削除す
Re:フィンガープリントがあればいいってものじゃない (スコア:1)
まあ、そういう立場の人が居ても構いません。それはその人の自由です。
しかしながら、どのくらい信用できるのか、と言うのを判断するために、
CPやCPS、複数の手段によるフィンガープリントの配布、その他レガシーな信用情報など、
いろいろなものを利用することができるわけです。
そういうものを見て総合的に判断しよう、という立場もあっていいですよね。
逆に、ブラウザやOSの証明書ストアを信用している人をターゲットに、
このような [srad.jp]手法も考えられるそうですよ。
PKIの運用はいろいろ難しいことが多いです。
Re:フィンガープリントがあればいいってものじゃない (スコア:0)
組み込み済みのルート証明書については、フィンガープリントなど照合する必要がありませんから。
ブラウザ自身やOS全体の真正性確認せずに、証明書だけ真正性確認しても意味がないんですから。
まだわからない?
Re:フィンガープリントがあればいいってものじゃない (スコア:0)