Oracle8i安全性:新特性和安全解决方案1999年11月简介电子商务的流行和Internet的普遍性改变了机构运营商务的方式、人们进行通信的手段,以及世纪之交的业界状况。这些改变带来了推动商业决策的新技术。安全性从内部集成解决方案组转变成了电子商务实施的主要必需条件。资源丰富的机构正在充分利用Internet,优化运作,并以相同的方式与供应商、合作伙伴、内部用户和客户直接进行通信。然而,这些能力为它们带来了各种挑战。不同类的用户需要以不同的方式访问数据。合作伙伴必须能够看到某些有限的数据,员工能够浏览公司机密信息,而客户能够看到,也只能看到其帐户信息。而且,Oracle产品的可伸缩性以及Internet的可扩展性使访问存储在数据库服务器中数据的用户数呈指数级增长。简而言之,用户特定的挑战包括:了解用户、设置用户访问权限、对机密数据进行保密。技术挑战包括:配置机构所采用标准之间的互操作、管理不同域的用户、用户访问权限和数据库本身。借助Oracle8i和OracleAdvancedSecurity的功能,管理员和集成商能够克服这些Internet安全性挑战,Oracle8i和OracleAdvancedSecurity为放置基于Internet的企业范围解决方案提供了极其安全的环境。本白皮书介绍了新版Oracle8i中的五个基于安全性的领域:·PublicKeyInfrastructure,包括Oracle的SecureSocketLayer(SSL)实施,以及与领先PKI解决方案集成的主要管理工具·支持目录的Oracle企业,获得非常高的安全度、集中的用户管理和更低的总体成本·Java实施,利用JavaDatabaseConnectivity(JDBC)接口确保事务的安全·RADIUS协议集成带来的领先验证·VirtualPrivateDatabase,提供数据服务器实施的粒度访问控制在当今侧重于intranet和extranet的应用程序中,安全性问题推动了技术决策和实施过程。新型Oracle8i版本8.1.6安全性特性使Oracle为Internet驱动的电子商务提供了最安全、可靠和灵活的数据库。PublicKeyInfrastructure新兴的PublicKeyInfrastructure(PKI)通过提供安全性基石:验证、加密、完整性和认可,为安全电子商务和Internet安全性奠定了基础。验证,就是证实用户和机器的身份,在机构向Internet敞开大门时,它的重要性非常关键。强大的验证机制能够确保个人和机器真正是其本身。加密算法来确保通信的安全,并对从一台计算机发送到另一台计算机的数据进行保密。数据完整性通常与加密是一致的,因为该算法将检验接收数据包的顺序,以便避免诸如修改数据、多次尝试和移动数据包的攻击。安全基本设施采用了各种技术来确保认可的安全,认可能够证明指定用户在一定时刻进行了某一操作。这些元件组合在一起,从公司intranet到基于Internet的电子商务应用程序,为部署电子商务提供了安全、不间断的环境,并为几乎所有类型的电子事务提供了可靠的环境。PublicKeyInfrastructure的主要组成部分包括:·DigitalCertificate,用于验证用户和机器,被安全地存储在wallet中·PublicKey和PrivateKey,组成了PKI的基础,支持基于密钥和与算术相关的公钥的安全通信·SecureSocketLayer(SSL),符合安全协议的Internet标准·CertificateAuthority(CA),作为DigitalCertificate的可信、独立的提供商支持PKI部署的其它重要组件为:证书和密钥的安全存储、请求证书的管理工具、访问wallet和管理用户,以及作为用户和机器识别和验证的集中库的目录服务。DigitalCertificate使用最广泛的公钥证书遵循X.509格式,X.509版本3证书是现行行业标准格式。PublicKeyInfrastructure依赖于X.509证书来进行公钥验证,X.509也称为DigitalCertificate或公钥证书。通过证书来验证用户或机器有点类似于检查驾驶执照或护照,服务器和客户机通过出示其验证凭证来证明其身份。Oracle环境中的证书使用还提供了singlesign-on,从而使用户一旦通过验证,就可以在不提供其它凭证的情况下连接至多个应用程序和数据库。singlesign-on易于使用,提高了系统的安全性,因为用户不必记忆多个密码,每个用户或机器仅限用一个密码进行管理,从而提供了集中的安全性。X.509v3证书包含用户的验证信息:·鉴定所有者的标识名称(DN),这是识别所有者的唯一标识·证书发行者的(CertificateAuthority)标识名称,这是识别发行者的唯一途径·证书所有者的公钥·发行者的签名·证书的有效期·序列号,每个证书只有唯一的序列号密钥和证书的安全存储为了验证用户,SSL必须拥有提供的密钥和证书。因此,在Oracle环境中,客户机或服务器需要通过一些方法来存储这一信息,并将其提供给SSL,也即Oraclewallet。wallet存储了X.509证书、密钥和其它数据,如由SSL处理的可信证书。这些凭证可用于验证至多种服务的用户,诸如数据服务器和应用程序服务器。用户只须记忆一个密码,这个密码可用于解除其wallet的锁定。OracleWalletManager可管理wallet,并从CertificateAuthority请求证书。它使用户和数据库管理员能够控制其wallet的内容。管理员能够集中管理有关应用程序和数据库的wallet信息。此外,Oracle还提供了OracleEnterpriseLoginAssistant这一易于使用的工具,以便使最终用户能够访问其wallet。此工具使用户能够简单、透明地获得singlesign-on,从而使用证书来进行验证。wallet和管理工具可以一并使用,以安全地存储和管理至证书服务器的证书、密钥和请求。SSL协议SecureSocketLayer协议广泛用于Internet上,以便为用户提供已建立的数字身份,并避免窃听、篡改或伪造讯息。OracleAdvancedSecurity中的SSL支持对网络通信进行加密,并提供了完整性检查、验证Oracle客户机和服务器,为Oracle环境提供基于公钥的singlesign-on。SSL通过使用密码组,提供加密和数据完整性,密码组是一组验证、加密和数据完整性类型。每个客户机和服务器都拥有一系列其支持的密码组,它们需要协商在连接过程中使用哪个密码。说明密码组的范例有:用于验证的RSA,用于加密的3DES和用于数据完整性的SHA-1。其中由SSL提供的至OracleAdvancedSecurity选项的加密算法是RC4、DES和TripleDES。TripleDES(3DES)算法是一种保护数据的非常强大的方法,因为它使用了一个以上的标准DES所采用的56位密钥。TripleDES越来越广泛地用于各种机构,如需要强大安全性的银行和金融机构。SHA(SecureHashingAlgorithm)为Oracle环境提供了一种新的数据完整性检查方法。它生成无用数据来保护数据传输,并确保数据包在传输过程中未被修改或篡改。SSL握手采用SSL协议,当客户机试图连接至服务器时,它启动握手来建立SSL会话。客户机进程将其X.509证书发送至服务器进程,两者均参与验证客户机到服务器的身份的握手中。握手对用户来说是透明的。如果握手成功了,则授予客户机访问权,会话由握手过程所选择的加密和数据完整性来提供保护。一旦客户机和服务器被配置为使用SSL作为通信协议,Net8客户机将进行下列处理:1.安装wallet,在这一点上,用户必须为OracleWalletManager提供一个密码。该密码用于创建公钥和密钥对。密钥存储在wallet中。2.OracleWalletManager从证书服务器处请求证书。然后下载证书,存储在客户机的本地wallet中,wallet位于文件系统中。3.启动具有SSL的Net8连接。SSL握手作为连接的一部分进行。4.如果SSL握手成功,则允许连接。结果是:服务器从SSL获得用户的身份,并对该身份进行验证。对SSL协议的支持增加了OracleAdvancedSecurity的安全性和互操作性,从传播全面安全性服务到允许更强大的数据保护,无一例外。Entrust集成EntrustTechnologies,Inc.是通过其Entrust/PKI软件提供PublicKeyInfrastructure解决方案的市场领先提供商。Entrust/PKI包括许多产品,诸如确保用户PKI凭证安全的EntrustProfile,以及Entrust的认证产品EntrustAuthority。Oracle将对OracleAdvancedSecurity进行专门的产品修改,以便使Oracle和Entrust的客户能够将基于Entrust的singlesign-on集成到其Oracle应用程序当中。通过集成Entrust/PKI,Oracle增强了其为大客户提供基于X.509的singlesign-on的能力,这些客户需要广泛的密钥管理、证书废除及Entrust公司提供的其它特性。Oracle将在OracleAdvancedSecurity版本8.1.6中实施Entrust/PKI支持,从而使客户能够使用Entrust的“wallet”机制EntrustProfile来存储证书和密钥,并支持安全凭证管理。OracleAdvancedSecurity通过用户的EntrustProfile来进行验证和singlesign-on,而不是从Oraclewallet处获得用户凭证(密钥和证书)。Entrust集成同时需要8.1.6版的OracleAdvancedSecurity和EntrustAuthority5。OracleAdvancedSecurity版本8.1.6全面上市之后,这一特性将用于生产。用于安全SingleSign-on的PKI支持随着部署PublicKeyInfrastructure次数越来越频繁,以确保诸如电子邮件和电子商务等应用程序的安全,使得PKI成为最重要投资公司的投资对象之一。因为所有客户机、应用程序服务器和数据服务器都可以相互进行验证,所以PKI为网络提供了重要的安全性基本设施。SSL不仅确保了Net8的安全,而且确保了诸如IIOP(InternetInter-ORBProtocol)等其它协议的安全。通过利用Java支持,OracleAdvancedSecurity确保了IIOP连接的安全,从而使Oracle能够与thinclient和企业JavaBeans(EJB)协同运作。OracleAdvancedSecurity中的SSL支持接通了任何客户机、web服务器或应用程序服务器,以及任何Oracle8iRDBMS之间安全端到端通信的环路。例如,当用户希望连接至其金融机构来进行资金转帐时,她必须能够确切证实她将诸如密码和帐号等敏感信息提供给了适当的服务器。通过SSL和公钥验证,服务器能够证实其至浏览器的身份,而且客户机能够向服务器证实自己。既然机构正在实施应用程序服务器和防火墙来保护其网络,连接处理也就扩展了。用同一个例子来说明,金融信息可被存储在防火墙之后的安全Oracle8dataserver中。用户连接至利用SSL在Internet上进行连接的数据库,并连接至应用程序服务器,该服务器将连接请求与其金融帐户信息一起,通过Net8(仍受SSL保护)从防火墙传送到安全的Oracle8i服务器上。证书不仅验证客户机到服务器,而且也在服务器之间进行验证。这通过用于服务器相互验证的安全数据库链接,扩展了整个系统的安全性。借助SSL部署,所有客户机和服务器,包括数据库服务器和应用程序服务器,都具有凭证,