一种基于权限控制的安全控制方法及安全控制系统与流程

文档序号:12068212阅读:281来源:国知局
一种基于权限控制的安全控制方法及安全控制系统与流程

本发明涉及通讯技术领域,更具体地,涉及一种基于权限控制的安全控制方法及安全控制系统。



背景技术:

随着信息化的高速发展,人们对信息安全的需求接踵而至,人才竞争、市场竞争、金融危机等都给企事业单位的发展带来巨大风险,内部窃密、黑客攻击、无意识泄密等窃密手段成为了人与人之间、企业与企业之间、国与国之间的安全隐患。

市场的需求、人的安全意识、环境的诸多因素促使着我国的信息安全高速发展,信息安全经历了从传统的单一防护如防火墙到信息安全整体解决方案、从传统的外部网络防护到内网安全、主机安全等。

目前的客户端应用平台中传输数据时,客户端可以将用户的操作数据通过操作界面发送至前端服务器,再由前端服务器转发至后台服务器,并由后台服务器生成与用户的操作数据对应的业务数据以完成相应的业务流程。

但是操作界面容易被篡改,使得用户的权限设置未起到作用,用户会获取本不应能获取的数据。并且,在前端服务器发送操作数据到后台服务器的过程中,若操作数据被非法篡改,则后台服务器将会接收到被篡改后的操作数据,并根据被篡改后的操作数据生成错误的业务数据,这必将导致业务流程发生错乱,严重影响了数据的安全性和准确性。

因此,提供一种基于权限控制的安全控制方法及安全控制系统,以保障操作界面和数据传输的安全性和准确性是本领域亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种基于权限控制的安全控制方法及安全控制系统,解决了现有技术中数据传输过程中易被非法篡改,影响数据安全性和准确性的技术问题。

为了解决上述技术问题,本发明提出一种基于权限控制的安全控制方法,包括:

前端服务器接收账户信息、输入数据、数据处理请求以及请求地址信息;

所述前端服务器对所述输入数据进行加密,形成加密后的第一数据,并将所述账户信息、所述第一数据、所述数据处理请求以及所述请求地址信息发送至后台服务器;其中,所述账户信息、所述请求地址信息以及所述数据处理请求形成第一数据组;

所述后台服务器将接收到的所述第一数据组与第一数据库进行匹配;其中,所述第一数据库包括至少一个第二数据组,所述第二数据组为账户信息、请求地址信息以及数据处理请求形成的预定义组合;

若所述第一数据组与所述第一数据库中的一个第二数据组匹配,则所述后台服务器对所述第一数据进行解密,形成解密后的第二数据;然后将所述第二数据与预定义的输入参数进行匹配;其中,所述账户信息和所述第二数据形成第三数据组;

若所述第二数据与所述预定义的输入参数匹配,则所述后台服务器将所述第三数据组与第二数据库进行匹配;其中,所述第二数据库包括至少一个第四数据组,所述第四数据组为账户信息和输入数据形成的预定义组合;

若所述第三数据组与所述第二数据库中的一个所述第四数据组匹配,则所述后台服务器根据所述第二数据和所述数据处理请求进行数据处理,生成第三数据;

所述后台服务器将所述第三数据发送至所述前端服务器。

进一步地,其中,所述前端服务器对所述输入数据进行加密时采用RSA算法进行加密,包括:

按照字符先后顺序,将所述输入数据拆分为多个第一字符串,每个所述第一字符串的最大长度为30个字节,形成第一字符串数组;

循环所述第一字符串数组,把每个所述第一字符串数组中的第一字符串转换为第一byte数组,然后把所述第一byte数组转换为16进制,形成第一BigInteger型数字;

使用RSA加密公式将所述第一BigInteger数字进行加密,并转换为16进制的第二字符串;依次循环,最终形成第二字符串数组;

根据所述第二字符串数组中第二字符串的先后顺序,循环所述第二字符串数组,在每个所述第二字符串后增加中文分号,最终拼接成为一个加密后的字符串,形成第一数据。

进一步地,其中,所述后台服务器对所述第一数据进行解密时采用RSA算法进行解密,包括:

按照字符的先后顺序,使用中文分号将所述第一数据拆分为多个第三字符串,每个所述第三字符串的最大长度为30个字节,形成第三字符串数组;

循环所述第三字符串数组,把每个所述第三字符串数组中的第三字符串由16进制字符串转换为第二byte数组,然后把所述第二byte数组转换为16进制,形成第二BigInteger型数字,并使用RSA解密公式将所述第二BigInteger型数字进行解密,形成16进制的第三BigInteger型数字,最后把所述第三BigInteger型数字转换为第三byte数组,并把所述第三byte数组转换为第四字符串;依次循环,最终形成第四字符串数组;

根据所述第四字符串数组中的第四字符串的先后顺序,把所述第四字符串数组转换为第五字符串,形成第二数据。

进一步地,其中,所述后台服务器将所述第三数据发送至所述前端服务器,包括:

所述后台服务器对所述第三数据进行加密,形成加密后的第四数据,并将所述第四数据发送至所述前端服务器;以及

所述前端服务器接收所述第四数据,并对所述第四数据进行解密,形成解密后的第五数据。

进一步地,其中,所述后台服务器对所述第三数据进行加密时采用RSA算法进行加密,包括:

按照字符先后顺序,将所述第三数据拆分为多个第六字符串,每个所述第六字符串的最大长度为30个字节,形成第五字符串数组;

循环所述第五字符串数组,把每个所述第五字符串数组中的第六字符串转换为第四byte数组,然后把所述第四byte数组转换为16进制,形成第四BigInteger型数字;

使用RSA加密公式将所述第四BigInteger数字进行加密,并转换为16进制的第七字符串;依次循环,最终形成第六字符串数组;

根据所述第六字符串数组中第七字符串的先后顺序,循环所述第六字符串数组,在每个所述第七字符串后增加中文分号,最终拼接成为一个加密后的字符串,形成所述第四数据。

进一步地,其中,所述对所述第四数据进行解密时采用RSA算法进行解密,包括:

按照字符的先后顺序,使用中文分号将所述第四数据拆分为多个第八字符串,每个所述第八字符串的最大长度为30个字节,形成第七字符串数组;

循环所述第七字符串数组,把每个所述第七字符串数组中的第八字符串由16进制字符串转换为第五byte数组,然后把所述第五byte数组转换为16进制,形成第五BigInteger型数字,并使用RSA解密公式将所述第五BigInteger型数字进行解密,形成16进制的第六BigInteger型数字,最后把所述第六BigInteger型数字转换为第六byte数组,并把所述第六byte数组转换为第九字符串;依次循环,最终形成第八字符串数组;

根据所述第八字符串数组中的第九字符串的先后顺序,把所述第八字符串数组转换为第十字符串,形成所述第五数据。

另一方面,本发明还提出了一种基于权限控制的安全控制系统,其特征在于,包括:前端服务器和后台服务器,其中,所述后台服务器包括:

加密数据接收模块,用于接收来自所述前端服务器的加密后的第一数据、账户信息、数据处理请求以及请求地址信息;其中,所述账户信息、所述请求地址信息以及所述数据处理请求形成第一数据组;

第一数据匹配模块,用于将所述第一数据组与第一数据库进行匹配;其中,所述第一数据库包括至少一个第二数据组,所述第二数据组为账户信息、请求地址信息以及数据处理请求形成的预定义组合;

加密数据解密模块,用于对所述第一数据进行解密,形成解密后的第二数据;

参数匹配模块,用于将所述第二数据与预定义的输入参数进行匹配;其中,所述账户信息和所述第二数据形成第三数据组;

第二数据匹配模块,用于将所述第三数据组与第二数据库进行匹配;其中,所述第二数据库包括至少一个第四数据组,所述第四数据组为账户信息和输入数据形成的预定义组合;

数据生成模块,用于根据所述第二数据和所述数据处理请求进行数据处理,生成第三数据;以及

生成数据发送模块,用于将所述第三数据发送至所述前端服务器。

进一步地,其中,所述前端服务器包括:

输入数据接收模块,用于接收账户信息、输入数据、数据处理请求以及请求地址信息;

数据加密模块,用于对所述输入数据进行加密,形成加密后的第一数据;

加密数据发送模块,用于将所述账户信息、所述第一数据、所述数据处理请求以及所述请求地址信息发送至后台服务器;以及

生成数据接收模块,用于接收来自所述后台服务器的所述第三数据。

进一步地,其中,所述后台服务器还包括生成数据加密模块,用于对所述第三数据进行加密,形成加密后的第四数据;其中,所述生成数据加密模块采用RSA算法进行加密,包括:

按照字符先后顺序,将所述第三数据拆分为多个第六字符串,每个所述第六字符串的最大长度为30个字节,形成第五字符串数组;

循环所述第五字符串数组,把每个所述第五字符串数组中的第六字符串转换为第四byte数组,然后把所述第四byte数组转换为16进制,形成第四BigInteger型数字;

使用RSA加密公式将所述第四BigInteger数字进行加密,并转换为16进制的第七字符串;依次循环,最终形成第六字符串数组;

根据所述第六字符串数组中第七字符串的先后顺序,循环所述第六字符串数组,在每个所述第七字符串后增加中文分号,最终拼接成为一个加密后的字符串,形成所述第四数据;

并且,所述前端服务器还包括生成数据解密模块,用于对所述第四数据进行解密,形成解密后的第五数据;其中,所述生成数据解密模块采用RSA算法进行解密,包括:

按照字符的先后顺序,使用中文分号将所述第四数据拆分为多个第八字符串,每个所述第八字符串的最大长度为30个字节,形成第七字符串数组;

循环所述第七字符串数组,把每个所述第七字符串数组中的第八字符串由16进制字符串转换为第五byte数组,然后把所述第五byte数组转换为16进制,形成第五BigInteger型数字,并使用RSA解密公式将所述第五BigInteger型数字进行解密,形成16进制的第六BigInteger型数字,最后把所述第六BigInteger型数字转换为第六byte数组,并把所述第六byte数组转换为第九字符串;依次循环,最终形成第八字符串数组;

根据所述第八字符串数组中的第九字符串的先后顺序,把所述第八字符串数组转换为第十字符串,形成所述第五数据。

进一步地,其中,所述输入数据包括通过数据查询、表单填写、数据导入等途径录入的业务数据。

与现有技术相比,本发明的一种基于权限控制的安全控制方法及安全控制系统,实现了如下的有益效果:

(1)本发明所述的基于权限控制的安全控制方法及安全控制系统,通过对输入数据进行加密处理后再进行数据的传送,避免了数据传输过程中被非法篡改,并且数据解密前进行相应的功能权限验证,避免因操作界面被篡改,导致功能权限设置未起到作用,然后进行数据权限验证,防止用户获取权限外的数据;数据加密和权限验证的双重保护手段保障操作的准确性和数据的安全性。

(2)本发明所述的基于权限控制的安全控制方法及安全控制系统,前端服务器和后台服务器传输数据时均需进行数据的加密和解密处理,对输入数据和输出数据进行全面保护,避免网络传输过程中数据被篡改,造成数据泄露。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1为本发明实施例提供的一种基于权限控制的安全控制方法的流程示意图;

图2为本发明实施例提供的一种输入数据加密的流程示意图;

图3为本发明实施例提供的对第一数据进行解密的流程示意图;

图4为本发明的权限设置的流程示意图;

图5为本发明实施例提供的另一种基于权限控制的安全控制方法的流程示意图;

图6为本发明实施例提供的对第三数据进行加密的流程示意图;

图7为本发明实施例提供的对第四数据进行解密的流程示意图;

图8为本发明实施例提供的一种后台服务器的结构示意图;

图9为本发明实施例提供的一种前端服务器的结构示意图;

图10为本发明实施例提供的另一种后台服务器的结构示意图;

图11为本发明实施例提供的另一种前端服务器的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

实施例1

图1为本发明实施例提供的一种基于权限控制的安全控制方法的流程示意图,所述方法包括:

步骤101、前端服务器接收账户信息、输入数据、数据处理请求以及请求地址信息。

具体的,当客户端登录时,前端服务器即可获取账户信息,当客户端在前端服务器的操作界面上输入数据并提出请求时,前端服务器即可接收到相应的输入数据、数据处理请求以及请求地址信息。

步骤102、前端服务器对输入数据进行加密,形成加密后的第一数据,并将账户信息、第一数据、数据处理请求以及请求地址信息发送至后台服务器;

其中,账户信息、请求地址信息以及数据处理请求形成第一数据组。

通过对输入数据进行加密可以避免输入数据在从前端服务器传输到后台服务器的过程中被非法篡改。

可选地,输入数据可以包括通过数据查询、表单填写、数据导入等途径录入的业务数据。

其中,对输入数据进行加密的算法可以为RSA(Rivest-Shamir-Adleman,密码系统)或DES(Date Encryption Standard,数据加密标准)或IDEA(International Date Encryption Algorithm,国际数据加密算法)或AES(Advanced Encryption Standard,高级加密标准)或其他现有的加密算法。

在一些可选的实施例中,前端服务器对输入数据进行加密时可采用RSA算法进行加密。图2为本发明实施例提供的一种输入数据加密的流程示意图,其中,该方法包括如下步骤:

步骤201、按照字符先后顺序,将输入数据拆分为多个第一字符串,每个第一字符串的最大长度为30个字节,形成第一字符串数组;

步骤202、循环第一字符串数组,把每个第一字符串数组中的第一字符串转换为第一byte数组,然后把第一byte数组转换为16进制,形成第一BigInteger型数字;

步骤203、使用RSA加密公式将第一BigInteger数字进行加密,并转换为16进制的第二字符串;依次循环,最终形成第二字符串数组;

步骤204、根据第二字符串数组中第二字符串的先后顺序,循环第二字符串数组,在每个第二字符串后增加中文分号,最终拼接成为一个加密后的字符串,形成第一数据。

RSA加密算法是目前最有影响力的加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为数据加密标准。

步骤103、后台服务器将接收到的第一数据组与第一数据库进行匹配。

其中,第一数据库包括至少一个第二数据组,第二数据组为账户信息、请求地址信息以及数据处理请求形成的预定义组合;

具体的,当后台服务器接收到前端服务器发送的由账户信息、请求地址信息以及数据处理请求形成得第一数据组后,将第一数据组与第二数据组进行匹配,以检测第一数据库中是否有与第一数据组中的账户信息、请求地址信息以及数据处理请求均相同的第二数据组以判断用户是否具有处理该输入数据的功能权限。

步骤104、若第一数据组与第一数据库中的一个第二数据组匹配,则后台服务器对第一数据进行解密,形成解密后的第二数据,然后将第二数据与预定义的输入参数进行匹配;

其中,账户信息和第二数据形成第三数据组。

具体的,当检测到第一数据库中有一个第二数据组,其所包含的账户信息、请求地址信息以及数据处理请求信息均与第一数据组相匹配,说明用户具有使用该数据处理功能的权限,此时后台服务器即可对第一数据进行解密,形成解密后的第二数据。

否则,若第一数据库中没有找到与第一数据组匹配的第二数据组,则后台服务器向前端服务器返回错误信息。

解密获得第二数据后,将解密后的第二数据与预定义的输入参数进行匹配,以检测第二数据是否与系统内预定义的输入参数相匹配。在一些可选的实施例中,后台服务器对第一数据进行解密时可采用RSA算法进行解密。图3为本发明实施例提供的对第一数据进行解密的流程示意图,其中,该方法包括如下步骤:

步骤301、按照字符的先后顺序,使用中文分号将第一数据拆分为多个第三字符串,每个第三字符串的最大长度为30个字节,形成第三字符串数组;

步骤302、循环第三字符串数组,把每个第三字符串数组中的第三字符串由16进制字符串转换为第二byte数组,然后把第二byte数组转换为16进制,形成第二BigInteger型数字,并使用RSA解密公式将第二BigInteger型数字进行解密,形成16进制的第三BigInteger型数字,最后把第三BigInteger型数字转换为第三byte数组,并把第三byte数组转换为第四字符串;依次循环,最终形成第四字符串数组;

步骤303、根据第四字符串数组中的第四字符串的先后顺序,把第四字符串数组转换为第五字符串,形成第二数据。

通过RSA算法对加密后输入数据进行解密,可保证解密的准确性以及安全性。

步骤105、若第二数据与预定义的输入参数匹配,则后台服务器将第三数据组与第二数据库进行匹配。

其中,第二数据库包括至少一个第四数据组,第四数据组为账户信息和输入数据形成的预定义组合。

具体的,当检测到第二数据与预定义的输入参数匹配,说明后台服务器解密得到的第二数据可以用于所请求的数据处理,则后台服务器即可将第三数据组与第二数据库内的第四数据组进行匹配,以检测第二数据库中是否有与第三数据组中的账户信息和第二数据均相同的第四数据组。

步骤106、若第三数据组与第二数据库中的一个第四数据组匹配,则后台服务器根据第二数据和数据处理请求进行数据处理,生成第三数据。

具体的,当检测到第二数据库中的一个第四数据组内的账户信息和输入数据均与第三数据组相匹配,说明用户具有访问该数据的权限。则后台服务器可以对第二数据和数据处理请求进行数据处理,生成第三数据。

否则,若第二数据库中无法找到与第三数据组匹配的第四数据组,则后台服务器结束该流程,并向前端服务器返回错误信息。

步骤107、后台服务器将第三数据发送至前端服务器。

用户通过前端服务器的操作界面可以查看该数据信息。

本发明实施例中的前端服务器先将用户通过客户端发送的输入数据进行加密,形成第一数据,再将第一数据和第一数据组发送至后台服务器,后台服务器通过将第一数据组于第一数据库匹配判断用户具有使用该数据处理功能的权限后,再对第一数据进行解密以得到第二数据,后台服务器通过将第二数据和账户信息形成的第三数据组与第二数据库进行匹配,判断用户具有访问该数据的权限,最终将第二数据进行处理生成第三数据并发送至前端服务器。由此可见,通过对输入数据进行加密可以有效防止数据在传输过程中被非法篡改,以保证数据的安全性,而且通过数据组与相关数据库的匹配判断,可以保证后台服务器只有在判定用户具有相关的功能处理或数据访问权限时才会对相关数据进行解密或者数据处理,从而保证了数据的安全性和准确性。

本发明所述的基于权限控制的安全控制方法,是在权限管理基础上进行的。图4为本发明的权限设置的流程示意图,该方法包括如下步骤:

步骤401、管理员登录;

系统的管理员是系统的管理者,负责管理系统中的用户,管理员可以在前端服务器的操作界面上设置用户的功能权限和数据权限,达到管理用户的目的。

用户是系统服务的对象,用户可以使用系统的功能和获取系统的数据。

步骤402、管理员选择系统的用户;

每个用户具有一个账户。用户使用系统或系统中的数据时,需要登录账户信息后方能获取数据。此步骤主要从系统的用户中选择特定的用户来设置相关权限。

步骤403、设置功能权限;

可以通过后台服务器访问前端服务器的界面或菜单被定义为功能权限,每个功能权限均对应一个HTTP请求的URL。

功能权限是用户操作时的使用对象,即用户可以使用的业务功能。例如,查询某公司的缴税记录或查询某人的身份证号均为业务功能。用户不可使用的业务功能在该用户的前端服务器处于隐藏状态。

用户可以具有多个功能权限,用户与功能权限的对应关系存储在权限信息库中。

步骤404、设置数据权限;

系统把数据进行分类,每一类数据有对应的数据参数。即为数据权限。例如统计局的数据参数为TJJ,公安局的数据参数为GAJ等。用户可以访问该数据参数的权限即数据权限。

用户可以具有多个数据权限,用户与数据权限的对应关系被存储在权限信息库中。

步骤405、权限信息入库。

管理员设置好用户的功能权限和数据权限后,把设置权限结果存储到权限信息库中,以备权限校验时调用。权限信息库可以是文件或数据库。

实施例2

如图5所示,为本发明实施例提供的另一种基于权限控制的安全控制方法的流程示意图,该方法包括如下步骤:

步骤501、前端服务器接收账户信息、输入数据、数据处理请求以及请求地址信息。

具体的,当客户端登录时,前端服务器即可获取账户信息,当客户端在前端服务器的操作界面上输入数据并提出请求时,前端服务器即可接收到相应的输入数据、数据处理请求以及请求地址信息。例如,用户登录系统后,其在操作界面填写:姓名“张三”、性别“男”,提交查询人员身份证号的申请。其中,用户的登录信息可为账户信息,{姓名”:“张三”、“性别”:“男”}为输入数据,查询人员身份证号为数据处理请求,信息发送的过程中自然生成请求地址信息。

步骤502、前端服务器对输入数据进行加密,形成加密后的第一数据,并将账户信息、第一数据、数据处理请求以及请求地址信息发送至后台服务器;

其中,账户信息、请求地址信息以及数据处理请求形成第一数据组。

具体的,前端服务器接收到账户信息、输入数据、数据处理请求以及请求地址信息后,对输入数据{“姓名”:“张三”、“性别”:“男”}进行加密,形成加密后的第一数据,该第一数据如果打印出来即为一个乱码数据,从而保证了数据的安全性。

然后将账户信息、第一数据、数据处理请求以及请求地址信息发送至后台服务器;其中,账户信息、请求地址信息以及数据处理请求形成第一数据组。

通过对输入数据进行加密可以避免输入数据在从前端服务器传输到后台服务器的过程中被非法篡改。

其中,对输入数据进行加密的算法可以为RSA或DES或IDEA或AES或其他现有的加密算法。

步骤503、后台服务器将接收到的第一数据组与第一数据库进行匹配;其中,第一数据库包括至少一个第二数据组,第二数据组为账户信息、请求地址信息以及数据处理请求形成的预定义组合。

具体的,当后台服务器接收到前端服务器发送的由账户信息、请求地址信息以及数据处理请求形成得第一数据组后,将第一数据组与第一数据库进行匹配;以检测第一数据库中是否有与第一数据组中的账户信息、请求地址信息以及数据处理请求均相同的第二数据组,即可判断用户是否具有查询身份证功能的权限。

步骤504、若第一数据组与第一数据库中的一个第二数据组匹配,则后台服务器对第一数据进行解密,形成解密后的第二数据,

然后将第二数据与预定义的输入参数进行匹配;

其中,账户信息和第二数据形成第三数据组。

具体的,当检测到第一数据库中有一个第二数据组,其所包含的账户信息、请求地址信息以及数据处理请求信息均与第一数据组相匹配,说明用户具有查询身份证功能的权限。则后台服务器可以对第一数据进行解密,形成解密后的{“张三”、“男”};否则,若第一数据库中没有找到与第一数据组匹配的第二数据组,则向前端服务器返回错误信息。

解密获得第二数据后,将解密后的第二数据与预定义的输入参数如{“姓名”、“性别”}进行匹配,以检测第二数据是否与系统内预定义的输入参数相匹配。

步骤505、若第二数据与预定义的输入参数匹配,则后台服务器将第三数据组与第二数据库进行匹配;

其中,第二数据库包括至少一个第四数据组,第四数据组为账户信息和输入数据形成的预定义组合。

具体的,如果检测到第二数据为{“张三”、“男”},其与预定义的输入参数{“姓名”、“性别”}相匹配,说明后台服务器解密得到的第二数据{“张三”、“男”}可以用于查询身份证的数据处理。则后台服务器将由账户信息和第二数据形成的第三数据组与第二数据库进行匹配,以检测第三数据组是否与第二数据库中的第四数据组相匹配。

步骤506、若第三数据组与第二数据库中的一个第四数据组匹配,则后台服务器根据第二数据和数据处理请求进行数据处理,生成第三数据。

具体的,当检测到第二数据库中的一个第四数据组内的账户信息和输入数据均与第三数据组相匹配,说明用户具有访问张三(男)的身份证号的权限。则后台服务器可以对第二数据进行数据处理,生成第三数据,即张三的身份证号。

否则,若第二数据库中无法找到与第三数据组匹配的第四数据组,则后台服务器结束该流程,并向前端服务器返回错误信息。

步骤507、后台服务器对第三数据进行加密,形成加密后的第四数据,并将第四数据发送至前端服务器。

具体的,后台服务器对第三数据(例如,张三的身份证号)进行加密,形成加密后的第四数据,并将第四数据发送至前端服务器。

通过对张三的身份证号进行加密可以避免其身份证号在从后台服务器传输到前台服务器的过程中被非法篡改,以保证数据传输过程的安全性。

其中对第三数据进行加密的算法可以为RSA或IDEA或AES或其他现有的加密算法。

在一些可选的实施例中,后台服务器对第三数据进行加密时可采用RSA算法进行加密,如图6所示,为本发明实施例提供的对第三数据进行加密的流程示意图,其中,该方法包括如下步骤:

步骤601、按照字符先后顺序,将第三数据拆分为多个第六字符串,每个第六字符串的最大长度为30个字节,形成第五字符串数组;

步骤602、循环第五字符串数组,把每个第五字符串数组中的第六字符串转换为第四byte数组,然后把第四byte数组转换为16进制,形成第四BigInteger型数字;

步骤603、使用RSA加密公式将第四BigInteger数字进行加密,并转换为16进制的第七字符串;依次循环,最终形成第六字符串数组;

步骤604、根据第六字符串数组中第七字符串的先后顺序,循环第六字符串数组,在每个第七字符串后增加中文分号,最终拼接成为一个加密后的字符串,形成第四数据。

步骤508、前端服务器接收第四数据,并对第四数据进行解密,形成解密后的第五数据。

具体的,前端服务器接收第四数据,并对第四数据进行解密,形成解密后的第五数据,即张三的身份证号。由于接收到的第四数据是被加密的,因此如想读取该数据首先需对该数据进解行密处理,保证了数据传输的安全性。

在一些可选的实施例中,对第四数据进行解密时可采用RSA算法进行解密,如图7所示,为本发明实施例提供的对第四数据进行解密的流程示意图,其中,该方法包括如下步骤:

步骤701、按照字符的先后顺序,使用中文分号将第四数据拆分为多个第八字符串,每个第八字符串的最大长度为30个字节,形成第七字符串数组;

步骤702、循环第七字符串数组,把每个第七字符串数组中的第八字符串由16进制字符串转换为第五byte数组,然后把第五byte数组转换为16进制,形成第五BigInteger型数字,并使用RSA解密公式将第五BigInteger型数字进行解密,形成16进制的第六BigInteger型数字,最后把第六BigInteger型数字转换为第六byte数组,并把第六byte数组转换为第九字符串;依次循环,最终形成第八字符串数组;

步骤703、根据第八字符串数组中的第九字符串的先后顺序,把第八字符串数组转换为第十字符串,形成第五数据。

本发明实施例中的前端服务器先将用户经客户端发送的输入数据进行加密,形成第一数据,再将第一数据和第一数据组发送至后台服务器,后台服务器通过将第一数据组与第一数据库匹配判断用户是否具有该数据处理功能的权限后,再对第一数据进行解密以得到第二数据,后台服务器通过将第二数据和账户信息形成的第三数据组与第二数据库进行匹配,判断用户具有访问所输入的数据的权限,最终将第二数据进行处理生成第三数据,后台服务器再次对第三数据进行加密,然后传送到前端服务器,前端服务器随该加密数据解密后即可得到处理后的数据。由此可见,通过对输入数据和查询数据进行加密可以有效防止数据在传输过程中被非法篡改,以保证数据的安全性,而且通过数据组与相关数据库的匹配判断,可以保证后台服务器只有在判定用户具有相关的功能处理或访问权限时才会对相关数据进行解密、加密或数据传输,从而保证了数据的准确性。

实施例3

本实施例描述了一种基于权限控制的安全控制系统,该安全系统包括:前端服务器和后台服务器。其中,后台服务器和前端服务器的结构分别如图8及图9所示,其中,图8为本发明实施例提供的一种后台服务器的结构示意图;图9为本发明实施例提供的一种前端服务器的结构示意图。

如图8所示,该后台服务器80包括:加密数据接收模块801、第一数据匹配模块802、加密数据解密模块803、参数匹配模块804、第二数据匹配模块805、数据生成模块806、生成数据发送模块807。

加密数据接收模块801,用于接收来自前端服务器90的加密后的第一数据、账户信息、数据处理请求以及请求地址信息;其中,账户信息、请求地址信息以及数据处理请求形成第一数据组;

具体的,加密数据接收模块801可接收来自前端服务器90的加密后的第一数据,避免直接接收输入数据,信息在传输的过程中被非法篡改,保证数据的安全性。

可选地,输入数据可以包括通过数据查询、表单填写、数据导入等途径录入的业务数据。

第一数据匹配模块802,用于将第一数据组与第一数据库进行匹配;其中,第一数据库包括至少一个第二数据组,第二数据组为账户信息、请求地址信息以及数据处理请求形成的预定义组合。

具体的,加密数据接收模块801接收到加密后的第一数据和第一数据组后,通过将第一数据组与第一数据库进行匹配,用于检测该用户是否具有使用该数据处理功能的权限。

加密数据解密模块803,用于对第一数据进行解密,形成解密后的第二数据;

具体的,当第一数据匹配模块802检测到第一数据组与第一数据库中的第二数据组相匹配,则说明用户具有使用该数据处理功能的权限。就可以通过加密数据解密模块803,对第一数据进行解密,形成解密后的第二数据。

参数匹配模块804,用于将第二数据与预定义的输入参数进行匹配;其中,账户信息和第二数据形成第三数据组;

具体的,当加密数据解密模块803,对第一数据进行解密生成第二数据后,参数匹配模块804,可以将第二数据与预定义的输入参数进行匹配,用于检测后台服务器解密得到的第二数据是否可以用于对所请求的数据进行处理。

第二数据匹配模块805,用于将第三数据组与第二数据库进行匹配;其中,第二数据库包括至少一个第四数据组,第四数据组为账户信息和输入数据形成的预定义组合;

具体的,当参数匹配模块804,检测到第二数据与预定义的输入参数相匹配时,说明解密得到的第二数据可以用于对所请求的数据进行处理。第二数据匹配模块805,就可以将第三数据组与第二数据库进行匹配,以检测该用户是否具有访问该数据的权限。

数据生成模块806,用于根据第二数据和数据处理请求进行数据处理,生成第三数据;

具体的,当第二数据匹配模块805检测到第三数据组与第二数据库的一个第四数据组相匹配时,说明用户具有访问该数据的权限。数据生成模块806,就可以对第二数据进行处理,生成第三数据。

生成数据发送模块807,用于将第三数据发送至前端服务器90。

具体的,数据生成模块806,对第二数据进行处理,生成第三数据后,通过生成数据发送模块807,将第三数据发送至前端服务器90。

如图9所示,该前端服务器90包括:输入数据接收模块901、数据加密模块902、加密数据发送模块903、生成数据接收模块904。

输入数据接收模块901,用于接收账户信息、输入数据、数据处理请求以及请求地址信息;

数据加密模块902,用于对输入数据进行加密,形成加密后的第一数据;

具体的,当输入数据接收模块901,接收到账户信息、输入数据、数据处理请求以及请求地址信息后,通过数据加密模块902,对输入数据进行加密,形成加密后的第一数据。通过对输入数据进行加密以保证数据传输的安全性。

加密数据发送模块903,用于将账户信息、第一数据、数据处理请求以及请求地址信息发送至后台服务器80;

具体的,当数据加密模块902,对输入数据进行加密,形成加密后的第一数据。通过加密数据发送模块903,对账户信息、第一数据、数据处理请求以及请求地址信息发送至后台服务器80。通过对输入数据进行加密形成第一数据后再进行数据传输,避免输入数据在从前端服务器90发送至后台服务器80时被非法篡改。

生成数据接收模块904,用于接收来自后台服务器80的第三数据。

具体的,当后台服务器80将解密得到的第二数据转换为第三数据后,经后台服务器80的生成数据发送模块将第三数据发送至前端服务器90,前端服务器90的生成数据接收模块904,可以接收第三数据。

如图10所示,是本发明实施例提供的另一种后台服务器的结构示意图,后台服务器80可以包括上述图8所对应实施例中的加密数据接收模块801、第一数据匹配模块802、加密数据解密模块803、参数匹配模块804、第二数据匹配模块805、数据生成模块806、生成数据发送模块807,进一步的,后台服务器还可以包括:生成数据加密模块808;

生成数据加密模块808用于对第三数据进行加密,形成加密后的第四数据;

具体的,当数据生成模块806,对第二数据进行处理,生成第三数据后,然后由生成数据加密模块808对第三数据进行加密,形成加密后的第四数据,最后通过生成数据发送模块807,将第四数据发送至前端服务器90。

进一步的,本实施例生成数据加密模块808采用RSA算法进行加密,其对第三数据进行加密的算法参见图6所示的流程示意图及上述相应说明。

如图11所示,是本发明实施例提供的另一种前端服务器的结构示意图,前端服务器90可以包括上述图9所对应实施例中的输入数据接收模块901、数据加密模块902、加密数据发送模块903、生成数据接收模块904,进一步的,前端服务器还包括生成数据解密模块905;

生成数据解密模块905,用于对第四数据进行解密,形成解密后的第五数据;

具体的,当后台服务器80的生成数据加密模块808对第三数据进行加密,形成加密后的第四数据,然后通过生成数据发送模块807,将第四数据发送至前端服务器90,前端服务器90的生成数据接收模块904接收该第四数据,然后通过生成数据解密模块905,对第四数据进行解密,形成解密后的第五数据。

进一步地,本实施例对生成数据解密模块采用RSA算法进行解密,其对第四数据进行解密的算法参见图7所示的流程示意图及上述相应说明。

通过上述实施例可知,本发明的基于权限控制的安全控制方法及安全控制系统,达到了如下的有益效果:

(1)本发明所述的基于权限控制的安全控制方法及安全控制系统,通过对输入数据进行加密处理后再进行数据的传送,避免了数据传输过程中被非法篡改,并且数据解密前进行相应的功能权限验证,避免因操作界面被篡改,导致功能权限设置未起到作用,然后进行数据权限验证,防止用户获取权限外的数据;数据加密和权限验证的双重保护手段保障操作的准确性和数据的安全性。

(2)本发明所述的基于权限控制的安全控制方法及安全控制系统,前端服务器和后台服务器传输数据时均需进行数据的加密和解密处理,对输入数据和输出数据进行全面保护,避免网络传输过程中数据被篡改,造成数据泄露。

虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1