CN110582768B - 用于提供安全数据库访问的装置和方法 - Google Patents
用于提供安全数据库访问的装置和方法 Download PDFInfo
- Publication number
- CN110582768B CN110582768B CN201880030593.2A CN201880030593A CN110582768B CN 110582768 B CN110582768 B CN 110582768B CN 201880030593 A CN201880030593 A CN 201880030593A CN 110582768 B CN110582768 B CN 110582768B
- Authority
- CN
- China
- Prior art keywords
- database
- access
- database access
- agent
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
- G06F21/725—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
用于提供从位于第一区域(10)中的客户端设备(11)上实现的应用程序(14)到位于第一区域(10)之外的第二区域(20)中的数据库(23)的安全数据库访问的系统和方法,其应用传统的数据库访问应用编程接口,其中‑在第一区域(10)中的客户端设备(11)上实现(1)数据库访问驱动程序(12),并在第二区域(20)中实现访问代理(22),访问代理(22)被连接到数据库(23),‑经由位于数据库访问驱动程序(12)上的认证代理(13)和认证服务器(21)执行(2)应用程序(14)的用户的认证,‑在成功认证的情况下,从认证服务器(21)向数据库访问驱动程序(12)传递(3)凭证,以及‑如果凭证被数据库访问代理(22)接受,则使能(4)对应用程序(14)的用户的数据库访问。这使能使用传统的数据库访问应用编程接口访问远程定位的数据库,并提供强验证。
Description
本申请涉及使用仅提供弱认证手段的传统数据库访问应用编程接口提供从位于第一区域中的客户端设备到位于第一区域之外的第二区域中的数据库的安全数据库访问。
数据库和数据仓库通常包含有价值的业务资产,并且因此应被部署在后端网络区域中,以便保护它们免受来自外部的攻击。在这种情况下,通过前端应用,即经由表示性状态传输应用协议接口(简称REST API),例如超文本传输协议http,间接允许访问,该访问可以通过最先进的强认证机制(比如例如基于智能卡的认证)来保护。
在US2001/045451 A1中还讨论了对web站点的访问认证,其公开了一种用于基于令牌的用户访问认证的方法,其使能安全用户访问web服务器,然而并不特别地访问数据库。使用被存储在令牌(例如智能卡)上的数字证书,用户的工作站与访问服务器相互认证。针对访问服务器的数据库来验证证书,并且可以与web服务器建立安全连接。
此外,CN101895513A公开了一种用于服务web站点的登录认证系统,该系统通过使用存储订户姓名和密码的订户身份模块卡,降低了ID信息被特洛伊木马(Trojans)窃取的风险。
开放数据库连接(简称ODBC)是众所周知的且广泛使用的用于访问数据库管理系统的传统标准应用编程接口(简称API),其在1990年初期间被开发,并且成为用于访问数据库的广泛使用的接口。类似的Java数据库连接(简称JDBC)是用于编程语言Java的应用协议接口,它定义了客户端可以如何访问数据库。它提供了查询和更新数据库中的数据的方法,尤其是关系数据库,比如结构化查询语言(SQL)数据库。JDBC到ODBC桥使能连接到Java虚拟机主机环境中的任何ODBC可访问的数据源。ODBC通过使用ODBC驱动程序作为应用和数据库管理系统之间的转换层来实现数据库管理系统独立性。应用通过其与之链接的ODBC驱动程序管理器使用ODBC函数,并且驱动程序将例如查询传递给数据库管理系统。ODBC驱动程序可以使用和实现数据库管理系统特定的功能为应用提供标准的功能的集合。可以使用ODBC的应用被称为“ODBC兼容”。
对数据库或数据仓库的直接ODBC/JDBC访问危及数据库的安全,因为ODBC/JDBC仅支持基于用户名和密码的弱认证。然而,出于各种原因,例如数据科学家使用ODBC/JDBC并且不愿意更改他们的工作方法,有时需要直接ODBC/JDBC访问。此外,传统应用通常经由ODBC/JDBC连接到数据源。切换例如到http以便经由REST应用程序接口连接到后端数据库将需要实现工作,这需要时间和金钱。此外,在许多情况下,因为应用例如太旧或处于生产性使用中,所以不能简单地重新设计应用。
此外,传统的标准ODBC/JDBC驱动程序需要数据库凭证(所述已提到的用户名和密码)被存储在客户端侧上。如果攻击者例如通过客户端设备/应用的攻击或经由社交工程获得对这些凭证的访问,则他或她获得对位于后端侧上的后端中的数据库或数据仓库的访问。传统ODBC/JDBC数据库访问的另外的缺点在于,客户端和数据库之间的通信并不总是加密的。如果客户端中的一些不支持加密,则以灵活的方式在后端侧上激活和解激活加密也许是不可能的。在这样的情况下,对传输中的数据的保护取决于客户端,并且不能在后端侧上实施。
为了提供强认证来访问数据库,存在专有解决方案,但是其具有非常有限的应用的领域。还可以实现具有REST接口的应用,以便使用用于http通信的认证标准(比如openID连接或安全断言标记语言SAML)访问位于后端中的数据库。然而,这样的应用协议接口需要对顺序查询语言SQL客户端进行编程更改,因为通信通过http进行而不是经由ODBC/JDBC协议消息进行。
因此,本申请的目的是提供一种用于以安全的方式、尤其是使用强认证方法来访问位于区域中的远程数据库而无需通过比如JDBC/ODBC的传统数据库访问应用编程接口直接控制的方法或手段。
该目的通过根据独立权利要求的方法、装置和计算机程序产品来解决。
在从属权利要求中记载了优选实施例。
本发明的第一方面提供了一种用于从位于第一区域中的客户端设备上实现的应用程序到位于第一区域之外的第二区域中的数据库的安全数据库访问的方法,其将开放数据库连接ODBC或JAVA数据库连接JDBC应用编程接口应用作为传统的数据库访问应用编程接口。在第一方法步骤中,在客户端设备上实现数据库访问驱动程序,并在第二区域上实现数据库访问代理,数据库访问代理被连接到数据库。在进一步的步骤中,应用程序的用户的认证经由位于数据库访问驱动程序上的认证代理和认证服务器来执行。然后,在成功认证的情况下,认证服务器向数据库访问驱动程序传递凭证。然后将凭证从数据库访问驱动程序发送到数据库访问代理。如果凭证被数据库访问代理接受,则数据库访问将被授予应用程序。
在客户端设备上实现数据库访问驱动程序和在第二区域中实现连接到数据库的访问协议代理允许经由提供弱认证的传统数据库访问应用编程接口访问数据库。在与外部认证服务器通信的数据库访问驱动程序上实现的认证代理将认证过程与数据库访问驱动程序和数据库访问代理之间的数据库访问过程分离。在认证代理和认证服务器之间执行的认证优选地是使用例如证书和/或身份和访问管理系统的集成手段的强认证。另外,由认证传递的凭证可以被用于建立客户端设备与数据库访问代理之间的安全连接,以及优选地进一步到数据库的安全连接。因此,可以对客户端设备执行更复杂的认证或对客户端设备上的应用的用户执行更精确的认证,而没有之前提到的缺点,并且可以建立加密连接。
凭证可以是认证令牌或身份令牌或认证对象。
在进一步的描述中,表述“访问驱动程序”被用作“数据库访问驱动程序”的同义词。表述“访问代理”被用作“数据库访问代理”的同义词。
应用程序的用户可以是人或技术设备。表述“第一区域”被同义地用于“客户端区域”,并且“第二区域”被同义地用于“后端区域”。
数据库访问应用编程接口是Java数据库连接JDBC或开放数据库连接ODBC,尤其是JDBC类型3。
该JDBC/ODBC API是传统的、众所周知的,并且通常用于访问数据库。不需要对传统应用进行编程更改。
在该方法的优选实施例中,凭证是密码保护的凭证。
使用密码保护的凭证使能验证凭证的完整性并认证发送者,即认证服务器。
在优选实施例中,数据库访问应用编程接口消息经由数据库访问驱动程序和数据库访问代理之间的安全连接来传输。
可以使用提供的凭证来执行数据库访问驱动程序和数据库访问代理之间的安全连接的建立,例如,以根据传输层安全TLS协议来建立安全连接。
在另外的优选实施例中,认证服务器位于第二区域中或除第一或第二区域之外的第三区域中,尤其是中央区域中。
认证服务器优选地提供身份和访问管理服务,身份和访问管理服务是基于比如openID连接/开放认证OAuth的最先进的标准或根据安全断言标记语言SAML在市场上可获得的。这样的认证服务器可以在安全的第二区域中本地部署,或集中部署,或在内部(on-premises)部署,或在云中部署。
在优选实施例中,数据库访问协议接口由数据库访问代理中的至少一个供应商特定的驱动程序执行。
借助这些供应商特定的驱动程序的使用,不需要针对特定种类的数据库或数据仓库的专有解决方案。
在另外的优选实施例中,在数据库访问代理上检查请求访问数据库的用户的访问权限。对访问代理上的访问权限的这种检查不要求经由访问驱动程序和代理在不同的安全的区域之间传输任何用户访问权限。
在另外的实施例中,请求访问数据库的应用程序的用户的访问权限被存储在数据库访问代理中,并且访问权限由认证服务器更新。
请求访问数据库的应用程序的用户的访问权限在认证服务器上管理,尤其是在连接到认证服务器的存储库中管理。
认证服务器通常提供对存储访问权限的存储库的访问。因此,可以将该存储库重新用于存储数据库访问权限,并且不需要用于存储访问权限的分离的单元。替代地,整个用户组的访问权限可以由数据库本身提供。在这种情况下,数据库需要关于用户所属的用户组的信息。
在优选实施例中,在客户端设备上的应用部署期间,在认证服务器处注册应用程序。
使用认证代理的应用程序被作为附加应用来处理,由身份和访问管理系统为其提供身份和访问管理。
在优选实施例中,由数据库访问代理执行的操作由日志记录单元日志记录。
这使能通过在访问代理处日志记录请求来进行监视,而不依赖于数据库或数据仓库的日志记录功能。
在优选实施例中,在访问代理和数据库之间的安全的第二连接上传输数据。
该安全的第二连接还提供了要加密的连接的最后部分,并且因此保护免受操纵。
本发明的另外的方面是一种提供从第一区域中的客户端设备上实现的应用程序到位于与第一区域不同的第二区域中的数据库的安全数据库访问的系统,其将开放数据库连接ODBC或JAVA数据库连接JDBC应用编程接口应用作为传统的数据库访问应用编程接口,包括:
-数据库访问协议接口驱动程序,其包括认证代理,数据库访问驱动程序在第一区域中的客户端设备上实现,
-被连接到数据库并位于第二区域中的数据库访问代理,
其中,数据库访问协议驱动程序和数据库访问代理被实现用于
-经由位于数据库访问协议接口驱动程序上的认证代理和认证服务器执行应用程序的用户的认证,
-在成功认证的情况下,从认证服务器向数据库访问协议接口驱动程序传递凭证,
-将凭证从数据库访问驱动程序发送到数据库访问代理,
以及
-如果凭证被数据库访问代理接受,则使能对应用程序的用户的数据库访问。
实现访问驱动程序和访问代理以执行根据先前描述的方法的方法。
此外,提议了一种计算机程序产品,其可被加载在数字计算机的内部存储器中,包括用于执行如本文中描述的方法的步骤以及当所述产品在计算机上运行时的软件代码部分。计算机程序产品可以是以USB棒、CD-ROM、DVD或可下载文件的形式,所述可下载文件可以经由通信网络无线或有线地传输。
将参考附图更详细地解释本发明。
图1示出了应用本发明的系统用于访问数据库的网络场景的示意图;
图2示出了本发明方法的实施例的流程图;
图3示出了用于认证在客户端设备上实现的应用的用户的本发明方法的实施例的序列图;以及
图4示出了根据图3的在认证之后的本发明的数据库查询的实施例的序列图。
图1示出了网络场景,在该网络场景中,应用使用数据库访问协议接口来执行数据库访问,例如,以根据本发明的方法并使用本发明的系统的实施例从数据库或数据仓库查询数据。在位于第一区域10中的客户端设备11(例如位于私有或公共网络中的计算机)上实现应用14。提供数据的数据库23位于第二区域20中,其与区域10中的客户端设备11物理地分离。数据库23可以包括若干个逻辑地分离的分区或若干个物理地分离的数据库,如图1中所示。数据库23位于由提供各种服务的服务器组成的后端服务区域中,并经由外部连接(例如30和31)连接到第一区域10。在进一步的描述中,包括客户端设备的第一区域也被称为客户端区域,包括访问协议代理22和数据库的第二区域20也被称为后端区域。
使用传统的数据库访问应用编程接口,简称数据库调用访问API,比如开放数据库连接ODBC或Java数据库连接协议JDBC,在这样的情况下,其中彼此远离定位并经由外部连接30连接的客户端设备11和数据库23示出以下缺点:
传统数据库访问API(例如ODBC JDBC)的安全功能基于由用户名和密码对组成的安全信息。位于客户端设备11中的ODBC/JDBC驱动程序要求将这样的安全信息存储在客户端的侧。如果攻击者例如通过客户端设备11的攻击获得对这些信息对的访问,则攻击者获得对数据库23的访问。
此外,后端侧20不能对从数据库23到客户端设备11的数据通信实施加密。如果客户端设备11不支持加密,则以灵活的方式在后端侧20上激活和解激活加密也许是不可能的。
为了使用传统的数据库访问API并支持使用更复杂的凭证和密码功能的更强的认证,在第一区域中的客户端设备11上实现访问驱动程序12。在第二区域20中,在第二区域中的服务器的侧上实现安全访问代理22。访问驱动程序12和访问代理22两者是例如JDBC类型3客户端和服务器组件。访问代理22与供应商特定的访问驱动程序24通信,该供应商特定的访问驱动程序24提供对数据库23的访问。访问代理22和供应商特定的访问驱动程序24优选地在一个设备(例如后端服务器26)上实现。数据库23可以包括如示出的若干个数据库组件,或者可以包括仅一个数据库。该数据库也可以是包括来自不同源的数据并被用于报告和数据分析的数据仓库。
为了例如基于使用证书的公共密钥基础设施通过更复杂的认证方法来提供认证,在客户端侧上的访问驱动程序12中实现认证代理13,其与认证服务器21通信,该认证服务器21提供强认证手段、尤其是身份和访问管理功能。认证服务器21可以位于第二区域20中,但是它也可以位于与第一区域10和第二区域20不同的第三区域(例如中央区域)中。认证服务器21被连接到存储库25,在该存储库25中存储了由认证服务器21注册的用户的数据库角色。认证服务器优选地提供身份和访问管理服务,以保护对客户端侧10上的安全JDBC驱动程序12的访问。这些是面向表示和面向服务的web应用,其在认证服务器21中实现复杂的标识和访问管理处理任务,诸如身份管理、初始认证、单点登录的简化(facilitation)以及企业安全基础设施的集成。这样的标识和访问管理(简称IAM)基于最先进的标准(比如openID连接/OAuth或SAML)在市场上是可获得的。在这样的服务中,强验证可以被实现为解决方案的部分,例如基于本地智能卡驱动程序或一次性密码,或者它可以集成外部身份提供者(例如授权服务)。
访问驱动程序12和访问代理22使用例如经由http协议通信的JDBC类型3客户端和服务器组件。如果访问代理22在用户的成功认证后接收到有效凭证(例如,由IAM服务生成的IAM令牌),则访问代理22应仅建立到访问驱动程序12的连接30。如果应用14的用户具有用于访问数据库23的所需的角色,则访问代理22建立到数据库23的本地访问连接,例如JDBC连接,并将查询转发到数据库23。访问代理22使用供应商特定的JDBC驱动程序26,并且不需要其本身实现访问功能。
图2中的流程图示出了用于提供从位于第一区域10中的客户端设备11到位于第一区域之外的第二区域20中的数据库23的安全数据库访问的主要方法步骤。作为第一步骤1,在客户端设备11上实现访问驱动程序12,并且在第二区域中实现访问代理22,在第二区域中访问代理22被连接到数据库23。在所述客户端设备11上实现的应用14的用户想要访问数据库23上的数据,请求访问驱动程序12打开访问连接。在步骤2中,经由位于访问驱动程序12和认证服务器21上的认证代理13来执行应用14的用户的认证。如之前已经提到的那样,认证服务器21提供身份和访问管理任务。
在成功认证的情况下,在步骤3中,来自认证服务器21的凭证被传递到访问驱动程序12。凭证可以是认证令牌或身份令牌或认证对象,例如数字证书或一次性密码。优选地,凭证是密码保护的,例如,它由对称或非对称密码函数的密钥数字签名或散列。如果凭证被访问协议代理22接受,则允许应用14的用户访问数据库,参见步骤4。
凭证可以已经被用于例如通过根据传输层安全协议TLS建立连接来在访问驱动程序12和访问代理22之间建立安全连接30。认证代理13和认证服务器21之间的连接可以由REST应用协议接口(例如使用http连接)建立。
图3示出了在第一区域10中的访问驱动程序12中的认证代理13与位于第二区域20中的认证服务器21之间执行的认证步骤2。在实现期间,应用14在认证服务器21处注册,以便使得认证服务器21能够为应用14提供IAM服务。
认证代理13需要被配置成例如通过注册读卡器操作系统以输入应用的用户的标识信息来输入安全数据。应用14的用户以及因此数据库23的用户也可以是人或技术设备。该动作在图3中由标有参考标记100的箭头描绘。在后端侧20上,在认证服务器21和访问代理22之间同步(例如,周期性地同步)用户帐户、组分配和分配给用户的角色,参见参考标记110。用户帐户、组分配和访问数据库23的每个用户的角色可以被管理并且存储在存储库25中,并被提供给认证服务器21。这样的IAM存储库25可以被实现为LDAP服务器,或者它也可以是不同结构的数据库。
在所描绘的示例中,假设用户通过存储在智能卡上并由密码或个人标识码PIN保护的凭证(例如数字用户证书UCert)来标识其本身。在从应用14发送到访问协议驱动程序12的访问请求上,用户被请求输入密码以提供对存储在智能卡中的用户证书的访问。使用由智能卡和认证服务器21提供的信息在认证代理13之间执行握手。这在图3中由箭头120指示。随后,包括用户证书UCert的登录请求从认证代理13被发送到认证服务器21,认证服务器21响应发送用于建立用于数据库访问的安全连接的会话标识符S_ID。另外,授权请求从认证代理13被发送到认证服务器21。认证服务器21通过向认证代理发送凭证Cred和用户的角色来进行响应,认证代理将它们向前传递到应用协议驱动程序12。访问驱动程序12通过关于JDBC/ODBC连接的建立的响应消息(参见图3中的访问响应)来通知应用14。
图4图示了如图3中描述的已经建立连接之后,由应用14对数据库23的数据库访问。应用14请求执行对访问驱动程序12的数据库查询。访问驱动程序12在http请求中将SQL查询和凭证Cred发送到访问代理22。访问代理22检查凭证Cred的有效性和所指示的用户的角色。可选地,通过将发送的消息存储在日志记录单元27中来日志记录访问请求。根据用户的访问权限和角色,执行SQL查询的请求从访问代理21被发送到数据库23。查询的结果(例如,检索到的数据)从数据库23被传递到访问代理22。数据可以可选地被序列化和压缩,参考210,并且被转发到第一区域10中的客户端设备14上的访问驱动程序12。在这里,数据被解压缩并反序列化,参见220,并作为查询结果转发到应用14。
所描述的方法和系统通过对人或技术用户的强认证来提供对数据库或数据仓库的高度保护。不需要在客户端侧上存储数据库安全凭证。此外,通过在访问驱动程序12和访问代理21之间建立安全连接,例如通过通信30的加密,来保护在第二区域20和第一区域10之间传输的数据。在数据库23不支持加密的通信的情况下,未加密的通信仅在供应商特定的驱动程序26和连接28上的数据库23之间的第二区域20中本地进行。利用该解决方案,使用比如JDBC/ODBC的传统数据库访问API的传统应用不需要任何编程更改,因为客户端侧上仅需要访问驱动程序12。访问驱动程序12只是替换了由应用先前使用的供应商特定的JDBC驱动程序。访问代理22通过日志记录数据库请求而不依赖于数据库的日志记录功能来提供更好的监视。
本发明不限于所描述的示例。本发明还包括描述或描绘的特征中的任何描述或描绘的特征的所有组合。
Claims (13)
1.用于提供从位于第一区域(10)中的客户端设备(11)上实现的应用程序(14)到位于第一区域(10)之外的第二区域(20)中的数据库(23)的安全数据库访问的方法,其将开放数据库连接ODBC或JAVA数据库连接JDBC应用编程接口应用作为传统的数据库访问应用编程接口,其中
-在第一区域(10)中的客户端设备(11)上实现(1)数据库访问驱动程序(12),并在第二区域(20)中实现数据库访问代理(22),所述数据库访问代理(22)被连接到数据库(23),
-经由位于数据库访问驱动程序(12)上的认证代理(13)和位于第二区域(20)中或除第一或第二区域之外的第三区域中的认证服务器(21)执行(2)应用程序(14)的用户的认证,
-在成功认证的情况下,从认证服务器(21)向数据库访问驱动程序(12)传递(3)凭证和用于访问数据库的用户的角色,
-将凭证和用户的角色从数据库访问驱动程序(12)发送到数据库访问代理(22),
以及
-如果凭证和用户的角色被数据库访问代理(22)接受,则使能(4)对应用程序(14)的用户的数据库访问,其中认证服务器和访问代理同步用户的角色以便周期性地访问数据库。
2.根据前述权利要求所述的方法,其中,凭证是密码保护的凭证。
3.根据权利要求1或2所述的方法,其中,数据库访问应用编程接口消息经由数据库访问驱动程序(12)与数据库访问代理(22)之间的安全连接(30)来传输。
4.根据权利要求1或2所述的方法,其中,数据库访问协议接口由数据库访问代理中的至少一个供应商特定的驱动程序(24)执行。
5.根据权利要求1或2所述的方法,其中,在数据库访问代理(22)上检查请求访问数据库(23)的应用程序(14)的用户的访问权限。
6.根据权利要求1或2所述的方法,其中,存储在数据库访问代理(22)中的应用程序(14)的用户的访问权限由认证服务器(21)更新。
7.根据权利要求1或2所述的方法,其中,请求访问数据库(23)的应用程序(14)的用户的访问权限在认证服务器(21)上管理。
8.根据权利要求1或2所述的方法,其中,在将应用程序(14)部署在客户端设备(11)上期间,在认证服务器(21)处注册应用程序(14)。
9.根据权利要求1或2所述的方法,其中,由数据库访问代理(22)执行的操作由日志记录单元(27)来日志记录。
10.根据权利要求1或2所述的方法,其中,在数据库访问代理(22)和数据库(23)之间的安全的第二连接(28)上传输数据。
11.提供从在第一区域(10)中的客户端设备(11)上实现的应用程序(14)到位于与第一区域(10)不同的第二区域(20)中的数据库(23)的安全数据库访问的系统,其将开放数据库连接ODBC或JAVA数据库连接JDBC应用编程接口应用作为传统的数据库访问应用编程接口,包括:
-数据库访问驱动程序(12),其包括认证代理(13),数据库访问驱动程序(12)在第一区域(10)中的客户端设备(11)上实现,
-被连接到数据库(23)并位于第二区域(20)中的数据库访问代理(22),
其中,数据库访问驱动程序(12)和数据库访问代理(22)被实现用于
-经由位于数据库访问驱动程序(12)上的认证代理(13)和位于第二区域(20)中或除第一或第二区域之外的第三区域中的认证服务器(21)执行应用程序(14)的用户的认证,
-在成功认证的情况下,从认证服务器(21)向数据库访问驱动程序(12)传递凭证和用于访问数据库的用户的角色,
-将凭证和用户的角色从数据库访问驱动程序(12)发送到数据库访问代理(22)
以及
-如果凭证和用户的角色被数据库访问代理(22)接受,则使能对应用程序(14)的用户的数据库访问,其中认证服务器和访问代理同步用户的角色以便周期性地访问数据库。
12.根据权利要求11所述的系统,其中,实现数据库访问驱动程序(12)和数据库访问代理(22)以执行根据权利要求1-10所述的方法。
13.一种具有存储于其上的指令的计算机可读介质,当所述指令被执行时使得计算设备执行根据权利要求1-10中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17170463.8 | 2017-05-10 | ||
EP17170463.8A EP3401820B1 (en) | 2017-05-10 | 2017-05-10 | Apparatus and method for providing a secure database access |
PCT/EP2018/059123 WO2018206210A1 (en) | 2017-05-10 | 2018-04-10 | Apparatus and method for providing a secure database access |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110582768A CN110582768A (zh) | 2019-12-17 |
CN110582768B true CN110582768B (zh) | 2020-11-10 |
Family
ID=58709255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880030593.2A Active CN110582768B (zh) | 2017-05-10 | 2018-04-10 | 用于提供安全数据库访问的装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10872165B2 (zh) |
EP (2) | EP3401820B1 (zh) |
CN (1) | CN110582768B (zh) |
BR (1) | BR112019022845B1 (zh) |
WO (1) | WO2018206210A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824751B1 (en) * | 2018-04-25 | 2020-11-03 | Bank Of America Corporation | Zoned data storage and control security system |
CN111786995B (zh) * | 2020-06-30 | 2022-09-23 | 中国联合网络通信集团有限公司 | 账号密码管理方法、管理中间件、系统、设备及存储介质 |
CN112163234B (zh) * | 2020-09-21 | 2024-02-20 | 北京中软华泰信息技术有限责任公司 | 一种基于业务系统数据库的sql权限控制方法 |
CN112364087A (zh) * | 2020-11-26 | 2021-02-12 | 亚信科技(中国)有限公司 | Arm平台的c/c++应用程序访问数据库的方法及系统 |
CN112953711B (zh) * | 2021-01-28 | 2022-12-02 | 杉德银卡通信息服务有限公司 | 数据库安全连接系统及方法 |
CN112948302B (zh) * | 2021-03-02 | 2022-11-08 | 广州海量数据库技术有限公司 | 一种基于本地接口来访问外部数据库的方法及系统 |
US11902284B2 (en) * | 2021-03-05 | 2024-02-13 | Sap Se | Tenant user management in cloud database operation |
CN113206844B (zh) * | 2021-04-28 | 2022-06-07 | 北京链道科技有限公司 | 防止数据泄露的数据共享方法 |
CN113569283A (zh) * | 2021-07-23 | 2021-10-29 | 国网江苏省电力有限公司 | 一种基于jdbc的动态实例代理的方法 |
CN114024751B (zh) * | 2021-11-05 | 2023-05-23 | 抖音视界有限公司 | 一种应用访问控制方法、装置、计算机设备及存储介质 |
CN114143066A (zh) * | 2021-11-26 | 2022-03-04 | 国网四川省电力公司南充供电公司 | 一种基于代理隔离装置的内外网对接系统及方法 |
CN113886481B (zh) * | 2021-12-06 | 2022-03-04 | 北京宇信科技集团股份有限公司 | 一种数据库访问方法和系统 |
CN114844714A (zh) * | 2022-05-24 | 2022-08-02 | 中国民生银行股份有限公司 | 用户身份认证的方法和基于ldap协议的代理服务端 |
CN116455603A (zh) * | 2023-03-13 | 2023-07-18 | 安庆吕阁妮网络科技有限公司 | 一种基于隔离加密的数据库访问方法及系统 |
CN117435661A (zh) * | 2023-12-21 | 2024-01-23 | 深圳竹云科技股份有限公司 | 数据库连接配置方法、装置、计算机设备和存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010045451A1 (en) * | 2000-02-28 | 2001-11-29 | Tan Warren Yung-Hang | Method and system for token-based authentication |
US7426515B2 (en) * | 2002-01-15 | 2008-09-16 | International Business Machines Corporation | Edge deployed database proxy driver |
DE10320711A1 (de) * | 2003-05-08 | 2004-12-16 | Siemens Ag | Verfahren und Anordnung zur Einrichtung und Aktualisierung einer Benutzeroberfläche zum Zugriff auf Informationsseiten in einem Datennetz |
GB2418757B (en) * | 2003-07-07 | 2006-11-08 | Progress Software Corp | Multi-platform single sign-on database driver |
DE10337295A1 (de) * | 2003-08-13 | 2005-03-10 | Siemens Ag | Kommunikationsserververbund für Rechnernetze |
CN101895513A (zh) * | 2009-05-20 | 2010-11-24 | 广州盛华信息技术有限公司 | 服务网站登录认证系统及实现方法 |
US8826247B2 (en) * | 2011-07-15 | 2014-09-02 | International Business Machines Corporation | Enabling computational process as a dynamic data source for BI reporting systems |
US8819090B2 (en) * | 2012-04-23 | 2014-08-26 | Citrix Systems, Inc. | Trusted file indirection |
DE102012206859A1 (de) * | 2012-04-25 | 2013-10-31 | Siemens Ag | Verfahren zum Erzeugen von Handlungsempfehlungen für den Führer eines Schienenfahrzeugs oder Steuersignalen für das Schienenfahrzeug mittels eines Fahrerassistenzsystems und Fahrassistenzsystem |
CN102739654B (zh) | 2012-06-08 | 2015-03-18 | 北京久其软件股份有限公司 | 一种实现应用程序访问数据库的方法 |
US9628493B2 (en) * | 2012-07-03 | 2017-04-18 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for managing permission sets and validating user assignments |
US10049205B2 (en) * | 2014-06-25 | 2018-08-14 | Oracle International Corporation | Asserting identities of application users in a database system based on delegated trust |
CN104301316A (zh) | 2014-10-13 | 2015-01-21 | 中国电子科技集团公司第二十八研究所 | 一种单点登录系统及其实现方法 |
US10237350B2 (en) * | 2016-04-06 | 2019-03-19 | Reniac, Inc. | System and method for a database proxy |
CN106295377B (zh) * | 2016-08-24 | 2019-02-19 | 成都万联传感网络技术有限公司 | 一种医疗养老数据安全交换代理装置的构建方法 |
-
2017
- 2017-05-10 EP EP17170463.8A patent/EP3401820B1/en active Active
-
2018
- 2018-04-10 US US16/609,057 patent/US10872165B2/en active Active
- 2018-04-10 EP EP18720120.7A patent/EP3602364A1/en not_active Withdrawn
- 2018-04-10 WO PCT/EP2018/059123 patent/WO2018206210A1/en unknown
- 2018-04-10 BR BR112019022845-4A patent/BR112019022845B1/pt active IP Right Grant
- 2018-04-10 CN CN201880030593.2A patent/CN110582768B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US10872165B2 (en) | 2020-12-22 |
EP3401820B1 (en) | 2019-12-18 |
BR112019022845B1 (pt) | 2021-09-08 |
WO2018206210A1 (en) | 2018-11-15 |
EP3401820A1 (en) | 2018-11-14 |
EP3602364A1 (en) | 2020-02-05 |
US20200202031A1 (en) | 2020-06-25 |
BR112019022845A2 (pt) | 2020-05-26 |
CN110582768A (zh) | 2019-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110582768B (zh) | 用于提供安全数据库访问的装置和方法 | |
CN107534652B (zh) | 对基于云的服务的安全访问方法、系统和计算机可读介质 | |
US9686080B2 (en) | System and method to provide secure credential | |
US9917829B1 (en) | Method and apparatus for providing a conditional single sign on | |
JP5635978B2 (ja) | 人間が介入しないアプリケーションのための認証されたデータベース接続 | |
US10541991B2 (en) | Method for OAuth service through blockchain network, and terminal and server using the same | |
US9038138B2 (en) | Device token protocol for authorization and persistent authentication shared across applications | |
US11469894B2 (en) | Computing system and methods providing session access based upon authentication token with different authentication credentials | |
CN113316783A (zh) | 使用活动目录和一次性口令令牌组合的双因素身份认证 | |
WO2018145605A1 (zh) | 鉴权方法及服务器、访问控制装置 | |
EP2544117A1 (en) | Method and system for sharing or storing personal data without loss of privacy | |
US10375084B2 (en) | Methods and apparatuses for improved network communication using a message integrity secure token | |
US11483159B2 (en) | Terminal registration system and terminal registration method | |
US11663318B2 (en) | Decentralized password vault | |
GB2582578A (en) | Apparatus and methods for secure access to remote content | |
EP3285456B1 (en) | Information processing apparatus, non-transitory computer-readable storage medium, information processing method, and information processing system | |
US10791119B1 (en) | Methods for temporal password injection and devices thereof | |
CN106576050B (zh) | 三层安全和计算架构 | |
KR101619928B1 (ko) | 이동단말기의 원격제어시스템 | |
Binu et al. | A mobile based remote user authentication scheme without verifier table for cloud based services | |
US11481759B2 (en) | Method and system for implementing a virtual smart card service | |
Díaz García et al. | Multiprotocol Authentication Device for HPC and Cloud Environments Based on Elliptic Curve Cryptography | |
CN116668034A (zh) | 数据服务对象的连接系统、方法、电子设备及存储介质 | |
Jeannot | Kerberos V5 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |