質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Q&A

解決済

2回答

2649閲覧

サーバー証明書の発行の仕組みについて

yusukexyusuke

総合スコア52

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

0グッド

0クリップ

投稿2015/11/07 05:51

宜しくお願い致します。

現在SSLについて調べております。

https://www.neteng.co/?p=694
こちらのサイトに行き着いてわかりやすいなーと思い、
熟読しているのですが、
以下の部分が理解出来ません。

CSRを認証局に送付するとCSRに含まれるディスティングイッシュ・ネームと公開鍵からSSL証明書を発行します。

とあります。

それ以前に、CSRとは

ディスティングイッシュ・ネームと公開鍵をハッシュアルゴリズムによりハッシュ化し証明書署名要求(CSR)を作成

とあるので、CSRはハッシュ値なのだと理解しています。

ハッシュ値は不可逆ですよね。
なぜCSRからディスティングイッシュ・ネームから取得できるのでしょうか。

こちらのサイトの説明が間違っているのでしょうか。

ご教示いただけますと助かります。
どうぞ宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

サイトの説明不足でしょうね。CSRにはディスティングイッシュ・ネーム(長いので以下DN)と公開鍵をくっつけてハッシュ化したハッシュが含まれますが、それ以外にもDNと公開鍵も一緒に含まれています。このハッシュはDNや公開鍵が改竄されていたときにすぐにわかるように付けているような物です。実際にopenssl等を用いてCSRに含まれるDNと公開鍵は確認できますよ。

投稿2015/11/07 06:21

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yusukexyusuke

2015/11/07 09:19 編集

ご回答ありがとうございます! ``` -----BEGIN CERTIFICATE REQUEST----- hoge -----END CERTIFICATE REQUEST----- ``` hogeがDN+公開鍵をハッシュ化したハッシュ値だと思っていたのですが、 そうではなはないんですね。 ``` openssl req -text -noout ``` でCSRの内容を表示すると、 ``` Certificate Request: Data: Version: 0 (0x0) Subject: C=JP, ST=Some-State, O=Internet Widgits Pty Ltd Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:a4:48:b8:47:71:4c:88:f8:55:ea:17:fd:66:b8: 〜〜 88:9f Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha1WithRSAEncryption 35:1d:42:85:06:39:16:71:08:e5:9d:cc:a4:43:42:38:3b:2e: 〜〜 06:98:2b:ca ``` と表示されました! Signature Algorithm: sha1WithRSAEncryption これこそがDNと公開鍵をくっつけてハッシュ化したものなんですね! ``` -----BEGIN CERTIFICATE REQUEST----- hoge -----END CERTIFICATE REQUEST----- ``` CSRとは上記内容を 暗号化? ハッシュ化?(ハッシュ化したら元に戻せないから違うな) したもの?? なんと表現したらよいのでしょうか。。。 ご回答いただけますと完全にすっきりできそうですm(__)m 追記: エンコードされたものと表現すれば正しいでしょうか。。
raccy

2015/11/07 09:49

その通り、Signature Algorithmの部分が、作成されたハッシュ(拇印)です。 opensslで表示された情報はDN部分を除けば、公開鍵や拇印は本来バイナリなデータです。DNや公開鍵、拇印、その他バージョン情報や暗号化の種類の情報をまとめて、一つのバイナリデータとしてプログラム内部では扱っています。しかし、バイナリデータはそのままファイルとして扱うのは色々と問題がでる場合があるので、BASE64という符号化方式でASCII文字列だけのテキストデータにしてエクスポートするようにしています(この形式をPEMと読んだりします)。これがCSRのファイルです。人では直接読めませんが、とくに暗号化などをしているわけではありません。 このPMEの方法は暗号鍵や証明書も同じです。実際に似たようなテキストファイルになっているとおもいますので、確認してみてください(他の形式もありますが、認証局とのデータのやりとりでは一般的にPEMを使用する場合が多いです)。
yusukexyusuke

2015/11/07 10:23

スッキリしました! 頂いた情報が検索キーワードのヒントとなり、 もっと理解が深まりそうです! ありがとうございました!
guest

0

ハッシュ値は不可逆ですよね。
なぜCSRからディスティングイッシュ・ネームから取得できるのでしょうか。

上記を可逆にするのが秘密鍵(公開鍵)の存在ではないでしょうか?

以下のページがわかり易いと思います。
http://d.hatena.ne.jp/digisecdog/20101119/1290147066

投稿2015/11/07 06:22

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yusukexyusuke

2015/11/07 10:24

ご回答ありがとうございます! ハッシュ化と暗号化の違いについてもキチンと認識できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問