PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL:pgcrypto के साथ कॉलम एन्क्रिप्ट करें

क्रिप्टो तंत्र का उपयोग करते समय गुप्त भंडारण एक सामान्य समस्या है।

pgcrypto कुंजी भंडारण प्रदान नहीं करता है, आप जहां चाहें कुंजी को स्टोर करने के लिए स्वतंत्र हैं और जितना हो सके इसकी रक्षा कर सकते हैं।

कुंजी को किसी अन्य डेटाबेस में संग्रहीत करना, यदि उसी DBA द्वारा प्रबंधित किया जाता है, तो अधिक सुरक्षा प्रदान नहीं करता है क्योंकि DBA इसे उसी तरह एक्सेस कर सकता है।

आदर्श रूप से, आप कुंजी को एक सुरक्षित तिजोरी में संग्रहीत करेंगे और प्रश्नों के निर्माण के लिए इसे अपने आवेदन से अनुरोध करेंगे। यह तब भी डीबीए से दिखाई देगा जब अनुरोध select * from pg_stat_activity के माध्यम से चल रहा हो ।

आप set session my.vars.cryptokey = 'secret'; के माध्यम से SQL सत्र के व्यापक उपयोग के लिए कुंजी सेट कर सकते हैं फिर इसे निम्नलिखित सिंटैक्स के साथ अपने प्रश्नों में उपयोग करें:current_setting('my.vars.cryptokey')::text

एप्लिकेशन के दृष्टिकोण से (लगभग) पारदर्शी होने के लिए, PostgreSQL नियम secure_column का अनुवाद करने में मदद कर सकते हैं। सत्र संग्रहीत कुंजी के साथ फ़ंक्शन को डिक्रिप्ट करने के लिए कॉल करने के लिए। डालने के लिए, एक पूर्व-सम्मिलित ट्रिगर की आवश्यकता होगी।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उसकेोकू में नोड/सेक्वेलिज़ ऐप को तैनात करना - पोर्ट के साथ समस्या

  2. psycopg2 कनेक्शन के बाद कोई टेबल नहीं ढूँढ सकता

  3. पीएल/पीजीएसक्यूएल फ़ंक्शन में अल्पविराम से अलग स्ट्रिंग को विभाजित करना

  4. स्प्रिंग JdbcTemplate अपडेट पोस्टगिस भूगोल कॉलम

  5. रेल पर माणिक स्थापित करते समय कोई अनुमति नहीं