PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

PostgreSQL:Enkripsi Kolom Dengan pgcrypto

Penyimpanan rahasia adalah masalah umum saat menggunakan mekanisme kripto.

pgcrypto tidak menyediakan penyimpanan kunci, Anda bebas menyimpan kunci di tempat yang Anda inginkan dan melindunginya semampu Anda.

Menyimpan kunci di database lain, jika dikelola oleh DBA yang sama tidak memberikan banyak keamanan karena DBA dapat mengaksesnya dengan cara yang sama.

Idealnya, Anda akan menyimpan kunci di brankas yang aman dan memintanya dari aplikasi Anda untuk membuat kueri. Itu masih akan terlihat dari DBA saat permintaan berjalan melalui select * from pg_stat_activity .

Anda dapat menyetel kunci untuk penggunaan sesi SQL secara luas melalui set session my.vars.cryptokey = 'secret'; kemudian gunakan ke dalam kueri Anda dengan sintaks berikut:current_setting('my.vars.cryptokey')::text

Agar (hampir) transparan dari sudut pandang aplikasi, aturan PostgreSQL dapat membantu untuk menerjemahkan secure_column ke panggilan untuk mendekripsi fungsi dengan kunci sesi yang disimpan. Untuk memasukkan, pemicu pra-penyisipan akan diperlukan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Urutan Pemrosesan Logis atau Standar SQL dalam klausa WHERE

  2. Performa Pemindaian Heap Bitmap

  3. Fungsi Kueri Dinamis Postgres

  4. PILIH dari satu tabel, INSERT ke dua tabel lainnya berdasarkan kondisi

  5. Bagaimana saya bisa menghasilkan string unik per catatan dalam tabel di Postgres?