sql >> Databáze >  >> RDS >> Oracle

Oracle šifruje/dešifruje clob

Integrovaným řešením tohoto problému od společnosti Oracle není šifrování, ale řízení přístupu pomocí databázového trezoru nebo virtuální privátní databáze, aby se zabránilo správci databází nebo jiným uživatelům v zobrazení dat, a transparentní šifrování dat pro šifrování dat v klidu (OS/soubor -úrovňové šifrování). To nejenže zabrání správci databází v zobrazení dat, ale také v jejich změně nebo odstranění.

Pokud přesto chcete datové hodnoty zašifrovat, pak by veškeré šifrování/dešifrování a správa klíčů měla být řešena externě z databáze, kde DBA nebude mít přístup k šifrovacím klíčům. Jak to funguje, bude záviset na návrhu vaší aplikace a výběru programovacího jazyka (jazyků). Uvědomte si, že vytvořit robustní architekturu šifrování a správy klíčů není triviální cvičení...

Uvědomte si také, že zalamování zdrojového kódu PL/SQL je pouze zamlžení kódu a ne šifrování. Může to být snadno zvrátit pomocí libovolného počtu existujících webových stránek nebo interních uložených procedur. Skutečný DBA by také měl execute any procedure privilegovat nebo mít možnost udělit si výslovné oprávnění ke spuštění jakékoli dešifrovací funkce a ani se nemusí starat o to, jaký byl klíč (tomu může zabránit pouze Database Vault).

Přenos klíče do funkce jako vstupu namísto jeho vložení přímo do kódu by byl také problematický, protože DBA může vidět vaše SQL mnoha způsoby. Při přenosu prostřednictvím SQL dotazu může být klíč odhalen také v sestavách ADDM, souborech trasování databáze nebo v auditní stopě.

Neexistuje ne bezpečný způsob, jak zacházet se šifrováním, jak popisujete, s PL/SQL, který také chrání data před DBA.




  1. Seskupování záznamů ze smyčky while | PHP

  2. Kdy byste se měli rozhodnout používat InnoDB v MySQL?

  3. Sloučit dlouhé/šířkové body v rámci ohraničujícího rámečku v závislosti na poloměru v MySQL

  4. Naučte se základní SQL dotazy pomocí MySQL