Membuat sebuah kunci GPG dengan lebih dari satu PASS-PHRASE
Disini akan menjelaskan bagaimana membuat sebuah gpg private key dengan lebih dari satu pass-phrase.
Dalam percobaan ini membolehkan pembuatan pass-phrase untuk tanda tangan digital, pass-phrase yang lain untuk dekripsi, dll.
Disini terdapat contoh yang dasar dimana hanya terdapat sebuah [primary] signing key dan sebuah encryption subkey.
Yang menjadi pembahasan disini dapatkah dibuat berbagai pass-phrase yang berbeda dari berbagai subkeys.
Konsep seperti ini mungkin juga dapat diterapkan pada penggunaan private key dari subkey dalam sebuah group. Group yang terdiri dari beberapa orang dan memegang private key masing-masing dengan pass-phrase yang berbeda-beda untuk menjaga hak akses dari masing-masing anggota group pemegang key.
====================================================================================
Menu Utama :
1.Amankan keypair
2.Menentukan pass-phrase pertama
3.Memecah kunci untuk pass-phrase pertama
4.Menentukan pass-phrase kedua
5.Memecah kunci untuk pass-phrase kedua dengan gpgsplit
6.Menggunakan pgpdump untuk melihat informasi key
7.Menggunakan cat untuk pembuatan kunci baru
8.Update key
9.Pengujian pass-phrase
10.catatan
Saya akan menggunakan key denny untuk pembahasan ini:
denny@profff:~$ gpg --list-key denny
pub 1024D/B3CBE16D 2006-10-10 [expires: 2006-10-17]
uid denny triandini (denny)
sub 2048g/09983783 2006-10-10 [expires: 2006-10-17]
disini saya akan ingin menggunakan pass-phrase "dennydenny" untuk DSA key (untuk tanda tangan digital) dan pass-phrase "dennykript" untuk ElGamal subkey (untuk enkripsi).
1.Mengamankan keypair
pertama, simpan key pair kedalam file, untuk mengantisipasi kegagalan percobaan :
$ gpg --export B3CBE16D > B3CBE16D.pub
$ gpg --export-secret-key B3CBE16D > B3CBE16D.sec
2.Menentukan pass-phrase pertama
Buatlah pass-phrase baru atau yang sudah ada untuk dijadikan pass-phrase yang pertama :
"--edit-key" pass-phrase I "dennydenny" untuk tanda tangan digital
3.Memecah kunci dengan gpgsplit
menggunakan gpgsplit untuk memisahkan secret key menjadi bagian yang lebih kecil secara terpisah. bagian dengan nama file "*secret*" yang dienkripsi dengan pass-phrase yang akan di set.
"pass1" menjadi prefix(awalan) dari nama file :
$ gpg --export-secret-key B3CBE16D | gpgsplit -vp pass1
gpgsplit: writing `pass1000001-005.secret_key'
gpgsplit: writing `pass1000002-013.user_id'
gpgsplit: writing `pass1000003-002.sig'
gpgsplit: writing `pass1000004-007.secret_subkey'
gpgsplit: writing `pass1000005-002.sig'
Sekarang kita akan menggunakan "--edit-key" lagi dan men-set pass-phrase untuk "dennykript" sebagai pass-phrase kedua:
4.Menentukan pass-phrase kedua
$ gpg --edit-key B3CBE16D
---
Command> passwd
Key is protected.
You need a passphrase to unlock the secret key for
user: "denny triandini (denny)
1024-bit DSA key, ID B3CBE16D, created 2006-10-10
Enter passphrase: **********
//disini akan diminta pass-phrase yg sedang digunakan kemudian meminta
pass-phrase yang baru.
---
Command> save
Jangan lupa untuk di save sebelum keluar.
---
sehingga pass-phrase II adalah' "dennykript" untuk dekripsi file.
'perubahan pass-phrase sesuai yg anda inginkan.
5.Memecah kunci untuk pass-phrase kedua untuk gpgsplit
lagi, menggunakan gpgsplit dengan prefix "pass2" untuk pass-phrase kedua. kali ini nama file "*secret*" di enkrisi dengan pass-phrase yang baru.
$ gpg --export-secret-key B3CBE16D | gpgsplit -vp pass2
gpgsplit: writing `pass2000001-005.secret_key'
gpgsplit: writing `pass2000002-013.user_id'
gpgsplit: writing `pass2000003-002.sig'
gpgsplit: writing `pass2000004-007.secret_subkey'
gpgsplit: writing `pass2000005-002.sig'
6.Menggunakan pgpdump untuk melihat informasi key
untuk mengecek file pass2000004-007.secret_subkey apakah berisi kunci enkripsi ElGamal. Saya mengecek menggunakan pgpdump:
$ pgpdump pass2000004-007.secret_subkey
——-
Pub alg - ElGamal Encrypt-Only(pub 16)
ElGamal p(2048 bits) - ...
ElGamal g(4 bits) - ...
ElGamal y(2048 bits) - ...
——-
7.Menggunakan cat untuk pembuatan kunci baru.
cat semua file yang kita ingin masukkan kedalam sebuah kunci baru:
$ cat pass1000001-005.secret_key pass1000002-013.user_id pass1000003-002.sig pass2000004-007.secret_subkey pass1000005-002.sig > new-key.pgp
catat bahwasanya file yang berisi kunci ElGamal adalah berawalan "pass2", dan yang lainya berawalan "pass1". ingat, file dengan awalan "pass1" berasal kunci dengan pass-phrase pertama. file dengan awalan "pass2" berasal dari kunci pass-phrase kedua.
semua data tersebut di jadikan satu menjadi file "new-key.pgp".
8.Update key
Sekarang hapus kunci privat dari keyring:
$ gpg --delete-secret-key B3CBE16D
dan import kunci yang baru kedalam keyring:
$ gpg --import new-key.pgp
gpg: key B3CBE16D: secret key imported
gpg: key B3CBE16D: "denny triandini (denny)
gpg: Total number processed: 1
gpg: new signatures: 1
gpg: secret keys read: 1
gpg: secret keys imported: 1
9.Pengujian key
Cobalah untuk meyakinkan bahwa "dennydenny" adalah pass-phrase untuk kunci tanda tangan digital:
$ date | gpg -u B3CBE16D --clearsign
You need a passphrase to unlock the secret key for
user: "denny triandini (denny)
1024-bit DSA key, ID B3CBE16D, created 2006-10-10
Enter passphrase:********** (dennydenny)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Tue Oct 10 20:37:17 WIT 2006
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFFK6In4+9957PL4W0RAh1zAJ9ixvVG1bDYvW4nGjxM62BopdtX2wCcC4F7
woxqAA0XOVs3xv0qoJ37BHc=
=vyGG
-----END PGP SIGNATURE-----
Cobalah untuk meyakinkan bahwa "dennykript" adalah pass-phrase untuk diskripsi:
$ date | gpg -ear B3CBE16D | gpg --decrypt
You need a passphrase to unlock the secret key for
user: "denny triandini (denny)
2048-bit ELG-E key, ID 09983783, created 2006-10-10 (main key IDB3CBE16D)
Enter passphrase: ********** (dennykript)
gpg: encrypted with 2048-bit ELG-E key, ID 09983783, created 2006-10-10
"denny triandini (denny)
Tue Oct 10 20:39:15 WIT 2006
Selesai!
10.Catatan
ctatan:
Percobaan diatas sudah saya uji dan berhasil, selamat ,encoba!!
Jika anda menggunakan "--edit-key" untuk mereset pass-phrase setelah ini, gpg akan meminta pass-phrase untuk signing key, kemudian pass-phrase untuk subkey. setelah mengupdate pass-phrase menggunakan "--edit-key", ini akan menyeabkan kedua pass-phrase menjadi sama.
0 comments:
Post a Comment