「秘密鍵」の版間の差分
提供: セキュリティ
(ページの作成:「<!-- vim: filetype=mediawiki --> 秘密鍵(secret key)は、暗号で利用される鍵です。 読み方 ひみつかぎ __TOC__ == 概要 == [[秘密...」) |
|||
(同じ利用者による、間の2版が非表示) | |||
行1: | 行1: | ||
− | + | [[秘密鍵]](secret key)は、[[暗号]]で利用される鍵です。秘密鍵は、[[OpenSSL]]コマンドや[[ssh]]の[[ssh-keygen]]で作成します。 | |
− | + | ||
− | + | ||
− | + | ||
− | [[秘密鍵]](secret key)は、[[暗号]] | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | '''読み方''' | ||
+ | ;[[秘密鍵]]:ひみつかぎ | ||
+ | ;secret key:しーくれっと きー | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[秘密鍵]]は、公にしない鍵です。 | [[秘密鍵]]は、公にしない鍵です。 | ||
行18: | 行12: | ||
2つの鍵を[[鍵ペア]]と呼びます。 | 2つの鍵を[[鍵ペア]]と呼びます。 | ||
− | プライベートキー(private key)とも呼ばれます。 | + | [[プライベート鍵]]/プライベートキー(private key)とも呼ばれます。 |
[[公開鍵暗号]]では、暗号文の復号化に利用されます。 デジタル署名では、署名の作成(暗号化)に利用されます。 | [[公開鍵暗号]]では、暗号文の復号化に利用されます。 デジタル署名では、署名の作成(暗号化)に利用されます。 | ||
行24: | 行18: | ||
[[共通鍵暗号]]方式でも鍵は公開しないため、[[秘密鍵]]と呼ぶことがあります。 | [[共通鍵暗号]]方式でも鍵は公開しないため、[[秘密鍵]]と呼ぶことがあります。 | ||
− | == | + | == 公開鍵は秘密鍵から作成される == |
+ | [[公開鍵]]は、[[秘密鍵]]([[プライベート鍵]])から作成されます。 | ||
+ | == 鍵の長さは「鍵長」という == | ||
+ | 一般的に[[鍵長]](鍵の長さ)は、長いほうが良いです。鍵長は、ビット数で表されます。鍵の長さで、鍵が表せるパターン数が決まります。128ビットの[[鍵長]]の場合、2^128(2の128乗)通りの鍵が表現できます。鍵長が短いほど、[[総当たり攻撃]]を受けやすくなります。[[鍵長]]が長くなるほど、計算コストが上がります。 | ||
+ | [[ssh]]の鍵、暗号で使う暗号鍵は、計算コストを意識しつつ、長い鍵を使うことを推奨します。 | ||
+ | 扱える鍵のサイズは、暗号アルゴリズム、ソフトウェアのバージョンなどによるので、マニュアルをよく読んで、どのサイズが扱えるのか、確認してください。 | ||
== 使い方 == | == 使い方 == | ||
− | + | === OpenSSLで秘密鍵を作成する === | |
+ | [[OpenSSL]]コマンドで[[秘密鍵]]([[プライベート鍵]])を作成する例です。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ openssl genrsa -out private.pem 2048 | ||
+ | </syntaxhighlight> | ||
+ | 秘密鍵を暗号化する場合には、以下のコマンドを実行します。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ openssl genrsa -out private_secure.pem -aes256 2048 | ||
+ | </syntaxhighlight> | ||
+ | === sshの秘密鍵と公開鍵を作成する === | ||
+ | [[ssh]]の[[秘密鍵]]と[[公開鍵]]を作成するには、[[ssh-keygen]]コマンドを用います。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ ssh-keygen | ||
+ | </syntaxhighlight> | ||
+ | === 暗号 === | ||
+ | * [[OpenSSLコマンドを用いた共通鍵暗号]] | ||
+ | * [[OpenSSLコマンドを用いた公開鍵暗号]] | ||
+ | * [[OpenSSLコマンドを用いたデジタル署名]] | ||
== 関連項目 == | == 関連項目 == | ||
− | + | {{cipher}} | |
− | + | <!-- vim: filetype=mediawiki | |
− | + | --> | |
− | + |
2014年11月24日 (月) 20:13時点における最新版
秘密鍵(secret key)は、暗号で利用される鍵です。秘密鍵は、OpenSSLコマンドやsshのssh-keygenで作成します。
読み方
- 秘密鍵
- ひみつかぎ
- secret key
- しーくれっと きー
目次
概要
秘密鍵は、公にしない鍵です。
秘密鍵は、公開鍵暗号方式において公開鍵とペアで使います。 2つの鍵を鍵ペアと呼びます。
プライベート鍵/プライベートキー(private key)とも呼ばれます。
公開鍵暗号では、暗号文の復号化に利用されます。 デジタル署名では、署名の作成(暗号化)に利用されます。
共通鍵暗号方式でも鍵は公開しないため、秘密鍵と呼ぶことがあります。
公開鍵は秘密鍵から作成される
鍵の長さは「鍵長」という
一般的に鍵長(鍵の長さ)は、長いほうが良いです。鍵長は、ビット数で表されます。鍵の長さで、鍵が表せるパターン数が決まります。128ビットの鍵長の場合、2^128(2の128乗)通りの鍵が表現できます。鍵長が短いほど、総当たり攻撃を受けやすくなります。鍵長が長くなるほど、計算コストが上がります。
sshの鍵、暗号で使う暗号鍵は、計算コストを意識しつつ、長い鍵を使うことを推奨します。 扱える鍵のサイズは、暗号アルゴリズム、ソフトウェアのバージョンなどによるので、マニュアルをよく読んで、どのサイズが扱えるのか、確認してください。
使い方
OpenSSLで秘密鍵を作成する
OpenSSLコマンドで秘密鍵(プライベート鍵)を作成する例です。
$ openssl genrsa -out private.pem 2048
秘密鍵を暗号化する場合には、以下のコマンドを実行します。
$ openssl genrsa -out private_secure.pem -aes256 2048
sshの秘密鍵と公開鍵を作成する
sshの秘密鍵と公開鍵を作成するには、ssh-keygenコマンドを用います。
$ ssh-keygen