Revoking a GPG Key
Một lúc nào đó bạn cần huỷ bỏ 1 key đã tạo. Về cơ bản, việc ai đó có thể truy cập key bí mật của bạn (hoặc đơn giản là bạn đánh mất key bí mật của mình) bất cứ độ mạnh yếu của passphrase là có thể xảy ra, lúc đó bạn nên cân nhắc đến việc huỷ key đó và tạo một key mới. Bất cứ lý do nào thì lúc này bạn cũng nên tạo một
revocation certificate với tuỳ chọn
--gen-revoke
$ gpg --gen-revoke quanta@love.com
sec 1024D/F5A60BA5 2007-12-11 quanta (Linux is my hobby) <quanta@love.com>
Create a revocation certificate for this key? (y/N) y
Please select the reason for the revocation:
0 = No reason specified
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
Q = Cancel
(Probably you want to select 1 here)
Your decision? 0
Enter an optional description; end it with an empty line:
> Yesterday, my computer was hacked, ...
>
Reason for revocation: No reason specified
Yesterday, my computer was hacked, ...
Is this okay? (y/N) y
You need a passphrase to unlock the secret key for
user: "quanta (Linux is my hobby) <quanta@love.com>"
1024-bit DSA key, ID F5A60BA5, created 2007-12-11
ASCII armored output forced.
Revocation certificate created.
Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: A revocation certificate should follow
iG8EIBECAC8FAkdj5BYoHQBZZXN0ZXJkYXksIG15IGNvbXB1dGVyIHdhcyBoYWNr
ZWQsIC4uLgAKCRBflsVG9aYLpRd4AKC6e5w1mqiTwCXh5DQnD7CZvZkO9QCeJhf8
/ZAOLuxUCbl8s45Y3JXGA84=
=TiNq
-----END PGP PUBLIC KEY BLOCK-----
Tiếp theo bạn cần copy đoạn bắt đầu từ
"BEGIN PGP PUBLIC KEY BLOCK" đến
"END PGP PUBLIC KEY BLOCK" và dán vào một file text, có thể đặt tên là
revoke.gpg chẳng hạn:
$ cat revoke.gpg
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: A revocation certificate should follow
iFsEIBECABsFAkdj5X0UHQBJIGxvc3QgdGhlIGtleSAuLi4ACgkQX5bFRvWmC6WB
MQCggmM5mIxuGAjZ+jQGLPKCqzezxkwAn2LvSJjFCoJHmeqGevt6PBmGLEXZ
=HWPA
-----END PGP PUBLIC KEY BLOCK-----
Sau này khi cần sử dụng revocation certificate, hãy import nó vào khoá công khai của bạn hoặc của ai đó rồi gửi đến keyservers để những người khác có thể lấy về và cập nhật key với revocation:
Code: $ gpg --import revoke.gpg
gpg: key F5A60BA5: "quanta (Linux is my hobby) <quanta@love.com>" revocation certificate imported
gpg: Total number processed: 1
gpg: new key revocations: 1
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
Code: $ gpg --send-keys --keyserver wwwkeys.pgp.net F5A60BA5
gpg: sending key F5A60BA5 to hkp server wwwkeys.pgp.net
GPG Signatures in RPM Files
Gói RPM có thể được gán chữ ký GPG. Điều này thường xuyên được làm trong khi build hoặc sau khi built. Theo mặc định, RPM được gán chữ ký MD5
Để kiểm tra chữ ký của một gói rpm bạn có thể dùng lệnh
rpm với tuỳ chọn
-K
Code: $ rpm -K livna-release-7.rpm
livna-release-7.rpm: (sha1) dsa sha1 md5 gpg OK
Dòng này chỉ ra rằng cả chữ ký DSA, SHA1, MD5 và GPG đều đúng và nguyên vẹn.
Một gói khác chỉ được gán SHA1 và MD5 mà không được gán GPG:
Code: $ rpm -K x-unikey-1.0.3b-FC4.i586.rpm
x-unikey-1.0.3b-FC4.i586.rpm: sha1 md5 OK
Để xem key nào được gán cho một gói, bạn có thể thêm tùy chọn
-v
Code: $ rpm -Kv livna-release-7.rpm
livna-release-7.rpm:
Header V3 DSA signature: OK, key ID a109b1ec
Header SHA1 digest: OK (5d7864a2d8897a202accb671b3dc166d68be96b2)
MD5 digest: OK (c3632a97756ab4858993737dbf931b13)
V3 DSA signature: OK, key ID a109b1ec
Code: $ rpm -Kv x-unikey-1.0.3b-FC4.i586.rpm
x-unikey-1.0.3b-FC4.i586.rpm:
Header SHA1 digest: OK (12cc26c2316fad140a15d8fab75baf03b2bf5ff2)
MD5 digest: OK (e8af2a0e4abdadfd901e6f997581d79c)
Nếu bạn download một gói RPM về, check MD5 hoặc GPG thấy lỗi, đừng cài đặt nó. Rất có thể nó ẩn chứa một con trojan. Hiện tại MandrakeUpdate/rpmdrake có thể cấu hình để kiểm tra chữ ký RPM trong suốt quá trình cài đặt, nhưng <a href="http://www.urpmi.org/" target="_blank">
urpmi</a> thì chưa hỗ trợ việc này.
HẾT.