一种用于防止内存密码泄漏的方法

文档序号:9888071阅读:642来源:国知局
一种用于防止内存密码泄漏的方法
【技术领域】
[0001] 本发明涉及智能客户端(Smart Client)技术领域,具体地说是一种用于防止内存 密码泄漏的方法。
【背景技术】
[0002] 智能客户端(Smart Client)技术是一种基于互联网(Internet)的富客户端技术。 在客户端,采用富客户端(Rich Client)技术,可充分利用客户端机器的本地资源,为用户 提供丰富的用户交互体验。与B/S(Br〇WSer/Se rver,浏览器/服务器)应用程序相比,可展现 给用户的界面是像安装在本地桌面系统上的⑶KGraphics User Interface,图形用户界 面)程序界面,它有很多的复杂界面交互元素如树、菜单、网格等,对用户的友好性和可交互 性大大增强,可满足用户界面交互的各种个性化需求,并且可提供本地数据缓存、离线应用 等强大功能。而与C/S(Client/S erver,客户机/服务器)应用程序对比,智能客户端技术提 供客户端程序的自动部署更新,避免了客户端程序维护的各种繁琐和困难。
[0003] 智能客户端技术采用基于HTTP和XML的网络服务(Web Service)技术传输数据,可 基于互联网访问,并且客户端和服务器端仅传递必要的数据信息,这与B/S应用中基于HTML 的传输方式(数据信息和界面格式信息混在一起)相比,可有效降低网络数据传输数据量, 降低了对网络带宽的要求。
[0004] 综上所述,智能客户端技术允许应用程序在互联网上以一种像使用Web-样简单 的方式来发布和使用富客户端程序。智能客户端技术非常适合开发面向企业应用的管理信 息系统,目前在企业管理软件领域已经有多种主流产品基于智能客户端技术搭建。
[0005] 对于智能客户端登录不可避免的需要输入用户名密码,而如何保证这些敏感数据 的安全性,也越来越受到重视。如何保护内存中的敏感数据不被泄漏(恶意扫描),实现GUI 桌面程序在认证时的用户名、密码等敏感数据的安全保护是目前急需解决的技术问题。

【发明内容】

[0006] 本发明的技术任务是针对以上不足之处,提供一种用于防止内存密码泄漏的方 法,来解决如何保护内存中的敏感数据不被泄漏(恶意扫描),实现GUI桌面程序在认证时的 用户名、密码等敏感数据的安全保护的问题。
[0007] 本发明解决其技术问题所采用的技术方案是:一种用于防止内存密码泄漏的方 法,该方法为在智能客户端登录时,防止登录密码泄露的方法,包括如下步骤:
[0008] (1 )、在智能客户端登录时,在智能客户端的密码框内输入字符,即输入的字符为 登录密码;
[0009] (2)、将步骤(1)中输入的登录密码替换为随机字符;
[0010] (3)、将步骤(1)中输入的登录密码以密文的形式存储在内存中。
[0011] 作为优选,所述步骤(2)是通过一个字符数组来存储候选的随机字符,使用密码框 的键盘事件(Keypress事件)来替换步骤(1)输入的登录密码,将登录密码替换为随机字符, 同时在随机字符数组中移除被使用的随机字符。
[0012] 作为优选,所述步骤(3)是在密码框的值改变事件(textchange事件)中将真实的 登录密码存储在SecureString的实例中,通过SecureString自身的特性使登录密码在内存 中以密文的形式存储。
[0013] 本发明的一种用于防止内存密码泄漏的方法和现有技术相比,具有以下有益效 果:
[0014] 1、本发明涉旨在提高智能客户端登录的安全性,保护用户的敏感数据不被内存扫 描软件恶意读取,提供一种保护内存密码不被读取的方法,解决敏感数据在内存中是以明 文形式存在的方法,包括输入数据替换为随机字符、将数据以密文的形式存储在内存中;
[0015] 2、本发明替换用户输入的登录密码为随机字符,将真正的登录密码字符以密文的 形式存储在内存中,达到防止内存中的明文密码被内存扫描软件扫到的目的,借助于 SecureString类的相关方法将密码以加密后的形式存储于内存中,在使用时可通过其相关 方法获取到明文的密码。
[0016] 由此可见,本发明具有设计合理、使用方便、一物多用等特点,因而,具有很好的推 广使用价值。
【附图说明】
[0017] 下面结合附图对本发明进一步说明。
[0018] 附图1为一种用于防止内存密码泄漏的方法的流程图。
【具体实施方式】
[0019] 下面结合附图和具体实施例对本发明作进一步说明。
[0020] 如附图1所示,本发明的一种用于防止内存密码泄漏的方法,该方法为在智能客户 端登录时,防止登录密码泄露的方法,包括如下步骤:
[0021 ] (1 )、在智能客户端登录时,在智能客户端的密码框内输入字符,即输入的字符为 登录密码;
[0022] (2)、将步骤(1)中输入的登录密码替换为随机字符:通过一个字符数组来存储候 选的随机字符,使用密码框的键盘事件(Keypress事件)来替换步骤(1)输入的登录密码,将 登录密码替换为随机字符,同时在随机字符数组中移除被使用的随机字符;
[0023] (3 )、将步骤(1)中输入的登录密码以密文的形式存储在内存中:在密码框的值改 变事件(textchange事件)中将真实的登录密码存储在SecureString的实例中,通过 SecureString自身的特性使登录密码在内存中以密文的形式存储。
[0024]该方法的具体实施方法如下:
[0025] 首先,声明相关变量,如下:
[0026] private Random random = new RandomO;
[0027] private HashSet<char>poor = new Hashset<char>();
[0028] private char secret;
[0029] private char token;
[0030] private List<char>fake = new List<char>();
[0031] public SecureString Pd{get;private set;}
[0032] 然后,在密码框键盘事件替换输入的字符为随机字符,如下:
[0033]
[0035] 最后,在密码框值更改事件中,将密码写入到SecureString的实例中,如下: )
[0036]
[0037] 通过上面【具体实施方式】,所述技术领域的技术人员可容易的实现本发明。但是应 当理解,本发明并不限于上述的一种【具体实施方式】。在公开的实施方式的基础上,所述技术 领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
[0038] 除说明书所述的技术特征外,均为本专业技术人员的已知技术。
【主权项】
1. 一种用于防止内存密码泄漏的方法,其特征在于:该方法为在智能客户端登录时,防 止登录密码泄露的方法,包括如下步骤: (1) 、在智能客户端登录时,在智能客户端的密码框内输入字符,即输入的字符为登录 密码; (2) 、将步骤(1)中输入的登录密码替换为随机字符; (3) 、将步骤(1)中输入的登录密码以密文的形式存储在内存中。2. 根据权利要求1所述的一种用于防止内存密码泄漏的方法,其特征在于:所述步骤 (2) 是通过一个字符数组来存储候选的随机字符,使用密码框的键盘事件来替换步骤(1)输 入的登录密码,将登录密码替换为随机字符,同时在随机字符数组中移除被使用的随机字 符。3. 根据权利要求1所述的一种用于防止内存密码泄漏的方法,其特征在于:所述步骤 (3) 是在密码框的值改变事件中将真实的登录密码存储在SecureString的实例中,通过 SecureString自身的特性使登录密码在内存中以密文的形式存储。
【专利摘要】本发明公开了一种用于防止内存密码泄漏的方法,属于智能客户端技术领域,本发明要解决的技术问题为如何保护内存中的敏感数据不被泄漏,实现GUI桌面程序在认证时的用户名、密码等敏感数据的安全保护。技术方案为:该方法为在智能客户端登录时,防止登录密码泄露的方法,包括如下步骤:(1)、在智能客户端登录时,在智能客户端的密码框内输入字符,即输入的字符为登录密码;(2)、将步骤(1)中输入的登录密码替换为随机字符;(3)、将步骤(1)中输入的登录密码以密文的形式存储在内存中。
【IPC分类】G06F21/31, G06F21/84, G06F21/60
【公开号】CN105653994
【申请号】
【发明人】梁彬
【申请人】浪潮通用软件有限公司
【公开日】2016年6月8日
【申请日】2016年2月22日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1