Enkripsi Data Form Tanpa SSL Dengan PHP Form Encryption

Enkripsi Data Form Tanpa SSL Dengan PHP Form Encryption

Enkripsi tidak hanya dibutuhkan oleh perusahaan atau organisasi besar. Bisnis kecil dan juga organisasi nonprofit juga membutuhkan enkripsi untuk melindungi informasinya. Mereka perlu melindungi data personal yang dimilikinya.

Solusi yang ideal adalah dengan menggunakan enkripsi SSL/TLS, namun hal tersebut tidak selalu tersedia untuk semua skenario. Maka kali ini kami membuat tutorial mengenai bagaimana cara mengimplementasikan enkripsi data form tanpa harus mengandalkan pada koneksi SSL/TLS dengan menggunakan PHP Form Encryption.

PHP Form Encryption

PHP Form Encryption menawarkan solusi enkripsi pada level aplikasi di aplikasi PHP dan JavaScript untuk mengenkripsi data form. Sementara enkripsi SSL/TLS menyediakan mekanisme yang aman untuk melindungi transmisi data pada jaringan publik, namun hal ini tidak selalu tersedia.

Contohnya jaringan private yang digunakan pengguna bisnis kecil dengan menggunakan Wi-Fi dapat mengekspos informasi sensitif. Ada banyak situasi dimana infrastruktur teknis atau sumber daya ekonomi tidak memungkinkan untuk memasang protokol komunikasi yang aman.

Terkadang enkripsi pada level aplikasi bisa menjadi cukup, atau bahkan dapat melengkapi sesi dan/atau tingkat keamanan transmisi.

Bagaimana cara kerjanya?

1. Server mendapatkan permintaan dari klien mengenai halaman website yang berisi form

2. Server akan membuat sesi RSA key pair, dan mengirimkan public key yang dimasukan pada respon HTML

3. Web Browser mengisi form dan membuat key AES-256, yang dikembalikan ke server dengan public key yang didapatkan dan form data yang telah terenkripsi AES. Web browser akan menyimpan AES key ini menggunakan penyimpanan di komputer lokal.

4. Server mendapatkan RSA-encrypted AES key dan akan mendekripsinya menggunakan RSA private key. Kemudian AES key akan digunakan untuk mendekripsi data form, proses enkripsi/dekripsi akan terus hingga sesi berakhir.

Implementasi pada PHP

Sesi harus dimulai dengan menggunakan Cryptopost class, seperti:

session_start(); 

require_once './Cryptopost.class.php';

$crypto = new Cryptopost(1024'./openssl.cnf');
if (isset($_POST['cryptoPost'])) {
 $formId $crypto->decodeForm();
}

Jadi, sekarang kita tahu id dari form dan $_POST superglobal berisi data yang telah didekripsi. Sebelumnya $_POST hany akan berisi seperti ini:

var_dump($_POST) result:
array(2) {
["cryptoPost_key"]=>
string(256) "5df90b95ec4fab45d50d34c917c6578f939ccbfadf9486f133850d47a3d6b2c82a277a3468ca11fc7b9163c385eacc2a3a4d091cf8797e55d681b0279058a9f3e334092fb03791931d22ca3847f4f9d4dec0d0a47936f012b6be9723981088d0b049cff46a8e81ec93e2b4f7c3a387d36e2033754d1420a8dc800a4eec6cd0e9"
["cryptoPost"]=>
string(242) "U2FsdGVkX1/53Ut6KFi36Ou/e3lIJz/5pf8FuPb1Yh//WdefKb0iyCke2/g0QPD5
BeknGV4L8dveRDbQ4kXm5YNi3nyG+/F8JWKDipA9ygHPf5KdFr6pYcfzNQjwwfd8
rIC19cl9IOJcs171tm0OBVknaloQWDwpLM/KjISdwwPiRGCtcBhkYrcdsgv6JcwD
aVuU4VunXdWJji9WAKD+1bJrThq2VLjEHhELl26y4vI="
}

Perlu dicatat bahwa entry “crytoPost_key” hanya akan didapatkan satu kali pada saat server pertama kali menerima form. Post request hanya akan dimasukan pada entry “cryptoPost” jika key telah direset.

Untuk mengirim form yang terenkripsi pada server, bisa memasukan kode untuk memanggil objek JavaScript cryptoPost seperti:

<form id="form1" method="POST" action="test.php" onsubmit="return cryptoPost.encrypt('form1')">

Web browser mungkin perlu menenkripsi record untuk mengedit. Server dapat mengirimkan seperti ini:

$record = array(
"name" => $name,
“address” => $address,
“zipCode” => $zip
);
$encrypted = $crypto->encodeData($record, $formId);

Dan terakhir, pada akhir kode HTML ditambahkan:

<script>cryptoPost.decrypt('<?php echo $encrypted;?>')</script>

Kesimpulan

Paket ini menyediakan cara yang mudah dan simpel untuk melindungi data dengan kriptografi tanpa memerlukan SSL/TLS. PHP Form Encryption membutuhkan ekstensi OpenSSL dan PHP 5.4 atau lebih baru.

 

Jakartawebhosting.com menyediakan layanan PHP Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.

You may also like...

21 Responses

  1. December 7, 2021
  2. December 10, 2021

    gokken in online casino https://casinoonlinek.com/

  3. December 12, 2021

    online casino games list https://casinogamesmachines.com/

  4. December 12, 2021

    nj online casino promo codes https://conline-casinos-hub.com/

  5. December 13, 2021

    atlantis casino online https://onlinecasinos4me.com/

  6. December 13, 2021

    online casino no deposit bonus code https://online2casino.com/

  7. December 13, 2021

    vegas 7 online casino https://casinoonlinet.com/

  8. December 14, 2021

    play free casino games online https://casinosonlinex.com/

  9. December 15, 2021

    keto before and after https://ketogendiets.com/

  10. December 16, 2021

    writing an essay for college admission https://yoursuperessay.com/

  11. December 17, 2021

    essays to write about https://howtowriteessaytips.com/

  12. December 17, 2021

    writing an opinion essay https://checkyouressay.com/

  13. December 17, 2021

    “gay military dating sites” https://gayprideusa.com/

  14. December 17, 2021
  15. December 19, 2021

    evaluation in critical thinking https://criticalthinkingbasics.com/

  16. December 19, 2021
  17. December 19, 2021

    stages of critical thinking https://criticalthinking2020.net/

  18. December 19, 2021

    the critical thinking company https://uncriticalthinking.com/

  19. December 19, 2021

    college essay example https://choosevpn.net/

  20. December 20, 2021
  21. December 20, 2021

    hook essay examples https://tjvpn.net/