Ang Internet: Encryption at mga Pampublikong Key
Kumusta ako si Mia Gil-Epner, nagme-major
sa Computer Science sa UC Berkeley at nagtatrabaho ako
sa Kagawaran ng Tanggulan, kung saan sinusubukan kong
panatilihin ang impormasyon na ligtas. Ang Internet ay
isang bukas at pampublikong sistema. Nagpapadala at tumatanggap tayong lahat ng impormasyon sa mga ibinahaging kawad at
mga koneksiyon. Pero kahit na bukas na sistema ito
nagpapalitan pa rin tayo ng maraming pribadong
datos. Ang mga bagay tulad ng mga numero sa credit card,
impormasyon sa bangko, mga password, at email. Kaya
paano napapanatiling sekreto ang lahat ng pribadong bagay na ito? Mga datos na anumang uri ay mapapanatiling sekreto sa pamamagitan ng
isang proseso na kilala bilang encryption, ang paghahalu-halo o pagpapalit ng mensahe upang itago ang orihinal na
teksto. Ngayon ang decryption ay ang proseso ng pag-aayos
ng mensaheng iyan upang gawing mababasa ito. Ito ay
simpleng ideya at ginagawa na ng mga tao na
ito siglo-siglo. Isa sa mga unang kilalang
paraan ng encryption ay ang Cipher ni Caesar.
Ipinangalan kay Julius Caesar, isang heneral na Romano
na nag-encrypt ng kanyang mga utos militar upang masiguro na kung maharang ang isang mensahe ng
mga kaaway, hindi nila ito mababasa.
Ang Caesar Cipher ay isang Algoritmo na pinapalitan
ang bawat titik sa orihinal na mensahe ng isang
titik isang tiyak na numero ng mga hakbang sa
alpabeto. Kung ang numero ay ilang bagay na alam
lang ng nagpadala at tatanggap, kung gayon tinatawag ito
na key. Hinahayaan nito ang mambabasa na i-unlock ang
sekretong mensahe. Halimbawa, kung ang orihinal na
mensahe mo ay 'HELLO' kung gayon ang paggamit sa
algoritmo ng Caesar Cipher na may key na 5 ang encrypted na mensahe
ay magiging ito... Upang ma-decrypt ang mensahe, ang tatanggap ay simpleng gagamit ng key upang baligtarin
ang mga proseso. Pero may malaking problema
sa Caesar Cipher, sinuman ay maaaring mabasa
ang encrypted na mensahe, sa pamamagitan ng pagsubok
sa bawat posibleng key, at sa alpabetong Ingles
may 26 lang na titik na ibig sabihin kailangan mo
lang na subukan ang karamihan sa 26 key upang
i-decrypt ang mensahe. Ngayon ang pagsubok sa 26 posibleng key ay hindi napakahirap, aabutin ito sa karamihan
isang oras o dalawa. Kaya gawin natin itong mas mahirap. Sa halip ng pagpapalit sa bawat titik ng parehong halaga,
papalitan natin ang bawat titik ng naiibang halaga.
Sa halimbawang ito ang isang sampung digit key ay nagpapakita kung ilang
posisyon bawat sunod-sunod na titik ay papalitan
upang ma-encrypt ang mas mahabang mensahe. Ang paghula
sa key na ito ay talagang magiging mahirap. Gamit ang 10 digit encryption maaaring magkaroon ng 10 bilyon na posibleng solusyon na key.
Halata na higit iyan sa kakayahan ng sinumang tao na
lutasin, aabutin ito ng maraming siglo.
Pero ang average na computer sa ngayon ay aabutin lang
ng ilang segundo upang subukan ang lahat ng 10 bilyong posibilidad,
Kaya sa isang modernong mundo kung saan ang mga masasamang-loob ay armado ng mga computer sa halip na mga lapis paano
mo mae-encrypt nang ligtas na
napakahirap nilang mabasa? Ngayon ibig sabihin ng napakahirap
na may napakaraming posibilidad upang kalkulahin
sa isang makatuwirang dami ng panahon. Ang mga
ligtas na komunikasyon sa ngayon ay naka-encrypt gamit ang 256 bit key. Ibig sabihin niyan na ang computer ng masamang-loob na
humaharang sa mensahe mo ay kailangang subukang
ito ang maraming posibleng opsiyon...hanggang sa madiskubre nila
ang key at mabasa ang mensahe. Kahit na kung ikaw ay
may 100,000 super computer at bawat isa sa
kanila ay kayang subukan ang milyong bilyong key
bawat segundo aabutin ito ng mga trilyon ng mga trilyong
taon upang subukan ang bawat opsiyon para lang mabasa
ang isang mensahe na protektado ng 256 bit encryption.
Siyempre ang mga computer chip ay doble ang bilis
at kalahati ang laki bawat taon o higit pa. Kung ang
takbong iyan ng exponential na pagsulong ay nagpapatuloy, ang mga imposibleng problema sa ngayon ay malulutas lang sa
sa ilang daang taon sa hinaharap at 256
bit ay hindi sasapat na maging ligtas. Sa katunayan
kailangan na nating palakihin ang karaniwang haba ng key
upang makaalinsabay sa bilis ng mga computer.
Ang mabuting balita ay ang paggamit ng mas mahabang key ay hindi ginagawa ang pag-encrypt sa mga mensahe na mas mahirap pero
pinalalaki nito nang exponential ang numero ng mga hula
na aabutin upang mabasa ang cipher. Kapag
ang nagpadala at tatanggap ay nagsasalo sa parehong key
upang paghahaluin at ayusin ang isang mensahe tinatawag itong
Symmetric Encryption. Sa Symmetric Encryption, tulad
ng Caesar Cipher, ang sekretong key ay kailangang
sang-ayunan nang maaga ng dalawang tao nang pribado.
Kaya napakaganda niyan sa mga tao, pero ang internet
ay bukas at pampubliko kaya imposible ito para
sa dalawang computer na "makipagtagpo" nang pribado upang sumang-ayon
sa isang sekretong key. Sa halip gumagamit ang mga computer
ng mga Asymmetric Encryption key, isang pampublikong key na maaaring
ipagpalit sa sinuman at ang isang pribadong key na hindi ibinabahagi. Ang Pampublikong Key ay ginagamit upang i-encrypt
ang mga datos at maaaring gamitin ito ng sinuman upang gumawa ng sekretong mensahe, pero ang sekreto ay maaari lang ma-decrypt
ng isang computer na may access sa pribadong key.
Paano gumagana ito ay may ilang math na hindi tatalakayin
ngayon mismo. Isipin ito na ganito,
isipin na mayroon kang personal na mailbox,
kung sinuman ay maaaring magdeposito ng koreo pero kailangan nila ng key upang gawin ito. Ngayon maaari kang gumawa ng maraming kopya
ng deposit key at ipadala ang isa sa kaibigan mo
o kahit lang gawin itong mayroon sa publiko. Ang
kaibigan mo o kahit na dayuhan ay maaaring gamitin ang pampublikong key upang i-access ang deposit slot mo at ihulog ang
mensahe, Pero mabubuksan mo lang ang mailbox
ng iyong pribadong key, upang i-access ang lahat ng
mga sekretong mensahe na tinanggap mo. At maaari kang magpadala ng ligtas na mensahe balik sa kaibigan mo
sa pamamagitan ng paggamit ng pampublikong deposit key sa kanilang mailbox. Sa paraang ito maaaring magpalitan ang mga tao ng mga ligtas na mensahe
nang hindi kakailanganin ang pagsang-ayon sa isang pribadong
key. Ang cryptography ng Pampublikong Key ay ang pundasyon
ng lahat ng ligtas na pagmemensahe sa bukas na internet.
Kasama ang mga Security Protocol na kilala bilang
SSL at TLS, na nagpoprotekta sa atin kapag nagba-browse tayo sa web. Ginagamit ng computer mo ito
sa ngayon, anumang oras na makita mo ang maliit na kandado o mga titik https sa address bar ng browser mo.
Ibig sabihin nito na ang computer mo ay gumagamit ng pampublikong key na encryptiion upang magpalitan ng mga datos nang ligtas sa
website na binuksan mo. Habang mas maraming tao ang nag-iinternet mas maraming privadong datos
ay maita-transmit, at ang pangangailangan na
gawing ligtas ang mga datos na iyan ay magiging mas importante.
At habang nagiging mas mabilis ang mga computer kailangan nating bumuo ng mga bagong paraan upang gawing
napakahirap ang encryption. Ito ang ginagawa ko
sa aking trabaho at palagi itong nagbabago.