本领域涉及计算机领域,并且更具体地涉及一种用户数据的安全管理的方法和设备。
背景技术:
随着互联网技术发展,用户数据(包括个人数据)泄露风险日益严重。防用户数据泄露主要从用户数据使用最小化访问和安全存储设计。已有常见用户数据安全主要基于用户角色权限控制和数据统一加密技术。但基于角色权限控制和数据统一加密的用户数据存储方式存在着一些问题:用户自身数据容易被滥用,高权限可以查看低权限用户数据,系统管理员可以查看所有用户数据,容易造成用户数据的内部泄露。不同用户的数据的存储基于统一的方式的密钥管理,一旦被黑客攻克,会造成大量用户的数据泄露。
技术实现要素:
有鉴于此,本发明实施例的目的在于提出一种用户数据的安全管理的方法和设备,通过使用本发明的方法,能够实现用户间数据安全隔离,降低用户数据滥用和用户数据泄露风险。
基于上述目的,本发明的实施例的一个方面提供了一种用户数据的安全管理的方法,包括以下步骤:
响应于接收到用户登陆的请求,对请求中的用户信息进行验证;
响应于用户信息验证通过,生成用户的数据管理密钥并将用户的状态改为在线模式;
接收用户使用生成的数据管理密钥进行的数据的操作;
响应于用户对数据的操作完成并接收到用户退出登录的请求,将用户的状态改为离线模式并删除数据管理密钥。
根据本发明的一个实施例,响应于接收到用户登陆的请求,对请求中的用户信息进行验证包括:
服务端接收到用户信息,通过用户信息中的用户名获取用户的唯一标识;
将唯一标识和登陆口令使用pbkdf2算法进行口令加密,判断口令密文是否与服务端存储的用户唯一标识对应的鉴权值一致;
响应于一致,用户信息验证通过。
根据本发明的一个实施例,响应于用户信息验证通过,生成用户的数据管理密钥并将用户的状态改为在线模式包括:
通过用户唯一标识查找对应的用户状态表,使用口令做为密钥aes算法的key值对用户状态表中用户随机数进行加密以生成用户数据管理密钥。
根据本发明的一个实施例,数据的操作包括用户数据存储、用户数据查询、用户数据加密存储转换公共存储、用户数据公共存储转换加密存储。
根据本发明的一个实施例,用户的信息包括用户名和口令。
本发明的实施例的另一个方面,还提供了一种用户数据的安全管理的设备,设备包括:
鉴权模块,鉴权模块配置为响应于接收到用户登陆的请求,对请求中的用户信息进行验证;
生成模块,生成模块配置为响应于用户信息验证通过,生成用户的数据管理密钥并将用户的状态改为在线模式;
操作模块,操作模块配置为接收用户使用生成的数据管理密钥进行的数据的操作;
更改模块,更改模块配置为响应于用户对数据的操作完成并接收到用户退出登录的请求,将用户的状态改为离线模式并删除数据管理密钥。
根据本发明的一个实施例,鉴权模块还配置为:
服务端接收到用户信息,通过用户信息中的用户名获取用户的唯一标识;
将唯一标识和登陆口令使用pbkdf2算法进行口令加密,判断口令密文是否与服务端存储的用户唯一标识对应的鉴权值一致;
响应于一致,用户信息验证通过。
根据本发明的一个实施例,生成模块还配置为:
通过用户唯一标识查找对应的用户状态表,使用口令做为密钥aes算法的key值对用户状态表中用户随机数进行加密以生成用户数据管理密钥。
根据本发明的一个实施例,数据的操作包括用户数据存储、用户数据查询、用户数据加密存储转换公共存储、用户数据公共存储转换加密存储。
根据本发明的一个实施例,用户的信息包括用户名和口令。
本发明具有以下有益技术效果:本发明实施例提供的用户数据的安全管理的方法,通过响应于接收到用户登陆的请求,对请求中的用户信息进行验证;响应于用户信息验证通过,生成用户的数据管理密钥并将用户的状态改为在线模式;接收用户使用生成的数据管理密钥进行的数据的操作;响应于用户对数据的操作完成并接收到用户退出登录的请求,将用户的状态改为离线模式并删除数据管理密钥的技术方案,能够实现用户间数据安全隔离,降低用户数据滥用和用户数据泄露风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的用户数据的安全管理的方法的示意性流程图;
图2为根据本发明一个实施例的用户数据的安全管理的设备的示意图;
图3为根据本发明一个实施例的用户注册流程的示意性流程图;
图4为根据本发明一个实施例的用户口令更改的示意性流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例的第一个方面,提出了一种用户数据的安全管理的方法的一个实施例。图1示出的是该方法的示意性流程图。
如图1中所示,该方法可以包括以下步骤:
s101响应于接收到用户登陆的请求,对请求中的用户信息进行验证,用户登陆时会将用户的信息发送的服务端,服务端收到用户信息后对其进行验证,如果验证通过则允许登陆,如果验证不通过则登陆失败;
s102响应于用户信息验证通过,生成用户的数据管理密钥并将用户的状态改为在线模式,未登陆时该用户的状态为离线模式,用户信息验证通过并成功登陆后用户的状态为在线模式并同时基于用户的信息生成数据管理密钥,用户基于数据管理密钥才能对用户的数据进行操作;
s103接收用户使用生成的数据管理密钥进行的数据的操作;
s104响应于用户对数据的操作完成并接收到用户退出登录的请求,将用户的状态改为离线模式并删除数据管理密钥,用户退出登陆后,用户的状态更改为离线模式,离线模式下不能够对数据进行任何操作,并将登陆时生成的数据管理密钥删除,系统中没有数据管理密钥且用户未处在在线模式,因此用户的数据不能够被访问,保护了用户数据的安全性。
通过本发明的技术方案,能够实现用户间数据安全隔离,降低用户数据滥用和用户数据泄露风险。
在本发明的一个优选实施例中,响应于接收到用户登陆的请求,对请求中的用户信息进行验证包括:
服务端接收到用户信息,通过用户信息中的用户名获取用户的唯一标识;
将唯一标识和登陆口令使用pbkdf2算法进行口令加密,判断口令密文是否与服务端存储的用户唯一标识对应的鉴权值一致;
响应于一致,用户信息验证通过。
在本发明的一个优选实施例中,响应于用户信息验证通过,生成用户的数据管理密钥并将用户的状态改为在线模式包括:
通过用户唯一标识查找对应的用户状态表,使用口令做为密钥aes算法的key值对用户状态表中用户随机数进行加密以生成用户数据管理密钥。
用户登录服务端系统,用户首先向服务端发送用户信息,用户信息包括用户名和口令。服务端收到用户信息后,主要进行以下处理:
服务端访问接入模块收到用户信息,通过用户名获取用户唯一标识,并把鉴权信息(包括用户唯一标识和口令)发送给用户鉴权模块。用户鉴权模块获取鉴权信息后,使用pbkdf2算法进行口令加密,判断口令密文是否与服务端存储的用户唯一标识对应的鉴权值一致,如果一致,则鉴权成功,否则鉴权失败。用户鉴权成功后,把鉴权信息(包括用户唯一标识和口令)同步给状态管理模块,同时把鉴权成功消息返回访问接入模块。状态管理模块接收到鉴权信息后,通过用户唯一标识查找对应的用户状态表,使用口令做为密钥aes算法的key值对用户状态表中用户随机数加密,生成用户随机数密文做为用户数据管理密钥。其中密钥aes算法应满足使用同样的key值,对同样用户随机数加密,每次生成的用户数据管理密钥是一样的,并且生成的用户数据管理密钥符合数据aes算法进行加解密的密钥要求。
用户使用数据管理密钥时还需要进行验证,验证方法如下:服务端注册用户时,状态管理模块依据用户唯一标识创建用户状态表生成用户数据管理密钥,并使用数据aes算法和用户数据管理密钥加密系统预设固定值,预设固定值密文存储在用户状态表的用户验证值,然后删除用户数据管理密钥,用户状态置为离线。用户登录时,状态管理模块接收鉴权信息后生成对应的用户数据管理密钥,使用数据aes算法和用户数据管理密钥解密用户状态表里的用户验证值,验证解密后的用户验证值与系统预设固定值是否一致,一致则用户数据管理密钥合法。验证用户数据管理密钥合法后,对应的用户的用户状态由离线转变为准备。访问接入模块接收返回成功信息后,把鉴权成功信息反馈用户端,用户登录成功。
在本发明的一个优选实施例中,数据的操作包括用户数据存储、用户数据查询、用户数据加密存储转换公共存储、用户数据公共存储转换加密存储。
用户端访问服务端进行用户数据的存储、查询及公共存储转换,主要分为以下几步:
用户登录成功后,用户端通过访问接入模块把用户需要进行的数据操作发送给状态管理模块。然后判断用户的用户状态在状态管理模块是否为online。如果用户状态为online,使用数据aes算法和用户数据管理密钥进行用户数据操作,主要进行一下操作:
用户数据存储,通过用户数据管理密钥把用户需要存储的数据加密存储在用户数据库;
用户数据查询,状态管理模块从用户数据库获取加密的数据通过用户数据管理密钥解密后返回给用户端;
用户数据加密存储转换公共存储,状态管理模块从用户数据库获取加密的数据通过用户数据管理密钥解密后进行公共数据库存储,成功后删除用户数据库相关数据;
用户数据公共存储转换加密存储,状态管理模块从公共数据库获取数据通过用户数据管理密钥加密后进行用户数据库存储,成功后删除公共数据库相关数据。其中访问接入模块用于接收用户端信息并依据消息类型转发给服务端其他模块,同时维护用户端与服务端的访问状态并把访问状态改变同步给状态管理模块。用户鉴权模块用于创建新用户保存用户口令,用户登录时验证用户口令。状态管理模块用于管理用户状态,依据用户状态和用户数据管理密钥进行用户数据管理,用户状态包括离线(offline)、准备(ready)、在线(online)和切换(change)四种。数据库包括用户数据库和公共数据库,用户数据库存储不同用户使用不同用户数据管理密钥加密的用户数据;公共数据库存储其它程序或者特定权限级别的用户可以访问的数据。
在本发明的一个优选实施例中,用户的信息包括用户名和口令。
图3是本发明的一个实施例的用户注册流程的示意性流程图,主要包括:
步骤s201,服务端获取注册的用户信息,访问接入模块生成用户唯一标识,并把包含用户唯一标识和口令的鉴权信息同步给用户鉴权模块和状态管理模块;
步骤s202,用户鉴权模块获取鉴权信息,通过pbkdf2算法进行口令加密存储;
步骤s203,状态管理模块获取鉴权信息,创建用户状态表,用户状态表一种实例数据格式如下:
structuserstatus{
{
intidentifier;//用户标识
stringstatus;//用户状态
stringrandomvalue;//用户随机数
stringverifyvalue;//用户验证值
stringsecretkey;//用户密钥
};
用户状态表创建主要包括以下部分:
使用鉴权信息里的用户唯一标识填充用户状态表的用户标识,用户状态填充offline。生成随机用户随机数,用户随机数依据进行用户数据加解密的数据aes算法类型做限制。使用口令做为密钥aes算法的key值对用户状态表中用户随机数加密,生成用户随机数密文即用户数据管理密钥。使用数据aes算法和用户数据管理密钥对系统预设固定值进行加密,预设固定值加密数据填充用户状态表的验证值。用户状态表中的用户密钥,只有用户状态change才进行填充,其它状态均填充0值。
图4是本发明的一个实施例的用户口令更改的示意性流程图,主要包括:
步骤s301,服务端获取用户的口令信息,通过用户名获取用户唯一标识,并把包含用户唯一标识和口令信息(包括旧口令和更改口令)的口令更改信息同步给用户鉴权模块;
步骤s302,用户鉴权模块获取口令更改信息,使用pbkdf2算法进行旧口令加密,判断旧口令密文是否与用户唯一标识对应的鉴权值一致,如果一致,则使用pbkdf2算法进行更改口令加密,更改口令密文替换用户唯一标识对应的鉴权值,并把口令更改信息发送状态管理模块;如果不一致,则不一致信息返回访问接入模块,更改口令失败;
步骤s303,状态管理模块获取口令更改信息,更改用户状态表,主要分为以下几步:
状态管理模块通过用户唯一标识查询对应的用户状态表,使用旧口令作为密钥aes算法key值,生成对应的用户数据管理密钥,并使用数据aes算法和用户数据管理密钥解密对应的用户状态表的用户验证值,验证解密后的用户验证值与系统预设固定值是否一致,如果一致则使用用户数据管理密钥填充用户状态表的用户密钥,并把用户状态表的用户状态更改为切换。状态管理模块使用更改口令作为密钥aes算法的key值,生成新用户数据管理密钥,使用数据aes算法和新用户数据管理密钥对系统预设固定值进行加密,系统预设固定值密文替换用户状态表的用户验证值,并把新用户数据管理密钥与用户唯一标识进行关联和缓存;
步骤s304,状态管理模块进行用户数据加密更新,主要分为以下几步:
获取用户数据库中当前用户关联的原始加密数据,使用用户状态表中的用户密钥对用户原始加密数据进行解密,解密后数据使用用户唯一标识关联的新用户数据管理密钥进行加密,加密后的数据再存储用户数据库,用户数据库当前用户关联的所有数据都已使用新用户数据管理密钥加密存储后,删除用户数据库中的当前用户的原始加密数据,用户状态表中的用户状态由切换转换为在线。
通过本发明的技术方案,能够实现用户间数据安全隔离,降低用户数据滥用和用户数据泄露风险。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存取存储器(randomaccessmemory,ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。
基于上述目的,本发明的实施例的第二个方面,提出了一种用户数据的安全管理的设备,如图2所示,设备100包括:
鉴权模块,鉴权模块配置为响应于接收到用户登陆的请求,对请求中的用户信息进行验证;
生成模块,生成模块配置为响应于用户信息验证通过,生成用户的数据管理密钥并将用户的状态改为在线模式;
操作模块,操作模块配置为接收用户使用生成的数据管理密钥进行的数据的操作;
更改模块,更改模块配置为响应于用户对数据的操作完成并接收到用户退出登录的请求,将用户的状态改为离线模式并删除数据管理密钥。
在本发明的一个优选实施例中,鉴权模块还配置为:
服务端接收到用户信息,通过用户信息中的用户名获取用户的唯一标识;
将唯一标识和登陆口令使用pbkdf2算法进行口令加密,判断口令密文是否与服务端存储的用户唯一标识对应的鉴权值一致;
响应于一致,用户信息验证通过。
在本发明的一个优选实施例中,生成模块还配置为:
通过用户唯一标识查找对应的用户状态表,使用口令做为密钥aes算法的key值对用户状态表中用户随机数进行加密以生成用户数据管理密钥。
在本发明的一个优选实施例中,数据的操作包括用户数据存储、用户数据查询、用户数据加密存储转换公共存储、用户数据公共存储转换加密存储。
在本发明的一个优选实施例中,用户的信息包括用户名和口令。
上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。
1.一种用户数据的安全管理的方法,其特征在于,包括以下步骤:
响应于接收到用户登陆的请求,对请求中的用户信息进行验证;
响应于所述用户信息验证通过,生成用户的数据管理密钥并将所述用户的状态改为在线模式;
接收所述用户使用生成的所述数据管理密钥进行的数据的操作;
响应于所述用户对数据的操作完成并接收到所述用户退出登录的请求,将所述用户的状态改为离线模式并删除所述数据管理密钥。
2.根据权利要求1所述的方法,其特征在于,响应于接收到用户登陆的请求,对请求中的用户信息进行验证包括:
服务端接收到所述用户信息,通过所述用户信息中的用户名获取所述用户的唯一标识;
将所述唯一标识和登陆口令使用pbkdf2算法进行口令加密,判断口令密文是否与服务端存储的用户唯一标识对应的鉴权值一致;
响应于一致,用户信息验证通过。
3.根据权利要求1所述的方法,其特征在于,响应于所述用户信息验证通过,生成用户的数据管理密钥并将所述用户的状态改为在线模式包括:
通过用户唯一标识查找对应的用户状态表,使用口令做为密钥aes算法的key值对用户状态表中用户随机数进行加密以生成用户数据管理密钥。
4.根据权利要求1所述的方法,其特征在于,所述数据的操作包括用户数据存储、用户数据查询、用户数据加密存储转换公共存储、用户数据公共存储转换加密存储。
5.根据权利要求1所述的方法,其特征在于,所述用户的信息包括用户名和口令。
6.一种用户数据的安全管理的设备,其特征在于,所述设备包括:
鉴权模块,所述鉴权模块配置为响应于接收到用户登陆的请求,对请求中的用户信息进行验证;
生成模块,所述生成模块配置为响应于所述用户信息验证通过,生成用户的数据管理密钥并将所述用户的状态改为在线模式;
操作模块,所述操作模块配置为接收所述用户使用生成的所述数据管理密钥进行的数据的操作;
更改模块,所述更改模块配置为响应于所述用户对数据的操作完成并接收到所述用户退出登录的请求,将所述用户的状态改为离线模式并删除所述数据管理密钥。
7.根据权利要求6所述的设备,其特征在于,所述鉴权模块还配置为:
服务端接收到所述用户信息,通过所述用户信息中的用户名获取所述用户的唯一标识;
将所述唯一标识和登陆口令使用pbkdf2算法进行口令加密,判断口令密文是否与服务端存储的用户唯一标识对应的鉴权值一致;
响应于一致,用户信息验证通过。
8.根据权利要求6所述的设备,其特征在于,所述生成模块还配置为:
通过用户唯一标识查找对应的用户状态表,使用口令做为密钥aes算法的key值对用户状态表中用户随机数进行加密以生成用户数据管理密钥。
9.根据权利要求6所述的设备,其特征在于,所述数据的操作包括用户数据存储、用户数据查询、用户数据加密存储转换公共存储、用户数据公共存储转换加密存储。
10.根据权利要求6所述的设备,其特征在于,所述用户的信息包括用户名和口令。
技术总结