About Key Establishment

Posted by Ae89 on Sabtu, 08 Mei 2010 | 0 komentar

Skema key establishment digunakan untuk membangkitkan kunci yang akan digunakan untuk komunikasi antar entitas. Terdapat dua jenis key establishment yaitu: key transport dan key agreement. Persetujuan skema key establishment tercantum di [SP800-56].
Key transport merupakan distribusi kunci (dan material kunci yang lain) dari satu entitas ke entitas lainnya. Material kunci biasanya dienkripsi oleh entitas pengirim dan didekripsi oleh entitas penerima. Jika algoritma simetrik (misalnya, AES key wrap) digunakan untuk mengenkripsi material kunci yang akan didistribusikan, entitas pengirim dan penerima perlu mengetahui kunci simetrik wrapping key. Jika algoritma kunci publik digunakan untuk mendistribusikan material kunci, pasangan kunci digunakan sebagai key encrypting key, dalam kasus ini, entitas pengirim meng- enkripsi material kunci menggunakan kunci publik entitas penerima; entitas penerima men-dekripsi material kunci yang diterima dengan menggunakan kunci privat yang berasosiasi.
Key agreement merupakan partisipasi dari kedua entitas (entitas pengirim dan penerima) dalam penggunaan bersama material kunci. Hal ini akan sempurna apabila menggunakan teknik asimetrik (public key) atau kunci simetrik. Jika algoritma asimetrik digunakan, masing-masing entitas memiliki baik pasangan kunci statis atau pasangan kunci sementara atau keduanya. Jika algoritma simetrik digunakan, masing-masing entitas berbagi kunci simetrik wrapping key yang sama.
[SP800-56] menyetujui skema key establishment  yang dipilih yang didefinisikan dalam standar ANSI yang menggunakan algoritma kunci publik: [ANSX9.42], dan [ANSX9.63]. [ANSX9.42] menspesifikasikan  skema key agreement dan [ANSX9.63] menspesifikasikan skema key agreement dan key transport.
Dengan skema key establishment yang dispesifikasikan dalam [SP800-56], salah satu pihak tidak memiliki kunci, kunci sementara, kunci statis, atau keduanya. Kunci sementara digunakan untuk  memperkenalkan rahasia baru dari satu key establishment ke key establishment yang lain, sedangkan kunci statis (jika digunakan dalam PKI dengan sertifikat kunci publik) menyediakan otentikasi pemilik. [SP800-56] mengkarakteristikkan setiap skema ke dalam kelas tergantung seberapa sering  kunci sementara dan kunci statis yang digunakan. Setiap kelas skema memiliki hubungan dengan property keamanannya. Perancang  protocol kriptografi harus memahami properti keamanan dari suatu skema untuk memastikan bahwa kemampuan yang diharapkan tersedia bagi pengguna. Secara umum, skema di mana masing-masing pihak, baik yang menggunakan kunci sementara dan kunci static menyediakan keamanan lebih daripada skema yang menggunakan kunci yang lebih sedikit. Namun, hal ini mungkin tidak praktis untuk kedua belah pihak untuk menggunakan kedua kunci static dan kunci sementara dalam aplikasi tertentu. Misalnya, dalam aplikasi email, terdapat keinginan untuk mengirim pesan kepada pihak lain yang tidak on-line. Dalam hal ini kami tidak dapat mengharapkan penerima menggunakan kunci sementara untuk menentukan pesan yang meng-enkripsi kunci.
Discrete Log Key Agreement Schemes Using Finite Field Arithmetic
Skema key agreement berdasarkan ketangguhan dari masalah logaritma diskrit dan menggunakan aritmatika finite field telah ditentukan dalam [SP800-56] dari [ANSX9.42]. [SP800-56] telah menentukan tujuh dari delapan skema yang didefinisikan dalam [ANSX9.42]. Setiap skema menyediakan berbagai konfigurasi pasangan kunci yang dapat digunakan, tergantung pada ketentuan situasi komunikasi.
Discrete Log Key Agreement Schemes Using Elliptic Curve Arithmetic
Skema key agreement berdasarkan ketangguhan dari masalah logaritma diskrit dan menggunakan  aritmatika elliptic curve telah ditentukan dalam [SP800-56] dari [ANSX9.63]. Tujuh dari sebelas skema key agreement telah ditentukan. Setiap skema menyediakan berbagai konfigurasi pasangan kunci yang dapat digunakan, tergantung pada ketentuan situasi komunikasi.
RSA Key Transport
Skema RSA key agreement dan key transport akan diambil dari [ANS X9.44]
Key Wrapping
Key wrapping adalah enkripsi kunci melalui sebuah kunci yang merahasiakan kunci menggunakan algoritma simetris (contohnya kunci AES disandikan oleh kunci AES yang merahasiakan kunci). Key wrapping memberikan kerahasiaan dan integritas pada material yang tersembunyi.
Key Confirmation
Key confirmation digunakan oleh dua pihak dalam sebuah proses pembuatan kunci untuk memberikan jaminan bahwa materi pengunci yang umum dan/atau rahasia bersama telah dibuat. Jaminan tersebut mungkin diberikan hanya kepada satu pihak (unilateral) atau mungkin diberikan kepada kedua belah pihak (bilateral). Jaminan tersebut mungkin diberikan sebagai bagian dari skema pembuatan kunci atau mungkin diberikan karena beberapa tindakan/kekuatan yang terjadi diluar skema. Sebagai contoh, setelah kunci dibuat, masing-masing pihak memberikan konfirmasi kepada pihak lainnya yang memiliki rahasia yang sama dengan memeragakan kemampuan mereka dalam membuat sandi dan membuka data rahasia. [SP800-56] memberikan konfirmasi kunci unilateral untuk skema dimana salah satu pihak memiliki kunci statis pembuatan kunci, dan konfirmasi kunci bilateral untuk skema dimana kedua belah pihak memiliki kunci statis pembuatan kunci.
Key Establishment Protocols
Key establishment  protocols menggunakan skema pembuatan kunci dalam rangka menetapkan pemrosesan yang dibutuhkan untuk membuat kunci. Bagaimanapun, key establishment protocols harus didesain dengan hati-hati tidak untuk memberikan informasi rahasia kepada musuh. Contohnya, kondisi protokol yang dinyatakan abnormal, seperti integritas data salah, memungkinkan musuh mengonfirmasi atau menolak asumsi mengenai data rahasia. Sebagai alternatif, jika waktu atau daya dibutuhkan, perhitungan tertentu didasarkan pada nilai dari rahasia atau privasi kunci yang digunakan, kemudian musuh mungkin saja dapat menarik kesimpulan kunci melalui fluktuasi yang diamati.
Oleh karena itu, hal ini baik untuk mendesain protokol pembuatan kunci, sehingga:
  1. Protokol tidak memberikan jalan keluar yang cepat dari protokol diatas deteksi kesalahan tunggal.
  2. Protokol memicu alarm setelah mendeteksi kondisi yang salah, dan
  3. Perhitungan kunci terikat disembunyikan oleh pengamat untuk mencegah atau mengecilkan deteksi karakteristik kunci terikat.
Source : NIST Special Publication 800-57