SSHでの公開鍵認証方式について教えてください。
一般的に、SSHで公開鍵を使用する場合、
①クライアントで鍵ペアを作成する
②作成された鍵ペアのうちの公開鍵を、クライアント→サーバに送信してサーバ側で保存する。
という準備作業をすると思います。

ここで、公開鍵は慎重に取り扱うべき、という解説をたまに見かけます。

例:http://d.hatena.ne.jp/LukeSilvia/20080611/p1
「WinSCPでサーバーに公開鍵をコピー。
本来であれば、サーバを外部に公開していない場合などを除いては、ネットワークを使用せず、CR-DやUSBなどでコピーした方がよい。」

公開鍵は、もれないように慎重に取り扱う必要はあるでしょうか?
公開鍵が外部にもれたばあい、何かリスクはあるのでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/01/15 22:02:23
  • 終了:2012/01/22 22:05:03

ベストアンサー

id:y-kawaz No.2

y-kawaz回答回数1337ベストアンサー獲得回数2032012/01/15 23:09:27

ポイント33pt

> 公開鍵は、もれないように慎重に取り扱う必要はあるでしょうか?
鍵長が短すぎとかでもなければ問題無いと考えて良いです。でなければ公開鍵暗号の意味がありません。

公開鍵をhttpやプレーンテキストなメールでやりとりする場合のリスクがあるとすれば、通信経路上などでのなりすましなどが考えられます。その対策として、公開鍵をhttpsで公開したり、物理メディアで渡したり、暗号化して渡すなどといった手段は有効だと思います。

成りすましリスクの具体例をとしては例えば↓こんな感じです。
BさんがAさんに「サーバに登録するから公開鍵を送ってね」と言ったのをCさんが聞いていたとします。CさんはAさんがBさんに送る前に、Cさんの公開鍵を添付した偽メールを自分がAさんであると装ってBさんに送りつけて、Bさんがまんまと騙されてサーバに登録してCさんの心縫うを許してしまう、など。

id:DQNEO

なるほど!ミドルマンなんちゃらアタックというやつですね。

「公開鍵がもれるのは問題ないが、まちがって悪い人の公開鍵をサーバに登録してはいけない」ということなんですね。

すごい納得できました。

2012/01/29 02:05:59
id:DQNEO

つまり、②の過程で他人の公開鍵をサーバにおいてしまったら、侵入されてしまうわけですね。
なるほど。

2012/01/29 02:08:31

その他の回答(2件)

id:katekin1982 No.1

katekin回答回数12ベストアンサー獲得回数12012/01/15 22:54:30

ポイント34pt

公開鍵は漏れても全く問題ありません。ご安心下さい。

下記のように考えて下さい。
公開鍵:暗号化する専用の鍵
秘密鍵:復号化する専用の鍵


質問文にあるサイトを拝見しましたが、なぜ問題があるのかに言及しておりません。
誤った解釈かと思われます。

公開鍵はあくまで暗号化専用の鍵です。この情報がもれたとしても、復号化することは一般的にできません。もし、公開鍵が漏れて問題があるのであれば、世の中のhttpsで始まるサイトは全て問題があることになります。

http://ja.wikipedia.org/wiki/%E5%85%AC%E9%96%8B%E9%8D%B5%E6%9A%97%E5%8F%B7

id:DQNEO

なるほど!やはりそうなんですね。
安心いたしました。
ありがとうございます!

2012/01/15 22:59:44
id:kodairabase No.3

kodairabase回答回数661ベストアンサー獲得回数802012/01/16 07:52:20

ポイント33pt

公開鍵は、名前の通り公開するものですから、流出や漏洩のリスクはありません。
ご質問のページが、なぜそのような記述をしているのかは分かりません。

また、公開鍵を使ってコンテンツを暗号化したりすることもないので、なりすましもできません。

  • id:DQNEO
    ここにも「公開鍵」はみだりに公開するな派の意見が。
    http://hgotoh.jp/wiki/doku.php/documents/other/other-004
    「公開鍵は「公開」って付いているくらいで「見られてもいいはずだろ」なんて思っちゃって ftp とかでコピーするな。

    ここでの「公開」はあくまで「ログイン先のサーバに公開」ということ。

    ログイン先サーバからの質問が端末の公開鍵で暗号化されて端末に届けられ、端末は秘密鍵で復号して質問の回答を返す。正しく復号できていればサーバへの返事も正しいから、サーバは「あ、この端末は秘密鍵持ってるから接続許可していいんだな」と判断する。

    もし公開鍵が通信経路上で覗き見されてコピーされたとしよう。 悪いおじさんがその公開鍵をコピーした偽サーバを立てて、こっちの通信を偽サーバに誘導したらまず気が付かないだろう。 誘導のやり方なんてググれば出てくるようなのからアンダーグラウンドでしか知られていないようなのから色々あるだろう。 だから、公開鍵も秘密にしておく必要がある。」

トラックバック

トラックバックはまだありません

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなOneの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません