Ang digital signature ay isang uri ng cryptographic na mekanismong ginagamit para beripikahin ang katunayan at integridad ng digital na datos. Maaari natin itong ituring na digital na bersyon ng mga ordinaryong sulat-kamay na signature, ngunit may mas mataas na antas ng kumplikasyon at seguridad.
Sa madaling salita, maaari nating ilarawan ang digital signature bilang isang code na nakadikit sa isang mensahe o dokumento. Pagkatapos itong i-generate, ang code ay nagsisilbing patunay na ang mensahe ay hindi napakialaman habang naglalakbay ito mula sa nagpadala papunta sa tatanggap.
Mga hash functions
Public-key cryptography (PKC)
Ang public-key cryptography o PKC ay tumutukoy sa isang cryptographic na sistema na gumagamit ng isang pares ng keys: isang public key at isang private key. Magkaugnay ang dalawang key at magagamit para sa data encryption at digital signatures.
Maliban doon, ang sistemang PKC ay maaari ring magamit sa paglikha ng digital signatures. Sa madaling sabi, ang prosesong ito ay binubuo ng hashing ng isang mensahe (o digital na datos) kasama ng private key ng pipirma. Sunod dito, Iche-check ng tatanggap ng mensahe kung tunay ang signature gamit ang public key na ibinigay ng pumirma.
Paano gumagana ang digital signatures
Sa konteksto ng cryptocurrency, ang sistemang digital signature ay kadalasang binubuo ng tatlong pangunahing hakbang: pag-hash, pag-sign, at pag-verify.
Pag-has sa datos
Ganunpaman, hindi kinakailangan ang pag-hash sa datos sa paggawa ng digital signature dahil maaaring gamitin ang private key para pumirma sa isang mensahe na hindi naman na-hash. Ngunit para sa mga cryptocurrency, laging naka-hash ang mga datos dahil nangangailangan ng fixed-length digests ang pangangasiwa sa buong proseso.
Pag-sign
Pagkatapos ma-hash ng impormasyon, kinakailangang pumirma ng nagpadala ng mensahe. Dito pumapasok ang kahalagahan ng public-key cryptography. May iba’t ibang uri ng digital signature algorithms, bawat isa ay may sariling partikular na mekanismo. Ngunit sa madaling sabi, ang na-hash na mensahe ay pipirmahan gamit ang isang private key, at masusuri ng tatanggap ng mensahe ang bisa nito gamit ang katumbas na publick key (na ibinigay ng pumirma).
Sa isang pananaw, ang private key ay hindi kasama sa paglikha ng signature, hindi magagamit ng tatanggap ng mensahe ang katumbas nitong public key para maberipika ang katunayan nito. Parehong nililikha ng nagpadala ng mensahe ang public at private keys, ngunit ang public key lamang ang ibinabahagi sa taga-tanggap ng mensahe.
Mahalagang tandaan na direktang magkaugnay ang digital signatures sa nilalaman ng bawat mensahe. Kaya di-tulad ng mga sulat-kamay na pirma na kadalasan ay pare-pareho anuman ang laman ng mensahe, ang bawat mensahe na digital na napirmahan ay may iba’t ibang digital signature.
Pag-verify
Gumamit tayo ng halimbawa sa paglarawan ng buong proseso hanggang sa huling hakbang ng beripikasyon. Ipagpalagay na sumulat ng mensahe si Alice kay Bob, na-hash ito, at isinama ang hash value sa kanyang private key para makalikha ng digital signature. Magagamit ang signature na ito bilang isang natatanging digital fingerprint ng partikular na mensaheng iyon.
Kapag natanggap ni Bob ang mensahe, masusuri nito ang katunayan ng digital signature gamit ang public key na ibinigay ni Alice. Sa ganitong paraan, natitiyak ni Bob na ang signature ay nilikha ni Alice dahil si Alice lamang ang may private key na katumbas ng public key (kung hindi ito ibinahagi ni Alice sa iba).
Kaya naman mahalaga na isikreto ni Alice ang pagtatago sa private key. Kapag napasakamay ng iba ang private key ni Alice, maaari silang gumawa ng digital signagtures at magpanggap bilang si Alice. Sa konteksto ng Bitcoin, nangangahulugan ito na maaaring magamit ng iba ang private key ni Alice para galawin o gastusin ang kanyang Bitcoins nang walang paalam.
Bakit mahalaga ang mga digital signature?
Kadalasang ginagamit ang digital signatures para makamit ang tatlong resulta: integridad ng datos, pagpapatunay, at hindi pagtatanggi.
- Integridad ng datos. Makatitiyak si Bob na hindi nabago ang mensahe ni Alice habang ipinapadala ito. Ang anumang pagbabago sa mensahe ay magreresulta sa ibang signature.
- Pagpapatunay. Hanggat sikretong nakatago ang private key ni Alice, magagamit ni Bob ang public key para kumpirmahin na ang mga digital signature ay ginawa ni Alice at hindi ng kung sinuman.
- Hindi pagtatanggi. Oras na malikha ang signature, hindi na maitatanggi ni Alice na siya ang pumirma rito, maliban lamang kung makompromiso ang kanyang private key.
Mga Use Case
Magagamit ang digital signatures sa iba’t ibang klase ng digital na dokumento at sertipiko. Kaya’t marami aplikasyon ang mga ito. Ilan sa mga karaniwang use case nito ang mga sumusunod
- Information Technology. Para mapaunlad ang seguridad ng mga sistema ng komunikasyon sa Internet.
- Pananalapi. Maaaring i-implementa ang digital signature sa mga audit, expense report, kasunduan sa utang, at marami pang iba.
- Legal. Digital na pagpirma sa lahat ng uri ng kontrata sa negosyo at legal na kasunduan, kabilang na ang mga papeles na may kaugnayan sa gobyerno.
- Kalusugan. Maaaring pigilan ng digital signatures ang pandaraya sa mga reseta at medical na rekord.
- Blockchain. Tinitiyak ng digital signature na sistema na ang mga tunay na nagmamay-ari ng cryptocurrencies ay nakakapirma sa transaksyon para gumalaw ng pondo (hanggat hindi nakokompromiso ang kanilang private keys).
Mga limitasyon
Nakadepende ang mga malalaking hamon na kinakaharap ng digital signature na sistema sa tatlong mga requirement:
- Algorithm. Mahalaga ang kalidad ng algorithm na ginagamit sa digital signature na sistema. Kabilang dito ang pamimili ng maaasahang hash functions at cryptographic na sistema.
- Implementasyon. Kung maganda ang algorithm ngunit hindi ang implementasyon, maaaring magpakita ng depekto ang digital signature na sistema.
- Private Key. Kapag nabunyag o nakompromiso ang private key, mawawalan ng bisa ang mga katangian nitong pagpapatunay at hindi pagtatanggi. Para sa mga gumagamit ng cryptocurrency, ang pagkawala ng private key ay maaaring humantong sa malaking kawalang pinansyal.
Electronic signatures kumpara sa digital signatures
Sa madaling sabi, maiuugnay ang digital signature sa isang partikular na uri ng electronic signature - na tumutukoy sa anumang electronic na paraan ng pagpirma sa dokumento at mensahe. Samakatuwid, ang lahat ng digital signature ay maituturing na electronic signature, ngunit hindi lahat ng electronic signature ay maituturing na digital signature.
Pangwakas na ideya
Ang hash functions at public-key cryptography ay nasa sentro ng mga sistemang digital signature na ngayon ay ginagamit na sa iba’t ibang uri ng use cases. Kung maimplementa nang maayos, magagawa ng digital signatures na madagdagan ang seguridad, tiyakin ang integridad, at pangasiwaan ang authentication sa lahat ng uri ng digital na datos.
Sa mundo ng blockchain, ginagamit ang digital signatures para pirmahan at pahintulutan ang mga transaksyong cryptocurrency. Mahalaga sila lalo na sa Bitcoin dahil tinitiyak ng mga signature na gagastusin lamang ang mga coin ng mga indibidwal na may hawak ng katumbas na private keys.
Bagamat ilang taon na nating ginagamit ang electronic at digital signatures, marami pang puwang para sa pagpapaunlad nito. Malaking bahagi ng bureaucracy ngayon ay nakadepende sa mga papeles, ngunit malaki ang tiyansa na tangkilikin ang digital signature sa paglipat sa isang mas digital na sistema.