【发布时间】:2023-03-31 09:17:01
【问题描述】:
当您使用Oracle JDBC 客户端库进行Oracle 连接时,密码或安全握手是否默认加密? (想知道在使用 Oracle JDBC 客户端库建立连接时,密码是否存在通过网络嗅探的风险)
【问题讨论】:
当您使用Oracle JDBC 客户端库进行Oracle 连接时,密码或安全握手是否默认加密? (想知道在使用 Oracle JDBC 客户端库建立连接时,密码是否存在通过网络嗅探的风险)
【问题讨论】:
密码在通过网络传输时始终被加密。
这并不是说它不受攻击。如果攻击者可以获取用户密码的hash并且他们可以监控合法客户端和数据库之间的网络流量,那么就有可能获得明文密码.
出于好奇,这里总结了跨不同版本的 Oracle 数据库软件的身份验证过程。处理加密密码传输的步骤以粗体显示。 JDBC 驱动程序正在使用哪个版本的身份验证协议并不完全直观,因为它并不总是与其宣传的版本相匹配。这是因为客户端可以协商它希望使用的协议。例如,11g JDBC 驱动程序在连接到 11g 数据库时可能不一定使用 11g 身份验证协议(它可能会回退到 10g 身份验证协议)。我忘记了哪些驱动程序使用哪些协议。
【讨论】: