PKI(公開鍵基盤)について教えて

このQ&Aのポイント
  • PKI(公開鍵基盤)は、ユーザが電子証明書の正当性をチェックするために、CA(Certificate Authority)と連携する仕組みです。
  • CAは階層構造になっており、ユーザは取引先の電子証明書の正当性を近くのCAに照会することができます。
  • ルートCAは自己署名を行い、自らの正当性を証明することで、CAになりすましを防止しています。
回答を見る
  • ベストアンサー

PKI(公開鍵基盤)について教えて

現在個人的に、PKI(公開鍵基盤)を勉強中です。 PKI(公開鍵基盤)のテキストを読むと、だいたいCA(Certificate Authority)は階層構造になっていて、ユーザが、取引先の電子証明書(公開鍵証明書)の正当性を近くのCAに照会に行くと、取引先の電子証明書の正当性をチェックして返答すると同時に、CAが自らの正当性を証明するために、(CAがなりすましでないことを証明するために)、順次、上位のCAに照会をかけ、最後にルートCAにたどり着くと、ルートCAは自らの秘密鍵で自己署名を行って、その自己署名で、CAになりすましがないことを最終的に担保すると書いてあります。 そのような長いトランザクションを、取引先の電子証明書の正当性をチェックする都度行っていると、時間がかかりすぎて実用に耐えないような気がします。 もしかして、実際のCAは階層構造ではなく、ほとんど我々は、ルートCAに直接照会をかけているのでしょうか。

  • Gorby
  • お礼率2% (16/553)

質問者が選んだベストアンサー

  • ベストアンサー
  • kadusaya2
  • ベストアンサー率48% (114/235)
回答No.1

まず、「証明書発行の流れ」と「証明書の正当性を検証する」を混同されています。 ● 証明書発行の流れ ルートCAは自らの秘密鍵で自己署名を行い、自己証明書(ルート証明書)を発行します。 中間認証局はCSRを作成し、それをルートCAにルートCAの秘密鍵で署名してもらい、中間認証局証明書として受け取ります。 取引先はCSRを作成し、それを中間認証局に中間認証局の秘密鍵で署名してもらい、個人証明書またはSSLサーバ証明書として受け取ります。 ⇒ 秘密鍵で署名するのはそれぞれの証明書発行の時だけです。 ● 証明書の正当性を検証する ユーザが取引先の電子証明書の正当性を検証するには、パソコンの中に入っている証明書で信頼チェーンが構築されるか確認します。 -WindowsでSSLサーバ証明書の場合- Internet Explorer のメニューから、ツール → インターネットオプション → コンテンツ・タブ → 証明書ボタン → 信頼されたルート証明機関 を開いてください。 ここに入っているのが、“なりすまし”では無いと判断されたルートCAの証明書です。 ユーザが取引先のSSLサーバにアクセスすると、取引先のSSLサーバ証明書を受け取ります。 このとき、そのSSLサーバ証明書が上記の信頼されたルート証明機関から直接発行されていれば、その時点でそのSSLサーバ証明書は正当であると判断されます。 ただし、同じく Internet Explorer のメニューから、ツール → インターネットオプション → 詳細設定タブ → セキュリティ・グループ → サーバの証明書失効を確認する にチェックが入っている場合は、CAの証明書の中にある「CRL配付ポイント」から失効リストを読み取り、そのSSLサーバ証明書が失効していないことを確認します。 SSLサーバ証明書が中間認証局から発行されている場合、上記の手順ではルートCAの証明書にはたどり着けません。ですので、中間証明書とルートCAの証明書を(Apacheであれば)SSLCACertificateFile に設定しないといけません。SSLCACertificateFile の中身はSSLサーバ証明書と共にユーザに送られます。 以上が実際の電子証明書の正当性確認です。 ご覧になられているテキストとは、まるで異なると思われるのでは。 とりあえず、理論は理論、実際は実際、別々に理解された方が良いですよ。

関連するQ&A

  • 電子認証に伴う公開鍵について

    電子認証に伴う公開鍵についてわかりません。 電子署名にくっついてくるものだと思いますが 公開鍵を作成するには、市販のソフトが必要で しょうか?代表的なものがあれば費用等おしえ てください。 また、あちこちのHPで調べたのですが実際に 取引する場合の仕組みがよくわからないのです が実際に電子署名、証明書がどんなものかサン プル等を手に入れたいのですが何かいい方法が あるでしょうか?

  •  PKIについて、

     PKIについて、 http://www.atmarkit.co.jp/fsecurity/special/02fi … の記載で、これまでの理解と一見異なると思われる事項があります。  まず 「認証局用のソフトウェアさえ購入すれば、だれでも証明書を発行できる」とありますが、 認証局は階層型の認証構造をしているのが一般的であることとの関係は、 どう理解したらよいのでしょうか? そもそも、認証局を(一般に)誰が運営しているのか(特に、ルート証明機関)ということも気になります。 リポジトリとの関係もわかりません。。  また、「(証明書は、)信頼できる認証局が発行したことさえ確認できれば    (正確には期限などの確認も必要だが)、入手経路がどうであれ、その証明書は信頼できる」とあります。 ここでいう証明書は、クライアントがデータのやりとりをしたいサーバが発行する、 認証局によって暗号化されたサーバ証明書ではなく、 当該暗号化を行っている認証局が発行する暗号化のための公開鍵であると思われますが、 その場合、当該公開鍵(3行前の「ここでいう証明書」)の発行元は、認証局から発行される(又は発行されたものをローカルに保存してある)わけで、 どこかを経由して入手するものではないと思われるのですが、いかがでしょうか?  よろしくお願いします。

  • PKIのルートCAはどこを信頼すればいいか。

    こんにちは。 PKIについて、詳しく調べたところ、ルート証明書の偽装。もしくは管理に問題のあるルート証明書(一般企業の証明書等)を入れることの問題性について理解しました。 そのため、ルートCAを入れ直したいのですが、IEのルートCAを見ると数多くの証明機関がルートCAとして登録してありました。 それ故に、どこを信頼して良いものか、検索を掛けてもよく分かりません。 有名な証明機関はお互いに証明し合ってると聞いたことがあるので、まずどこを信頼すればいいのか、教えていただけますか?

  • 自分の公開鍵を相手が持ってることを確認する方法

    授業で課題を出されて 相手が自分の公開鍵を正しく持っていることを確認、証明したいんです 何をどうすればいいのかさっぱりです 調べたらPKIとか証明書を発行するやり方が出てきましたが それしか方法はないのでしょうか?? 授業ではクレオパトラを使って公開鍵を作りました。 詳しい方おられたら教えてください よろしくお願いしますm(_ _)m

  • SSLの公開鍵をCAから取得できる?

    SSLの通信を確認しているのですが、 クライアントPCとサーバがSSLで通信する場合、公開鍵をサーバから クライアントPCは取得しているようですが、CAからは取得できないのでしょうか? ブラウザにルート証明書がインストールされていないCAなら、 公開鍵をCAに要求し取得するものだと思っていましたが、 そうではないのでしょうか?ググっても明確な情報がでてきませんでした。ぜひご教示宜しくお願い致します。

  • 認証時の一番最初の公開鍵の獲得方法

    ベリサイン等での認証を利用する場合、原理的に少なくとも1つの公開鍵は(CAのルートの公開鍵)オフラインで配送する必要があると思うのですが、どのような方法でクライアント1台1台に、正当な公開鍵を配賦しているのでしょうか? またある一定期間での更新(こちらはオンラインでも可能でしょうが)するひつようもあると思うのですがどのように運用しているのでしょうか?

  • 認証局の認証局?

    PKI等で使われる電子証明書について教えてください。 認証局が発行する電子証明書には、認証局の電子署名が入っているそうですが、その署名はどうやって検証するのでしょうか?検証するためには、認証局の公開鍵すなわち認証局の電子証明書が必要になり、その中には、また別の電子署名があると思いますので、その電子署名を検証しないといけないと思います。 こう考えると、いつまでたっても証明できないような気がしますが... また、電子証明書の電子署名とは、電子証明書データのハッシュ値を暗号化したものと考えればよいでしょうか?

  • 電子認証局について

    私はPKIの導入による電子商取引を推進している者ですが、どうしても分からない事があります。 公開鍵・秘密鍵とはソフト?取引先の方は当社の公開鍵さえ持っていれば暗号文の作成・解読・照合ができるものなのでしょうか? お分かりになられる方がいましたらお願い致します。

  • 電子証明書の信頼性について

    電子証明書は公開鍵と共に相手に送信され、その公開鍵の信頼性を保障する証明書とのことですが、その電子証明書自体の正当性はどのように判断するのでしょうか? ある個人が公開鍵、秘密鍵を作成し、ベリサインなどのCAになりすまして、証明書自体も作成しまうことは可能なのでしょうか?(普通は無理なのかとおもいますが。。。。) 可能であった場合、その証明書がベリサインが本当に発行した証明書なのか、ある個人がなりすまして発行した証明書なのかどこ判断するのでしょうか? よろしくお願いいたします。

  • 電子証明書について

    CAは電子証明書以外に公開鍵、秘密鍵も発行しているのでしょうか?また電子証明書と鍵の違いはなにでしょうか?