Enkripsi melindungi data saat sedang transit melalui Internet dan juga menyediakan satu penghalang terakhir
yang harus diatasi oleh penyusup yang telah memperoleh akses tidak sah ke informasi yang disimpan. Seperti
yang akan kita lihat nanti, enkripsi juga memperkuat prosedur dan permainan otentikasi
peran penting dalam memastikan dan memverifikasi validitas transaksi e-bisnis. Karena itu,
penting bagi akuntan, auditor, dan profesional sistem untuk memahami enkripsi
Seperti yang ditunjukkan pada Gambar 9-2, enkripsi adalah proses mengubah konten normal,
disebut plaintext, menjadi omong kosong yang tidak terbaca, disebut ciphertext. Dekripsi membalik proses ini,
mengubah teks tersandi kembali menjadi teks biasa. Gambar 9-2 menunjukkan bahwa enkripsi dan
dekripsi melibatkan penggunaan kunci dan algoritma. Komputer mewakili teks biasa dan
ciphertext sebagai rangkaian digit biner (0s dan 1s). Enkripsi dan kunci dekripsi juga string digit biner;
Algoritma adalah rumus untuk menggunakan kunci untuk mengubah teks biasa menjadi teks sandi (enkripsi)
atau ciphertext kembali menjadi teks biasa (dekripsi). Kebanyakan dokumen lebih panjang dari kuncinya, jadi
proses enkripsi dimulai dengan membagi teks biasa menjadi beberapa blok, setiap blok memiliki ukuran yang
sama
panjang ke kunci. Kemudian algoritme diterapkan ke kunci dan setiap blok teks biasa. Untuk
Misalnya, jika kunci 512-bit digunakan, komputer akan membagi dokumen atau file menjadi
Blok dengan panjang 512-bit dan kemudian menggabungkan setiap blok dengan kunci dengan cara yang
ditentukan oleh
algoritma. Hasilnya adalah versi ciphertext dari dokumen atau file, yang ukurannya sama dengan aslinya.
Untuk mereproduksi dokumen asli, komputer pertama-tama membagi ciphertext menjadi 512-bit
Tiga faktor penting yang menentukan kekuatan sistem enkripsi apa pun:
PANJANG KUNCI Kunci yang lebih panjang memberikan enkripsi yang lebih kuat dengan mengurangi jumlah
pengulangan
blok di ciphertext. Hal ini mempersulit untuk menemukan pola dalam teks tersandi yang mencerminkan pola
dalam teks biasa asli. Misalnya, kunci 24-bit mengenkripsi teks biasa dalam blok 24 bit.
Dalam bahasa Inggris, 8 bit mewakili setiap huruf. Jadi, kunci 24-bit mengenkripsi teks biasa bahasa Inggris
dalam potongan
dari tiga huruf. Ini memudahkan penggunaan informasi tentang frekuensi kata relatif, seperti
fakta bahwa the adalah salah satu dari kata tiga huruf yang paling umum dalam bahasa Inggris, untuk
“menebak” bahwa
pola 24 bit yang paling sering berulang dalam ciphertext mungkin mewakili bahasa Inggris
kata the dan lanjutkan untuk "memecahkan" enkripsi. Itulah mengapa sebagian besar kunci enkripsi paling tidak
256 bit panjang (sesuai dengan 32 huruf Inggris), dan seringkali 1.024 bit atau lebih.
ALGORITMA ENKRIPSI Sifat dari algoritma yang digunakan untuk menggabungkan kunci dan
teks biasa itu penting. Algoritme yang kuat sulit, jika bukan tidak mungkin, dipatahkan dengan menggunakan
teknik menebak dengan kekerasan. Kerahasiaan tidak diperlukan untuk kekuatan. Memang, prosedurnya
digunakan oleh algoritma enkripsi yang paling diterima dan banyak digunakan tersedia untuk umum. Mereka
kekuatannya bukan karena kerahasiaan prosedur mereka, tetapi karena fakta bahwa prosedur tersebut telah diuji
secara ketat dan didemonstrasikan untuk menahan serangan tebakan dengan kekerasan. Oleh karena itu,
organisasi tidak boleh mencoba membuat algoritme enkripsi "rahasia" mereka sendiri, melainkan harus
membeli produk yang menggunakan algoritme standar yang diterima secara luas yang kekuatannya telah
terbukti.
merupakan aspek paling rentan dari sistem enkripsi. Tidak peduli berapa lama kuncinya, atau
apapun kuat enkripsi, jika kuncinya telah dicuri, enkripsi dapat dengan mudah dipatahkan. Oleh karena itu,
kunci kriptografi harus disimpan dengan aman dan dilindungi dengan kuat
akses kontrol. Praktik terbaik termasuk (1) tidak menyimpan kunci kriptografi di browser atau apa pun
File lain yang dapat diakses dengan mudah oleh pengguna lain dari sistem itu dan (2) menggunakan file yang
Organisasi juga memerlukan kebijakan dan prosedur yang baik untuk mengeluarkan dan mencabut kunci.
Kunci harus dikeluarkan hanya untuk karyawan yang menangani data sensitif dan, oleh karena itu,
membutuhkan
kemampuan untuk mengenkripsinya. Penting juga untuk segera mencabut (membatalkan) kunci saat menjadi
karyawan
pergi atau ketika ada alasan untuk percaya bahwa kunci tersebut telah disusupi dan untuk memberi tahu semua
orang
Tabel 9-1 membandingkan dua tipe dasar sistem enkripsi. Sistem enkripsi simetris menggunakan kunci yang
sama untuk mengenkripsi dan mendekripsi. AES adalah contoh dari sebuah simetris
sistem enkripsi. Ini biasanya disertakan di sebagian besar sistem operasi. Sistem enkripsi asimetris
menggunakan dua kunci. Satu kunci, yang disebut kunci publik, didistribusikan dan tersedia secara luas
untuk semua orang; yang lainnya, yang disebut kunci pribadi, dirahasiakan dan hanya diketahui oleh
pemiliknya
sepasang kunci itu. Baik kunci publik atau pribadi dapat digunakan untuk mengenkripsi, tetapi hanya kunci
lainnya
dapat mendekripsi ciphertext. RSA dan kriptografi kurva eliptik adalah contoh kriptografi asimetris
sistem enkripsi.
Untuk kedua jenis sistem enkripsi, kehilangan atau pencurian kunci enkripsi adalah hal yang utama
ancaman. Jika kunci hilang, informasi terenkripsi tidak dapat dipulihkan. Salah satu solusinya adalah dengan
menggunakan perangkat lunak enkripsi yang membuat kunci master bawaan yang dapat digunakan
mendekripsi apa pun yang dienkripsi oleh perangkat lunak itu. Alternatifnya adalah proses yang disebut kunci
escrow,
yang melibatkan pembuatan salinan semua kunci enkripsi yang digunakan oleh karyawan dan menyimpannya
menyalin dengan aman. Pencurian kunci enkripsi menghilangkan nilai enkripsi. Secara simetris
sistem, jika kunci rahasia bersama dicuri, penyerang dapat mengakses informasi apa pun yang dienkripsi
dengan itu. Dalam sistem asimetris, kunci publik dimaksudkan untuk didistribusikan secara luas, tetapi file
kunci pribadi harus disimpan dengan aman. Jika kunci pribadi Anda disusupi, penyerang tidak akan
melakukannya
hanya dapat mendekripsi semua informasi yang dikirimkan kepada Anda oleh orang lain yang mengenkripsi
informasi itu dengan kunci publik Anda, tetapi juga dapat menggunakan kunci pribadi Anda untuk menyamar
Enkripsi simetris jauh lebih cepat daripada enkripsi asimetris, tetapi ia memiliki dua jurusan
masalah. Pertama, kedua belah pihak (pengirim dan penerima) perlu mengetahui kunci rahasia bersama. Ini
berarti kedua pihak perlu memiliki beberapa metode untuk menukar kunci itu dengan aman
akan digunakan untuk mengenkripsi dan mendekripsi. E-mail bukanlah solusi, karena siapapun bisa
mencegat email akan mengetahui kunci rahasia. Jadi, beberapa metode lain untuk bertukar kunci
dibutuhkan. Meskipun ini dapat dilakukan melalui telepon, surat pos, atau layanan pengiriman pribadi,
teknik seperti itu dengan cepat menjadi penghalang biaya, terutama untuk komunikasi global.
Masalah kedua adalah bahwa kunci rahasia terpisah perlu dibuat untuk digunakan oleh masing-masing pihak
dengan siapa penggunaan enkripsi diinginkan. Misalnya, jika Perusahaan A ingin mengenkripsi
informasi yang dibagikannya dengan perusahaan B dan C, tetapi mencegah B dan C memiliki akses
informasi lainnya, perlu membuat dua kunci enkripsi, satu untuk digunakan dengan Perusahaan
B dan yang lainnya untuk digunakan dengan Perusahaan C. Jika tidak, jika Perusahaan A hanya membagikan
satu kunci rahasia umum dengan B dan C, salah satu perusahaan dapat mendekripsi informasi apa pun yang
kepadanya
itu memperoleh akses, meskipun ditujukan untuk perusahaan lain. Dengan demikian, manajemen kunci yang
aman
dengan cepat menjadi lebih kompleks karena jumlah peserta dalam enkripsi simetris
sistem meningkat.
Sistem enkripsi asimetris memecahkan kedua masalah ini. Tidak peduli siapa
mengetahui kunci publik, karena teks apa pun yang dienkripsi dengan kunci publik hanya dapat didekripsi
dengan menggunakan kunci pribadi yang sesuai. Oleh karena itu, kunci publik dapat didistribusikan melalui
atau bahkan diposting di situs web sehingga siapa pun yang ingin dapat mengirim informasi terenkripsi
kepada pemilik kunci publik tersebut. Selain itu, sejumlah pihak dapat menggunakan kunci publik yang sama
untuk
mengirim pesan terenkripsi karena hanya pemilik kunci privat yang sesuai yang dapat mendekripsi
pesannya. Kembali ke contoh sebelumnya, baik perusahaan B dan C dapat menggunakan Company
Kunci publik A untuk berkomunikasi secara aman dengan A. Perusahaan B tidak perlu takut bahwa Perusahaan
dapat mencegat komunikasi itu, karena informasi hanya dapat didekripsi dengan menggunakan
Kunci pribadi Perusahaan A, yang tidak dimiliki Perusahaan C. Sistem enkripsi asimetris
juga sangat menyederhanakan proses pengelolaan kunci kriptografi. Perusahaan A tidak membutuhkan
untuk membuat dan mengelola kunci terpisah untuk setiap perusahaan yang ingin menerima informasi melalui
Internet secara aman; sebagai gantinya, ia hanya perlu membuat sepasang publik dan pribadi
kunci. Perusahaan A juga tidak perlu menyimpan kunci publik dari perusahaan lain yang kepadanya
ingin mengirimkan informasi dengan aman, karena informasi tersebut selalu dapat diperoleh publik perusahaan
lain
jauh (ribuan kali) lebih lambat daripada enkripsi simetris, sehingga tidak praktis untuk
digunakan untuk bertukar data dalam jumlah besar melalui Internet. Akibatnya, e-bisnis menggunakan
keduanya
jenis sistem enkripsi. Enkripsi simetris digunakan untuk menyandikan sebagian besar data yang dipertukarkan,
dan enkripsi asimetris digunakan untuk mengirim data simetris dengan aman melalui e-mail.
kunci penerima untuk digunakan dalam mendekripsi ciphertext. Kunci rahasia bersama aman bahkan
meskipun dikirim melalui email karena jika pengirim menggunakan kunci publik penerima untuk
mengenkripsinya,
hanya penerima yang dituju, yang merupakan satu-satunya orang yang memiliki kunci pribadi yang sesuai,
dapat mendekripsi kunci simetris rahasia bersama itu. Seperti yang akan dibahas nanti, enkripsi asimetris juga
digunakan dalam kombinasi dengan proses yang disebut hashing untuk membuat digital yang mengikat secara
hukum.
tanda tangan
HASHING
Hashing adalah proses yang mengambil teks biasa dengan panjang berapa pun dan membuat kode pendek yang
disebut hash.
Misalnya, algoritme SHA-256 membuat hash 256-bit, terlepas dari ukuran teks biasa aslinya. Tabel 9-2
menunjukkan bahwa hashing berbeda dengan enkripsi dalam dua aspek penting.
Pertama, enkripsi selalu menghasilkan ciphertext yang ukurannya mirip dengan plaintext asli, tetapi hash selalu
menghasilkan hash dengan panjang tetap yang pendek, terlepas dari ukuran aslinya.
teks biasa. Perbedaan kedua adalah bahwa teks terenkripsi dapat didekripsi, tetapi itu tidak mungkin
untuk mengubah hash kembali menjadi teks biasa asli. Jadi, mengirim seseorang hash bukanlah a
cara untuk melindungi kerahasiaan atau privasi, karena penerima tidak pernah dapat memulihkan informasi apa
pun dari hash. Namun, ada properti penting dari algoritme hashing itu
membuatnya berguna untuk mengirim hash dokumen ke pihak lain, bersama dengan dokumen asli tersebut.
Algoritme hash menggunakan setiap bit dalam teks biasa asli untuk menghitung nilai hash.
Mengubah karakter apa pun dalam dokumen yang sedang di-hash, seperti mengganti 1 dengan 7, menambahkan
atau menghapus satu spasi, atau bahkan beralih dari huruf besar ke huruf kecil, menghasilkan perbedaan
nilai hash. Properti algoritme hashing ini menyediakan sarana untuk menguji integritas a
dokumen, untuk memverifikasi apakah dua salinan dokumen, masing-masing disimpan pada perangkat yang
berbeda, adalah
identik. Jika setiap salinan dijalankan melalui algoritma hashing yang sama dan hash yang dihasilkan adalah
sama maka dua salinannya identik; jika kedua hash berbeda, maka salah satu salinan telah diubah. Kemampuan
untuk memverifikasi integritas ini memainkan peran penting dalam menciptakan secara legal
Masalah penting untuk transaksi bisnis selalu nonrepudiation, atau bagaimana membuat perjanjian yang
mengikat secara hukum yang tidak dapat ditolak secara sepihak oleh salah satu pihak. Secara tradisional, hal ini
Jika terjadi perselisihan, para ahli dapat memeriksa tanda tangan tersebut untuk memastikan keasliannya. Saat
ini, bagaimanapun, banyak transaksi bisnis terjadi secara digital dengan menggunakan Internet. Bagaimana
tingkat jaminan yang sama tentang keberlakuan transaksi digital yang disediakan oleh dokumen yang
ditandatangani untuk transaksi berbasis kertas? Jawabannya adalah dengan menggunakan enkripsi hashing dan
asimetris untuk membuat tanda tangan digital yang mengikat secara hukum.
Seperti yang ditunjukkan Gambar 9-3, membuat tanda tangan digital adalah proses dua langkah. Dokumen
pencipta pertama-tama membuat hash dari dokumen (atau file) dan kemudian mengenkripsi hash itu
menggunakan miliknya
atau kunci pribadinya. Hash terenkripsi yang dihasilkan adalah tanda tangan digital yang memberikan jaminan
tentang dua masalah penting: (1) bahwa salinan dokumen atau file belum diubah, dan (2)
yang membuat versi asli dari dokumen atau file digital. Dengan demikian, tanda tangan digital menyediakan
jaminan bahwa seseorang tidak dapat melakukan transaksi digital dan kemudian menolaknya
mereka telah melakukannya dan menolak untuk memenuhi sisi kontrak mereka.
Bagaimana tanda tangan digital memberikan jaminan ini? Pertama, ingatlah bahwa properti penting dari hash
adalah bahwa ia mencerminkan setiap bit dalam dokumen. Oleh karena itu, jika dua hash identik,
itu berarti dua dokumen atau file itu identik. Akibatnya, seperti halnya fotokopi dibandingkan dengan aslinya
di satu komputer ke hash dokumen di komputer lain menyediakan cara untuk menentukan
apakah dua dokumen itu identik. Kedua, ingat bahwa dalam sistem enkripsi asimetris, sesuatu yang dienkripsi
kunci publik. Oleh karena itu, jika sesuatu dapat didekripsi dengan kunci publik entitas, itu harus dimiliki
telah dienkripsi dengan kunci pribadi yang sesuai entitas itu, yang membuktikan bahwa informasi tersebut
harus dienkripsi oleh pemilik pasangan kunci publik dan privat tersebut.
Gambar 9-4 menunjukkan bagaimana kedua fakta ini bekerja sama untuk memberikan nonrepudiation.
SEBUAH
pelanggan membuat pesanan pembelian dan tanda tangan digital untuk pesanan itu. Pelanggan mengirim
baik pesanan pembelian dan tanda tangan digital ke pemasok, bersama dengan informasi
tentang algoritma hashing mana yang digunakan untuk membuat tanda tangan digital. Pemasok menggunakan
algoritme hashing yang dinyatakan untuk menghasilkan hash dari salinan pesanan pembeliannya. Itu
pemasok juga menggunakan kunci publik pelanggan untuk mendekripsi tanda tangan digital pelanggan. Itu
hasil mendekripsi tanda tangan digital adalah hash. Jika hasil hash cocok dengan hash
bahwa pemasok membuat dari salinan pesanan pembelian, itu memiliki bukti bahwa (1) salinan pesanan
pembelian pemasok adalah salinan persis dari pesanan pembelian yang ada di beberapa
sistem lain (jika tidak, kedua hash tidak akan cocok) dan (2) bahwa pesanan pembelian
harus ada di sistem informasi pelanggan (jika tidak, mendekripsi tanda tangan digital dengan kunci publik
pencocokan hash).
Namun, satu pertanyaan masih tersisa. Berhasil menggunakan kunci publik untuk mendekripsi dokumen atau
file membuktikan bahwa pihak yang memiliki kunci pribadi yang sesuai telah membuatnya. tapi bagaimana
caranya
dapatkah penerima yakin akan identitas pihak lain? Kembali ke contoh sebelumnya, bagaimana
dapatkah pemasok mengetahui bahwa kunci publik yang konon dimiliki oleh pelanggan benar-benar milik
pelanggan yang sah dan bukan penjahat yang membuat pasangan kunci publik dan pribadi itu?
Untuk masalah ini, bagaimana pemasok mendapatkan kunci publik pelanggan? Jawabannya