ファイルに 署名 簡単な例

次へ

clearsign [ファイル] クリア署名を作成

文章 データーに 対する 署名

gpg --clearsign FILE

簡単な文字列を作成してそれに 署名をしてみよう

文字列のファイルを 作成

aite@sv:~$ echo "この文書に 署名してください 番号 shomei001">file-sign-001
aite@sv:~$ cat file-sign-001 
この文書に 署名してください 番号 shomei001

これに 署名を施しましょう

aite@sv:~$ gpg --clearsign file-sign-001

ほなら

aite@sv:~$ gpg --clearsign file-sign-001 

次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>”
1024ビットDSA鍵, ID 7F2F7318作成日付は2007-09-05

パスフレーズを入力: 
aite@sv:~$ ls -l  
-rw-r--r--    1 aite     users          43  9月  7日  20:57 file-sign-001
-rw-r--r--    1 aite     users         279  9月  7日  21:13 file-sign-001.asc
aite@sv:~$ cat file-sign-001.asc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

この文書に 署名してください 番号 shomei001
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFG4UBKRDheXH8vcxgRAvBqAJ9lRoUL4SbHX2pLCkp5Z8VsrhDqxACdFxJc
wvhRqUmHPCSY9caFWUE/ftc=
=Z4ve
-----END PGP SIGNATURE-----

これは 何の役に立つの? 相手(fdopstm)に 送る途中はまる見えではない か?

aite@sv:~$ cp file-sign-001.asc file-sign-002.asc
aite@sv:~$ vi file-sign-002.asc
aite@sv:~$ diff -s file-sign-001.asc file-sign-002.asc 
4c4
< この文書に 署名してください 番号 shomei001
---
> 嘘で固めた どうなるの?この文書に 署名してください 番号 shomei001

ファイルを送信

aite@sv:~$ scp file-sign-001.asc file-sign-002.asc fdopstm@192.168.0.5:/home/fdopstm
fdopstm@192.168.0.5's password: 
stty: standard input: 無効な引数です
stty: standard input: 無効な引数です
stty: standard input: 無効な引数です
file-sign-001.asc                             100%  279     0.3KB/s   00:00    
file-sign-002.asc                             100%  302     0.3KB/s   00:00  

fdopstm 受信

受け取った物を 見てみよう

fdopstm@lx:~$ ls -l
-rw-r--r--    1 fdopstm  users         279  9月  7日  21:22 file-sign-001.asc
-rw-r--r--    1 fdopstm  users         302  9月  7日  21:22 file-sign-002.asc
fdopstm@lx:~$ cat file-sign-001.asc 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

この文書に 署名してください 番号 shomei001
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFG4UBKRDheXH8vcxgRAvBqAJ9lRoUL4SbHX2pLCkp5Z8VsrhDqxACdFxJc
wvhRqUmHPCSY9caFWUE/ftc=
=Z4ve
-----END PGP SIGNATURE-----
fdopstm@lx:~$ cat file-sign-002.asc 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

嘘で固めた どうなるの?この文書に 署名してください 番号 shomei001
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFG4UBKRDheXH8vcxgRAvBqAJ9lRoUL4SbHX2pLCkp5Z8VsrhDqxACdFxJc
wvhRqUmHPCSY9caFWUE/ftc=
=Z4ve
-----END PGP SIGNATURE-----

何方も読めるし なーんか 問題あるの?

verify file 相手(aite)の鍵 未登録

なんか こういうことで試しなさい ということですので

fdopstm@lx:~$ gpg --list-key
/home/fdopstm/.gnupg/pubring.gpg
--------------------------------
pub   1024D/C04EE068 2007-09-05
uid                  fdopstm hontoudesu (saisho desu) <fdopstm@lx.bcnet.ne.jp>
sub   2048g/7C4C64AB 2007-09-05
fdopstm@lx:~$ gpg --verify file-sign-001.asc 
gpg: 2007年09月07日 21時12分58秒 JSTにDSA鍵ID 7F2F7318で施された署名
gpg: 署名を検査できません: 公開鍵が見つかりません
fdopstm@lx:~$ gpg --verify file-sign-002.asc 
gpg: 2007年09月07日 21時12分58秒 JSTにDSA鍵ID 7F2F7318で施された署名
gpg: 署名を検査できません: 公開鍵が見つかりません
fdopstm@lx:~$ cat .gnupg/open_pub/finger_print_aite 
pub   1024D/7F2F7318 2007-09-05
                 指紋 = A585 DBF5 55D9 BFD4 4603  5808 4438 5E5C 7F2F 7318
uid                  aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>
sub   2048g/9A4B5C4F 2007-09-05

当然 aite の鍵を import していないので 見付かりません ということの様 です。

import & --edit-key;trust

ほたら aite の公開鍵を import して 見よう

gpg --import USER-ID

すこしは感覚的に 慣れて来たのだろうか?

fdopstm@lx:~$ gpg --import .gnupg/open_pub/public_aite_key.asc 
gpg: 鍵7F2F7318: 公開鍵“aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>”を読み込みました
gpg:     処理数の合計: 1
gpg:           読込み: 1
fdopstm@lx:~$ gpg --list-key
/home/fdopstm/.gnupg/pubring.gpg
--------------------------------
pub   1024D/C04EE068 2007-09-05
uid                  fdopstm hontoudesu (saisho desu) <fdopstm@lx.bcnet.ne.jp>
sub   2048g/7C4C64AB 2007-09-05

pub   1024D/7F2F7318 2007-09-05
uid                  aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>
sub   2048g/9A4B5C4F 2007-09-05

再度 試みる 鍵輪(鍵束)に 追加しましたよ

verify file 相手(aite)の鍵 登録 鍵の署名は 未だしていない

では

fdopstm@lx:~$ gpg --verify file-sign-001.asc 
gpg: 2007年09月07日 21時12分58秒 JSTにDSA鍵ID 7F2F7318で施された署名
gpg: “aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>”からの正しい署名
gpg: 警告: この鍵は信用できる署名で証明されていません!
gpg:       この署名が所有者のものかどうかの検証手段がありません。
主鍵の指紋: A585 DBF5 55D9 BFD4 4603  5808 4438 5E5C 7F2F 7318

警告 されてしまった ほなこちらは?

fdopstm@lx:~$ gpg --verify file-sign-002.asc 
gpg: 2007年09月07日 21時12分58秒 JSTにDSA鍵ID 7F2F7318で施された署名
gpg: “aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>”からの 不正な 署名

あかんいうてはるで!署名した後変更すると”不正な 署名”といわれるよう です

verify file 相手(aite)の鍵 登録 鍵の署名も済ませる

ほんでもって 相手(aite)の鍵も署名(lsign) 信用度も ”4 = 完全に信用する”を 与えてしまおう

fdopstm@lx:~$ gpg --edit-key aite
gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.


pub  1024D/7F2F7318  作成: 2007-09-05  満了: 無期限      利用法: CS  
                     信用: 未知の        有効性: 未知の
sub  2048g/9A4B5C4F  作成: 2007-09-05  満了: 無期限      利用法: E   
[ unknown] (1). aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>

コマンド> trust
pub  1024D/7F2F7318  作成: 2007-09-05  満了: 無期限      利用法: CS  
                     信用: 未知の        有効性: 未知の
sub  2048g/9A4B5C4F  作成: 2007-09-05  満了: 無期限      利用法: E   
[ unknown] (1). aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>

他のユーザーの鍵を正しく検証するために、このユーザーの信用度を決めてください
(パスポートを見せてもらったり、他から得た指紋を検査したり、などなど)

  1 = 知らない、または何とも言えない
  2 = 信用し ない
  3 = ある程度信用する
  4 = 完全に信用する
  5 = 絶対的に信用する
  m = メーン・メニューに戻る

あなたの決定は? m

コマンド> lsign

pub  1024D/7F2F7318  作成: 2007-09-05  満了: 無期限      利用法: CS  
                     信用: 未知の        有効性: 未知の
 主鍵の指紋: A585 DBF5 55D9 BFD4 4603  5808 4438 5E5C 7F2F 7318

     aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>

本当にこの鍵にあなたの鍵\
“fdopstm hontoudesu (saisho desu) <fdopstm@lx.bcnet.ne.jp>”で署名してよいですか
(C04EE068)

署名は、書出し不可に設定されます。

本当に署名しますか? (y/N) y

次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“fdopstm hontoudesu (saisho desu) <fdopstm@lx.bcnet.ne.jp>”
1024ビットDSA鍵, ID C04EE068作成日付は2007-09-05

パスフレーズを入力: 
コマンド> trust
pub  1024D/7F2F7318  作成: 2007-09-05  満了: 無期限      利用法: CS  
                     信用: 未知の        有効性: 未知の
sub  2048g/9A4B5C4F  作成: 2007-09-05  満了: 無期限      利用法: E   
[ unknown] (1). aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>

他のユーザーの鍵を正しく検証するために、このユーザーの信用度を決めてください
(パスポートを見せてもらったり、他から得た指紋を検査したり、などなど)

  1 = 知らない、または何とも言えない
  2 = 信用し ない
  3 = ある程度信用する
  4 = 完全に信用する
  5 = 絶対的に信用する
  m = メーン・メニューに戻る
あなたの決定は? 4

pub  1024D/7F2F7318  作成: 2007-09-05  満了: 無期限      利用法: CS  
                     信用: 完全          有効性: 未知の
sub  2048g/9A4B5C4F  作成: 2007-09-05  満了: 無期限      利用法: E   
[ unknown] (1). aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>
プログラムを再起動するまで、表示された鍵の有効性は正しくないかもしれない、
ということを念頭においてください。

コマンド> save
fdopstm@lx:~$ gpg --edit-key aite
gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.


gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
gpg: 深さ: 0  有効性:   1  署名:   1  信用: 0-, 0q, 0n, 0m, 0f, 1u
gpg: 深さ: 1  有効性:   1  署名:   0  信用: 0-, 0q, 0n, 0m, 1f, 0u
pub  1024D/7F2F7318  作成: 2007-09-05  満了: 無期限      利用法: CS  
                     信用: 完全          有効性: 完全
sub  2048g/9A4B5C4F  作成: 2007-09-05  満了: 無期限      利用法: E   
[  full  ] (1). aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>

コマンド> trust
pub  1024D/7F2F7318  作成: 2007-09-05  満了: 無期限      利用法: CS  
                     信用: 完全          有効性: 完全
sub  2048g/9A4B5C4F  作成: 2007-09-05  満了: 無期限      利用法: E   
[  full  ] (1). aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>

他のユーザーの鍵を正しく検証するために、このユーザーの信用度を決めてください
(パスポートを見せてもらったり、他から得た指紋を検査したり、などなど)

  1 = 知らない、または何とも言えない
  2 = 信用し ない
  3 = ある程度信用する
  4 = 完全に信用する
  5 = 絶対的に信用する
  m = メーン・メニューに戻る

あなたの決定は? m

コマンド> quit

(aite)公開鍵の署名と 信用度の設定も ユーザー(fdopstm)にて 終わりました そこでもう一度 verify を行ってみましょう

さて ”file-sign-001.asc ”に たいして 行ってみると

fdopstm@lx:~$ gpg --verify file-sign-001.asc 
gpg: 2007年09月07日 21時12分58秒 JSTにDSA鍵ID 7F2F7318で施された署名
gpg: “aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>”からの正しい署名

なっとくですな! そしたら”file-sign-002.asc ”に 対しても見てみましょ う

fdopstm@lx:~$ gpg --verify file-sign-002.asc 
gpg: 2007年09月07日 21時12分58秒 JSTにDSA鍵ID 7F2F7318で施された署名
gpg: “aite kextutei (korede kimeta) <aite@sv.bcnet.ne.jp>”からの 不正な 署名

まあこういうことで 意味は有るようです

補足

クリア署名 て なんか役に たつのということに対するものが上記の物です ファイル ”file-sign-001.asc”と”file-sign-002.asc”は 両方とも 読む事 は出来ます( ”クリア署名”の場合は)但し、クリア署名した後で 内容を 変 更した場合は もうそれは 正当な クリア署名された物ではなくて

”不正な 署名”ということになります。これが 署名という物です

署名 といっても 公開鍵に対する署名 文字列や データーに対する署名 と 同じ ”署名”といっても 使い分けしないと いけない これが gnupg を 使う 場合に 最初は突起難(とっきにく)いということに なっているのではないだろうか?

にゃんたろう 拝!

2007年 9月 7日 (金) 22:15:05 JST 作成


次へ

ファイルに 署名 簡単な例

Copyright © 2007. nyantarou All Rights Reserved.