当前位置:无忧公文网 >范文大全 > 征文 > 动态密码保障医疗信息安全

动态密码保障医疗信息安全

时间:2022-03-22 10:57:36 浏览次数:

摘 要:密码根据时间变量动态生成,密码不再是固定字符,而是一种算法。密码由6节计算单元组合而成,数据库保存每节单元的计算方法。每节密码的内容为各节单元通过各自算法得到的数值或英文字符,所有各节密码的内容组合成用户密码。该密码由于长度不固定,内容会实时变化,时刻保证服务器、数据库、应用系统的安全。这种动态密码技术可运用在网银交易、支付宝、自助取款机以及机密系统登录等。

关键词:动态密码;计算方法;信息安全

中图分类号:TP309

医院信息系统存放了单位重要的医疗业务数据,包括患者病历资料、医院财务数据、药品使用信息等等,保障医院信息安全首要的就是防止非法登入系统以及未授权进入数据库。当前,由于信息技术的不断发展,不法分子会通过偷窥别人输入密码,以及使用黑客软件破解系统登录密码和数据库密码来非法窃取信息。笔者设计一种密码动态生成的方法,让密码随时间而变化,有效保障了医院信息系统数据的安全。这种动态密码也可用于网银交易、电子商务、自助取款以及机密系统登录等。

1 设计原理

目前发现的大多数安全问题,是由于密码管理不严,使“入侵者”得以趁虚而入。因此密码口令的有效管理是非常基本的,也是非常重要的[1]。为保证电子商务、网银支付的安全,设计一种密码会根据时间改变而产生变化,即使黑客用各种手段,窃取了帐号和密码,只要时间变化,密码也会随之改变,数据安全得到保证。用户不需要记住固定密码,只需要记住密码是如何计算出来的就可以了。

设计原理:密码在数据库中不再以固定内容的形式保存,而是由6节计算单元组成,数据库保存每节的计算方法。每节单元根据实时的时间变量和各节的算法来取得整数值或英文字符等,把所有6节单元的计算结果组合成为用户密码,密码会实时变化。

本设计的密码计算方法有7种:以分钟为变量、以小时为变量、以日期为变量、以星期值为变量、以月份为变量、以年份为变量、固定变量。每节可使用相同或不同算法。

根据分钟变量设置,分钟变量为两位整数,范围在“00”-“59”之间,例如13分对应数值为“13”,第1位数值为“1”,第2位数值为“3”。实例演示设置了“取分钟数第1位”、“取分钟数第2位”、“取分钟数第1位加上1”、“取分钟数第1位加上2”、”取分钟数第2位加上3”这五种算法,此算法可定义在密码的任意一节或几节。由于一分钟的时间最短,该算法也最能体现密码实时变化。

根据小时变量设置,小时变量为两位整数,范围在“00”-“23”之间,例如晚间9点对应数值为“21”,第1位数值为“2”,第2位数值为“1”。实例演示设置了“取小时数第1位”、“取小时数第2位”、“取小时数第1位乘以3加2”、“取小时数第1位乘以2加3”、“取小时数第1位乘以4加5”这五种算法,此算法可定义在密码的任意一节或几节。

根据日期变量设置,日期变量为两位整数,范围在“01”-“31”之间,例如20日对应的数值为“20”,第1位数值为“2”,第2位数值为“0”。实例演示设置了“取日期数第1位”、“取日期数第2位”、“取日期数第1位,第2位的较大者”、 “取日期数第1位乘以3”、“取前2日的第2位”这五种算法,此算法可定义在密码的任意一节或几节。

根据星期值变量设置,星期值变量为单位整数,范围在“1”-“7”之间,周一对应数值为“1”,周二对应数值为“2”,……,周六对应数据为“6”,星期日对应的数值为“7”。实例演示共设置了“当天星期值”、“后1天星期值”、“后2天星期值”、“前1天星期值”、“前2天星期值”这五种算法,此算法可定义在密码的任意一节或几节。

根据月份设置,月份为两位整数,范围在“01”-“12”之间,例如6月份对应的数值为“06”,第1位数值为“0”,第2位数值为“6”。实例演示共设置了“取月份数第1位”、“取月份数第2位”、“取月份数第1位加第2位”这三种算法,此算法可定义在密码的任意一节或几节。

根据年份设置,实例演示是以是否闰年来设置数值的,共设置了“闰年为3,平年为5”、“闰年为5,平年为3”、“闰年为7,平年为9”这三种算法,此算法可定义在密码的任意一节或几节。

固定变量,可以设置某节密码为一串固定的数值或字符,此算法可以定义在密码的任意一节或几节。

2 实例演示

本设计是系统入口验证的前置程序,有专门的文本文件保存帐号和密码计算方法,不占用主数据库,只在登录时,对帐户、密码进行验证,验证通过方可进入主程序,对原有主程序不作任何改动。下面以实例结合附图来说明。

用户登录系统时,在用户名文本框、密码文本框中分别输入用户名和密码(本实例的用户名设为:admin,密码设为:888888),进入密码设置和管理界面(图1)。点击“密码设置”菜单下的“用户密码设置”(图2),进入“密码设置界面”,在输入卡号框中任意输入长度不超过20字节的数字(本设计以网银交易为实例,该串数字代表用户需要动态密码保护的网银信用卡帐号),然后点击“为第1节设置密码”选项框就可以为该卡号的第1节单元(按从左至右的顺序排列)设置算法(图3)。若要把该节设为固定值,就点击“设固定值”,那么该节密码对应的输入框就变白(表示可以在框内输入任意数值或字符);若不想设固定值,就点击其它任一菜单的任一选项(同时输入框会显示该选项算法)。实例演示第1节设置算法是“闰年为3,平年为5”,第2节算法是固定值“6s53a”(图4),……,6节算法设置完成后,点击“存盘”,所有各节密码的算法就保存到文本文件里,同时询问是否打印算法(图5)。如果用户根据时间变量和设定的计算方法而得到的密码和系统算出密码一致,就可登录主程序了(如图6、图7、图8)。

图1 动态密码生成系统登录界面

图2 进入“密码设置界面”

图3 第1节密码设置算法

图4 第2节密码设置算法

图5 所有算法设置后保存

图6 系统调用时间与人工提交密码的时间一致

图7 密码通过验证进入主系统

图8 正常运行主程序

3 总结

本设计是以时间变量来得到实时改变的动态密码,密码的产生一是依据各节的计算方法,二是依据提交密码的时间变量。要确保基于时间同步机制的动态密码认证系统的整体安全性,必须对该认证方案设计一个安全的身份认证协议[2]。为确保服务器在验证密码时所使用的时间变量和用户提交密码所使用的时间变量完全一致,本设计会将用户使用的“帐户”、“提交密码时间”、“密码”三个变量一起传给服务器。服务器会以用户提交的时间点作为时间变量,根据数据库里保存的用户所采用的算法来计算出密码,并与用户提交的密码进行比对,这样保证了用户与系统采用的时间变量和计算方法都保持一致。实例共设置了26种算法,实际运用中可以重新设计其它更多的计算方法。

参考文献:

[1]张守权,费立云.使用动态密码增加server安全性.网络安全技术与应用[J].2006(3):77-78.

[2]郭代飞,杨义先,李作为等.数字身份认证技术的现状与发展[J].计算机安全.2003,29(7)t 1-4.

作者简介:徐强(1977-),男,江苏宝应人,纪委书记,计算机工程师,公共管理硕士学位,研究方向:医院信息化建设、软件开发。

作者单位:镇江市中医院,江苏镇江 212003

推荐访问: 信息安全 保障 密码 医疗 动态