agar tidak
bisa dibaca oleh orang lain.
Skema Algoritma DES
Algoritma DES dikembangkan di IBM dibawah kepemimpinan
W.L. Tuchman pada tahun 1972. Algoritma ini didasarkan pada
algoritma Lucifer yang dibuat oleh Horst Feistel. Algoritma ini telah
disetujui oleh National Bureau of Standard (NBS) sesudah penilaian
kekuatannya oleh National Security Agency (NSA) Amerika Serikat.
DES termasuk ke dalam kriptografi kunci-simetri dan tergolong
jenis cipher blok. DES beroperasi pada ukuran blok 64 bit. Lihat
Gambar 2.21.
Panjang kunci ekternal = 64 bit (sesuai ukuran blok), namun hanya 56
bit yang dipakai (8 bit paritas tidak dipakai ). Setiap blok (plainteks
atau cipherteks) dienkripsi dalam 16 putaran. Setiap putaran memakai kunci internal berbeda.
Kunci internal (56-bit) dibangkitkan dari kunci eksternal. Setiap blok mengalami permutasi awal (IP),
16 putaran enciphering, dan inversi permutasi awal (IP-1 ).
Algoritma dimulai dengan mengenkripsi plaintext sebagai blok 64 bit. Kuncinya panjangnya 64 bit,
namun sebenarnya bisa berupa angka 56-bit. (Ekstra 8 bit sering dipakai sebagai digit cek namun
tidak mempengaruhi enkripsi dalam implementasi normal. Jadi kami mengatakan bahwa DES
memakai kunci, kekuatannya yaitu 56 bit.) pemakai dapat memilih kunci baru kapan saja
di sana yaitu ketidakpastian tentang keamanan kunci lama.
DES mengenkripsi blok 64-bit dengan memakai kunci 56-bit
DES hanya memakai operasi aritmatika dan logika standar pada data biner hingga panjang 64
bit, sehingga cocok untuk diimplementasikan dalam perangkat lunak pada sebagian besar komputer
saat ini. Enkripsi dengan DES melibatkan 16 iterasi, masing-masing memakai penggantian blok
bit (disebut langkah substitusi), mengacak bit (disebut langkah permutasi), dan mencampur bit dari
kunci (disebut transformasi kunci). Meskipun rumit, prosesnya berbasis tabel dan berulang, sehingga
cocok untuk diimplementasikan pada chip tujuan tunggal. Faktanya, beberapa chip seperti itu tersedia
di pasaran untuk dipakai sebagai komponen dasar pada perangkat yang memakai enkripsi
DES dalam suatu aplikasi.
Double dan Triple DES
Seperti yang Anda ketahui, daya komputasi telah meningkat pesat selama beberapa dekade terakhir,
dan ia berjanji untuk terus melakukannya. Untuk alasan ini, panjang kunci DES 56-bit tidak cukup
panjang untuk kenyamanan sebagian orang. Sejak tahun 1970-an, para peneliti dan praktisi telah
tertarik dengan versi DES yang lebih panjang. Tapi kami punya masalah: Desain algoritma DES
diperbaiki ke kunci 56-bit.
Gambar 2.21 Skema Global
Algoritma DES
96
Double DES
Untuk mengatasi ketidaknyamanan, beberapa peneliti menyarankan memakai enkripsi ganda
untuk kerahasiaan yang lebih besar. Enkripsi ganda bekerja dengan cara berikut. Ambil dua kunci,
k1 dan k2, dan lakukan dua enkripsi, satu di atas yang lain: E(k2, E(k1,m)). Secara teori, pendekatan
ini harus melipatgandakan kesulitan memecahkan enkripsi, seperti halnya dua kunci lebih sulit untuk
dipilih dibandingkan satu.
Sayangnya, anggapan itu salah. Ralph Merkle dan Martin Hellman menunjukkan bahwa dua enkripsi
hampir tidak lebih baik dari satu: dua enkripsi dengan kunci 56-bit yang berbeda setara dalam
faktor kerja dengan satu enkripsi dengan kunci 57-bit. Dengan demikian, enkripsi ganda hanya
menambahkan sedikit pekerjaan ekstra untuk penyerang yang mencoba menyimpulkan kunci di
mana sepotong ciphertext dienkripsi. Seperti yang akan segera kami jelaskan, beberapa kunci
DES 56-bit telah diturunkan hanya dalam beberapa hari; dua kali hari masih berhari-hari, saat
harapannya yaitu menambahkan bulan jika tidak bertahun-tahun bekerja untuk enkripsi kedua.
Sayangnya, DES ganda pada dasarnya tidak menambahkan keamanan lagi.
Triple DES
Namun, trik sederhana memang meningkatkan keamanan DES. memakai tiga kunci menambah
kekuatan yang signifikan.
Yang disebut prosedur triple DES yaitu C = E(k3, E(k2, E(k1,m))). Artinya, Anda mengenkripsi
dengan satu kunci, lalu dengan yang kedua, dan terakhir dengan yang ketiga. Proses ini memberikan
kekuatan yang kira-kira setara dengan kunci 112-bit (sebab serangan DES ganda mengalahkan
kekuatan salah satu dari tiga kunci, namun tidak berpengaruh pada kunci ketiga).
Variasi kecil dari triple DES, yang oleh sebagian orang juga membingungkan disebut triple DES,
yaitu C = E(k1, D(k2, E(k1,m))). Artinya, Anda mengenkripsi dengan satu kunci, mendekripsi
dengan yang kedua, dan mengenkripsi dengan yang pertama lagi. Versi ini hanya membutuhkan
dua kunci. (Langkah dekripsi kedua juga membuat proses ini bekerja untuk enkripsi tunggal dengan
satu kunci: Dekripsi membatalkan enkripsi pertama, sehingga hasil akhirnya yaitu satu enkripsi.
Bentuk enkripsi-dekripsi-enkripsi berguna sebab satu algoritma dapat menghasilkan hasil untuk
kedua konvensional DES satu kunci dan metode dua kunci yang lebih aman.) Versi dua kunci, tiga
langkah ini tunduk pada serangan rumit lainnya, sehingga kekuatannya dinilai hanya sekitar 80 bit.
Namun, 80 bit berada di luar kemampuan cracking yang wajar untuk perangkat keras saat ini.
Singkatnya, DES biasa memiliki ruang kunci 56 bit, DES ganda hampir tidak lebih baik, namun DES
tiga kunci dua memberikan panjang efektif 80 bit, dan DES tiga kunci memberikan kekuatan 112
bit. Ingat mengapa kita begitu terpaku pada ukuran kunci: Jika tidak ada cara lain yang berhasil,
penyerang selalu dapat mencoba semua kunci yang mungkin. Kunci yang lebih panjang berarti
secara signifikan lebih banyak pekerjaan agar serangan ini membuahkan hasil, dengan faktor kerja
berlipat ganda untuk setiap bit tambahan dalam panjang kunci. Sekarang, kira-kira setengah abad
sesudah DES dibuat, kunci 56-bit tidak memadai untuk kerahasiaan yang serius, namun ukuran kunci
efektif 80- dan 112-bit memberikan keamanan yang wajar.
97
Sejak pertama kali diumumkan, DES menjadi kontroversi. Banyak peneliti mempertanyakan
keamanan yang diberikannya. sebab hubungannya dengan pemerintah AS, khususnya Badan
Keamanan Nasional AS (NSA) yang membuat perubahan tertentu yang tidak dapat dijelaskan
antara apa yang diusulkan IBM dan apa yang sebenarnya diterbitkan oleh NBS, beberapa orang
menduga bahwa algoritme entah bagaimana melemah, untuk memungkinkan pemerintah mengintip
data terenkripsi. Sebagian besar kontroversi ini telah muncul dalam literatur terbuka, namun fitur DES
tertentu belum diungkapkan oleh para desainer atau disimpulkan oleh analis luar.
Whitfield Diffie dan Martin Hellman berpendapat pada tahun 1977 bahwa kunci 56-bit terlalu pendek.
Pada tahun 1977, dilarang untuk menguji semua 256 (sekitar 1015) kunci pada komputer saat itu.
namun mereka berpendapat bahwa seiring waktu, komputer akan menjadi lebih kuat dan algoritma
DES akan tetap tidak berubah; akhirnya, kecepatan komputer akan melebihi kekuatan DES. Persis
itu terjadi sekitar 20 tahun kemudian. Pada tahun 1997, para peneliti yang memakai jaringan
lebih dari 3.500 mesin secara paralel dapat menyimpulkan kunci DES dalam pekerjaan empat bulan.
Dan pada tahun 1998 dengan biaya sekitar $200.000, peneliti AS membangun mesin “DES cracker”
khusus yang dapat menemukan kunci DES dalam waktu sekitar empat hari, hasilnya kemudian
ditingkatkan menjadi beberapa jam.
Apakah ini berarti DES tidak aman? Tidak, tidak persis. Belum ada yang menunjukkan kelemahan
serius dalam algoritma DES itu sendiri. Serangan tahun 1997 membutuhkan banyak kerja sama,
dan mesin tahun 1998 agak mahal. namun bahkan jika DES konvensional dapat diserang, triple
DES masih jauh di luar kekuatan serangan ini. Ingat dampak pertumbuhan eksponensial: Mari
kita katakan, untuk kesederhanaan, DES kunci tunggal dapat dipecahkan dalam satu jam. Versi
kunci ganda yang sederhana kemudian dapat dipecahkan dalam dua jam. Tapi 2, yang lebih dari
16.700.000, berarti akan memakan waktu 16 juta jam, hampir 2.000 tahun, untuk mengalahkan
enkripsi DES tiga kunci dua, dan jauh lebih lama untuk versi tiga kunci.
Namun demikian, struktur dasar DES dengan kunci 56-bit dengan panjang tetap dan jumlah iterasi
yang tetap menunjukkan perlunya algoritma baru yang lebih kuat, dan lebih fleksibel. Pada tahun
1995, NIST mulai mencari algoritma enkripsi baru yang kuat. Tanggapan terhadap pencarian itu
telah menjadi Standar Enkripsi Lanjutan, atau AES.
2.5.6 AES: Advanced Encryption System
sesudah kompetisi dan peninjauan publik, NIST memilih algoritme bernama Rijndael sebagai sistem
enkripsi canggih baru; Rijndael sekarang lebih dikenal sebagai AES. AES diadopsi untuk dipakai
oleh pemerintah AS pada bulan Desember 2001 dan menjadi Federal Information Processing
Standard 197. AES kemungkinan akan menjadi algoritme simetris kelas komersial pilihan selama
bertahun-tahun, jika bukan beberapa dekade. Mari kita lihat lebih dekat.
Sekilas tentang Rijndael
Rijndael yaitu algoritma cepat yang dapat dengan mudah diimplementasikan pada prosesor
sederhana. Meskipun memiliki dasar matematis yang kuat, ia terutama memakai operasi
substitusi, transposisi, pergeseran, OR eksklusif, dan penjumlahan. Seperti DES, AES memakai
siklus berulang.
98
Ada 10, 12, atau 14 siklus untuk kunci masing-masing 128, 192, dan 256 bit. Di Rijndael, siklusnya
disebut “putaran”. Setiap putaran terdiri dari empat langkah yang menggantikan dan mengacak bit.
Bit dari kunci sering digabungkan dengan bit hasil antara, jadi bit kunci juga tersebar dengan baik
di seluruh hasil. Selanjutnya, keempat langkah ini sangat cepat. Algoritma AES digambarkan pada
Gambar 2-22.
Gambar 2-22 Algoritma Enkripsi AES
Kekuatan Algoritma
sifat dan kekuatan nyata dari DES dan AES dibandingkan pada Tabel 2-12. Ingat, tentu
saja, bahwa angka-angka kekuatan ini hanya berlaku jika penerapan dan pemakaian nya kuat;
algoritma yang kuat kehilangan kekuatan jika dipakai dengan kelemahan yang memungkinkan
orang luar menentukan properti kunci dari data terenkripsi.
99
Tabel 2-12 Perbandingan DES dan AES
Dasar untuk
Perbandingan DES (Standar Enkripsi Data) AES (Standar Enkripsi Lanjutan)
Dasar
Dalam DES, blok data dibagi menjadi
dua.
Di AES seluruh blok data diproses
sebagai matriks tunggal.
Prinsip
DES bekerja pada struktur Feistel
Cipher.
AES bekerja pada Prinsip Substitusi
dan Permutasi.
Plaintext Plaintext yaitu dari 64 bit
Plaintext bisa dari 128.192, atau 256
bit
Ukuran kunci
DES dibandingkan dengan AES
memiliki ukuran kunci yang lebih
kecil.
AES memiliki ukuran kunci yang lebih
besar dibandingkan dengan DES.
Babak 16 putaran
10 putaran untuk 128-bit algo
12 putaran untuk 192-bit algo
14 putaran untuk 256-bit algo
Rounds
Names
Permutasi Ekspansi, Xor, S-box,
P-box, Xor dan Swap.
Subbytes, Shiftrows, Campur kolom,
Addroundkeys.
Keamanan
DES memiliki kunci yang lebih kecil
yang kurang aman.
AES memiliki kunci rahasia yang besar
sehingga, lebih aman.
Kecepatan DES relatif lebih lambat. AES lebih cepat.
Selain itu, jumlah siklus dapat diperpanjang secara alami. Dengan DES algoritme didefinisikan
untuk 16 siklus secara tepat; untuk memperluas jumlah itu akan membutuhkan redefinisi algoritma
yang substansial. Struktur internal AES tidak memiliki batasan apriori pada jumlah siklus. Jika
cryptanalyst pernah menyimpulkan bahwa 10 atau 12 atau 14 putaran terlalu rendah, satu-satunya
perubahan yang diperlukan untuk meningkatkan algoritma yaitu dengan mengubah batas pada
pengulangan.
Sebuah tanda kepercayaan yaitu bahwa pemerintah AS telah menyetujui AES untuk melindungi
dokumen rahasia Rahasia dan Top Secret. Ini yaitu pertama kalinya Amerika Serikat menyetujui
pemakaian algoritma komersial yang berasal dari luar pemerintah (dan lebih jauh lagi, di luar
Amerika Serikat) untuk mengenkripsi data rahasia.
Namun, kami tidak bisa berpuas diri. Tidak ada yang bisa memprediksi sekarang batasan apa yang
mungkin diidentifikasi oleh cryptanalyst di masa depan. Untungnya, ahli kriptologi berbakat terus
menyelidiki algoritma yang lebih kuat yang akan dapat menggantikan AES saat menjadi usang.
Saat ini, AES tampaknya merupakan peningkatan yang signifikan dari DES, dan dapat ditingkatkan
secara alami jika perlu. DES masih dipakai secara luas, namun AES juga diadopsi secara luas,
terutama untuk aplikasi baru.
100
2.5.7 Kriptografi Kunci Publik
Sejauh ini, kita telah melihat algoritma enkripsi dari sudut pandang membuat pengacakan mudah
bagi pengirim (sehingga enkripsi cepat dan sederhana) dan dekripsi mudah bagi penerima namun
tidak untuk penyusup. namun pandangan fungsional untuk mengubah plaintext menjadi ciphertext
ini hanyalah sebagian dari gambarannya. Kita juga harus mencari cara untuk mendistribusikan
kunci enkripsi. Kami telah mencatat betapa bergunanya kunci dalam menghalangi penyusup, namun
kuncinya harus tetap rahasia agar efektif. Algoritma enkripsi yang telah kami sajikan sejauh ini disebut
algoritma simetris atau kunci rahasia. Dua algoritma simetris yang paling banyak dipakai , DES
dan AES, beroperasi dengan cara yang sama: Dua pemakai memiliki salinan dari: kunci yang
sama. Satu pemakai memakai algoritma untuk mengenkripsi beberapa plaintext di bawah
kunci, dan pemakai lain memakai kebalikan dari algoritma dengan kunci yang sama untuk
mendekripsi ciphertext. Inti dari masalah ini yaitu bahwa semua kekuatan enkripsi bergantung
pada kerahasiaan kunci.
Pada tahun 1976, Whitfield Diffie dan Martin Hellman menemukan kriptografi kunci publik, jenis
enkripsi baru. Dengan sistem enkripsi kunci publik, setiap pemakai memiliki dua kunci, salah
satunya tidak harus dirahasiakan. Meskipun berlawanan dengan intuisi, sebenarnya sifat publik
dari kunci ini tidak mengkompromikan kerahasiaan sistem. Sebaliknya, dasar untuk enkripsi
kunci publik yaitu untuk membiarkan kunci ini dibocorkan namun untuk menjaga rahasia
teknik dekripsi. Kriptosistem kunci publik mencapai tujuan ini dengan memakai dua kunci: satu
untuk mengenkripsi dan yang lainnya untuk mendekripsi. Meskipun kunci-kunci ini diproduksi dalam
pasangan yang berhubungan secara matematis, orang luar secara efektif tidak dapat memakai
satu kunci untuk menurunkan yang lain.
Di bagian ini, kita melihat cara untuk mengizinkan kunci menjadi publik namun tetap melindungi
pesannya. Kami juga fokus pada algoritme RSA, sistem kunci publik kelas komersial yang populer.
Algoritma lain, seperti kriptosistem kurva eliptik, dan algoritma El Gamal beroperasi dengan cara
yang sama (walaupun matematika dasarnya sangat berbeda). Kami berkonsentrasi pada RSA
sebab banyak aplikasi yang memakai nya. Kami juga menyajikan skema matematika di
mana dua pemakai dapat bersama-sama membuat kunci enkripsi rahasia tanpa memiliki rahasia
sebelumnya.
Alasan
Mengapa membuat publik kunci diinginkan? Dengan sistem kunci simetris konvensional, setiap
pasangan pemakai membutuhkan kunci yang terpisah. namun dengan sistem kunci publik, siapa
pun yang memakai satu kunci publik dapat mengirim pesan rahasia ke pemakai , dan pesan
ini tetap terlindungi secara memadai agar tidak dibaca oleh pencegat. Mari kita selidiki mengapa
demikian.
Ingat bahwa secara umum, sistem n-pemakai memerlukan n * (n – 1)/2 kunci, dan setiap pemakai
harus melacak dan mengingat kunci untuk setiap pemakai lain yang ingin berkomunikasi dengannya.
Seiring bertambahnya jumlah pemakai , jumlah kunci meningkat dengan cepat, seperti yang
ditunjukkan pada Gambar 2-23. Menentukan dan mendistribusikan kunci ini yaitu masalah. Masalah
yang lebih serius yaitu menjaga keamanan untuk kunci yang sudah didistribusikan—kami tidak
101
dapat mengharapkan pemakai untuk mengingat begitu banyak kunci. Lebih buruk lagi, kehilangan
atau eksposur kunci satu pemakai memerlukan pengaturan pasangan kunci baru dengan masing-
masing koresponden pemakai ini .
Kunci baru yang bertambah
pemakai saat ini
pemakai Baru
Gambar 2-23 Ledakan dalam Jumlah pemakai Kunci Baru
sifat
Kita dapat mengurangi masalah proliferasi kunci dengan memakai pendekatan kunci publik.
Dalam kunci publik atau sistem enkripsi asimetris, setiap pemakai memiliki dua kunci: kunci publik
dan kunci pribadi. pemakai dapat dengan bebas mempublikasikan kunci publik sebab setiap kunci
hanya melakukan enkripsi atau dekripsi, namun tidak keduanya. Kunci beroperasi sebagai kebalikan,
artinya satu kunci membatalkan enkripsi yang disediakan oleh kunci lainnya. namun menyimpulkan
satu kunci dari yang lain secara efektif tidak mungkin.
Untuk melihat caranya, biarkan kPRIV menjadi kunci pribadi pemakai , dan biarkan kPUB menjadi
kunci publik yang sesuai. Kemudian, plaintext terenkripsi memakai kunci publik didekripsi
dengan penerapan kunci pribadi; kita menulis hubungan sebagai :
P = D(kPRIV, E(kPUB,P))
Artinya, pemakai dapat memecahkan kode dengan kunci pribadi apa yang telah dienkripsi orang
lain dengan kunci publik yang sesuai. Selanjutnya, dengan beberapa algoritma enkripsi kunci publik,
termasuk RSA, kami memiliki hubungan ini:
P = D(kPUB, E(kPRIV,P))
Dengan kata lain, pemakai dapat mengenkripsi pesan dengan kunci pribadi, dan pesan hanya
dapat diungkapkan dengan kunci publik yang sesuai.
Kedua properti ini memberi tahu kita bahwa kunci publik dan pribadi dapat diterapkan dalam urutan
mana pun. Secara khusus, fungsi dekripsi D dapat diterapkan pada argumen apa pun sehingga kita
dapat mendekripsi sebelum mengenkripsi. Dengan enkripsi konvensional, kita jarang berpikir untuk
mendekripsi sebelum mengenkripsi. namun konsepnya masuk akal dengan kunci publik, di mana itu
berarti menerapkan transformasi pribadi terlebih dahulu dan kemudian publik.
Kami telah mencatat bahwa masalah utama dengan enkripsi simetris yaitu banyaknya kunci
yang harus disimpan dan dilacak oleh satu pemakai . Dengan kunci publik, hanya dua kunci yang
102
diperlukan per pemakai : satu publik dan satu pribadi. Mari kita lihat apa perbedaannya dalam jumlah
kunci yang dibutuhkan. Misalkan kita memiliki tiga pemakai , B, C, dan D, yang harus menyampaikan
pesan yang dilindungi ke pemakai A dan juga satu sama lain. sebab setiap pasangan pemakai
yang berbeda membutuhkan sebuah kunci, setiap pemakai akan membutuhkan tiga kunci yang
berbeda; misalnya, A akan membutuhkan kunci untuk B, kunci untuk C, dan kunci untuk D. namun
memakai enkripsi kunci publik, masing-masing B, C, dan D dapat mengenkripsi pesan untuk A
dengan memakai kunci publik A. Jika B telah mengenkripsi pesan memakai kunci publik
A, C tidak dapat mendekripsinya, bahkan jika C tahu pesan ini dienkripsi dengan kunci publik
A. Menerapkan kunci publik A dua kali, misalnya, tidak akan mendekripsi pesan. (Kami berasumsi,
tentu saja, bahwa kunci pribadi A tetap rahasia.) Dengan demikian, jumlah kunci yang dibutuhkan
dalam sistem kunci publik hanya dua per pemakai .
2.5.8 Algoritma Rivest–Shamir–Adelman (RSA)
Sistem kriptografi Rivest–Shamir–Adelman (RSA) yaitu sistem kunci publik. berdasar masalah
sulit yang mendasari dan dinamai menurut tiga penemunya (Ronald Rivest, Adi Shamir, dan Leonard
Adleman), algoritma ini diperkenalkan pada tahun 1978. Cryptanalysts telah melakukan RSA untuk
cryptanalysis yang ekstensif, namun mereka tidak menemukan kekurangan yang serius. Dua kunci
yang dipakai dalam RSA, d dan e, dipakai untuk dekripsi dan enkripsi. Mereka sebenarnya
dapat dipertukarkan: Keduanya dapat dipilih sebagai kunci publik, namun yang satu telah dipilih,
yang lain harus dirahasiakan. Untuk mempermudah, kita sebut kunci enkripsi e dan kunci dekripsi
d. Kami menyatakan plaintext sebagai P dan ciphertext yang sesuai sebagai C. C = RSA(P,e). Juga,
sebab sifat algoritme RSA, kunci dapat diterapkan dalam salah satu urutan:
P = E(D(P)) = D(E(P))
atau
P = RSA(RSA(P, e), d) = RSA(RSA(P, d), e)
(Anda dapat menganggap E dan D sebagai dua fungsi yang saling melengkapi, yang masing-masing
dapat "membatalkan" efek yang lain.)
RSA memang memiliki properti yang disayangkan bahwa kuncinya panjang: 256 bit dianggap sebagai
panjang minimum yang dapat dipakai , namun dalam sebagian besar konteks, para ahli lebih
memilih kunci pada urutan 1000 hingga 2000 bit. Enkripsi di RSA dilakukan dengan eksponensial,
menaikkan setiap blok plaintext ke pangkat; bahwa kekuatan yaitu kuncinya e. Berbeda dengan
substitusi cepat dan transposisi algoritma simetris, eksponensial sangat memakan waktu di komputer.
Lebih buruk lagi, waktu untuk mengenkripsi meningkat secara eksponensial saat eksponen (kunci)
bertambah panjang. Dengan demikian, RSA jauh lebih lambat dari DES dan AES.
Algoritme enkripsi didasarkan pada masalah mendasar dari memfaktorkan bilangan besar dalam
himpunan berhingga yang disebut bidang. Sejauh ini, belum ada yang menemukan jalan pintas
atau cara mudah untuk memfaktorkan bilangan besar dalam suatu bidang. Dalam makalah yang
sangat teknis namun sangat bagus, Dan Boneh [BON99] meninjau semua serangan kriptanalitik
yang diketahui pada RSA dan menyimpulkan bahwa tidak ada yang signifikan. sebab masalah
faktorisasi telah terbuka selama beberapa dekade, sebagian besar kriptografer menganggap masalah
ini sebagai dasar yang kuat untuk sistem kripto yang aman.
103
Untuk meringkas, dua algoritma simetris DES dan AES menyediakan enkripsi solid dari blok 64
hingga 256 bit data. Algoritma asimetris RSA mengenkripsi blok dengan berbagai ukuran. DES dan
AES secara substansial lebih cepat dibandingkan RSA, dengan faktor 10.000 atau lebih, dan operasi
primitif mereka yang agak sederhana telah dibangun ke dalam beberapa chip komputer, membuat
enkripsi mereka bahkan lebih efisien dibandingkan RSA. Oleh sebab itu, orang cenderung memakai
DES dan AES sebagai pekerjaan utama kriptografi, dan memesan RSA yang lebih lambat untuk
pemakaian terbatas di mana ia unggul.
sifat algoritma kunci rahasia (simetris) dan kunci publik (asimetris) dibandingkan pada
Tabel 2-13.
Tabel 2-13 Perbandingan Kunci Rahasia dan Enkripsi Kunci Publik
Kunci Rahasia (Symmetric Key) Kunci Publik (Asymmetric)
Jumlah Kunci 1 2
Ukuran Kunci
(bits)
Tergantiung dari algoritmanya : 56
-112 (DES); 128 - 256 (AES)
Tak terbatas : umumnya tidak
lenuh dari 256; 1000 - 2000 saat
ini dianggap sebagai yang sering
dipakai
Proteksi Kunci Harus di dirahasiakan
Satu kunci harus dirahasiakan;
yang satu boleh diekspos
pemakaian
terbaik
para pekerja di bidang cryptographic,
kerahasiaan dan integritas data, dari
satu karakter ke blok data, messages
dan file
Pertukaran kunci, auntentifikasi dan
pendaftaran
Distribusi Kunci
Harus out of band (menghubungkan
komputer secara langsung dengan
port console atau dengan port
auxiliary (AUX) dari router yang akan
dikonfigurasikan
Kunci publik bisa digunalan untuk
membuka kunci lain
Kecepatan Cepat
Lambat, biasanya dengan faktor
hingga 10.000 lebih lambat dari
algoritma simetrik
2.5.9 Kriptografi Kunci Publik untuk Bertukar Kunci Rahasia
Algoritma enkripsi saja bukanlah jawaban untuk kebutuhan enkripsi semua orang. Meskipun enkripsi
mengimplementasikan saluran komunikasi yang dilindungi, enkripsi juga dapat dipakai untuk
tugas lain. Faktanya, menggabungkan enkripsi simetris dan asimetris sering kali memanfaatkan
fitur terbaik masing-masing.
Misalkan Anda perlu mengirim pesan yang dilindungi ke pelaku yang tidak Anda kenal dan
tidak mengenal Anda. Situasi ini lebih umum dibandingkan yang mungkin Anda pikirkan. Misalnya, Anda
mungkin ingin mengirimkan pengembalian pajak penghasilan Anda kepada pemerintah. Anda ingin
informasi ini dilindungi, namun Anda belum tentu mengenal orang yang menerima informasi
ini . Demikian pula, Anda mungkin ingin membeli dari situs belanja, bertukar email pribadi
(terenkripsi), atau mengatur dua host untuk membuat saluran yang dilindungi. Masing-masing
situasi ini bergantung pada kemampuan untuk menukar kunci enkripsi sedemikian rupa sehingga
104
tidak ada orang lain yang dapat mencegatnya. Masalah dua pihak yang sebelumnya tidak dikenal
bertukar kunci kriptografi yaitu sulit dan penting. Memang, masalahnya hampir melingkar: Untuk
membuat sesi terenkripsi, Anda memerlukan sarana terenkripsi untuk bertukar kunci.
Kriptografi kunci publik dapat membantu. sebab kunci asimetris berpasangan, setengah dari
pasangan dapat diekspos tanpa mengorbankan setengah lainnya. Faktanya, Anda mungkin
menganggap bagian publik dari pasangan kunci benar-benar publik—diposting di situs web publik,
terdaftar di direktori publik yang mirip dengan daftar telepon, atau dikirim secara terbuka dalam
pesan email. Itulah keindahan kriptografi kunci publik: Selama kunci privat tidak diungkapkan, kunci
publik dapat dibuka tanpa mengorbankan keamanan enkripsi.
Protokol Pertukaran Kunci
Misalkan pengirim, Nana, dan penerima, Anto, keduanya memiliki pasangan kunci asimetris untuk
algoritma enkripsi umum. Kami menyatakan setiap fungsi enkripsi kunci publik sebagai E(k, X), yang
berarti melakukan fungsi enkripsi kunci publik pada X dengan memakai kunci k. Panggil kunci
kPRIV-A, kPUB-A, kPRIV-B, dan kPUB-B, masing-masing untuk kunci privat dan publik Nana dan Anto.
Masalah yang ingin kami pecahkan yaitu agar Nana dan Anto dapat membuat kunci enkripsi
rahasia (algoritma simetris) yang hanya mereka yang tahu. Solusi paling sederhana yaitu Nana
memilih kunci simetris K, dan mengirim E(kPRIV-A, K) ke Anto. Anto mengambil kunci publik Nana,
menghapus enkripsi, dan mendapatkan K.
Namun, analisis ini cacat. Bagaimana pengirim mengetahui kunci publik benar-benar milik penerima
yang dituju? Pertimbangkan, misalnya, skenario berikut. Misalkan Nana dan Anto tidak memiliki
papan buletin yang nyaman. Jadi, Nana hanya meminta kuncinya pada Anto. Simak skenario
percakaapan yang terjadi berikut ini :
1. Nana berkata: Anto, tolong kirimkan saya kunci publik Anda.
2. Anto menjawab: Ini, Nana; ini yaitu kunci publik saya.
3. Nana menjawab: Terima kasih. Saya telah membuat kunci simetris untuk kita gunakan untuk
pertukaran ini. Saya mengirimi Anda kunci simetris yang dienkripsi di bawah kunci publik
Anda.
Dalam subversi yang ditunjukkan pada Gambar 2-25, kami memasukkan penyerang, Revan, ke
dalam komunikasi ini.
1. Nana berkata: Anto, tolong kirimkan saya kunci publik Anda.
1a. Revan mencegat pesan dan membuat pesan baru untuk Anto, yang mengaku berasal dari Nana
namun dengan alamat pengirim Revan, meminta kunci publik Anto.
2. Anto menjawab: Ini, Nana; ini yaitu kunci publik saya. (sebab alamat pengirim di langkah 1a,
balasan ini ditujukan ke Revan.)
2a. Revan memegang kunci publik Anto dan mengirimkan kunci publik Revan sendiri ke Nana,
menuduhnya dari Anto.
3. Nana menjawab: Terima kasih. Saya telah membuat kunci simetris untuk kita gunakan untuk
pertukaran ini. Saya mengirimi Anda kunci simetris yang dienkripsi di bawah kunci publik
Anda.
105
3a. Revan mencegat pesan ini dan memperoleh serta menahan kunci simetris yang telah dihasilkan
Nana.
3b. Revan membuat kunci simetris baru dan mengirimkannya ke Anto, dengan pesan yang konon
dari Nana: Terima kasih. Saya telah membuat kunci simetris untuk kita gunakan untuk pertukaran
ini. Saya mengirimi Anda kunci simetris yang dienkripsi di bawah kunci publik Anda.
1
1a
2
2a
3
3a
Anto, tolong kasih
tahu kunci publikmu.
Ayolah berikan
padaku
Ini kunciku, Nana
Ini kunci tengahnya
Ini kunci simetriknya
Ini kunci simetriknya yang lain
Gambar 2-25 Protokol Pertukaran Kunci dengan Pria di Tengah
Singkatnya, Revan sekarang memegang dua kunci enkripsi simetris, masing-masing dibagikan
dengan Nana dan Anto. Revan tidak hanya bisa diam-diam mendapatkan semua simpang susun
mereka, namun Nana dan Anto tidak dapat berkomunikasi dengan aman satu sama lain sebab tidak
ada yang berbagi kunci satu sama lain.
Mulai saat ini, semua komunikasi melewati Revan. Memiliki kedua kunci simetris, Revan dapat
mendekripsi apa pun yang diterima, memodifikasinya, mengenkripsinya di bawah kunci lain,
dan mengirimkan versi yang dimodifikasi ke pihak lain. Baik Nana maupun Anto tidak menyadari
peralihan itu. Serangan ini yaitu jenis kegagalan man-in-the-middle, di mana pihak ketiga yang
tidak berwenang menengahi aktivitas yang dianggap eksklusif antara dua orang. Lihat penelitian Kasus
2-15 untuk contoh serangan man-in-the-middle di dunia nyata.
Istilah man in the middle, terminologi ini sangat seksis. Bahkan jika kami menyebut serangan ini
sebagai orang-di-tengah atau penyusup-di-tengah dalam artikel ini, Anda hanya akan menemukan
istilah man-in-the-middle yang dipakai oleh penulis lain, yang juga memakai istilah
seperti man- in-the-browser dan man-in-the-phone. Jadi, sayangnya kita terjebak dengan istilah
konvensional.
106
Man in The Middle attack atau MiTM merupakan istilah yang dipakai saat hacker memposisikan
dirinya di antara percakapan dua belah pihak seperti user dan website. Serangan ini dilakukan
secara diam-diam sehingga korban tidak menyadari bahwa percakapan atau komunikasi yang
dilakukan sedang diamati oleh hacker. Agar lebih mudah dipahami, Man in The Middle juga dapat
digambarkan seperti seorang pekerja pos jahat yang dapat membaca dan mengubah surat sebelum
diteruskan kepada penerima sah.
penelitian Kasus 2-15 : Aspidistra, Manusia Perang Dunia II di Tengah
Selama Perang Dunia II Inggris memakai serangan man-in-the-middle untuk
menipu pilot dan warga sipil Jerman. Aspidistra, nama tanaman hias biasa yang
juga dikenal sebagai tanaman besi tuang sebab tampaknya kemampuannya untuk
hidup selamanya, juga merupakan nama yang diberikan kepada pemancar radio
raksasa yang dibeli oleh Kantor Perang Inggris dari RCA pada tahun 1942. Pemancar
disiarkan pada 500 kW daya, sepuluh kali daya yang diizinkan ke stasiun AS mana
pun pada saat itu, yang berarti Aspidistra dapat mengirimkan sinyal dari Inggris ke
Jerman.
Bagian dari operasi Aspidistra yaitu untuk menipu pilot Jerman dengan menyiarkan
arah palsu (darat, pergi ke sini, berbalik). Meskipun pilot juga menerima instruksi
penerbangan yang valid dari pengontrol mereka sendiri, obrolan tambahan ini
membingungkan mereka dan dapat mengakibatkan penerbangan yang tidak perlu
dan kehilangan waktu. Bagian dari serangan ini hanyalah serangan peniruan
identitas.
Stasiun radio Jerman tertentu di daerah sasaran dimatikan untuk mencegahnya
menjadi suar yang dapat dipakai oleh pesawat Sekutu untuk menerima sinyal;
pengebom akan mengikuti sinyal dan menghancurkan antena dan pemancar di
dekatnya jika stasiun-stasiun itu terus-menerus menyiarkan. saat sebuah stasiun
dimatikan, Inggris langsung mengudara memakai Aspidistra pada frekuensi
yang sama dengan stasiun yang baru saja ditutup oleh Jerman. Mereka menyalin
dan menyiarkan ulang program dari stasiun Jerman lain, namun mereka menyelingi
pesan propaganda yang dapat menurunkan moral warga Jerman dan melemahkan
dukungan untuk upaya perang.
Jerman mencoba untuk melawan siaran palsu dengan menasihati pendengar bahwa
musuh sedang mentransmisikan dan menasihati penonton untuk mendengarkan
pengumuman siaran resmi Jerman — yang, tentu saja, disalin dan disiarkan
sendiri oleh Inggris. (Detail lebih lanjut dan gambar ada di http://www.qsl.net/g0crw/
Special%20Events/Aspidistra2.htm, dan http://bobrowen.com/nymas/radioproppaper.
pdf.)
107
Protokol Pertukaran Kunci yang Direvisi
Ingatlah bahwa kita memulai diskusi ini dengan serangan man-in-the-middle terhadap protokol
pertukaran kunci sederhana. Protokol yang salah yaitu
1. A mengatakan: B, tolong kirimkan saya kunci publik Anda.
2. B menjawab: Di sini, A; ini yaitu kunci publik saya.
3. A menjawab: Terima kasih. Saya telah membuat kunci simetris untuk kita gunakan untuk pertukaran
ini. Saya mengirimi Anda kunci simetris yang dienkripsi di bawah kunci publik Anda.
Pada langkah 2, penyusup mencegat kunci publik B dan melewati kunci publik si penyusup. Penyusup
dapat digagalkan jika A dan B bertukar setengah kunci sekaligus. Setengah kunci tidak berguna bagi
penyusup sebab tidak cukup untuk mengenkripsi atau mendekripsi apa pun. Mengetahui setengah
dari kunci tidak secara material meningkatkan kemampuan penyusup untuk memecahkan enkripsi
di masa depan.
Rivest dan Shamir (Rivest:84) telah menyusun protokol yang solid sebagai berikut.
1. Nana mengirimkan kunci publiknya ke Anto.
2. Anto mengirimkan kunci publiknya ke Nana.
3. Nana membuat kunci simetris, mengenkripsinya memakai kunci publik Anto, dan mengirimkan
setengah dari hasilnya ke Anto. (Catatan: setengah dari hasilnya mungkin n/2 bit pertama, semua
bit bernomor ganjil, atau bentuk lain yang disepakati.)
4. Anto menjawab Nana bahwa dia menerima hasil sebagian (yang tidak dapat dia tafsirkan saat
ini, jadi dia hanya mengkonfirmasi bahwa dia menerima beberapa bagian). Anto mengenkripsi
nomor acak apa pun dengan kunci pribadinya dan mengirimkan setengah bit ke Nana.
5. Nana mengirimkan setengah lainnya dari hasil terenkripsi ke Anto.
6. Anto mengumpulkan dua bagian dari hasil Nana, mendekripsinya memakai kunci pribadinya
dan dengan demikian memperoleh kunci simetris bersama. Anto mengirimkan separuh nomor
acak terenkripsi lainnya kepada Nana.
7. Nana mengumpulkan dua bagian nomor acak Anto, mendekripsinya memakai kunci
pribadinya, mengekstrak nomor acak Anto, mengenkripsinya memakai kunci simetris yang
sekarang dibagikan, dan mengirimkannya ke Anto.
8. Anto mendekripsi transmisi Nana dengan kunci simetris dan membandingkannya dengan nomor
acak yang dipilihnya pada langkah 6. Kecocokan mengkonfirmasi validitas pertukaran.
Untuk melihat mengapa protokol ini bekerja, lihat langkah 3. Revan, si penyusup, pasti dapat
mencegat kedua kunci publik di langkah 1 dan 2 dan mengganti miliknya sendiri. Namun, pada
langkah 3 Revan tidak dapat mengambil setengah dari hasil, mendekripsi memakai kunci
pribadinya, dan mengenkripsi ulang di bawah kunci Anto. Bit tidak dapat didekripsi satu per satu
dan dipasang kembali.
Pada langkah 4 Anto memilih nomor acak apa pun, yang kemudian dikembalikan Nana kepada
Anto untuk menunjukkan bahwa dia telah berhasil menerima nilai terenkripsi yang dikirim Anto. Nilai
acak seperti itu disebut nonce, nilai yang tidak berarti dalam dirinya sendiri, untuk menunjukkan
aktivitas (keaktifan) dan orisinalitas (bukan replay). Dalam beberapa protokol, penerima mendekripsi
nonce, menambahkan 1 ke dalamnya, mengenkripsi ulang hasilnya, dan mengembalikannya. Di lain
108
waktu nonce menyertakan tanggal, waktu, atau nomor urut untuk menunjukkan bahwa nilainya saat
ini. Konsep ini dipakai dalam pertukaran komputer-ke-komputer yang tidak memiliki beberapa
sifat interaksi manusia.
2.4.10 Keaslian
Masalah orang di tengah dapat diselesaikan dengan cara lain: Nana harus mengirim ke Anto
E(kPUB-B, E(kPRIV-A, K))
Fungsi ini memastikan bahwa hanya Anto, memakai kPRIV-B, yang dapat menghapus enkripsi
yang diterapkan dengan kPUB-B, dan Anto tahu bahwa hanya Nana yang dapat menerapkan kPRIV-A
yang dihapus Anto dengan kPUB-A.
Kita dapat memikirkan pertukaran ini dalam hal kunci dan segel. Siapa pun dapat memasukkan
surat ke dalam kotak surat yang terkunci (melalui slot surat), namun hanya pemegang kunci yang
dapat mengeluarkannya. Di masa lalu, orang-orang penting memiliki segel yang akan mereka
tempelkan ke dalam lilin cair pada sebuah surat; jejak segel menunjukkan keaslian, namun siapa
pun dapat memecahkan segel dan membaca surat itu. Menyatukan kedua bagian ini, sebuah surat
yang disegel di dalam kotak surat yang terkunci menegakkan keaslian pengirim (stempel) dan
kerahasiaan penerima (kotak surat yang terkunci).
Jika Nana ingin mengirim sesuatu yang dilindungi ke Anto (seperti nomor kartu kredit atau satu
set catatan medis), maka pertukaran bekerja seperti ini. Nana menyegel informasi yang dilindungi
dengan kunci pribadinya sehingga hanya dapat dibuka dengan kunci publik Nana. Langkah ini
memastikan keaslian: hanya Nana yang dapat menerapkan enkripsi yang dibalikkan dengan kunci
publik Nana. Nana kemudian mengunci informasi ini dengan kunci publik Anto. Langkah
ini menambah kerahasiaan sebab hanya kunci pribadi Anto yang dapat mendekripsi data yang
dienkripsi dengan kunci publik Anto. Anto dapat memakai kunci pribadinya untuk membuka
kotak surat (sesuatu yang hanya bisa dia lakukan) dan memakai kunci publik Nana untuk
memverifikasi segel dalam (membuktikan bahwa paket itu berasal dari Nana).
Jadi, seperti yang telah kita lihat, fungsi kriptografi asimetris yaitu sarana yang ampuh untuk
bertukar kunci kriptografi antara orang-orang yang tidak memiliki hubungan sebelumnya. Fungsi
kriptografi asimetris lambat, namun hanya dipakai sekali, untuk bertukar kunci simetris. Selanjutnya,
jika kunci yang dipertukarkan yaitu untuk sistem enkripsi simetris seperti AES atau DES, panjang
kuncinya relatif pendek, hingga 256 bit untuk AES atau 64 untuk DES. Bahkan jika kita memakai
bentuk AES yang diperluas dengan panjang kunci 1000 bit, kecepatan lambat kriptografi kunci
publik tidak akan menjadi masalah yang signifikan sebab hanya dilakukan sekali, untuk membuat
kunci bersama.
Kriptografi asimetris juga berguna untuk konstruksi keamanan penting lainnya: tanda tangan digital.
Tanda tangan manusia pada dokumen kertas yaitu pengesahan yang kuat: itu menandakan
kesepakatan (Anda setuju dengan persyaratan dalam dokumen yang Anda tandatangani) dan
pemahaman (Anda tahu apa yang Anda tanda tangani). Orang-orang menerima tanda tangan
109
tertulis sebagai pengganti konfirmasi langsung. Kami ingin konstruksi yang sama kuatnya untuk
mengkonfirmasi dokumen elektronik. Untuk membangun tanda tangan digital, kami memperkenalkan
kode integritas, sertifikat kunci, dan, terakhir, tanda tangan itu sendiri.
Kode Pendeteksi Kesalahan
Komunikasi sangat rentan terhadap kesalahan dalam transmisi. Anda mungkin telah memperhatikan
bahwa terkadang percakapan telepon seluler akan melewatkan atau mendistorsi sebagian kecil
percakapan, dan sinyal televisi terkadang menunjukkan masalah yang biasa disebut kebisingan.
Dalam penelitian Kasus ini, penerimaan yang lengkap dan akurat tidak penting selama kebisingannya
relatif kecil atau jarang. Anda selalu dapat meminta mitra telepon Anda untuk mengulangi kalimat,
dan gol kemenangan di televisi selalu disiarkan ulang berkali-kali.
Dengan data penting, bagaimanapun, kita memerlukan beberapa cara untuk menentukan bahwa
transmisi lengkap dan utuh. Matematikawan dan insinyur telah merancang formula yang disebut
deteksi kesalahan dan kode koreksi untuk membuat kesalahan transmisi terlihat dan untuk melakukan
perbaikan kecil.
Kode pendeteksi kesalahan memiliki banyak nama, seperti kode hash, intisari pesan, checksum,
pemeriksaan integritas, deteksi kesalahan dan kode koreksi, dan tes redundansi. Meskipun istilah-
istilah ini memiliki perbedaan arti yang baik, tujuan dasar dari semuanya yaitu untuk menunjukkan
bahwa sebuah blok data telah dimodifikasi. Kalimat itu diucapkan dengan hati-hati: Intisari pesan
akan (kadang-kadang) memberi sinyal bahwa konten telah berubah, namun kurang solid dalam
menunjukkan tidak ada modifikasi, meskipun itulah yang sebenarnya kita inginkan. Kami ingin
sesuatu untuk menunjukkan tidak ada gangguan—berbahaya atau tidak; kita mendapatkan sesuatu
yang biasanya menunjukkan gangguan.
Rudi menulis surat, membuat dan menyimpan fotokopi, dan mengirimkan aslinya kepada Amanda.
Sepanjang jalan, Samuel mencegat surat itu dan membuat perubahan; menjadi pemalsu yang
terampil, Samuel menipu Amanda. Hanya saat Amanda dan Rudi bertemu dan membandingkan
(dimodifikasi) asli mereka mendeteksi perubahan.
Lain halnya jika Rudi dan Amanda mencurigai seorang pemalsu sudah dekat. Rudi dengan hati-hati
menghitung huruf-huruf dalam dokumennya, menghitung 1 untuk a, 2 untuk a b, dan seterusnya
hingga 26 untuk a z. Dia menambahkan nilai-nilai itu dan menulis jumlahnya dalam angka-angka
kecil di bagian bawah surat itu.
saat Teresa menerima surat itu, dia melakukan perhitungan yang Rudia dan membandingkan
hasilnya dengan yang tertulis di bawah. Tiga penelitian Kasus muncul:
• terhitung tidak setuju, dalam hal ini Amanda menduga ada perubahan
• tidak ada hitungan, dalam hal ini Amanda menduga Rudi malas atau pelupa atau pemalsu
mengabaikan kode mereka
• Hitungan Teresa Rudia dengan yang tertulis di bawah
penelitian Kasus terakhir yaitu yang paling bermasalah. Amanda mungkin menyimpulkan dengan lega
bahwa tidak ada perubahan. Namun, seperti yang mungkin sudah Anda tentukan, dia mungkin tidak
110
berpikir dengan benar. Samuel mungkin menangkap kode dan menghitung dengan benar jumlah
baru agar sesuai dengan modifikasi. Lebih buruk lagi, mungkin perubahan Samuel terjadi untuk
menghindari deteksi. Misalkan Samuel menghapus satu huruf c (nilai=3) dan menggantinya dengan
tiga salinan huruf a (nilai=1+1+1=3); jumlahnya Rudia, atau jika Samuel hanya mengubah huruf,
jumlahnya tetap Rudia, sebab tidak peka terhadap urutan.
Semua masalah ini muncul sebab kode yaitu fungsi banyak-ke-satu: dua atau lebih input
menghasilkan output yang sama. Dua input yang menghasilkan output yang sama disebut collision.
Faktanya, semua intisari pesan yaitu fungsi banyak-ke-satu, dan dengan demikian saat mereka
melaporkan perubahan, satu memang terjadi, namun saat mereka melaporkan tidak ada perubahan,
itu hanya mungkin — tidak pasti — bahwa tidak ada yang terjadi sebab kemungkinan tabrakan.
Tabrakan biasanya tidak menjadi masalah sebab dua alasan. Pertama, mereka jarang terjadi. Jika
plaintext direduksi menjadi 64-bit digest, kami berharap kemungkinan tabrakan menjadi 1 dalam
264, atau sekitar 1 dalam 1019, sangat tidak mungkin, memang. Lebih penting lagi, fungsi digest
tidak dapat diprediksi, jadi dengan satu input, menemukan input kedua yang menghasilkan output
yang sama tidak mungkin dilakukan. Jadi, dengan fungsi digest yang baik, tabrakan jarang terjadi,
dan kami tidak dapat memicu atau memprediksinya.
Kita dapat memakai pendeteksi kesalahan dan kode koreksi kesalahan untuk menjaga dari
modifikasi data. Kode deteksi dan koreksi yaitu prosedur atau fungsi yang diterapkan pada blok
data; Anda mungkin akrab dengan satu jenis kode pendeteksi: paritas. Kode-kode ini berfungsi
sesuai namanya: Kode pendeteksi kesalahan mendeteksi saat kesalahan telah terjadi, dan kode
koreksi kesalahan sebenarnya dapat memperbaiki kesalahan tanpa memerlukan salinan data asli.
Kode kesalahan dihitung dan disimpan dengan aman pada data asli yang dianggap utuh; nanti siapa
pun dapat menghitung ulang kode kesalahan dan memeriksa apakah hasil yang diterima sesuai
dengan nilai yang diharapkan. Jika nilainya tidak cocok, pasti telah terjadi perubahan; jika nilainya
cocok, kemungkinan—namun tidak pasti—tidak ada perubahan yang terjadi.
Pemeriksaan Paritas (Parity Check)
Kode deteksi kesalahan yang paling sederhana yaitu pemeriksaan paritas. Bit tambahan, yang
kita sebut sidik jari, ditambahkan ke grup bit data yang ada, tergantung pada jumlahnya. Dua jenis
paritas disebut genap dan ganjil. Dengan paritas genap sidik jari yaitu 0 jika jumlah bit data genap,
dan 1 jika jumlahnya ganjil; yaitu, bit paritas diatur sehingga jumlah semua bit data ditambah bit
paritas genap. Paritas ganjil yaitu sama kecuali jumlah keseluruhan ganjil. Misalnya, aliran data
01101101 akan memiliki bit paritas genap 1 (dan bit paritas ganjil 0) sebab 0+1+1+0+1+1+0+1 =
5 + 1 = 6 (atau 5 + 0 = 5 untuk paritas ganjil).
Satu bit paritas dapat mengungkapkan modifikasi satu bit. Namun, paritas tidak mendeteksi kesalahan
dua bit—penelitian Kasus di mana dua bit dalam grup diubah. Satu bit paritas dapat mendeteksi semua
perubahan bit tunggal, serta perubahan tiga, lima dan tujuh bit. Tabel 2-14 menunjukkan beberapa
contoh perubahan yang terdeteksi dan tidak terdeteksi. Bit yang diubah (setiap baris menunjukkan
perubahan dari nilai asli 00000000) dicetak tebal, digarisbawahi; tabel menunjukkan apakah paritas
benar mendeteksi bahwa setidaknya satu perubahan terjadi.
111
TABEL 2-14 Perubahan yang Dideteksi oleh Paritas
Mendeteksi angka ganjil dari bit yang diubah mengarah ke tingkat deteksi perubahan sekitar 50
persen, yang hampir tidak cukup baik untuk tujuan kita. Kita dapat meningkatkan kecepatan ini
dengan lebih banyak bit paritas (misalnya menghitung bit paritas kedua dari bit 1, 3, 5, dan 7), namun
lebih banyak bit paritas meningkatkan ukuran sidik jari; setiap kali kami menambah ukuran sidik jari,
kami juga meningkatkan ukuran penyimpanan sidik jari ini.
Paritas hanya menandakan bahwa sedikit telah diubah; itu tidak mengidentifikasi bit mana yang
telah diubah, apalagi kapan, bagaimana, atau oleh siapa. Pada perangkat penyimpanan perangkat
keras, kode yang disebut pemeriksaan redundansi siklik mendeteksi kesalahan dalam perekaman
dan pemutaran. Beberapa kode yang lebih kompleks, yang dikenal sebagai kode koreksi kesalahan,
dapat mendeteksi kesalahan beberapa bit (dua atau lebih bit diubah dalam kelompok data) dan
mungkin dapat menunjukkan dengan tepat bit yang diubah (yang merupakan bit yang akan diatur
ulang untuk memperbaiki modifikasi). Ukuran sidik jari, tingkat deteksi kesalahan, dan koreksi
membawa kita ke kode yang lebih kuat.
Kode Hash
Di sebagian besar file, elemen atau komponen file tidak terikat bersama dengan cara apa pun.
Artinya, setiap byte atau bit atau karakter tidak tergantung satu sama lain dalam file. Kurangnya
pengikatan ini berarti bahwa mengubah satu nilai memengaruhi integritas file namun satu perubahan
itu dapat dengan mudah tidak terdeteksi.
Apa yang ingin kami lakukan yaitu memasang segel atau pelindung di sekitar file sehingga
kami dapat mendeteksi saat segel telah rusak dan dengan demikian mengetahui bahwa ada
sesuatu yang telah diubah. Gagasan ini mirip dengan pemakaian segel lilin pada surat-surat di
abad pertengahan; jika lilin itu pecah, penerima akan tahu bahwa pelaku telah memecahkan
segelnya dan membaca pesan di dalamnya. Dengan cara yang sama, kriptografi dapat dipakai
untuk menyegel file, membungkusnya sehingga setiap perubahan menjadi jelas. Salah satu teknik
untuk memberikan segel yaitu menghitung fungsi, kadang-kadang disebut hash atau checksum
atau intisari pesan dari file.
112
Kode antara Rudi dan Amanda yaitu kode hash. Kode hash sering dipakai dalam komunikasi
di mana kesalahan transmisi dapat mempengaruhi integritas data yang dikirimkan. Dalam penelitian
Kasus ini nilai kode ditransmisikan dengan data. Apakah data atau nilai kode dirusak, penerima
mendeteksi beberapa masalah dan hanya meminta transmisi ulang blok data.
Protokol semacam itu memadai dalam penelitian Kasus kesalahan yang tidak disengaja namun tidak
dimaksudkan untuk menangani musuh khusus. Jika Fagin mengetahui algoritma fungsi deteksi
kesalahan, maka ia dapat mengubah konten dan memperbaiki nilai deteksi agar sesuai. Jadi,
saat musuh jahat mungkin terlibat, komunikasi yang aman membutuhkan bentuk intisari pesan
yang lebih kuat.
Fungsi Hash Satu Arah
Sebagai langkah pertama dalam mengalahkan Samuel, kita harus mencegahnya bekerja mundur
dari nilai intisari untuk melihat input apa yang mungkin mengarah pada hasil ini . Misalnya,
beberapa enkripsi bergantung pada fungsi yang mudah dipahami namun sulit untuk dihitung. Sebagai
contoh sederhana, perhatikan fungsi kubus, y = x3. Menghitung x3 dengan tangan, dengan pensil
dan kertas, atau dengan kalkulator tidaklah sulit. namun fungsi invers, , jauh lebih sulit untuk dihitung.
Dan fungsi y = x2 tidak memiliki fungsi invers sebab ada dua kemungkinan untuk : + x dan x. Fungsi
seperti ini, yang jauh lebih mudah dihitung dibandingkan kebalikannya, disebut fungsi satu arah.
Deteksi Perubahan File
Fungsi satu arah dapat berguna dalam membuat algoritma pendeteksian perubahan. Fungsi harus
bergantung pada semua bit file yang disegel, sehingga setiap perubahan bahkan satu bit pun akan
mengubah hasil checksum. Nilai checksum disimpan dengan file. Kemudian, setiap kali pelaku
mengakses atau memakai file ini , sistem akan menghitung ulang checksum ini . Jika
checksum yang dihitung cocok dengan nilai yang disimpan, file ini kemungkinan akan utuh.
Properti satu arah menjaga dari modifikasi berbahaya: Penyerang tidak dapat "membatalkan" fungsi
untuk melihat file aslinya, jadi tidak ada cara sederhana untuk menemukan serangkaian perubahan
yang menghasilkan nilai fungsi yang sama. (Jika tidak, penyerang dapat menemukan modifikasi
yang tidak terdeteksi yang juga memiliki dampak berbahaya.)
Tripwire [KIM98] yaitu program utilitas yang melakukan pemeriksaan integritas pada file. Dengan
Tripwire, administrator sistem menghitung hash dari setiap file dan menyimpan nilai hash ini di
tempat yang aman, biasanya offline. Kemudian administrator menjalankan kembali Tripwire dan
membandingkan nilai hash baru dengan yang sebelumnya.
Checksum Kriptografi
Modifikasi berbahaya harus ditangani dengan cara yang juga mencegah penyerang memodifikasi
mekanisme deteksi kesalahan serta bit data itu sendiri. Salah satu cara untuk mengatasinya
yaitu dengan memakai teknik yang menyusutkan dan mengubah data sesuai dengan nilai
bit data.
Sebuah checksum kriptografi yaitu fungsi kriptografi yang menghasilkan sebuah checksum. Ini
yaitu fungsi intisari memakai kunci kriptografik yang mungkin hanya diketahui oleh pencetus
dan penerima data yang tepat. Kriptografi mencegah penyerang mengubah blok data (plaintext)
113
dan juga mengubah nilai checksum (ciphertext) agar sesuai. Penyerang tentu saja dapat mengubah
plaintext, namun penyerang tidak memiliki kunci untuk menghitung ulang checksum. Salah satu contoh
checksum kriptografi yaitu pertama-tama memakai fungsi checksum nonkriptografis untuk
memperoleh intisari n-bit dari data sensitif. Kemudian terapkan algoritma enkripsi simetris apa pun
ke intisari. Tanpa kunci penyerang tidak dapat menentukan nilai checksum yang disembunyikan
oleh enkripsi.
Dua kegunaan utama dari checksum kriptografi yaitu perlindungan kode-tamper dan perlindungan
integritas pesan dalam perjalanan. Perlindungan gangguan kode diimplementasikan dengan cara
yang baru saja kami jelaskan untuk mendeteksi perubahan pada file. Demikian pula, checksum
pada data dalam komunikasi mengidentifikasi data yang telah diubah dalam transmisi, baik secara
sengaja maupun tidak sengaja. Pemerintah AS mendefinisikan Secure Hash Standard or Algorithm
(SHS atau SHA), sebenarnya kumpulan algoritme, untuk menghitung checksum.
Checksum yaitu tindakan pencegahan yang penting untuk mendeteksi modifikasi. Di bagian ini
kami menerapkannya pada masalah mendeteksi modifikasi berbahaya pada program yang disimpan
di disk, namun teknik yang sama berlaku untuk melindungi dari perubahan data, seperti yang akan
kami tunjukkan nanti dalam artikel ini.
Algoritme kriptografi yang kuat, seperti untuk DES atau AES, sangat sesuai untuk menyegel nilai,
sebab orang luar tidak akan mengetahui kuncinya dan dengan demikian tidak akan dapat mengubah
nilai yang disimpan agar sesuai dengan data yang sedang dimodifikasi. Untuk aplikasi dengan
ancaman rendah, algoritma yang lebih sederhana dibandingkan DES atau AES dapat dipakai .
Dalam skema enkripsi blok, chaining berarti menghubungkan setiap blok ke nilai blok sebelumnya
(dan sebab itu ke semua blok sebelumnya), misalnya, dengan memakai OR eksklusif untuk
menggabungkan blok sebelumnya yang dienkripsi dengan yang sekarang. Checksum kriptografi file
bisa menjadi blok terakhir dari enkripsi berantai file sebab blok itu akan bergantung pada semua
blok lainnya.
Seperti yang akan kita lihat nanti dalam bab ini, teknik-teknik ini membahas non-alterability dan
non-reusability yang diperlukan dalam tanda tangan digital. Perubahan atau pemakaian kembali
mungkin akan ditandai oleh checksum sehingga penerima dapat mengetahui bahwa ada sesuatu
yang salah.
2.5.11 Tanda Tangan (Digital Signature)
Teknik paling ampuh untuk menunjukkan keaslian yaitu tanda tangan digital. Seperti mitranya
di atas kertas, tanda tangan digital yaitu cara pelaku atau organisasi dapat membubuhkan
pola bit ke file sedemikian rupa sehingga menyiratkan konfirmasi, berkaitan dengan file itu saja,
tidak dapat dipalsukan, dan menunjukkan keasliannya. Kami menginginkan sarana di mana satu
pihak dapat menandatangani sesuatu dan, seperti di atas kertas, tanda tangan itu tetap berlaku
selama berhari-hari, berbulan-bulan, bertahun-tahun—tanpa batas. Selanjutnya, tanda tangan harus
meyakinkan semua orang yang mengakses file ini . Tentu saja, seperti kebanyakan kondisi
yang melibatkan metode digital, peringatannya yaitu bahwa jaminan dibatasi oleh keterampilan
dan energi yang diasumsikan dari siapa pun yang akan mencoba mengalahkan jaminan.
114
Tanda tangan digital sering memakai kriptografi kunci publik atau asimetris. Seperti yang baru
saja Anda lihat, protokol kunci publik berguna untuk pertukaran kunci kriptografi antara dua pihak
yang tidak memiliki dasar kepercayaan lain. Sayangnya, protokol kriptografi kunci publik melibatkan
beberapa urutan pesan dan balasan, yang dapat memakan waktu jika salah satu pihak tidak segera
tersedia untuk membalas permintaan terbaru. Akan berguna untuk memiliki teknik di mana satu pihak
dapat dengan andal menghitung beberapa langkah protokol dan meninggalkannya di tempat yang
aman sehingga protokol dapat dijalankan meskipun hanya satu pihak yang aktif. Situasi ini mirip
dengan perbedaan antara teller bank dan ATM. Anda dapat memperoleh uang tunai, melakukan
setoran atau pembayaran, atau memeriksa saldo Anda sebab bank telah menetapkan langkah-
langkah untuk ATM untuk menangani aktivitas sederhana ini 24 jam sehari, bahkan jika bank
tidak buka. namun jika Anda memerlukan cek bersertifikat atau mata uang asing, Anda mungkin
perlu berinteraksi langsung dengan agen bank.
Di bagian ini kami mendefinisikan tanda tangan digital dan membandingkan propertinya dengan
tanda tangan tulisan tangan di atas kertas. Kami kemudian menjelaskan infrastruktur seputar tanda
tangan digital yang memungkinkan mereka dikenali dan valid tanpa batas.
Komponen dan sifat Tanda Tangan
Tanda tangan digital hanyalah objek biner yang terkait dengan file. namun jika kita ingin tanda tangan
itu memiliki kekuatan tanda tangan berbasis kertas, kita perlu memahami sifat-sifat tanda tangan
manusia. Hanya dengan begitu kami dapat menyatakan persyaratan untuk versi digital kami.
Properti Tanda Tangan Berbasis Kertas yang Aman
Pertimbangkan situasi khas yang sejajar dengan kebutuhan manusia biasa: perintah untuk
mentransfer dana dari satu orang ke orang lain. Dengan kata lain, kami ingin dapat mengirimkan
cek elektronik yang setara dengan cek terkomputerisasi. Kami memahami sifat-sifat transaksi ini
untuk pemeriksaan kertas konvensional:
• Cek yaitu benda berwujud yang memberikan otorisasi transaksi keuangan.
• Tanda tangan pada cek menegaskan keaslian sebab (mungkin) hanya penandatangan yang
sah yang dapat membuat tanda tangan ini .
• Dalam penelitian Kasus dugaan pemalsuan, pihak ketiga dapat dipanggil untuk menilai
keasliannya.
• sesudah cek dicairkan, cek ini dibatalkan sehingga tidak dapat dipakai kembali.
• Pemeriksaan kertas tidak dapat diubah. Atau, sebagian besar bentuk perubahan mudah
dideteksi.
Bertransaksi bisnis dengan cek tergantung pada objek nyata dalam bentuk yang ditentukan. namun
objek berwujud tidak ada untuk transaksi di komputer. Oleh sebab itu, otorisasi pembayaran dengan
komputer memerlukan model yang berbeda. Mari kita pertimbangkan persyaratan situasi seperti
itu, dari sudut pandang bank dan pemakai .
Sifat Tanda Tangan Digital
Misalkan Sheila mengirimi banknya pesan yang mengizinkannya untuk mentransfer $100 ke Rob.
Bank Sheila harus dapat memverifikasi dan membuktikan bahwa pesan ini benar-benar
berasal dari Sheila jika dia kemudian menolak mengirim pesan ini . (Properti ini disebut non-
115
repudiation.) Bank juga ingin mengetahui bahwa pesan ini sepenuhnya milik Sheila, bahwa
pesan ini tidak diubah selama ini. Sementara itu, Sheila ingin memastikan bahwa banknya
tidak dapat memalsukan pesan seperti itu. (Properti ini disebut keaslian.) Kedua belah pihak ingin
memastikan bahwa pesan ini baru, bukan pemakaian kembali dari pesan sebelumnya,
dan bahwa pesan ini tidak diubah selama transmisi. memakai sinyal elektronik sebagai
pengganti kertas memperumit proses ini.
Tanda tangan digital yaitu protokol yang menghasilkan efek yang sama dengan tanda tangan asli: Ini
yaitu tanda yang hanya dapat dibuat oleh pengirim namun dapat dikenali dengan mudah oleh orang
lain sebagai milik pengirim. Sama seperti tanda tangan asli, tanda tangan digital mengkonfirmasi
persetujuan terhadap sebuah pesan.
Asli Tidak bisa
dipalsukan
Tandai hanya
pengirim yang
membuat
Tandai sesuai
dengan
dokuman
Gambar 2-26 Persyaratan Tanda Tangan Digital
Tanda tangan digital harus memenuhi dua syarat utama:
• Itu harus tidak bisa ditempa. Jika orang S menandatangani pesan M dengan tanda tangan
Sig(S,M), tidak ada orang lain yang dapat menghasilkan pasangan [M,Sig(S,M)].
• Itu harus asli. Jika pelaku R menerima pasangan [M, Sig(S,M)] konon dari S, R dapat
memeriksa bahwa tanda tangan ini benar-benar dari S. Hanya S yang dapat membuat
tanda tangan ini, dan tanda tangan ini melekat erat pada M.
Kedua persyaratan ini, yang ditunjukkan pada Gambar 2-26, merupakan rintangan utama dalam
transaksi komputer. Dua properti lagi, juga diambil dari paralel dengan lingkungan berbasis kertas,
diinginkan untuk transaksi yang diselesaikan dengan bantuan tanda tangan digital:
• Tidak dapat diubah. sesudah ditransmisikan, M tidak dapat diubah oleh S, R, atau pencegat.
• Tidak dapat dipakai kembali. Pesan sebelumnya yang disajikan lagi akan langsung terdeteksi
oleh R.
Untuk melihat cara kerja tanda tangan digital, pertama-tama kami menyajikan mekanisme yang
memenuhi dua persyaratan pertama. Kami kemudian menambahkan solusi itu untuk memenuhi
persyaratan lainnya. Kami mengembangkan tanda tangan digital dalam potongan-potongan: pertama
membangun sepotong untuk mengatasi perubahan, kemudian menjelaskan cara untuk memastikan
keaslian, dan akhirnya mengembangkan struktur untuk membangun identitas. Akhirnya semua
bagian ini mengikat bersama dalam kerangka konseptual sederhana.
Kami baru saja menjelaskan bagian-bagian untuk tanda tangan digital: kriptografi kunci publik dan
intisari pesan yang aman. Kedua bagian ini secara teknis cukup untuk membuat tanda tangan digital,
namun tidak membahas keasliannya. Untuk itu, diperlukan suatu struktur yang mengikat identitas
pemakai dan kunci publik dengan cara yang dapat dipercaya. Struktur seperti itu disebut sertifikat.
Terakhir, kami menghadirkan infrastruktur untuk mentransmisikan dan memvalidasi sertifikat.
116
Kunci Publik untuk Tanda Tangan
Sistem enkripsi kunci publik cocok untuk penandatanganan. Untuk notasi sederhana, mari kita
asumsikan bahwa enkripsi kunci publik untuk pemakai U diakses melalui E(M,KU) dan transformasi
kunci privat untuk U ditulis sebagai D(M,KU). Kita dapat menganggap E sebagai transformasi
privasi (sebab hanya U yang dapat mendekripsinya) dan D sebagai transformasi keaslian (sebab
hanya U yang dapat memproduksinya). Ingat, bagaimanapun, bahwa di bawah beberapa algoritma
asimetris seperti RSA, D dan E yaitu komutatif dan salah satu dapat diterapkan untuk pesan
apapun. Jadi,
D(E(M, KU ), KU ) = M = E(D(M, KU ), KU )
Jika S ingin mengirim M ke R, S memakai transformasi otentisitas untuk menghasilkan D(M, KS).
S kemudian mengirim D(M, KS) ke R. R menerjemahkan pesan dengan transformasi kunci publik S,
menghitung E(D(M, KS), KS) = M. sebab hanya S yang dapat membuat pesan yang masuk akal di
bawah E(–,KS), pesan harus benar-benar berasal dari S. Pengujian ini memenuhi syarat keaslian.
R akan menghemat D(M, KS). Jika S kemudian menyatakan bahwa pesan itu palsu (bukan benar-
benar dari S), R cukup menunjukkan M dan D(M, KS). Siapapun dapat memverifikasi bahwa sebab
D(M, KS) ditransformasikan ke M dengan transformasi kunci publik S — namun hanya S yang dapat
menghasilkan D(M, KS) — maka D(M, KS) harus dari S. Tes ini memenuhi persyaratan yang tidak
dapat dipalsukan.
Gambar 2-27 pemakaian Dua Kunci dalam Tanda Tangan
Digital Asimetris
Ada pendekatan lain untuk penandatanganan; beberapa memakai enkripsi simetris, yang lain
memakai asimetris. Pendekatan yang ditunjukkan di sini mengilustrasikan bagaimana protokol
dapat mengatasi persyaratan untuk ketidakterbatasan dan keaslian. Untuk menambah kerahasiaan,
S menerapkan E(M, KR) seperti yang ditunjukkan pada Gambar 2-27.
Potongan-potongan ini, fungsi hash, kriptografi kunci publik, dan protokol, memberi kita potongan
teknis tanda tangan digital. Namun, kami juga membutuhkan satu komponen nonteknis. Penanda
tangan S kami pasti dapat melakukan protokol untuk menghasilkan tanda tangan digital, dan siapa
pun yang memiliki kunci publik S dapat menentukan bahwa tanda tangan itu memang berasal dari
S. Tapi siapa S? Kami tidak memiliki cara yang dapat diandalkan untuk mengasosiasikan manusia
tertentu dengan kunci publik itu. Bahkan jika pelaku mengatakan "kunci publik ini milik S," atas
dasar apa kita percaya pernyataan itu? Ingat serangan man-in-the-middle di awal bab ini saat Nana
117
dan Anto ingin membuat kunci rahasia bersama? Selanjutnya kita mengeksplorasi cara membuat
pengikatan yang dapat dipercaya antara kunci publik dan identitas.
3.5.12 Kepercayaan
Masalah utama perdagangan digital yaitu kepercayaan: Bagaimana Anda tahu bahwa halaman
web Microsoft benar-benar milik Microsoft, misalnya? Bagian ini lebih sedikit tentang teknologi dan
lebih banyak tentang aspek kepercayaan manusia, sebab kepercayaan itu mendasari seluruh
konsep tanda tangan digital.
Dalam kehidupan nyata, Anda mungkin memercayai teman dekat dengan cara yang tidak Anda
percayai kenalan baru. Seiring waktu kepercayaan Anda pada pelaku dapat tumbuh dengan
pengalaman Anda, namun dapat menurun jika orang itu mengkhianati Anda. Anda mencoba pelaku ,
dan, tergantung pada hasilnya, Anda menambah atau mengurangi tingkat kepercayaan Anda.
Pengalaman-pengalaman ini membangun kerangka kepercayaan pribadi.
Halaman web dapat diganti dan dipalsukan tanpa peringatan. Sampai batas tertentu, Anda
menganggap halaman itu asli jika tidak ada yang tampak tidak biasa, jika konten di situs tampak
kredibel atau setidaknya masuk akal, dan jika Anda tidak memakai situs untuk keputusan
penting. Jika situs ini milik bank Anda, Anda dapat memverifikasi bahwa URL ini terlihat
asli. Beberapa situs, terutama lembaga keuangan, sudah mulai membiarkan setiap pelanggan
memilih gambar keamanan, misalnya, mobil sport merah panas atau tengara ikonik; pemakai
diperingatkan untuk memasukkan informasi sensitif hanya jika mereka melihat gambar pribadi yang
mereka pilih sebelumnya.
Dalam lingkungan komersial, jenis institusi tertentu berkonotasi kepercayaan. Anda dapat mempercayai
(pejabat di) organisasi pendidikan, keagamaan, atau sosial tertentu. Perusahaan besar dan mapan
seperti bank, perusahaan asuransi, rumah sakit, dan produsen besar telah mengembangkan ukuran
kepercayaan. Usia sebuah institusi juga menginspirasi kepercayaan. Memang, kepercayaan yaitu
dasar dari gagasan branding, di mana Anda mempercayai kualitas sesuatu sebab Anda tahu
mereknya. Seperti yang akan Anda lihat segera, kepercayaan pada entitas yang diakui seperti itu
merupakan komponen penting dalam tanda tangan digital.
Membangun Kepercayaan Antar Orang
Sebagai manusia, kita membangun kepercayaan sepanjang waktu dalam interaksi kita sehari-
hari dengan orang lain. Kami mengidentifikasi orang yang kami kenal dengan mengenali suara,
wajah, atau tulisan tangan mereka. Di lain waktu, kami memakai afiliasi untuk menyampaikan
kepercayaan. Misalnya, jika orang asing menelepon kami dan kami mendengar, "Saya mewakili
pemerintah daerah ..." atau "Saya menelepon atas nama badan amal ini. …” atau “Saya menelepon
dari sekolah/rumah sakit/polisi tentang ibu/ayah/anak laki-laki/anak perempuan/kakak/adik Anda
…,” kita mungkin memutuskan untuk mempercayai si penelepon meskipun kita tidak mengenalnya.
Bergantung pada sifat panggilan, kami dapat memutuskan untuk mempercayai afiliasi penelepon atau
mencari verifikasi independen. Misalnya, kita dapat memperoleh nomor afiliasi dari direktori telepon
dan hubungi kembali pihak ini . Atau kita dapat mencari informasi tambahan dari penelepon,
seperti “Jaket warna apa yang dia kenakan?” atau “Siapa presiden organisasi Anda?” Jika kami
118
memiliki tingkat kepercayaan yang rendah, kami bahkan dapat bertindak untuk mengecualikan orang
luar, seperti dalam "Saya akan mengirimkan cek langsung ke badan amal Anda dibandingkan memberi
Anda nomor kartu kredit saya."
Untuk setiap interaksi ini, kita memiliki apa yang kita sebut sebagai “ambang kepercayaan”, suatu
tingkat di mana kit




