公開鍵の秘密 -2-2007/02/06 23:51

つづき。

RFC4252- The Secure Shell (SSH) Authentication Protocolを読んでみた。

7.  Public Key Authentication Method: "publickey"
-- snip --
To perform actual authentication, the client MAY then send a
signature generated using the private key.  The client MAY send the
signature directly without first verifying whether the key is
acceptable.  The signature is sent using the following packet:

      byte      SSH_MSG_USERAUTH_REQUEST
      string    user name
      string    service name
      string    "publickey"
      boolean   TRUE
      string    public key algorithm name
      string    public key to be used for authentication
      string    signature

と書いてある。読む限り,やはり Public Key Authentication では public key を実際にクライアントから送っても『よい(MAY)』送ることになっている。

『よい』というのは,必須(MUST)ではない。よく読むと、MAY なのは、この前段で boolean に FALSE を設定したパケットを送って、サーバが公開鍵認証を受け付けるかどうかを調べる手間を省いて、いきなり上記のパケットを投げつけても『良い』ということだった。

ここから先は実装依存ということか。OpenSSH のソースを見る必要があるのか... くぅ。

公開鍵の秘密2007/02/06 17:52

わけあって SSH と戯れている今日このごろ。

基本から勉強しようと思い、新山祐介著『入門 OpenSSH』を Amazon で購入。文章は読みやすく説明も丁寧なので,すらすらと2時間ほどで読破したわけだが...

この本の P.41 の脚注に気になる記述がある。ユーザーが公開鍵認証でログインする仕組みを説明している本文についている脚注なのだが、全文引用すると、

厳密には、クライアントはまず自分の持っている秘密鍵に対応する公開鍵をサーバに送ります。その公開鍵がサーバに登録されている場合、サーバはある秘密の値をその鍵によって暗号化してクライアントに送ります。公開鍵によって暗号化された情報を正しく復号するにはそれに対応する秘密鍵が必要なため、もしクライアントがその値を正しく復号して送り返してくれば、そのクライアントは対応する秘密鍵をもっていると確信できます。

とある。さて問題となるのは冒頭の『厳密には、クライアントはまず自分の持っている秘密鍵に対応する公開鍵をサーバに送ります。』の部分だ。

TeraTerm Pro でも PuTTY でもなんでもいいのだが、SSH クライアントの導入手順をネットで調べてみるとすぐに疑問にぶつかる。どの説明でも、クライアントに公開鍵 (id_rsa.pub もしくは id_dsa.pub)をコピーする手順がないのだ。ほとんどの説明で、秘密鍵(id_rsa もしくは id_dsa)のみをクライアントにコピーしている。

『入門 OpenSSH』の記述間違いなのか。それにしては、サーバ側の ~/.ssh/authorized_keys に複数の公開鍵が登録されていても、sshd はクライアントが保持している秘密鍵に対応する公開鍵を迷うことなく見つけ出している。sshd のログをみながら確認してみたが、ユーザーの正しい公開鍵を見つけだすのに苦労しているそぶりはない。

クライアントはどうやって公開鍵をサーバへ送っているのだろう。秘密鍵から公開鍵が生成できるはずもなく...

sshd はどうやって、クライアントが保持している秘密鍵に対応する公開鍵をみつけるの?

だれかおしえて。

Default to2007/02/06 16:48

最近、英文メールでよく見かける表現に default to というのがある。

「(何かのパラメタの)初期値は hoge に設定されている」という意味で、It defaults to hoge. という感じで使われている。The default value of this parameter is hoge. とか、It is set to hoge by default. と同じような意味らしい。

ところで、手元にある Longman Dictionary of Contemporary English にはこの用例がない。動詞としての default は、(金を払わなければならないという文脈で)するべきことをしなかった、という用例があるだけ。金融機関の債務不履行の「デフォールト」がこれにあたるのかな。

辞書が古いのか。default value (省略時設定)から転じて(他)動詞となった比較的あたらしい用法なのか...

すっきり2006/01/19 10:28

仕事のメールが 1,000 通ほど INBOX に溜まっていたのを、ぜーんぶ消したらすっきりした。

年賀状2006/01/09 00:03

やっと年賀状を書き終わった。

年が明ける前に年賀を書かないのが我が家の決まりだ。
そもそも,年が改まる前に「旧年中は...」と書くとはどういう魂胆だ?
新年を迎えてから,気持ちを新たにして年賀の挨拶に取り組むべきではないか。

... などと理由を並べてみても,年が明けて年賀状が届いていよいよ切羽詰まらないと思い腰があがらないという,つまりはたんにグータラなだけなのであった。

あーあ。なんで年賀状なんて風習があるんだろう?

休むなよ2006/01/04 07:58

別にお金を払っているわけじゃないからさ、文句言える義理は何にもないけれど。

アメリカの新聞には休刊日が無いらしい。全部の新聞がそうなのか、いわゆる高級紙だけがそうなのかは知らない。

もうひとつ伝聞を書くと、日本の新聞は休刊日があるということがあちらのジャーナリズムでは「ありえない」ことらしく、(なぜなら休日だからってニュースが世界から消えてなくなるわけではないから)、日本のジャーナリズムの「なってなさ」を日本人が揶揄るという、ちょっと切ない記事を読んだことがある。文春だったかな?

日頃新聞は読売も朝日も毎日も日経もまったくとってないから、日本の新聞がいくら休刊日を設けようとまったく影響は無い。が、これがニュースサイトとなると別だ。普段チェックしている IT Media のニュースは 1月4日の朝 8:00 だというのに、未だに去年の 12月28日 18時42分の更新のまま。6日も前の更新をトップに載せ続けるニュースサイトって、どうよ? ちなみに ZDNet Japan は 12月 29日 16:21 のニュースが最後。さすがに大手の新聞社がバックにいるニュースサイトは正月の間も更新していたようだけど、そういうのは新聞同様、読むところが無いんだってば。

別に金払って読んでいるわけじゃないから、文句を言えた義理も無いのだけれど、ね。

年甲斐もなく2005/12/23 00:45

忘年会でオリエンタルラジオなんてやったら,もう体が動きません。
えぇ,ムリです。年齢上。
部下の手前,クレームメールを打たにゃならんときもあるとです。
えぇ,ムリです。精神衛生上。

折れそうなとき2005/12/07 00:02

仕事が立て込んで余裕がなくなってくると,心が折れてくる。
仕事の対象が技術から人に移ってから,心が折れる兆候ははっきりしている。
人の,良い面ではなく悪い面ばかりを探し,それにどう対処しようか考え始めるのだ。

悪い面ばかりを思いあぐねても,いい考えは浮かばない。仕事の嵐が過ぎ去るのを待つしかない。

その無料ポイントとはなんだ?2005/12/02 23:53

本日の馬鹿メール。

最近,各所にメールアドレスを公開しているせいか,こういうメールが1日に20通くらいくる。

<quote>
【重要】携帯番号交換して下さい
他では出来ませんが、
ttp://www.y-xxxxxxxx.net/?callme では
メルアド交換や携帯番号交換が可能です。

<登録は無料>
今だけ無料ポイントが800Pもらえます。
他との違いを試してみて納得が行かない場合は退会して
もらって構いません。
プライバシーを守るためにフリーメールでの登録も受け付けて
おります。
</quote>

一部伏せ字。

Backup...2005/12/02 09:55

Mac OS X に含まれているバックアップツール、その名もズバリ Backup。

ずっと使っていなかったけれど、iMac G5 は DVD を焼けるので、溜まった写真を DVD で保存しておこうと思い立ち、試しに使ってみた。

なんと、Backup で DVD を焼くと、Backup でリストアしない限りは読めない。プロプライエタリな形式...

写真の保存は単なるフォルダコピーにして、Backup は Key Chain を .mac に保存する用途だけに使おうと思ったのであった。