新型煤矿安全监控系统数据库密钥管理方法.pdf
第 4 1 卷 第 8期 2 O 1 5年 8月 工矿 自 动 化 I n dus t r y a nd M i ne Au t oma t i on Vo 1 . 4 1 NO . 8 Au g . 2 01 5 ’ ’’ ⋯ ’。 ’⋯ ’ i经验交流 .1 ... .⋯◆ 文章编 号 1 6 7 1 2 5 1 X 2 0 1 5 0 8 0 0 9 3 0 3 DO I 1 0 . 1 3 2 7 2 / j . i s s n . 1 6 7 1 2 5 1 X . 2 0 1 5 . 0 8 . 0 2 3 丁瑞琦 , 张卫 国. 新型煤矿安全监控系统数据库密钥管理方法E J ] . 工矿 自动化 , 2 0 1 5 , 4 1 8 9 3 9 5 . 新型煤矿安全监控系统数据库密钥管理方法 丁瑞 琦 。 , 张 卫 国 1 . 中煤科工集团常州研究院有 限公 司,江苏 常州 2 1 3 0 1 5 ; 2 . 天地 常 州 自动化 股份 有 限公 司 ,江苏 常州 2 1 3 0 1 5 摘要 分析 了现 有数 据库 密钥 管理 方 法的优缺 点 , 在 动 态 口令 方式 基础 上 , 提 出 了一 种基 于双 重 动 态 口 令 的煤矿 安全 监控 系统 数据 库 密钥 管理方 法 , 介 绍 了该方 法 的原理 、 实现 以及 采 用的 关键技 术 。该 方 法通过 增加数据库身份验证代理软件 以及运用动态 口令生成算法, 提 高了数据库的安全性以及 可操作性 。 关键 词 煤矿安 全 监控 系统 ;数据 库 ;密钥 管理 ;动 态 口令 中图分类 号 TD 7 6 文 献标 志码 A 网络 出版时 间 2 0 1 5 0 7 3 1 1 5 4 0 网络 出版 地址 h t t p / / w ww. c n k i . n e t / k c ms / d e t a i l / 3 2 . 1 6 2 7 . TP . 2 0 1 5 0 7 3 1 . 1 5 4 0 . 0 2 3 . h t m1 No v e l d a t a b a s e ke y t ma na g e me n t me t ho d f o r c o a l mi ne s a f e t y mo ni t o r i n g a nd c o nt r o l s ys t e m DI NG Ru i q i 一. ZH ANG W e i gu o 1 . CCTEG Ch a n g z h o u Re s e a r c h I n s t i t u t e ,Ch a n g z h o u 2 1 3 0 1 5 ,Ch i n a ;2. Ti a n d i Ch a n g z h o u Au t o m a t i on Co. ,Lt d. ,Cha n gz ho u 21 3 01 5,Chi n a Ab s t r a c t Ad va nt a ge s a nd d i s a dv a n t a g e s o f e x i s t i ng d a t a ke y t ma na ge m e nt m e t ho ds we r e a n a l y z e d.A da t a b a s e ke yt m a n a ge me nt me t h o d f o r c o a l mi ne s a f e t y m o ni t or i n g a n d c on t r ol s ys t e m wa s pr o p os e d whi c h wa s b a s e d o n d o ub l e dy na m i c pa s s wo r d,a nd p r i nc i pl e,r e a l i z a t i o n a n d ke y t e c h no l o gi e s o f t he me t ho d we r e i nt r odu c e d.The me t ho d i mpr o v e s s e c ur i t y a nd o pe r a bi l i t y o f da t a ba s e t h r o ug h i d e nt i t y a u t h e nt i c a t i on a g e n t s o f t wa r e a n d d y n a mi c p a s s wo r d g e n e r a t i o n a l g o r i t h m . Ke y wo r d s c o a l m i ne s a f e t y mo ni t o r i ng a nd c o nt r o l s y s t e m ; d a t a ba s e; ke yt m a n a g e me n t; d y na m i c pa s s wor d 0 引言 目前 国家对 煤炭 安全 生产 的关 注和投 入越 来越 大 , 在 该形 势下 , 某些 煤矿 的安 全生 产人员 为 了规避 某 些 报警异 常数 据 , 比如 冒大数 或 因标 校 等 操作 造 成 的数据异 动 , 往往 向安 全 监 控 系统 生 产 厂 商 索要 软件数据库密码, 以达到篡改监测数据的 目的。该 行 为 不利 于煤矿 安全 生产 , 因此 , 笔 者在前 人研 究成 果基 础上 , 提 出一 种新 型 的适 应 煤 矿安 全 生 产 环 境 的数据库密钥管理方法 。 1现有 的数 据库 密钥 管理 方式 目前市 场 上 涉及 数 据 库业 务 的软 件 , 其 数 据 库 密钥 管 理方式 主要 有 以下 3种 。 1 配置文件方式。该方式将数据库连接字符 串 包括用户账户和密码 写在一个二进制文件或其 收稿 日期 2 0 1 5 0 5 2 6 ; 修 回日期 2 0 1 5 0 6 - 1 8 ; 责任编辑 李明 。 基金项 目 江苏省科技成果转化专项资助项 目 2 0 1 4 z x O 0 1 。 作者简介 丁瑞琦 1 9 8 1 一 , 男 , 江苏常州人 , 硕 士, 现主要从事煤矿监测类软件的设计与研 发工作 , E ma i l 4 3 1 8 1 7 5 8 q q . c o rn。 9 4 工矿 自动化 2 0 1 5年 第 4 1卷 他 格式 的配 置文 件 中, 程 序 运行 过 程 中读 取该 文件 的数据库连接信息。该方式存在极大的安全 隐患 非 授权 的数 据库 用户 可通 过一 些文本 编辑 工具 打 开 并 阅读 该文 件 , 从 而获 得数 据库 的账户 和 密码 , 并 以 此 连接 目标 数据 库和 篡改监 控数 据 。 2 程序方 式 。该方 式将 数据 库 连 接字 符 串写 在 程序 中, 用户 运行 该 程 序 时 自动 连接 字 符 串。采 用 该方 式 时 , 除 非反 编译程 序 , 否则用 户无 法知 晓数 据库连接信息, 但这样会导致账户和 口令无法修改 , 不 利 于管理 和系统 融合 。 3 动态 口令方 式 。该方 式采 用 一定 的算 法 计 算 出一个动态 口令 , 并通过该 口令定时修改数据库 的真实 密码 , 很 大程度 上解决 了数据库 安全 性 问题 。 但该方法不适合数据读写频率较 高的软件 , 原 因是 一 些 特殊 行业 对数 据 库 的读 写很 频 繁 , 比如 煤 矿 安 全监 控 系统对 井下 采集 数据 的完 整性 和双机 热备 数 据的一致性要求很高 , 井下数据发生变动时需要存 人数据库 , 存储频率高达每秒 1次或多次 , 而动态口 令 方式 动态 修改数 据库 密码 时有 可能 造成 系统访 问 失败 , 进而影响系统性能_ 】 ; 如果降低动态口令修改 密码 的频 率 , 则系统 安全 性得 不 到保 障 。另外 , 由于 煤矿安全生产的特殊性 , 数据库需要人工进行备份 和还 原 , 高频 变化 的 动 态 口令 不 利 于 数据 库 管 理 员 对数 据库 进行 直接 操作 ] 。 2新型数 据 库密钥 管 理方法 比较 现 有 的 3种 数 据 库 密钥 管 理方 式 后 发 现 , 动态 口令 方式 较配 置 文 件 方 式 和程 序 方 式 优 化 , 因 此选 择在 动态 口令 方 式 基 础上 进 行 改 进 , 采 用 双 重 动态 口令方式对数据库密钥进行管理。 2 . 1 设 计原 理 采用 双 重 动 态 口令 访 问数 据 库 , 其 实是 通 过 采 用统 一动 态 口令算 法 的密钥 管理 软件 与原有 业务 软 件联合运行来达到管理业务 系统数据库的方法 , 其 基本原理是密钥管理软件对所有客户端的数据库访 问请求进行动态 口令验证身份 , 若验证成功则返 回 给客户端以真实的数据库密钥 , 同时定期修改数据 库真实密钥 , 以提高系统安全性[ 3 ] 。 基 于双重 动态 口令 的数据 库密 钥 管理方 法通 过 增加数据库身份验证代理软件 , 降低了修改数据库 密钥的频率 , 保证了系统的高效性 , 同时兼顾了常规 动态 口令 的可 靠性 , 使 系统 数 据 库 无 法被 未 授 权 的 用户访 问及修 改 , 又不影 响 系统业务 的读 写效 率 。 2 . 2 方法 实现 基于双重动态 口令的数据库密钥管理方法的数 据流 程如 图 1 所 示 。 客户端程序 发送身份验证 动态口令 数据库身份 证代理软 I 数据库 l 图 1 新型数据库密钥管理方法 的数据流程 客户端程序首先通过动态 口令算法计算出当前 动态 口令 , 并将该 口令作为验证依据 , 通过网络传递 给数据库身份验证代理软件。数据库身份验证代理 软件 收到该 动态 口令 后 , 通 过相 同 的动 态 口令 算 法 在 本地 计算 出一 个 新 的 动态 口令 , 并 将 该 口令 与 客 户 端程 序发 送来 的 动 态 口令 进 行 比较 , 如 果 口令 一 致 , 说 明客 户端程 序 可信 , 则将 当前 系统 数据库 的真 实密钥 返 回给客 户端 程序 [ 4 ] 。客 户端 程序 收到 真 实 密钥后 , 连 接数 据库进 行数 据读 写 。 数据库身份验证代理软件定时通过动态 口令算 法计算出密钥后 , 修 改数据库 当前密钥 。该时间间 隔一般较长 , 主要 防止高频率修 改数据库密钥而导 致客户端程序出现访问失败情况以及影响系统数据 存 储 的实 时性 。另 外 , 数 据 库 身 份验 证 代 理 软 件 可 根 据时 间计算 出当 前 和前 一 时 间 的动 态 口令 , 目的 是修正网络传输导致的时间误差。数据库身份验证 代理软件计算动态 口令 时, 需要将 当前动态 口令的 计 算参 数加 密后 导 出文件 , 防止 系统 意外 关 闭后 , 再 次启动无法得知上次计算 的密钥 , 进而无法访问数 据 库 。 数据库身份验证代理软件验证密钥算法流程如 图 2所示 。 图 2 数据库 身份验 证代 理软件验证密钥算 法流程 2 0 1 5年 第 8期 丁瑞 琦等 新 型 煤矿安 全监 控 系统数 据库 密钥 管理 方 法 9 5 客 户端 程序 连接数 据库 算法 流程 如 图 3所示 。 I 生 成 动 态 口 令l 周 用数据库身份验证 代理软件接口 根据返 回的密钥 访 问数据库 图 3 客 户 端 程 序 连 接 数 据 厍 算 法 流 程 3动态 口令 生成算 法 新型数据库密钥管理方法的关键是根据输入固 定条 件和 动态 条件 而 输 出恒 定 的密 码 口令 , 作 为 客 户端 和数 据库 进行 匹 配 验证 的依 据 , 由动 态 口令 生 成算法来实现 。该算法包括客户端公开密钥文件算 法和 动态 口令 算法 2个部 分_ 5 ] 。 客 户 端 公 开 密 钥 文 件 算 法 中 , 项 目信 息 最 多 3 2个汉 字描 述信 息 和实施 单 位信 息 最 多 3 2个 汉 字描述信息 按照先后顺序拼接后 , 采用 D E S Da t a E n c r y p t i o n S t a n d a r d , 数据 加密标 准 算 法进行 加 密。例如 , 项 目信息 为“ K J 9 5 N煤矿监控 系统” , 实 施单位信息 为“ 山东 北皂煤矿” , 拼接后 即“ KJ 9 5 N 煤矿监 控系统 山东北 皂煤 矿” 。将该 字符 串采 用 D E S 算 法 加 密 后 ,生 成 的 加 密 后 字 符 串 为 “ QFwMUI a q J 9 t 8 j Nb 8 ALP Lc QOr i wP / K4 mQd b RY R z X v J w p F y s mKHt K / y J wo 2 NB e J G6 a ” 。将 该 信 息 保存到文件中, 作为客户端公开密钥文件, 并分发给 需要 部署 的受 信任 的客 户端 程序 。该文 件 在每实 施 一 个 项 目后 , 由项 目负 责厂商 生成 。 动态 口令算法中, 根据加密精度获取的当前时 间 如 客户 端 的精 度为 “ 分 钟” , 数 据库 的精 度 为 “ 周 ” , 所 有精 度都 可根 据实 际情 况更改 和 客户端 公 开密钥文件按照先后顺序拼接 , 采用 MD 5 Me s s a g e Di g e s t Al g o r i t h m 5 , 消 息 摘 要 算 法 第 5版 算 法 进 行加密。例如 , 当前客户端时间为“ 2 0 1 4 0 7 2 2 1 5 0 3 ” , 表 示 2 0 1 4年 7月 2 2 H 1 5时 O 3分 , 将 当前 时 间 与 项 目信息 、 实施 单位 信息 拼接 后生成 “ 2 0 1 4 0 7 2 2 1 5 0 3 QF wMUI a q J 9 t 8 j Nb 8 ALP Lc QOr i wP/ K4 mQd b R Y Rz Xv J wp F y s mKHt K/ y J wo 2 NB e J G6 a” 。 采 用 MD5加 密 后 字 符 串 为 “ o s d wi k d TNc k b m2 z c Z b NmB Q一 ” 。将该字符串转换为 b y t e r 1 6 ] 数组, 并 等分该数组 , 产生 2个 b y t e 8 3 数组 B 和 B 。 , 分别 对 B 和 B 数组 中 的每 一 位进 行 异 或 运 算 , 形 成一 个 b y t e [ - 8 } 数组 C; 取数组 c的每一个数组元素最左 一 位 比如 3 6最 左 一 位 为 3 , 最 终 形 成 8位 数 字_ 6 ] , 即为 当前 的动 态 口令 。 4 结语 新 型煤矿 安全 监控 系统数 据库 密钥 管理 方法 对 现有 的数据库密钥管理方法进行 了改进 , 对数据库 读写权限引入双重动态 口令的保护方式 , 提高了数 据 库 的安 全级 别 , 同 时 不影 响系 统 对数 据 库 的访 问 性 能 。该 方法 还 提高 了动 态 口令 的访 问可 行性 , 所 有的数据库 口令获取 只存在于接 口的数据交互 , 不 会 因频 繁设 置 口令 而 导 致 程 序 口令 过 期 , 出现 数 据 库访 问失 败情 况 。 参考文献 [ 1 ] 徐永 刚 , 华钢 , 王姝. 煤矿 安全监控 历史数 据库 动态维 护研 究及应用I- J ] . 工矿 自动化 , 2 0 0 5 , 3 1 6 6 0 6 2 . [ 2 ] 张俊 , 吴绍辉. 数据库技 术的研究 现状及发展趋 势I- J - ] . 工矿 自动化 , 2 0 1 1 , 3 7 7 3 4 - 3 6 . [ 3 ] 戴宗坤 , 唐 三平 . VP N与 网络安 全[ M] . 北京 金城 出 版 社 , 2 0 0 0 . [ 4 ]卢开澄. 计算 机密码 学 计算机 网络 中的数 据保密 与安全I- M] . 北京 清华大学 出版社 , 1 9 9 8 . E s ] 段钢. 加密 与解 密 I- M ] . 2版. 北京 电子工 业 出版社 , 2 00 3. [ 6 ] 冯登国. 计算机 通信 网络安 全[ M] . 北京 清华 大学 出 版 社 , 2 0 0 3 .