发明内容
本发明的目的在于提出一种安全保障机制,以解决数据在传输过程中容易遭到第三方攻击的问题。
本发明提供了一种具备源数据安全保障机制的集中式数据保全方法,其包括:
步骤1:客户端获取基础数据、源数据及对应所述源数据的安全等级需求,所述基础数据包括:用户身份信息ID、用户设备信息IM值或IP、和保全事件发生时的时间戳信息;所述安全等级需求包括:安全级别及所述安全级别对应的密级处理方式、传输方式;
步骤2:客户端根据所述安全等级需求,确定密级处理方式,并对所述源数据进行密级处理,获取密级处理后的源数据,并对其应用HASH算法,获取所述密级处理后的源数据的哈希值;所述密级处理包括:加密处理、不加密处理;
步骤3:客户端根据所述安全等级需求,确定传输方式,并根据所述传输方式形成数据包;所述传输方式包括:密文传输、明文传输;
步骤4:客户端将所述数据包传输到服务器;
步骤5:所述服务器对接收的数据包进行拆包处理,根据所述传输方式提取所述密级处理后的源数据及所述哈希值;
步骤6:所述服务器对所述密级处理后的源数据应用HASH算法,获取所述密级处理后的源数据的验证哈希值;
步骤7:所述服务器将所述验证哈希值与所述哈希值进行比对,若相同,则继续从接收的数据包中获取基础数据,并进行数据保全。
一种具备源数据安全保障机制的集中式数据保全系统,其特征在于,包括:客户端和服务器。
所述客户端用于:
获取基础数据、源数据及对应所述源数据的安全等级需求,所述基础数据包括:用户身份信息ID、用户设备信息IM值或IP、和保全事件发生时的时间戳信息;所述安全等级需求包括:安全级别及所述安全级别对应的密级处理方式、传输方式;根据所述安全等级需求,确定密级处理方式,并对所述源数据进行密级处理,获取密级处理后的源数据,并对其应用HASH算法,获取所述密级处理后的源数据的哈希值;所述密级处理包括:加密处理、不加密处理;根据所述安全等级需求,确定传输方式,并根据所述传输方式形成数据包;所述传输方式包括:密文传输、明文传输;将所述数据包传输到服务器。
所述服务器用于:
对接收的数据包进行拆包处理,根据所述传输方式提取所述密级处理后的源数据及所述哈希值;对所述密级处理后的源数据应用HASH算法,获取所述密级处理后的源数据的验证哈希值;将所述验证哈希值与所述哈希值进行比对,若相同,则继续从接收的数据包中获取基础数据,并进行数据保全。
本发明实施例提供的具备源数据安全保障机制的集中式数据保全方法及系统、服务器、客户端,与现有技术相比,有效的实现了对源数据进行包装过程中达到数据保全中源数据对完整性和特殊源数据机密性的要求,能够显著提高保全系统安全性的目的。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现阶段的数据保全系统多只注重对数据保全工作的简单进行,并不重视数据本身的完整性和机密性保护,导致数据在传输过程中很容易遭到第三方攻击的问题,本发明提出具备源数据安全保障机制的集中式数据保全方法。如图1和图2所示,其具体包括:
步骤1:客户端获取基础信息。用户登录状态下,获取用户身份信息ID、用户设备信息IM值或IP等信息,并获取保全事件发生时的时间戳信息。此步骤中要获取用户确定传输时刻到时间戳,此前需要用户登录和选择需要传输的源数据,并确认将源数据传入客户端。
步骤2:用户将源数据传入客户端,并选择源数据的安全级别。此操作是为了根据用户对源数据安全等级的需求,对其进行加密处理,之后产生一套安全传输方案;所述安全等级需求包括:安全级别及所述安全级别对应的密级处理方式、传输方式和安全处理方式。
在此实施例中,可将安全级别分为四级,分别为0级、1级、2级和3级,当所述安全级别为0级时,所述密级处理为不加密处理,所述传输方式为明文传输,所述安全处理方式为:不处理;当所述安全级别为1级时,所述密级处理为不加密处理,所述传输方式为密文传输,所述安全处理方式为:不处理;当所述安全级别为2级时,所述密级处理为不加密处理,所述传输方式为密文传输,所述安全处理方式为:安全处理;当所述安全级别为3级时,所述密级处理为加密处理,所述传输方式为密文传输,所述安全处理方式为:安全处理。
在以下步骤中,安全级别的分类皆是按照以上分类进行。
当用户选择源数据的安全级别后,客户端根据源数据安全级别,确定密级处理方式,其中密级处理方式包括加密处理和不加密处理。
若源数据安全级别为3级,则进入步骤3进行加密处理;若源数据安全级别不为3级,则进入步骤4进行不加密处理。此处若源数据安全等级为3级,则源数据不向保全系统公开,为保护源数据机密性则对源数据进行加密处理,产生加密后的源数据。
步骤3:客户端根据源数据确定第一加密方式,判断采用第一对称加密或第一非对称加密对源数据进行加密。若采用第一对称加密方式则进入步骤3.1,若采用第一非对称加密方式则进入步骤3.2。
步骤3.1:利用第一对称加密方式对源数据进行加密。客户端利用用户输入或自动产生的密钥对源数据进行加密,并且该密钥交由客户端存储,不与服务器共享,并用该密钥对源数据进行加密。此处可以弹出密码框要求用户数据密码,并规定密码复杂度,或系统自动生成并发送给用户,存储在用户设备中。
步骤3.2:利用第一非对称加密方式对源数据进行加密。利用客户端自身公钥对源数据进行加密,后期可用服务器的私钥进行解密。
步骤4:客户端对源数据或加密后的源数据应用HASH算法,获取哈希值,为后续完整性校验提供依据。
步骤5:客户端根据源数据安全等级,判断采用明文传输或密文传输。若源数据安全等级为0级,则采用明文传输且进入步骤7;若源数据安全等级不为0级,则采用密文传输且进入步骤6。
步骤6:当采用的传输方式为密文传输时,根据源数据确定第二加密方式,判断采用第二对称加密或第二非对称加密进行加密。若采用第二对称加密则进入步骤6.1,若采用第二非对称加密则进入步骤6.2。此步骤中的加密工作是为了保障源数据在传输过程中不被恶意获取,从而泄漏用户数据。
步骤6.1:当采用第二对称加密时,首先需要判断客户端和服务器是否存在共享密钥,若不存在,则客户端随机生成共享密钥,并利用公钥对所述共享密钥加密获得加密保护的共享密钥,或客户端通过密钥交换算法生成共享密钥。之后用共享密钥对基础信息、密级处理后的源数据及其哈希值进行加密保护。
密钥交换算法:通过基于椭圆曲线的Diffie-Hellman密钥交换方案(ECDH),协商对称密钥。Client和Sever共享曲线参数(椭圆曲线E,阶N,曲点G);Client生成随机数a,并计算A=a*G,Server生成随机数b,并计算B=b*G,Client与Sever交换公钥A\B;513:Client通过自己的私钥a计算得到K=a*B,Sever同理得到KQ’=b*A,即对称密钥为
KQ(KQ=b*A=b*(a*G)=(b*a)*G=(a*b)*G=a*(b*G)=a*B=KQ’。
步骤6.2:当采用的传输方式为第二非对称加密时,利用服务器公钥对基础信息、密级处理后的源数据及其哈希值进行加密。
步骤7:封装数据包。
当第二加密方式为第二对称加密时,将加密获得的第一源数据密文、第一哈希值密文、第一基础数据密文以及加密保护的共享密钥封装为数据包;当第二加密方式为第二非对称加密时,将加密获得的第二源数据密文、第二哈希值密文、第二基础数据密文封装为数据包。
当传输方式为明文传输时,将密级处理后的源数据、哈希值、基础数据封装为数据包。
步骤8:根据源数据安全等级,判断是否对数据包进行安全处理。当安全等级为2或3时,需要对数据包进行安全处理,并获得安全处理数据,以进一步加强数据包安全性。安全处理方式包括:加入随机数防止重放攻击、采用RFC[2104]中提到的HMAC对加密后的密文C进行处理进一步防止数据在传输过程中遭到中间人攻击等。
采用RFC[2104]中提到的HMAC对加密后的密文C进行处理示例:
定义ipad和opad两个String(分别代表innet和outer),假设B为哈希运算的分组长度,并定义ipad=0x36重复B次、opad=0x5C重复B次;
得到 将经过处理后得到的HMAC(K,C)进行数字签名。
步骤9:客户端将数据包传送到服务器,等待服务器进行反馈。
步骤10:客户端判断反馈信息,若为true则反馈用户“传输成功”,若为false则重复步骤9。
以上为在客户端进行的数据源安全保障工作,以下为在服务器进行的相关验证及保全工作:
步骤11:服务器接收数据包,进行拆包处理。若存在步骤8的附加内容,则优先处理。若不存在,则进一步对内容进行判断:如果数据包为明文传输产生的数据包,则进入步骤12;如果数据包为密文传输产生的数据包,且密文传输方式采用第二对称加密时,则进入步骤11.1;如果数据包为密文传输产生的数据包,且密文传输方式采用第二非对称加密时,则进入步骤11.2。所述附加内容为步骤8中对数据包进行安全处理所产生的安全处理数据
步骤11.1:若客户端和服务器存在共享密钥,服务器获取共享密钥,并用所述共享密钥对密级处理后的源数据解密,获取密级处理后的源数据及其哈希值;若客户端和服务器不存在共享密钥,服务器利用服务器私钥对共享密钥进行解密操作,用所述共享密钥对密级处理后的源数据解密,获取密级处理后的源数据及其哈希值,然后进入步骤11.3。
步骤11.2:服务器利用服务器私钥对密级处理后的源数据解密,获取密级处理后的源数据及其哈希值,然后进入步骤11.3。
步骤11.3:服务器获取基础信息。提取数据包中用户身份信息ID、用户设备信息IM值或IP等信息并获取时间戳信息。
步骤11.2:检验源数据完整性。对密级处理后源数据应用HASH算法,获取所述密级处理后的源数据的验证哈希值,将所述验证哈希值与所述哈希值进行比对。若相同,则返回true到客户端;若不同,则表示传输过程中数据完整性被破坏,则返回false,要求客户端重传。
步骤13:进行数据保全后续工作。之后将进行包括数据保全、证书生成等后续工作。
获取保全所需基本信息,根据用户对保全数据安全等级的需求,对其进行加密处理,之后产生一套安全传输方案。首先对源数据进行哈希,得到哈希值,再通过加密算法对源数据及其哈希值进行加密运算,产生密文;将数据传输到s端,在s端通过对揭秘后源数据进行哈希,比对哈希值,判断数据完整性,若有问题则要求重传;之后再进行后续的数据保全工作。本方法的有益效果:通过本方法对源数据进行包装,达到了数据保全中源数据对完整性和特殊源数据机密性的要求,能够显著提高保全系统安全性。
另外,本发明还对具备源数据安全保障机制的集中式数据保全方法的客户端,其执行上述步骤1-10。概括为:
获取基础数据、源数据及对应所述源数据的安全等级需求,所述基础数据包括:用户身份信息ID、用户设备信息IM值或IP、和保全事件发生时的时间戳信息;所述安全等级需求包括:安全级别及所述安全级别对应的密级处理方式、传输方式;根据所述安全等级需求,确定密级处理方式,并对所述源数据进行密级处理,获取密级处理后的源数据,并对其应用HASH算法,获取所述密级处理后的源数据的哈希值;所述密级处理包括:加密处理、不加密处理;根据所述安全等级需求,确定传输方式,并根据所述传输方式形成数据包;所述传输方式包括:密文传输、明文传输;将所述数据包传输到服务器。
另外,本发明还对具备源数据安全保障机制的集中式数据保全方法的服务器,其执行上述步骤11-13。概括为:
对接收的数据包进行拆包处理,根据所述传输方式提取所述密级处理后的源数据及所述哈希值;对所述密级处理后的源数据应用HASH算法,获取所述密级处理后的源数据的验证哈希值;将所述验证哈希值与所述哈希值进行比对,若相同,则继续从接收的数据包中获取基础数据,并进行数据保全。
为了对本技术做最全面的保护,还提出了具备源数据安全保障机制的集中式数据保全方法的系统,其包括:上述客户端和上述服务器,客户端和服务器中间进行数据传输。
本系统着重对于数据本身的完整性和机密性保护提出一套健全的安全保障机制,用户可以对所保全内容的安全需求进行判断,以有选择性进行加密工作,提高保全系统运行效率,以确保数据在保全过程中不出现任何纰漏。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。