收藏 分销(赏)

以托管模式实现应用程序与数据库服务的安全连接.pdf

上传人:自信****多点 文档编号:752942 上传时间:2024-03-04 格式:PDF 页数:3 大小:752.27KB
下载 相关 举报
以托管模式实现应用程序与数据库服务的安全连接.pdf_第1页
第1页 / 共3页
以托管模式实现应用程序与数据库服务的安全连接.pdf_第2页
第2页 / 共3页
以托管模式实现应用程序与数据库服务的安全连接.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、2023 年 6 月以托管模式实现应用程序与数据库服务的安全连接许俊禹袁丁开生(中国电信股份有限公司广东分公司,广东 广州 510081)【摘要】对应用程序连接数据库的技术和风险做了简要分析袁在此基础上通过剖析远程用户拨号认证服务渊remote authentication dial in user service,RADIUS冤袁借鉴其野管理控制与业务接入分离冶 野管理控制集中尧业务接入分散冶的理念袁提出以托管模式实现应用程序与数据库服务安全连接的解决方案遥【关键词】数据库连接曰账号密码安全曰托管模式曰设备指纹【中图分类号】TP309【文献标识码】A【文章编号】1006-4222(2023)

2、06-0061-031 背景及挑战目前,信息安全形势越来越严峻,法律监管要求越来越严格,特别是随着 数据安全法 的颁布实施,数据安全日益受到高度重视。数据安全涵盖数据产生、采集、存储、传输、处理、销毁等整个生命周期,其中确保安全访问数据库是数据存储安全的关键。访问数据库的前提是必须有能够连接上数据库的账号、密码。账号是由数据库管理员分配给需要连接数据库的用户作为身份标识号码(identity document,ID)的明文字符串,密码也是一串明文字。如果账号是自然人使用,如信息技术(information technology,IT)人员日常运营中需要直接访问数据库进行后台数据库操作时,账号和

3、密码通常由账号责任人负责管理,这是因为密码变更和记忆一般是靠个人默记在脑子里面,管理相对简单。然而,如果是应用程序作为客户端访问数据库的场景,特别是在拥有几十上百套各类数据库管理系统的 IT 环境下,数据库账号密码的管理就复杂得多,其主要挑战和风险表现在以下 4 点。(1)应用程序各自保存应用所需的数据库账号和密码。风险:虽然 IT 内控要求不能明文存放账号密码,但实际生产中缺乏技术手段确保要求刚性落地,只通过宣贯、检查的软办法,很难杜绝密码明文存放造成的安全隐患。(2)IT 内控要求启用数据库密码策略,对密码强度和密码失效期等有强制要求,如密码 90 d 强制更新。风险:应用程序用的数据库账

4、号密码过期将导致应用出错,需要专人定期修改密码,并通过工具将密码明文加密为密文。一旦人工介入就会增加风险,包括但不局限于密码泄密、密码遗忘、操作失误、操作遗漏等。(3)账号密码明文加密处理方式、数据库连接技术缺乏统一规范。风险:各个开发团队对账号密码的非明文处理方式和水平各不相同,而且如何选择数据库连接技术(如 Druid、DBCP、C3P0、Tomcat谣jdbc)也取决于团队的习惯,因此,规范性的缺失导致整体维护成本增加、维护效率降低。(4)负责库管理数据的团队无法掌握哪些是程序用账号,哪些是维护人员使用的账号。风险:无法对程序用账号和维护人员个人用账号密码采取有针对性的策略,无法对账号密

5、码进行应用系统级别的识别和认证,无法识别哪些账号是哪些应用系统在使用。2 问题的根源及解决思路远程用户拨号认证服务(remote authenticationdial in user service,RADIUS)是应用最广泛的 AAA协议。其为一种服务器-客户机结构的协议,其客户端最初就是网络接入服务器(network access server,NAS),任何运行 RADIUS 客户端软件的计算机都可以成为 RADIUS 的客户端。NAS 作为 RADIUS 客户端,向远程接入用户提供接入及与 RADIUS 服务器交互的服务。RADIUS 服务器上则存储用户的身份信息、授权信息以及访问记录

6、,对用户进行认证、授权和计费服务。用户向 RADIUS 客户端提交用户名和口令,RADIUS 客户端不做认证,而是将认证提交给 RADIUS 服务器,RADIUS 服务器认证通过后,RADIUS 客户端负责用户接入1。图 1 为 RADIUS 协网络安全612023 年 6 月议网元,图 2 为 RADIUS 协议消息交互。RADIUS 协议的精髓是“管理控制与业务接入分离”“管理控制集中、业务接入分散”2。数据库管理系统(database management system,DBMS)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。其对数据库进行统一的管理和控制,以保证数据库的

7、安全性和完整性。用户通过 DBMS 访问数据库中的数据,数据库管理员也通过 DBMS 维护数据库。DBMS 提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立、修改和询问数据库。DBMS 使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库3。就单个 DBMS 而言,其账号认证和安全连接的机制和技术是完整、有效的,但是当面对拥有几十上百套甚至更多各类 DBMS 的大中型企业 IT 环境时,问题就变得复杂起来。因此,需要将同一个 IT 环境下的所有 DBMS 化为一个整体。本文可将 RADIUS协议“管理控制与业务接入分离”“管理控制

8、集中、业务接入分散”的理念,作为破题的思路4。3 解决方案3.1 完全参照 RADIUS 协议增设一个类似 RADIUS 服务器的网元,存储数据库的账号、密码,负责认证。原 DBMS 负责的认证功能让渡出来,保留权限管理、数据库连接等其他功能,发挥类似 RADIUS 客户端的作用。该方案需要DBMS 厂家的支持,涉及面较广,少数几个单位参与难以有所作为,因此,该方案仅作为一个倡议,希望能够逐步得到业界认可5。完全参照 RADUS 协议如图 3所示。3.2 账号密码托管模式保持 DBMS 独立性,无须做任何改动或配合。保持数据库客户端(应用程序)与 DBMS 的认证和连接方式不变,但数据库客户端

9、不再需要保存数据库账号和密码,也无须人为介入和接触,因此,能够很好地规避前文所述的各种安全风险。该方案的核心是新建企业级托管中心,企业各 DBMS 除了数据库管理员账号(root、sys 等)外,所有其他用户级的账号及其密码都在托管中心集中存放和统一管理。数据库客户端(应用程序)用其设备指纹(device fingerprinting,DF)从托管中心请求连接目标 DBMS 所需的配置信息,如账号、密码、网际互联协议(internet protocol,IP)、端口、SERVICE_NAME 或系统标识符(systemidentifier,SID)等。这些信息以往保存在客户端本地,现在集中放在

10、托管中心,在需要连接数据库时,实时向托管中心发起请求。托管中心以密文形式传输这些信息,客户端(应用程序)获得密文后直接在内存解密为明文,客户端(应用程序)直接用内存中的信息与数据库服务端认证和连接,无须在客户端(应用程序)的本地磁盘做持久化。账号密码托管模式如图 4所示。该方案有以下 4 个关键点。(1)以 DF 代替账号、密码,甚至目标 DBMS 的IP、端口等信息,这些信息通常要在客户端(应用程序)本地维护,也是前文所述风险的根源。DF 信息包含应用程序 ID 及其所在运行环境信息的混合体,通过环境依赖确保身份无法冒用。对上述混合体信息图 1 RADIUS 协议网元图 2 RADIUS 协

11、议消息交互图 3 完全参照 RADIUS 协议网络安全个人计算机RADIUS 客户端RADIUS 客户端远程接入用户综合业务数字网/公共交换电话网络等NAS(客户端)互联网AAA 服务器(RADIUS)622023 年 6 月做哈希变换,并对哈希值进行对称加密后作为 DF 的值,有助于保障高效交互和传输安全。还可以通过非对称加密技术对哈希值进行签名,进一步提高安全级别6。(2)在托管中心存放和管理账号、密码,例如,密码的定期变更、强度要求等不再依赖人脑记忆,而是由托管中心根据规则自动实现。统一维护DBMS 信息(如 IP、端口、连接符)的好处也非常明显,例如,DBMS 环境发生变化时,只需在托

12、管中心一点配置,无须费时耗力通知所有相关方,以及对涉及的客户端(应用程序)做配置调整,做到了DBMS 服务侧的变化对客户端(应用程序)透明化、无感知7。(3)为客户端(应用程序)提供一个插件(如 JAR包)。在应用程序建立数据库连接时,调用插件动态生成 DF,并向托管中心提交 DF 请求认证,托管中心与其注册备案的 DF 匹配校验通过后,反馈连接目标DBMS 所需的配置信息8。(4)客户端(应用程序)需要事前通过托管中心提供的工具采集 DF,并经过审核完成注册备案,每次连接时,动态生成 DF 的算法与备案 DF 生成的算法相同。插件还可以进一步统一封装主流数据库连接池数字电影包(digital

13、 cinema package,DCP),从而在技术手段上确保企业内部数据库连接技术使用规范刚性落地,避免各个开发团队各自为政9。企业级账号密码托管中心如图 5 所示。图 4 账号密码托管模式图 5 企业级账号密码托管中心4 结语“托管”理念不仅适用于数据库安全连接的场景,也适用于服务器操作系统(operating system,OS)的安全登录。客户端用 TELNET、FTP 等命令与服务器进行交互,需要用到主机的账号、密码。根据 IT 内控,密码也需要定期变更,这种情况与数据库安全连接的场景类似。因此,也可以通过托管主机账号、密码的方式解决问题,也就是说企业级托管中心不仅可以服务数据库,也

14、可以服务主机 OS,和其他平台即服务(platform as a service,PaaS)组件的安全连接。参考文献1 戴云,范平志.实现安全数据库的一种方法:数据库安全通信服务J.计算机工程与应用,2001(22):104-106.2 孙彦巧.基于云计算的服务托管与交付系统的研究与实现D.北京:北京邮电大学,2016.3 陈麟,林宏刚,胡勇.采用电子钥匙和密钥托管技术实现的私钥管理方案J.计算机工程与应用,2009,45(13):93-95.4 王艳.基于 DES谣RSA 的混合加密技术在数据库中的研究与应用D.武汉:武汉理工大学,2013.5 常万里.基于 NoSQL 数据库的云缓存服务构

15、建技术的研究和实现D.成都:电子科技大学,2019.6 惠冬雨.NoSQL 数据库安全加密存储的研究与设计D.西安:西安电子科技大学,2018.7 张志忠.数据库存储系统中消息中间件的设计与实现D.大连:大连理工大学,2013.8 刘明坤.基于密态数据库操作的秘密同态算法研究:密态数据库安全中间件的核心技术D.贵阳:贵州大学,2006.9 张立娜.基于 ASP.NET 的教育教学管理平台的设计和实现D.长春:吉林大学,2009.作者简介院许俊禹(1971),男,汉族,广东广州人,硕士研究生,高级工程师,主要从事企业信息化规划、开发、运营等工作。丁开生(1970),男,汉族,广东广州人,本科,高级工程师,主要从事企业信息化规划、开发、运营等工作。网络安全63

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服