分类

个人密码线上存取网站的设计与实现

  摘要:依照软件工程中软件开发的相关理论对系统进行了分析和设计,建立了系统的层次框架模型,分析了个人密码线上存取网站的流程图,综合利用PHP、MYSQL、HTML的相关技术开发了存取网站,在保障密码安全性和存储密码实用性起着重要的作用。


  关键词:个人密码;线上存取网站;密码管理


  前言


  随着互联网络的飞速发展,各种网站正以惊人的速度在增长。相对应需要记忆的账号和对应的密码数量也成倍的增长,这就使得密码的存储和记忆成了一个难题。个人密码线上存取网站是计算机技术、网络技术和数据库技术相结合的现代网络在线的个人密码加密存储和提取的平台。可以使广大用户改变以往使用单一密码出现安全性的问题,又可以避免账号密码繁多记不住的情况。


  1网站的模块划分


  个人密码线上存取网站的总体设计思想是提供便捷和安全的密码存取服务。把网站按照功能划分为用户管理模块、密码管理模块、操作记录模块、在线客服模块和加密模块。为了能使得各模块功能在数据传递和信息处理上得到最大的效率及功能扩展的方便性,所以要使各模块之间的关系符合“高内聚,低耦合”的原则,并且该原则是模块化软件设计中必须遵循的基础线。在该系统中,为了合理的管理与操作,把系统划分为以下个模块:


  1.1用户管理模块


  用户的注册和登录页面为同一个页面。当用户名不存在的时候,则会自动创建用户,并弹出“注册确认框”,此时只要点击“确认注册”,即可完成注册。用户名和密码则为在“注册/登录”页面所填写的用户名和密码。当用户存在而所填写的密码错误,则会提示密码错误,并要求重新输入。当用户名存在而且密码填写正确,则会显示“用户中心”页面。此时,就可以通过本网站实现密码的线上存取。在该模块中可以创建普通的客户资料信息,还可以对具有管理员身份的特权用户进行管理。


  1.2密码管理模块


  用户通过简单的注册后,就可以实现密码的线上存取。用户通过自己输入的备注来标识和区分存入的密码。每个密码对应着唯一的备注,用户在存入密码时,备注会作为必填项与密码一同上传至服务器。通过备注,用户就可以准确地取出相应的密码。密码管理模块是密码存取操作的核心,在该模块中可以采用一些优化的函数模块来实现对数据库的操作,可以通过一些特殊的数据关系,以优化密码的存储。


  1.3操作记录模块


  用户从注册开始,系统就会自动记录用户的操作记录以供用户查询。从用户名的注册时间、登录记录到密码的存取时间,系统都会完整地记录以供用户核查。


  1.4在线客服模块


  在线客服为管理员与用户交流的工具,管理员可通过此工具接收用户的反馈信息,并提供帐号的密码找回和解冻等帐号安全服务。在线客服需要验证客户提供的相关资料,以保证信息的修改返回给正确的用户,避免信息泄露。


  1.5加密、解密模块


  B/S端使用Diffie-Hellman密钥交换算法获取密钥后,使用对称加密的方式对发送的消息进行加密处理,同样通过加密的相反过程,利用加密时发送的密文信息进行解密。这个模块是该系统中的重点核心,密码的安全性在该模块尤为重要。


  系统运行中各模块功能之间的关系如图1所示。


  2网站的模块设计


  该系统采用的是B/S结构,最方便的是用户在操作和配置方面简单,用户只需要将密码和相对应的用户名经过简单的界面操作,就可以实现,这也是B/S结构最方便的地方。客户端的类设计如图2所示。


  图2客户类图


  客户端操作主动刷新页面来获取更新数据传输,服务器端利用Websocket控件进行客户端的连接,这样就不需要主动地向对方请求数据,这样做既简单又节省系统、网络资源。用户的密码存取操作活动图如图3所示。


  图3用户存取密码活动图


  对于用户的密码,为了安全性存放,必须先对其进行加密码,然后再存储,并且对于后期需要进行密码解密时,也提供了方便性,所以在对密码存储的时候,我们应该使用一种比较安全并且快捷解密的方法。根据密码加密和解密的可逆性,在选择算法时可以使用比较安全的Diffie-Hellman密钥交换算法,并且我们可以在对密码取出后传送给用户的方式上采用多种方式,比如电子邮件、手机短信等方式,为了更进一步的安全检验,需要对用户身份进行鉴别。为了防止密码数据由于某些原因出现了丢失或者破坏,能够实现这种情况下对丢失的密码进行恢复。在密码存储的解决策略中应该要注意以下几个方面:


  (1)为了数据存储的安全性,采用mySQL数据库存储,并且在数据库中采用授权限制的方式进行访问,并且要求提供受限制访问的注册键。


  (2)为了防止各客户端的用户产生不相同的密码,我们可以采用SALT技术进行控制。


  (3)为了使用密码的安全性,采用二进制方式进行存储,采用BASE64编码。


  在本系统中,考虑系统的安全性、易操作性,以及与选用的PHP编程语言兼容,采用MySQL作为本系统的数据库管理系统。分别为用户信息表和密码信息表建立触发器和用于储存查询次数的字段(查询次数),其默认值为0。当用户发起查询密码请求时,服务器先把查询次数增加1,这时相关的触发器会把当前的查询操作保存至操作记录表中,当数据库返回处理结果为保存成功时,才会开始执行查询操作。


  3结束语


  个人密码线上存取网站既可以避免密码单一带来的盗号风险,又可以解决密码太多、太复杂所造成的密码容易忘记的问题。个人密码线上存取网站使用的HTML5页面,可以带来更便捷和安全的密码存取服务。传输加密和提供可查询操作记录服务为密码存取的安全提供了保障。


  作者:屈晓等


  参考文献 

  [1]屈喜龙,朱杰,等.PHP开发动态网站实例荟萃[M].北京:机械工业出版社,2006:3. 

  [2]徐峰.基于MySQL的PHP数据库访问技术[J].计算机时代,2001(2). 

  [3]Matt Zandstra.深PHP:面向对象、模式与实践(第3版)[M].北京:人民邮电出版社,2011. 

  [4]apache(Web服务器)[EB/OL],[2015-01-31],http://. 

  [5]张志远.JavaScript与客户端安全[J].东莞理工学院学报,2002(2). 

  [6]Alfred J. Menezes.等.应用密码学手册[M].胡磊译.北京:电子工业出版社,2005. 

上一篇:党政官员,直面网络时代
下一篇:如何做好档案网站建设