上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
PC/GnuPG
をテンプレートにして作成
資料室
PC/GnuPG をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
* GnuPG
GnuPGは,暗号化・復号化・署名等を行うための暗号化ソフトウ...
- 暗号化すると,特定の人しか解読できないファイルが作成で...
- 署名すると,特定の人が作成したことを示せる~
GnuPGの元になったのは,Phil Zimmermannさんが開発した''PGP...
PGPの最初のバージョンは,1991年に公開された。当時のPhil Z...
その後,PGPは改良を重ねていったが,1998年にRFC 2440で''Op...
GnuPGは,OpenPGPをベースにドイツで生まれた製品。特定の個...
GnuPGは,特許で制限されている暗号化アルゴリズムを使用して...
2系列/1.4系列で対応している暗号化アルゴリズムは,以下のよ...
- 公開鍵暗号~
-- RSA(1.0.3より)~
-- ElGamal~
-- DSA~
-- ECDH~
-- ECDSA~
-- EdDSA~
- 共通鍵暗号~
-- IDEA(1.4.13/2.0.20より)~
-- 3DES~
-- CAST5~
-- Blowfish~
-- AES-128, AES-192, AES-256~
-- Twofish~
-- Camellia-128, Camellia-192, Camellia-256(1.4.10/2.0.1...
- 暗号学的ハッシュ関数~
-- MD5~
-- SHA-1~
-- RIPEMD-160~
-- SHA-256, SHA-384, SHA-512, SHA-224~
- 圧縮形式~
-- 無圧縮~
-- ZIP~
-- ZLIB~
-- BZIP2~
2.2(2.1)系では,楕円曲線暗号(楕円曲線DSA(ECDSA),楕...
** フロントエンドや統合パッケージ
GnuPGはコマンドラインで使用するツールであるが,GUIで操作...
- GUIフロントエンドの例~
-- [[WinPT>http://winpt.wald.intevation.org/]] (Windows...
-- [[Kleopatra>https://apps.kde.org/kleopatra/]](Windows...
-- [[GnuPG Shell>http://www.tech-faq.com/gnupg-shell.html...
-- [[KGpg>https://www.kde.org/applications/utilities/kgpg...
- 電子メールクライアントの例~
-- [[Enigmail>https://addons.thunderbird.net/ja/thunderbi...
-- [[KMail>https://www.kde.org/applications/internet/kmai...
- 統合パッケージ(GnuPGとGUIフロントエンド・電子メールク...
-- [[Gpg4win>https://www.gpg4win.org/]] (Windows用)~
-- [[GPGTools>https://gpgtools.org/]] (macOS用)~
** 他の暗号化通信との違い
+ SSLなどとの違い~
SSL/TLS(Secure Sockets Layer/Transport Layer Security)...
しかしそれでは,送信後のメールの配送やサーバで保管される...
~Bcc(Blind Carbon Copy)でメールを送る場合,メールのヘッ...
~これに対してPGPやGnuPGでは,必ずしも安全でない通信経路や...
+ 暗号化ZIPとの違い~
パスワードつきのZIPファイル(暗号化ZIP)は,そのファイル...
しかし,何らかの理由でパスワードを変更したいと思っても,...
~PGPやGnuPGでの暗号化では,鍵(セッション鍵)が受信者の公...
受信者の持つ秘密鍵はパスフレーズを入力しないと使用出来な...
~なお,暗号化ZIPでは,一つのファイルに対してパスワードを...
+ S/MIMEとの違い~
S/MIME(Secure/Multipurpose Internet Mail Extensions)は...
S/MIMEでは認証局により鍵や証明書が発行される。また認証局...
このため,S/MIMEでのデジタル証明書の利用については有料と...
* GnuPGをインストール
GnuPGはコマンドラインツールです。
GnuPGには3つの系列が存在している。~
- ''Stable''(2.3/2.4) 2系の最新版。初版リリースは2021/04/...
現在の開発系列。
- ''LTS''(2.2) 2系の旧版。サポート終了は2024/12/31の予定~
現在のサポート系列で楕円曲線暗号など新機能を実装している...
- ''Legacy''(1,4) 旧版~
旧来のスタンドアロン版。古いシステムや組み込み用途に適し...
これから使用する場合には,''LTS''か''Stable''をインストー...
** Windowsマシンにインストール
コマンドラインで動作するGnuPGのみをインストールします。~
下に書いてある''Gpg4winをインストールする''のように,Micr...
[[公式サイト>https://gnupg.org/download/]] から,windows...
2系の最新バージョンは2.4.5。~
ダウンロードしたインストーラーをダブルクリックして実行す...
[Next]ボタンを3回ぐらいクリックでインストールされる。イン...
古いバージョンをデフォルトでインストールしている場合は,...
インストーラーにより実行PATHが設定されるため,すぐにコマ...
コマンドプロンプトを開いて,
C:\home\yuji>gpg --version
gpg (GnuPG) 2.2.23
libgcrypt 1.8.6
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu....
This is free software: you are free to change and redist...
There is NO WARRANTY, to the extent permitted by law.
Home: C:/home/yuji/.gnupg
サポートしているアルゴリズム:
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES2...
CAMELLIA128, CAMELLIA192, CAMELLIA256
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
圧縮: 無圧縮, ZIP, ZLIB, BZIP2
のようにすると,実行とバージョンが確認できる。
デフォルトでは,鍵(公開鍵,秘密鍵)などを保存するディレ...
Linuxマシン(Unix系)などでは''~/.gnupg''になる。
これで特に問題はないが,他のフォルダに変更したい場合は環...
また,gpg.exe実行時に''--homedir''オプションで,直接指定...
*** Gpg4winをインストールする
Gpg4winは,GnuPGやGUIフロントエンド・Microsoft Outlook用...
Microsoft OutlookでGnuPGを使用してメールを暗号化したい場...
[[公式サイト>https://www.gpg4win.org/]] から最新版のイン...
インストールは,ダウンロードしたインストーラーをダブルク...
''GpgOL''というOutlook用のアドオンがインストールされ,Out...
また,''GpgEX''というWindowsのエキスプローラーに統合化さ...
** Linuxマシンにインストール
パッケージ管理ツールからインストールする。
* 暗号化する場合の流れ
GnuPGは,以下のような流れで使用する。~
- 暗号化するための公開鍵を取得する~
- 公開鍵を使用して暗号化する~
- 暗号化した情報(ファイル)を送る~
- 情報(ファイル)を受信した人が自分の秘密鍵で複合する~
暗号化するためには,鍵が必要になります。~
普通は,暗号化してメールを送って欲しい人は''公開鍵''とい...
公開されている''公開鍵''を取得することが出来れば,その鍵...
復号化する側は,''公開鍵''とペアになっている''秘密鍵''を...
GnuPGを使う場合の原則は,次の5つになる。~
- &color(red){暗号化には,受信者の公開鍵を使用する。};~
- &color(red){復号には,受信者の秘密鍵を使用する。};~
- 署名には,送信者の秘密鍵を使用する。~
- 署名の検証には,送信者の公開鍵を使用する。~
- &color(red){秘密鍵を使用するとき,パスフレーズを入力す...
* 鍵の管理
** 自分の鍵を作成する
自分の鍵がまだ無い場合は,新規に鍵を作成する。''-&#x...
D:\home\ueno> gpg --generate-key
ご希望の鍵の種類を選択してください:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (署名のみ)
(4) RSA (署名のみ)
選択? 1
SA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
0 = 鍵は無期限
<n> = 鍵は n 日間で満了
<n>w = 鍵は n 週間で満了
<n>m = 鍵は n か月間で満了
<n>y = 鍵は n 年間で満了
鍵の有効期間は? (0)
これで正しいですか? (y/N) y
あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf...
本名: Yuji Ueno
電子メール・アドレス: y-ueno@xxxxx.co.jp
コメント: mail for xxxxx Co.,LTD.
次のユーザーIDを選択しました:
“Yuji Ueno (mail for xxxxx Co.,LTD.) <y-ueno@xxxxx.c...
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か...
秘密鍵を保護するためにパスフレーズがいります。
今から長い乱数を生成します。キーボードを打つとか、マウス...
とか、ディスクにアクセスするとかの他のことをすると、乱数...
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいた...
......+++++
.+++++
今から長い乱数を生成します。キーボードを打つとか、マウス...
とか、ディスクにアクセスするとかの他のことをすると、乱数...
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいた...
.+++++
十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと75バイトいります)
.gpg: 鍵CB547A37を絶対的に信用するよう記録しました
公開鍵と秘密鍵を作成し、署名しました。
作成した''公開鍵''があることを確認する。''--lis...
D:\home\ueno> gpg --list-keys
C:/Users/yueno/AppData/Roaming/gnupg/pubring.gpg
------------------------------------------------
pub dsa1024 2012-12-01 [SC]
XX870D25014C60E8319983AA6CC87XXYYBCC8D5E
uid [ 究極 ] Yuji Ueno (mail for XXXXX Co.,L...
sub elg2048 2012-12-01 [E]
秘密鍵があることを確認する。''--list-secret-key...
D:\home\ueno> gpg --list-secret-keys
C:/Users/yueno/AppData/Roaming/gnupg/pubring.gpg
------------------------------------------------
sec dsa1024 2012-12-01 [SC]
XX870D25014C60E8319983AA6CC87XXYYBCC8D5E
uid [ 究極 ] Yuji Ueno (mail for XXXXX Co.,L...
ssb elg2048 2012-12-01 [E]
sec dsa1024 2012-12-01 [SC] というのは秘密鍵で,1024のD...
鍵を作成した時に登録した''パスフレーズは,絶対忘れないよ...
** 自分の公開鍵を公開する
インターネット上にある鍵サーバー(公開鍵サーバ)に自分の...
公開鍵をファイルまたはデータ情報として渡しても良いのだが...
そのために,鍵サーバー(公開鍵サーバ)がサービスされてい...
鍵サーバー(公開鍵サーバ)に公開鍵を登録するには,''-...
D:\home\ueno> gpg --keyserver pgp.mit.edu --send-keys <...
もし,間違えて送ってしまったものを削除するには,''-&...
D:\home\ueno> gpg --keyserver pgp.mit.edu --send-keys <...
とすると,削除できる。
**公開されている鍵を探す
メッセージを暗号化する場合は相手の公開鍵を使用して暗号化...
公開鍵を直接ファイル等で貰っても良いのだが,上記の公開鍵...
相手が鍵サーバーに公開している場合は,相手のメールアドレ...
D:\home\ueno> gpg --keyserver pgp.mit.edu --search-keys ...
gpg: data source: https://37.191.226.104:443
(1) Yuji Ueno <yyyyy@xxxxx.com>
2048 bit RSA key XXF0FF212XX364BA, 作成: 2016-...
Keys 1-1 of 1 for "yyyyy@xxxxx.com". 番号(s)、N)次、ま...
鍵が見つかったので,取得してみる。
D:\home\ueno> gpg --recv-keys XXF0FF212XX364BA
これで鍵が取得できる。''--list-keys''オプション...
D:\home\ueno> gpg --list-keys
pub rsa2048 2016-01-21 [SC]
XX220398D03470AA38747DD9XXF0FF212XX364BA
uid [ 究極 ] Yuji Ueno <yyyyy@xxxxx.com>
sub rsa2048 2016-01-21 [E]
間違えた時など,消したい場合は,''--delete-keys...
D:\home\ueno> gpg --delete-keys XXF0FF212XX364BA
** 古い鍵を更新する
ずいぶん前に作成した鍵が1024bit DSAなので,鍵の信頼性に問...
しょうがないんで,鍵を更新することにした。
まず,更新したい鍵に対して新しい鍵を作成する。gpgのバージ...
D:\home\ueno> gpg --full-generate-key
*** 新しい鍵が出来たら,古い鍵で新しい鍵にサインする
古い鍵を作った人が,新しい鍵を作ったよってことがちゃんと...
D:\home\ueno> gpg -u XXXXXXXXXXXXXX --sign-key YYYYYYYYY...
*** 古い鍵を無効にする
D:\home\ueno> gpg -o yuji-old.revoke --gen-revoke XXXXXX...
D:\home\ueno> gpg --import yuji-old.revoke
*** 鍵サーバに登録する
古い鍵をrevoke(無効)したので,その情報を鍵サーバーに送...
D:\home\ueno> gpg --keyserver pgp.mit.edu --send-keys XX...
新しい鍵も登録する。
D:\home\ueno> gpg --keyserver pgp.mit.edu --send-keys YY...
*** 古い鍵を削除する
手元にある古い鍵を削除。
D:\home\ueno> gpg --delete-secret-and-public-keys XXXXXX...
** 鍵を別のPCに移す
何らかの理由で別のPCに鍵を移す必要がある場合は,以下のよ...
*** 鍵がある側
- 公開鍵のエクスポート~
$ gpg -o hogehoge.key --export hogehoge
- 秘密鍵のエクスポート~
$ gpg -o hogehoge_sec.key --export-secret-key hogehoge
- 公開鍵の信用情報エクスポート~
$ gpg --export-ownertrust > hogehoge.trust
*** 鍵の移動先
- 公開鍵のインポート~
$ gpg --import hogehoge.key
- 秘密鍵のインポート~
$ gpg --import --allow-secret-key-import hogehoge_sec.key
- 公開鍵の信用情報インポート~
$ gpg --import-ownertrust hogehoge.trust
** 有効期限の更新
鍵の有効期限が切れていた場合は,期限を変更することが出来...
まず期限が切れている鍵のIDを調べてメモする。~
鍵のIDがわかったら,その鍵の期限を変更する。~
$ gpg --edit-key [鍵のID]
gpg> key [NUM] <-- 操作対象のキ...
gpg> expire <-- 次のプロンプ...
gpg> save
gpg> exit
expireで,0を指定すると無期限,数字で日数,またはその後に...
例えば,1yと入力する事により一年間有効にする事が出来る。
これで鍵の有効期限の更新作業が出来る。
* 代用的な公開鍵サーバー
昔は多くのPGP公開鍵サーバーがあったが,有名なところも含め...
また,公開鍵サーバーは,公開鍵のやりとりの利便性を図る目...
通常は1日毎にすべての公開鍵サーバーで同期されるので,どこ...
GnuPGでは,デフォルトで使用する公開鍵サーバーをgpg.confで...
keyserver hkp://keys.gnupg.net
このように設定されている。変更したい場合は,以下のリスト...
動作しているPGP公開鍵サーバー
|name |url |...
|MIT PGP Public Key Server|hkp://pgp.mit.edu |...
|PGP Public Keyserver |http://pgp.nic.ad.jp |...
|OpenPGPkeyserver |hkp://keys.gnupg.net |...
|SKS OpenPGP Key server |hkp://pool.sks-keyservers.net|...
|OpenPGPkeyserver |http://minsky.surfnet.nl |...
* GnuPGでファイルをパスワード(共通鍵暗号)で暗号化・復号...
とりあえず簡単にパスワードを指定してファイルを暗号化した...
> gpg --symmetric ファイル
または
> gpg -c ファイル
とします。
例えば,
> gpg --symmetric hello.txt
or
> gpg -c hello.txt
** メール文書を暗号化
メールなどでは,そのメール文書の受取人の公開鍵を使って暗...
> gpg --encrypt --recipient 受取人のメールアドレス メー...
暗号化すると,メール文書のファイル名.gpgという暗号化され...
メールに貼り付ける場合にはテキストファイルにする必要があ...
> gpg --encrypt --armor --recipient 受取人のメールアドレ...
とすれば,メール文書のファイル名.ascという暗号化されたテ...
もし,受取人と自分の両方で復号化出来るようにするには,
> gpg --encrypt --recipient 受取人のメールアドレス --rec...
とすると,自分の秘密鍵でも復号化出来ることになります。
** 暗号方式を指定してファイルを暗号化
GnuPGの設定ファイル''~/.gnupg/gpg.conf''に''cipher-algo A...
例:暗号方式を指定してファイルを暗号化
> gpg --cipher-algo AES256 --symmetric hello.txt
*** 暗号時にパスフレーズを標準入力から取得する
暗号時にパスフレーズを標準入力から指示する場合は,''--pas...
> gpg --batch --passphrase-fd 0 --symmetric hello.txt < ...
*** 圧縮方式を指定して暗号化する
圧縮方式を指定するには,''--compress-algo''オプションを使...
> gpg --compress-algo zlib --symmetric hello.txt
主に使用される圧縮方式は以下のようなものがある。
:--compress-algo none|圧縮なし
:--compress-algo zip|zip
:--compress-algo zlib|zlib, gzip
:--compress-algo bzip2|bzip2
** ファイルを復号化する
ファイルを復号化する場合は,以下のようにします。
> gpg hello.txt.gpg
もしくは
> gpg -d hello.txt.gpg
*** 標準入力からパスワードを取り込んで復号化する
複合時パスフレーズを標準入力から指示する場合は,''--passp...
> gpg --batch --passphrase-fd 0 hello.txt.gpg < password...
*** 暗号方式一覧
gpgが対応している暗号方式を確認する場合は,以下のようにし...
> gpg --version
...
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256...
CAMELLIA128, CAMELLIA192, CAMELLIA256
*** 対応している圧縮方式一覧
gpgが対応している圧縮方式を確認する場合は,以下のようにし...
> gpg --version
...
Compression: Uncompressed, ZIP, ZLIB, BZIP2
終了行:
* GnuPG
GnuPGは,暗号化・復号化・署名等を行うための暗号化ソフトウ...
- 暗号化すると,特定の人しか解読できないファイルが作成で...
- 署名すると,特定の人が作成したことを示せる~
GnuPGの元になったのは,Phil Zimmermannさんが開発した''PGP...
PGPの最初のバージョンは,1991年に公開された。当時のPhil Z...
その後,PGPは改良を重ねていったが,1998年にRFC 2440で''Op...
GnuPGは,OpenPGPをベースにドイツで生まれた製品。特定の個...
GnuPGは,特許で制限されている暗号化アルゴリズムを使用して...
2系列/1.4系列で対応している暗号化アルゴリズムは,以下のよ...
- 公開鍵暗号~
-- RSA(1.0.3より)~
-- ElGamal~
-- DSA~
-- ECDH~
-- ECDSA~
-- EdDSA~
- 共通鍵暗号~
-- IDEA(1.4.13/2.0.20より)~
-- 3DES~
-- CAST5~
-- Blowfish~
-- AES-128, AES-192, AES-256~
-- Twofish~
-- Camellia-128, Camellia-192, Camellia-256(1.4.10/2.0.1...
- 暗号学的ハッシュ関数~
-- MD5~
-- SHA-1~
-- RIPEMD-160~
-- SHA-256, SHA-384, SHA-512, SHA-224~
- 圧縮形式~
-- 無圧縮~
-- ZIP~
-- ZLIB~
-- BZIP2~
2.2(2.1)系では,楕円曲線暗号(楕円曲線DSA(ECDSA),楕...
** フロントエンドや統合パッケージ
GnuPGはコマンドラインで使用するツールであるが,GUIで操作...
- GUIフロントエンドの例~
-- [[WinPT>http://winpt.wald.intevation.org/]] (Windows...
-- [[Kleopatra>https://apps.kde.org/kleopatra/]](Windows...
-- [[GnuPG Shell>http://www.tech-faq.com/gnupg-shell.html...
-- [[KGpg>https://www.kde.org/applications/utilities/kgpg...
- 電子メールクライアントの例~
-- [[Enigmail>https://addons.thunderbird.net/ja/thunderbi...
-- [[KMail>https://www.kde.org/applications/internet/kmai...
- 統合パッケージ(GnuPGとGUIフロントエンド・電子メールク...
-- [[Gpg4win>https://www.gpg4win.org/]] (Windows用)~
-- [[GPGTools>https://gpgtools.org/]] (macOS用)~
** 他の暗号化通信との違い
+ SSLなどとの違い~
SSL/TLS(Secure Sockets Layer/Transport Layer Security)...
しかしそれでは,送信後のメールの配送やサーバで保管される...
~Bcc(Blind Carbon Copy)でメールを送る場合,メールのヘッ...
~これに対してPGPやGnuPGでは,必ずしも安全でない通信経路や...
+ 暗号化ZIPとの違い~
パスワードつきのZIPファイル(暗号化ZIP)は,そのファイル...
しかし,何らかの理由でパスワードを変更したいと思っても,...
~PGPやGnuPGでの暗号化では,鍵(セッション鍵)が受信者の公...
受信者の持つ秘密鍵はパスフレーズを入力しないと使用出来な...
~なお,暗号化ZIPでは,一つのファイルに対してパスワードを...
+ S/MIMEとの違い~
S/MIME(Secure/Multipurpose Internet Mail Extensions)は...
S/MIMEでは認証局により鍵や証明書が発行される。また認証局...
このため,S/MIMEでのデジタル証明書の利用については有料と...
* GnuPGをインストール
GnuPGはコマンドラインツールです。
GnuPGには3つの系列が存在している。~
- ''Stable''(2.3/2.4) 2系の最新版。初版リリースは2021/04/...
現在の開発系列。
- ''LTS''(2.2) 2系の旧版。サポート終了は2024/12/31の予定~
現在のサポート系列で楕円曲線暗号など新機能を実装している...
- ''Legacy''(1,4) 旧版~
旧来のスタンドアロン版。古いシステムや組み込み用途に適し...
これから使用する場合には,''LTS''か''Stable''をインストー...
** Windowsマシンにインストール
コマンドラインで動作するGnuPGのみをインストールします。~
下に書いてある''Gpg4winをインストールする''のように,Micr...
[[公式サイト>https://gnupg.org/download/]] から,windows...
2系の最新バージョンは2.4.5。~
ダウンロードしたインストーラーをダブルクリックして実行す...
[Next]ボタンを3回ぐらいクリックでインストールされる。イン...
古いバージョンをデフォルトでインストールしている場合は,...
インストーラーにより実行PATHが設定されるため,すぐにコマ...
コマンドプロンプトを開いて,
C:\home\yuji>gpg --version
gpg (GnuPG) 2.2.23
libgcrypt 1.8.6
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu....
This is free software: you are free to change and redist...
There is NO WARRANTY, to the extent permitted by law.
Home: C:/home/yuji/.gnupg
サポートしているアルゴリズム:
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES2...
CAMELLIA128, CAMELLIA192, CAMELLIA256
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
圧縮: 無圧縮, ZIP, ZLIB, BZIP2
のようにすると,実行とバージョンが確認できる。
デフォルトでは,鍵(公開鍵,秘密鍵)などを保存するディレ...
Linuxマシン(Unix系)などでは''~/.gnupg''になる。
これで特に問題はないが,他のフォルダに変更したい場合は環...
また,gpg.exe実行時に''--homedir''オプションで,直接指定...
*** Gpg4winをインストールする
Gpg4winは,GnuPGやGUIフロントエンド・Microsoft Outlook用...
Microsoft OutlookでGnuPGを使用してメールを暗号化したい場...
[[公式サイト>https://www.gpg4win.org/]] から最新版のイン...
インストールは,ダウンロードしたインストーラーをダブルク...
''GpgOL''というOutlook用のアドオンがインストールされ,Out...
また,''GpgEX''というWindowsのエキスプローラーに統合化さ...
** Linuxマシンにインストール
パッケージ管理ツールからインストールする。
* 暗号化する場合の流れ
GnuPGは,以下のような流れで使用する。~
- 暗号化するための公開鍵を取得する~
- 公開鍵を使用して暗号化する~
- 暗号化した情報(ファイル)を送る~
- 情報(ファイル)を受信した人が自分の秘密鍵で複合する~
暗号化するためには,鍵が必要になります。~
普通は,暗号化してメールを送って欲しい人は''公開鍵''とい...
公開されている''公開鍵''を取得することが出来れば,その鍵...
復号化する側は,''公開鍵''とペアになっている''秘密鍵''を...
GnuPGを使う場合の原則は,次の5つになる。~
- &color(red){暗号化には,受信者の公開鍵を使用する。};~
- &color(red){復号には,受信者の秘密鍵を使用する。};~
- 署名には,送信者の秘密鍵を使用する。~
- 署名の検証には,送信者の公開鍵を使用する。~
- &color(red){秘密鍵を使用するとき,パスフレーズを入力す...
* 鍵の管理
** 自分の鍵を作成する
自分の鍵がまだ無い場合は,新規に鍵を作成する。''-&#x...
D:\home\ueno> gpg --generate-key
ご希望の鍵の種類を選択してください:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (署名のみ)
(4) RSA (署名のみ)
選択? 1
SA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
0 = 鍵は無期限
<n> = 鍵は n 日間で満了
<n>w = 鍵は n 週間で満了
<n>m = 鍵は n か月間で満了
<n>y = 鍵は n 年間で満了
鍵の有効期間は? (0)
これで正しいですか? (y/N) y
あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf...
本名: Yuji Ueno
電子メール・アドレス: y-ueno@xxxxx.co.jp
コメント: mail for xxxxx Co.,LTD.
次のユーザーIDを選択しました:
“Yuji Ueno (mail for xxxxx Co.,LTD.) <y-ueno@xxxxx.c...
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か...
秘密鍵を保護するためにパスフレーズがいります。
今から長い乱数を生成します。キーボードを打つとか、マウス...
とか、ディスクにアクセスするとかの他のことをすると、乱数...
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいた...
......+++++
.+++++
今から長い乱数を生成します。キーボードを打つとか、マウス...
とか、ディスクにアクセスするとかの他のことをすると、乱数...
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいた...
.+++++
十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと75バイトいります)
.gpg: 鍵CB547A37を絶対的に信用するよう記録しました
公開鍵と秘密鍵を作成し、署名しました。
作成した''公開鍵''があることを確認する。''--lis...
D:\home\ueno> gpg --list-keys
C:/Users/yueno/AppData/Roaming/gnupg/pubring.gpg
------------------------------------------------
pub dsa1024 2012-12-01 [SC]
XX870D25014C60E8319983AA6CC87XXYYBCC8D5E
uid [ 究極 ] Yuji Ueno (mail for XXXXX Co.,L...
sub elg2048 2012-12-01 [E]
秘密鍵があることを確認する。''--list-secret-key...
D:\home\ueno> gpg --list-secret-keys
C:/Users/yueno/AppData/Roaming/gnupg/pubring.gpg
------------------------------------------------
sec dsa1024 2012-12-01 [SC]
XX870D25014C60E8319983AA6CC87XXYYBCC8D5E
uid [ 究極 ] Yuji Ueno (mail for XXXXX Co.,L...
ssb elg2048 2012-12-01 [E]
sec dsa1024 2012-12-01 [SC] というのは秘密鍵で,1024のD...
鍵を作成した時に登録した''パスフレーズは,絶対忘れないよ...
** 自分の公開鍵を公開する
インターネット上にある鍵サーバー(公開鍵サーバ)に自分の...
公開鍵をファイルまたはデータ情報として渡しても良いのだが...
そのために,鍵サーバー(公開鍵サーバ)がサービスされてい...
鍵サーバー(公開鍵サーバ)に公開鍵を登録するには,''-...
D:\home\ueno> gpg --keyserver pgp.mit.edu --send-keys <...
もし,間違えて送ってしまったものを削除するには,''-&...
D:\home\ueno> gpg --keyserver pgp.mit.edu --send-keys <...
とすると,削除できる。
**公開されている鍵を探す
メッセージを暗号化する場合は相手の公開鍵を使用して暗号化...
公開鍵を直接ファイル等で貰っても良いのだが,上記の公開鍵...
相手が鍵サーバーに公開している場合は,相手のメールアドレ...
D:\home\ueno> gpg --keyserver pgp.mit.edu --search-keys ...
gpg: data source: https://37.191.226.104:443
(1) Yuji Ueno <yyyyy@xxxxx.com>
2048 bit RSA key XXF0FF212XX364BA, 作成: 2016-...
Keys 1-1 of 1 for "yyyyy@xxxxx.com". 番号(s)、N)次、ま...
鍵が見つかったので,取得してみる。
D:\home\ueno> gpg --recv-keys XXF0FF212XX364BA
これで鍵が取得できる。''--list-keys''オプション...
D:\home\ueno> gpg --list-keys
pub rsa2048 2016-01-21 [SC]
XX220398D03470AA38747DD9XXF0FF212XX364BA
uid [ 究極 ] Yuji Ueno <yyyyy@xxxxx.com>
sub rsa2048 2016-01-21 [E]
間違えた時など,消したい場合は,''--delete-keys...
D:\home\ueno> gpg --delete-keys XXF0FF212XX364BA
** 古い鍵を更新する
ずいぶん前に作成した鍵が1024bit DSAなので,鍵の信頼性に問...
しょうがないんで,鍵を更新することにした。
まず,更新したい鍵に対して新しい鍵を作成する。gpgのバージ...
D:\home\ueno> gpg --full-generate-key
*** 新しい鍵が出来たら,古い鍵で新しい鍵にサインする
古い鍵を作った人が,新しい鍵を作ったよってことがちゃんと...
D:\home\ueno> gpg -u XXXXXXXXXXXXXX --sign-key YYYYYYYYY...
*** 古い鍵を無効にする
D:\home\ueno> gpg -o yuji-old.revoke --gen-revoke XXXXXX...
D:\home\ueno> gpg --import yuji-old.revoke
*** 鍵サーバに登録する
古い鍵をrevoke(無効)したので,その情報を鍵サーバーに送...
D:\home\ueno> gpg --keyserver pgp.mit.edu --send-keys XX...
新しい鍵も登録する。
D:\home\ueno> gpg --keyserver pgp.mit.edu --send-keys YY...
*** 古い鍵を削除する
手元にある古い鍵を削除。
D:\home\ueno> gpg --delete-secret-and-public-keys XXXXXX...
** 鍵を別のPCに移す
何らかの理由で別のPCに鍵を移す必要がある場合は,以下のよ...
*** 鍵がある側
- 公開鍵のエクスポート~
$ gpg -o hogehoge.key --export hogehoge
- 秘密鍵のエクスポート~
$ gpg -o hogehoge_sec.key --export-secret-key hogehoge
- 公開鍵の信用情報エクスポート~
$ gpg --export-ownertrust > hogehoge.trust
*** 鍵の移動先
- 公開鍵のインポート~
$ gpg --import hogehoge.key
- 秘密鍵のインポート~
$ gpg --import --allow-secret-key-import hogehoge_sec.key
- 公開鍵の信用情報インポート~
$ gpg --import-ownertrust hogehoge.trust
** 有効期限の更新
鍵の有効期限が切れていた場合は,期限を変更することが出来...
まず期限が切れている鍵のIDを調べてメモする。~
鍵のIDがわかったら,その鍵の期限を変更する。~
$ gpg --edit-key [鍵のID]
gpg> key [NUM] <-- 操作対象のキ...
gpg> expire <-- 次のプロンプ...
gpg> save
gpg> exit
expireで,0を指定すると無期限,数字で日数,またはその後に...
例えば,1yと入力する事により一年間有効にする事が出来る。
これで鍵の有効期限の更新作業が出来る。
* 代用的な公開鍵サーバー
昔は多くのPGP公開鍵サーバーがあったが,有名なところも含め...
また,公開鍵サーバーは,公開鍵のやりとりの利便性を図る目...
通常は1日毎にすべての公開鍵サーバーで同期されるので,どこ...
GnuPGでは,デフォルトで使用する公開鍵サーバーをgpg.confで...
keyserver hkp://keys.gnupg.net
このように設定されている。変更したい場合は,以下のリスト...
動作しているPGP公開鍵サーバー
|name |url |...
|MIT PGP Public Key Server|hkp://pgp.mit.edu |...
|PGP Public Keyserver |http://pgp.nic.ad.jp |...
|OpenPGPkeyserver |hkp://keys.gnupg.net |...
|SKS OpenPGP Key server |hkp://pool.sks-keyservers.net|...
|OpenPGPkeyserver |http://minsky.surfnet.nl |...
* GnuPGでファイルをパスワード(共通鍵暗号)で暗号化・復号...
とりあえず簡単にパスワードを指定してファイルを暗号化した...
> gpg --symmetric ファイル
または
> gpg -c ファイル
とします。
例えば,
> gpg --symmetric hello.txt
or
> gpg -c hello.txt
** メール文書を暗号化
メールなどでは,そのメール文書の受取人の公開鍵を使って暗...
> gpg --encrypt --recipient 受取人のメールアドレス メー...
暗号化すると,メール文書のファイル名.gpgという暗号化され...
メールに貼り付ける場合にはテキストファイルにする必要があ...
> gpg --encrypt --armor --recipient 受取人のメールアドレ...
とすれば,メール文書のファイル名.ascという暗号化されたテ...
もし,受取人と自分の両方で復号化出来るようにするには,
> gpg --encrypt --recipient 受取人のメールアドレス --rec...
とすると,自分の秘密鍵でも復号化出来ることになります。
** 暗号方式を指定してファイルを暗号化
GnuPGの設定ファイル''~/.gnupg/gpg.conf''に''cipher-algo A...
例:暗号方式を指定してファイルを暗号化
> gpg --cipher-algo AES256 --symmetric hello.txt
*** 暗号時にパスフレーズを標準入力から取得する
暗号時にパスフレーズを標準入力から指示する場合は,''--pas...
> gpg --batch --passphrase-fd 0 --symmetric hello.txt < ...
*** 圧縮方式を指定して暗号化する
圧縮方式を指定するには,''--compress-algo''オプションを使...
> gpg --compress-algo zlib --symmetric hello.txt
主に使用される圧縮方式は以下のようなものがある。
:--compress-algo none|圧縮なし
:--compress-algo zip|zip
:--compress-algo zlib|zlib, gzip
:--compress-algo bzip2|bzip2
** ファイルを復号化する
ファイルを復号化する場合は,以下のようにします。
> gpg hello.txt.gpg
もしくは
> gpg -d hello.txt.gpg
*** 標準入力からパスワードを取り込んで復号化する
複合時パスフレーズを標準入力から指示する場合は,''--passp...
> gpg --batch --passphrase-fd 0 hello.txt.gpg < password...
*** 暗号方式一覧
gpgが対応している暗号方式を確認する場合は,以下のようにし...
> gpg --version
...
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256...
CAMELLIA128, CAMELLIA192, CAMELLIA256
*** 対応している圧縮方式一覧
gpgが対応している圧縮方式を確認する場合は,以下のようにし...
> gpg --version
...
Compression: Uncompressed, ZIP, ZLIB, BZIP2
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ