暗号

楕円DSAでSSH公開鍵認証してみる

優 暗号

暗号

実を言うと古い暗号を使った公開鍵はもうだめです。

突然こんなこと言ってごめんね。でも本当です。

 

 

2004年8月にNISTにより勧告された暗号技術に関するガイドライン

@see https://jp.globalsign.com/service/ssl/knowledge/1024bit.html

 

今回は暗号強度の強い楕円DSAによる公開鍵認証を行うTipsをご紹介します。

 

 

楕円曲線暗号(だえんきょくせんあんごう、Elliptic Curve Cryptography: ECC)とは、楕円曲線上の離散対数問題 (EC-DLP) の困難性を安全性の根拠とする暗号。1985年頃に ビクタ・ミラー (Victor Miller) とニール・コブリッツ (Neal Koblitz) が各々発明した。

具体的な暗号方式の名前ではなく、楕円曲線を利用した暗号方式の総称である。DSAを楕円曲線上で定義した楕円曲線DSA (ECDSA)、DH鍵共有を楕円化した楕円曲線ディフィー・ヘルマン鍵共有 (ECDH) などがある。公開鍵暗号が多い。

@see Wikipedia

 

環境

  • CentOS7.3

 

 

下準備

SSH公開鍵認証用のユーザを作成

# useradd kurobokko
# su kurobokko

 

$ cd

 

楕円曲線暗号で公開鍵を作ります。

作成してみます。

$ ssh-keygen -t ecdsa -b 521 -C "yuu@example.net"

Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/kurobokko/.ssh/id_ecdsa):
Created directory '/home/kurobokko/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/kurobokko/.ssh/id_ecdsa.
Your public key has been saved in /home/kurobokko/.ssh/id_ecdsa.pub.
The key fingerprint is:
4e:73:60:8f:fd:9a:6e:18:26:10:67:85:c6:64:82:63 yuu@example.net
The key's randomart image is:
+--[ECDSA  521]---+
|   ..ooo.        |
|  E .o*          |
| . . =  o        |
|    .  . =       |
|     .  S +      |
|      .ooo .     |
|       o.o  .    |
|        . .o     |
|         o+      |
+-----------------+

 

SSH鍵があるディレクトリまで移動します。

$ cd .ssh

場所の確認を行います。

$ pwd
/home/kurobokko/.ssh

 

鍵ファイルの確認

$ ls -laht
total 16K
drwx------ 2 kurobokko kurobokko 4.0K Sep  6 17:50 .
-rw------- 1 kurobokko kurobokko  361 Sep  6 17:50 id_ecdsa
-rw-r--r-- 1 kurobokko kurobokko  269 Sep  6 17:50 id_ecdsa.pub
drwx------ 5 kurobokko kurobokko 4.0K Sep  6 17:50 ..

 

公開鍵のファイル名の変更

$ mv id_ecdsa.pub authorized_keys

 

パーミッションの設定を行います。

$ chmod 400 authorized_keys

 

気になる中身を見てみよう

公開鍵を見てみます。

$ cat authorized_keys
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAFspTlebe9SRK8yYeWHOzbAnDvSwc0rQAypl543HxYSmWX7lC8SyRUPLGzg3Paro56ujK3ghFekImj7E/f+FO5R2wF2+ZKLDYO7NWHGHStY5jPzXN8S+ipu8kbtFMdj6Avy6QjapeUaWEm+JDJSfRGZmmL3HvL6OO6QSpdcljDQFIA2Fg== yuu@example.net

 

秘密鍵の中身はこれだ!

$ cat id_ecdsa
-----BEGIN EC PRIVATE KEY-----
MIHbAgEBBEFsZoRaXfdyXmTVl2AtD1O5P/Aoivr7J3B/WzP3Lhjfv+ZnNo0Cpnm8
ebSig9Dj3I07yD6n2JC7gls3fe3NWqmtWaAHBgUrgQQAI6GBiQOBhgAEAWylOV5t
71JErzJh5Yc7NsCcO9LBzStADKmXnjcfFhKZZfuULxLJFQ8sbODc9qujnq6MreCE
V6QiaPsT9/4U7lHbAXb5kosNg7s1YcYdK1jmM/Nc3xL6Km7yRu0Ux2PoC/LpCNql
5RpYSb4kMlJ9EZmaYvce8vo47pBKl1yWMNAUgDYW
-----END EC PRIVATE KEY-----

短い。

 

 

4096bitのRSA鍵を発行して比較してみます。

$ ssh-keygen -t rsa -b 4096 -C "yuu@example.net"
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIbWe+jreTcF/vHi0QBYXWbHshIl7F8xD1i/hjXOS0Tq+CIYALR3Vw4y1n7l/twOV0NVm+6AoujHRiGYM9JB26reMEXv0lzOQ2NnZyjO5lUygsEr+qysHvkyLA402Rfxkl69lD/XHchLiBDRIq1J0xTtOgAAa76kO6f6l6nVVnzPs1s2RmfC1skfjR1nV9XP7G1WlS6ifuuDFDfcjkBAgfmhHatBibCPBB81pr32ZKCSb+tdNfv/f7qbpoeviPGyjBAt2oMse2vwjxigKx2QibCiRIow06taeLj8Tok1JjXczAVa4D651j0J0YQ+IT5ju+wl+uCD+4U1FVYwjsjDRJ8DWGZlMBSnisNfdtESo60pBBbJO9HneSzewvw6UL0DKFPZL9XQsjN1CaPRjbpUTKMhyY+RcToHALPiM0i7MFgBuEPAOCaSV6VGDV1sGfci2u29QXbstpLsLXttoeMr9xvUmzBWNXJG7O7PHklDF2EM3XqUeAm/QC3Noc3unaP34SMEp/q1b1HcIuSpJBW2/JdsnC5yktQe/vIiT5EHA/sIJBeggAF8EgBAmtHxj0upmPd5ORi/BMPWqdFeNhxu+kdY61uhf4+asmHRxdcqp8bsZPfuGHMTA5ygNcoAPp/+9+zAf2w9M/doIbaowwkO/X2+UavWXPiSmzhRGgihAGYw== yuu@example.net
$ cat id_rsa

-----BEGIN RSA PRIVATE KEY-----
MIIJKgIBAAKCAgEAyG1nvo63k3Bf7x4tEAWF1mx7ISJexfMQ9Yv4Y1zktE6vgiGA
C0d1cOMtZ+5f7cDldDVZvugKLox0YhmDPSQduq3jBF79JczkNjZ2cozuZVMoLBK/
qsrB75MiwONNkX8ZJevZQ/1x3IS4gQ0SKtSdMU7ToAAGu+pDun+pep1VZ8z7NbNk
ZnwtbJH40dZ1fVz+xtVpUuon7rgxQ33I5AQIH5oR2rQYmwjwQfNaa99mSgkm/rXT
X7/3+6m6aHr4jxsowQLdqDLHtr8I8YoCsdkImwokSKMNOrWni4/E6JNSY13MwFWu
A+udY9CdGEPiE+Y7vsJfrgg/uFNRVWMI7Iw0SfA1hmZTAUp4rDX3bREqOtKQQWyT
vR53ks3sL8OlC9AyhT2S/V0LIzdQmj0Y26VEyjIcmPkXE6BwCz4jNIuzBYAbhDwD
gmklelRg1dbBn3ItrtvUF27LaS7C17baHjK/cb1JswVjVyRuzuzx5JQxdhDN16lH
gJv0AtzaHN7p2j9+EjBKf6tW9R3CLkqSQVtvyXbJwucpLUHv7yIk+RBwP7CCQXoI
ABfBIAQJrR8Y9LqZj3eTkYvwTD1qnRXjYcbvpHWOtboX+PmrJh0cXXKqfG7GT37h
hzEwOcoDXKAD6f/vfswH9sPTP3aCG2qMMJDv19vlGr1lz4kps4URoIoQBmMCAwEA
AQKCAgEAsRV5BDS0neA74tmWlwFKLxnJ8Iydj+gio9D3tVLt/yFGkINozo5khUkz
ZRCIUViNYw+AK9x4oogWjFZeTjcKzVW1rrb+k9dkC0IzhSJfv8apR8eI8S4UC8jE
fAhZEKRrY8XuQNQ9NclN+zfBRXZ1LIupD0T2rjFdhfolk+BPBVdm3RuTKbmtqK+Q
WFZTmGAB+0uzsz6P6at0W11XkZ6+Tq2h+MoGs3RCUwLgcU8A4YkUmxermn3SbNiZ
ipab5lTovR/7GBFFw4EmNcLqfphzsghT5pmppqW5UuXD5HnF4WWO8qDBD1WtyfMX
2cigh1R0lSbHwswnAIUc54SI7fcyelEHSXsc4i+wXxMf9Eo6zn5n0zo1EXBV37fG
uhhDcJqnnp2E5STosrgiPsdknnStVac9Yh6oT/xyU/A7hiBAo9uDJdh4utKuro5W
8All8eEf9gMBTFNRrriQfE2s6cOoefQKEQGweooUUYZmUr1W4PUCX0WKXwm8iLuE
0WoKKNanJz8q8/sDUmT/VgvQjSNX5Dm0BfxlJ57cZuR91XmNDWvS0hyl0kM7BusF
h1x/ISiF08CeG1eUGOAz8hZuC4X4Iy4o3N0ktq64+Ge9IZRUr78bBT1FbOckXeO7
H2IjJZFhbSIF11jmCZIlh3IEt5f5rjQNiZwxtLQcxVnFHvo1RIECggEBAOim4qb9
hYHkcTHg8Gea3SSMK0grzDVJm6qHxqDu5Dv/IF9hzhdiL11tN/7cMzhKzkxtKmDI
US8TMA2E4vmXo4A5cxWXw/F/lqy4lXtJYOtVKlmN5OE272IM7URp+zKFXsVx/f64
/7smrZUYZb+D7Rd2/JFgfqWByDt1nZZXApYEkqeQJkPHUSVpIU5kUxmqwcFGz8IF
+XDnHZZqmoLWdc9PDT92/OIoPYtvMnJzCCePxzEPpPyvQ6REZH0/vxT/t2egLa25
dunWGtqwcTiF8WaE93X5D07eerlAO0zvmvkxSzox4bNcL/osZ1HJ60KiO9XL+gzI
MhFdEp5V2ejeJEcCggEBANyKocGRw5j2EPt2Tcn2QDZMuhp3T3afbbSEhHHgxTDr
V4vomI6rv5J96kzLPUmgUERjxZ6y3AdjJnGO3qP5RN9iKsbKKhRufwIbRzemYtrN
qcZKqCtnnned1+v+2kepfyQ/hyLP/ZktILrZB9Vp2LawiEuRrXvOdc1m/JCsylwW
Z2Jy9f3YuV3rbdi163sdoY5/oGFJPdfy72So7H2+ipnTFJyA0YLs8m5ctu8c6lkA
mlaQiILgnbHHtI2+uC59gKgEIOLW0OtVQpLBVTINCkXR+8GOqDaP+S0WlkQkeTyd
PoTOryMCi2HP5V4ZTnIXQWszhfGAwAhzmTuSkV35pwUCggEBALbM2e3n6YzkF+Tf
H0XosrXSxPdSIoQEMCHPyUwOKJrTnXYUfUB2T00TUhoYns4uSOZYKCIfg1p/sxQM
Q+NlOHy5pyliM/1/CL7x0dIrF9IQ+tOe4CXtai4ahhtpQoyxqoNtS+tnJNjCTUWH
A/t1B0eWoGEB9sDItrGxen70Iv4I3cp3QvmilKnWbusPfRP/zXm1z+xdkV8a2W6k
mH8RT0PykzA4p/5zK9hxKKwwokmjeRmddz9r3rQlYOfgvJ0dR9hOTVXhEgQtzK/k
TzHgXIr3ExFI/rQzry37wBx1b8k46CjzpKmvV6s0VII5K3cRzf3w5apBasWl4ckz
H6MPWGUCggEBAKJ6tD9i/4LCzrIkb5z6gkY+8uEqw212eaGD+/vWCBFJYX9fBn4e
BI6Nm7+mAGos5NXt15ta1IXQw3LoOhj+PYKB1VgNe0EAQywvIqHaQHxJBupi+FC6
D2K69GgWo4QmWNhAwXOhXomqWLGv0XimeZXmqxNZqUFMUzfXxv1jf9amXtaGMbsq
Hy8VkyEUrf9PTkYouuTRy/E8NqinV0www/YeL9I5iaF2pgku30t8tx6JNivOYfRi
PWvL4LaJKzJ9Hfsqx3u3ncWzU8/BBd5RAx97W4o3arCAE6jnOh/L61H/2x6HEzqs
1jliq+5OoJ+niHfNRsItA812NQ9RpS1iD20CggEAN2jecrY6PMFjl+fXkaHys9rk
mabf6Km2aovuU4fKf+trA+xPlEAbQ/sfnzgHFgB2WIBb8SfZo/OuY2PduYhTIHNz
7RdtkvCUBYOPAYGiaT2190hYU+i/qLOV1HT82ep/ratztttj9bFk6+vZeY7NZEwf
7ZsoriupO2oLjgdwbcBvDXBa8obHjYsQ5lMbMjYJOIv0HtmAtjbpN/vixb2KTmtK
hS8z3UmnWgXd4sFo4hX9hZtbtElGdUWqlwOXCMcrUfyp+nW40m57fWhip8Zcmu6W
DxP0g+hBjjSfTD0s7ua9W2kSB8VgDVe2QCPSfYk0zR4bvPHtnX+XcZqHZe0HrA==
-----END RSA PRIVATE KEY-----

長いですね。

 

 

 

楕円DSA公開鍵認証でログインしてみよう!

 

 

無事にログイン出来ました。

お疲れ様です。

 

 

暗号
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG