Jan 19, 2010

Lapisan soket keselamatan.

Lapisan soket keselamatan (English-secure socket layer, SSL) adalah sebuah protokol (himpunan arahan-arahan komputer) internet yang direkabentuk bagi menghasilkan suatu ruangan selamat ketika melakukan komunikasi yang memerlukan tahap keselamatan yang tinggi. Contoh komunikasi yang memerlukan SSL ialah urusan harian melalui internet seperti pembayaran bil, pembelian barang, dan melayari emel. Komunikasi internet seperti ini memerlukan kawalan keselamatan bagi mengelakkan pemindahan maklumat-maklumat seperti kata laluan dan maklumat peribadi daripada dibocorkan oleh pihak ketiga.

Bagaimana SSL dilaksanakan?
SSL terbahagi kepada dua fasa utama iaitu fasa jabat tangan (English-handshake phase) dan fasa pemindahan data. Fasa jabat tangan ialah fasa yang amat rumit, kerana fasa ini menyediakan asas kepada kaedah penyulitan (English-encryption method) yang akan digunakan dalam fasa pemindahan data.



Fasa jabat tangan dimulakan apabila pelanggan (English-client) melayari laman web pelayan (English-server), meminta sebuah ruangan sulit untuk pertukaran data-data rahsia.

Pelanggan akan menghantar kepada pelayan senarai algoritma yang disokongnya.

Pelayan kemudian akan memilih dari kumpulan algoritma tersebut, algoritma yang paling kuat seperti algoritma cincang (English-hash algorithm) dan disokong oleh komputernya, dan memaklumkan kepada pelanggan mengenai pilihannya.

Kemudian, pelayan akan menghantar sijil SSL kepada pelanggan, beserta KUNCI UMUMnya.

Pelanggan akan mengesahkan sijil tersebut, dengan cara menghubungi pihak pengeluar sijil seperti Geocerts dan Verisign (juga dikenali sebagai Pihak Terpercaya- Trusted Party) bagi memastikan bahawa komputer pelayan yang dihubunginya itu benar-benar memiliki sijil yang sah. Jika pengesahan sijil tidak dilakukan, berkemungkinan besar akan berlaku pencerobohan maklumat di mana pelanggan secara tidak sengaja menghantar maklumat sulit kepada komputer asing yang tidak dikehendakinya, di mana komputer asing tersebut sebenarnya menggunakan sijil palsu.

Setelah memastikan identiti pelayan sahih, pelanggan akan menjana nombor rawak, menyulitkannya menggunakan kunci umum yang diterima dan menghantarnya kembali kepada komputer pelayan.

Komputer pelayan akan memerihalkan (English-decrypting) nombor rawak yang disulitkan itu menggunakan KUNCI PERIBADInya. Meskipun kunci umum diketahui oleh pihak ketiga namun tanpa kunci peribadi, mereka tidak akan dapat memecahkan maklumat yang disulitkan. Ini adalah fakta utama yang membolehkan komunikasi sulit dilakukan dalam SSL.

Kedua-dua pihak kini mengetahui nombor rawak yang dihasilkan dari komputer pelanggan. Dari nombor rawak tersebut, kedua-dua komputer masing-masing akan mengira kunci-kunci keselamatan untuk fasa pemindahan data. Fasa jabat tangan kemudian ditamatkan.

Fasa pemindahan data dilakukan menggunakan kunci yang baru dikira dari nombor rawak. Kunci tersebut akan sentiasa disulitkan dan dinyahsulitkan menggunakan kunci peribadi dan kunci umum komputer pelayan tadi, menyebabkan susunan abjad-angka di dalamnya sentiasa berubah-ubah dan dengan itu, tidak akan dapat diteka oleh mana-mana komputer penceroboh meskipun pencerobohan juga amat mustahil dilakukan dengan kelajuan komputer pada masa kini.(rujuk bahagian ‘Kekebalan dalam penyulitan’ di bawah)

Konsep kunci peribadi dan kunci umum.
Konsep kunci peribadi dan umum adalah konsep paling asas dalam SSL. Setiap laman pelayan yang berdaftar dengan syarikat pengeluar sijil SSL akan memiliki dua kunci tersebut. Kunci umum akan diberikan kepada mana-mana komputer pelanggan yang ingin berkomunikasi secara sulit dengannya, manakala kunci peribadi akan disimpan.

Konsep kunci peribadi dan kunci umum dapat difahami dengan membayangkan sebuah mangga yang mempunyai dua kunci, A dan B. Kunci A hanya boleh digunakan untuk mengunci mangga. Setelah mangga dikunci, ia tidak boleh dibuka, meskipun dengan menggunakan kunci A, melainkan hanya dengan menggunakan kunci B sahaja.

Konsep kunci peribadi dan umum juga menepati konsep dalam litar flip-flop.



Hanya kunci peribadi sahaja yang mampu menghasilkan keadaan input 0 1 di mana dengan keadaan tersebut, output = 1 dan mangga akan terbuka.

Kekebalan dalam penyulitan
Bagaimana kekebalan kod abjad-angka boleh dilaksanakan dalam dunia komputer? Dalam dunia sebenar, manusia mungkin boleh memecahkan sebuah peti kebal, memusnahkan mesin ATM dan merompak wang-wang di dalamnya, tetapi tidak komputer. Penyulitan (English-encryption) yang dilakukan oleh komputer tidak boleh dipecahkan dengan kekuatan fizikal. Ia juga tidak boleh dipecahkan menggunakan akal manusia kerana kepantasan pengiraannya yang melebihi kepantasan pengiraan manusia. Ia hanya boleh dipecahkan juga dengan menggunakan komputer.

Sekitar tahun 1970-an, US telah memperkenalkan kaedah penyulitan yang dikenali sebagai DES(data encryption standard- piawaian penyulitan maklumat). DES mampu menghasilkan 7x10^16 kombinasi berbeza dalam ruangan 56-bit. (7 kali ganda bilangan kotak nombor dalam mesin kira aritmetik), namun oleh sebab kelajuan komputer semakin meningkat, sebarang usaha rawak (English-brute force) memecahkan kod-kod mampu dilakukan dalam masa yang singkat. Oleh itu US telah menukar DES kepada AES(advanced encryption standard-piawaian penyulitan lanjutan), di mana bilangan kotak bit dinaikkan kepada 128, 192 atau 256. Dengan pertambahan ini, sebanyak 3x10^35 kombinasi kunci mampu dihasilkan. Dengan kelajuan terpantas yang mampu dicapai oleh komputer pada era ini, ia masih tidak mampu memecahkan kunci tersebut. AES memberikan kombinasi yang lebih besar dan rumit apabila ia digabungkan dengan algoritma cincang. (English-hash algorithm) Bilangan kombinasi berbeza boleh mencecah sehingga 3.402x10^66, dan tahap kesukarannya ialah seperti mencari sebutir pasir di Gurun Sahara (sumber: howstuffworks.com).

Bolehkah SSL dipercayai?
SSL boleh dipercayai kerana pengiraannya dilakukan sepenuhnya oleh komputer. Sebagaimana aliran elektron dalam litar elektronik tidak mampu menipu pembinanya ketika menghasilkan hingar sewaktu berfungsi, begitu juga SSL. Dalam elektronik, hingar (English-noise) tidak mampu diramalkan hanya dengan kepakaran logik dan matematik pembinanya. Kewujudan hingar hanya dapat dikenalpasti sewaktu litar dipraktikkan dalam dunia nyata. Bererti, elektron tidak pernah menipu dalam berfungsi. Apabila hukum alam menyatakan bahawa ia perlu menghasilkan hingar, maka ia akan menghasilkannya, meskipun betapa litar tersebut dibina dengan baik menurut hitungan matematik dan logik.

Oleh sebab elektron tidak pernah menipu dan sentiasa mengikut hukum fizik di mana ia tertakluk, maka elektron sentiasa berfungsi dengan tepat dan telus. Tidak seperti rantaian manusia yang penuh dengan rasuah dan penyalahgunaan kuasa antara pihak atasan dan pihak bawahan. Oleh itu, komputer patut lebih dipercayai dan penyerahan urusan penyulitan kepada komputer adalah satu langkah yang wajar.

No comments:

Post a Comment

Kini, Anon dan Anonimah pun boleh mengomen...