数据处理方法、装置及系统与流程

文档序号:11593962阅读:151来源:国知局

本发明涉及计算机安全技术领域,特别是涉及一种数据处理方法、装置及系统。



背景技术:

随着计算机技术的快速发展,用户对计算机中数据安全的需求越来越高。为确保数据安全,通常使用硬件加密锁对数据进行加密。

目前,软件保护领域中常使用硬件加密锁保护目标数据,例如:将目标数据的授权信息存放于硬件加密锁中,计算机通过验证硬件加密锁中的信息对硬件加密锁进行验证,若验证通过,则表示该硬件加密锁经过正式授权;若验证失败,则计算机受限运行或停止工作。

发明人在实现上述发明过程中,发现现有技术中的硬件加密锁多为通用串行总线(universalserialbus,usb)接口的固件,其携带不便,并且容易丢失。



技术实现要素:

有鉴于此,本发明提供的一种数据处理方法、装置及系统,主要目的在于解决现有技术中在使用硬件加密锁对计算机数据进行保护过程中,硬件加密锁携带不便,并且易丢失的问题。

为了解决上述问题,本发明主要提供如下技术方案:

第一方面,本发明提供了一种数据处理方法,该方法包括:

加密锁与计算设备建立通信连接时,验证所述通信连接是否为有效连接;

若确定所述连接通信为有效连接,则基于所述通信连接接收所述计算设备发送的数据请求信息,并根据所述数据请求信息获取对应的目标数据;

将所述目标数据发送至所述计算设备。

可选的,验证所述通信连接是否为有效连接包括:

接收计算设备发送的预设数据及数字签名,所述数字签名为所述计算设备使用计算设备私钥对预设数据进行签名得到;

接收所述计算设备广播的计算设备公钥,所述计算设备私钥与所述计算设备公钥为一对非对称密钥;

利用所述计算设备公钥、所述预设数据对所述数字签名进行验签;

若验签成功,则确定所述连接通信为有效连接;

若验签失败,则确定所述连接通信为无效连接。

可选的,根据所述数据请求信息获取对应的目标数据包括:

对所述数据请求信息进行解析,并获取所述目标数据对应的标识信息;

根据所述标识信息从虚拟存储空间中获取加密后的目标数据;

接收所述加密后的目标数据的解密指令,并根据所述解密指令对所述加密后的目标数据进行解密;

获取解密后的目标数据。

可选的,在根据所述标识信息从虚拟存储空间中获取加密后的目标数据之前,所述方法还包括:

将所述目标数据进行加密,并将加密后的目标数据存储于虚拟磁盘中;

与所述虚拟磁盘进行挂载。

可选的,在确定所述连接通信为有效连接之后,所述方法包括:

接收所述计算设备发送的心跳包,并对所述心跳包进行响应。

第二方面,本发明还提供一种数据处理装置,该装置包括:

验证单元,用于与计算设备建立通信连接时,验证所述通信连接是否为有效连接;

第一接收单元,用于当所述验证单元确定所述连接通信为有效连接时,基于所述通信连接接收所述计算设备发送的数据请求信息;

获取单元,用于根据所述第一接收单元接收到的所述数据请求信息获取对应的目标数据;

发送单元,用于将所述目标数据发送至所述计算设备。

可选的,所述验证单元包括:

第一接收模块,用于接收计算设备发送的预设数据及数字签名,所述数字签名为所述计算设备使用计算设备私钥对预设数据进行签名得到;

第二接收模块,用于接收所述计算设备广播的计算设备公钥,所述计算设备私钥与所述计算设备公钥为一对非对称密钥;

验签模块,用于利用所述第二接收模块接收到的所述计算设备公钥、所述第一接收模块接收到的所述预设数据对所述数字签名进行验签;

第一确定模块,用于当所述验签模块验签成功时,确定所述连接通信为有效连接;

第二确定模块,用于当所述验签模块验签失败时,确定所述连接通信为无效连接。

可选的,所述获取单元包括:

解析模块,用于对所述数据请求信息进行解析;

第一获取模块,用于在所述解析模块对所述数据请求信息进行解析后,获取所述目标数据对应的标识信息;

第二获取模块,用于根据所述第一获取模块获取的所述标识信息从虚拟存储空间中获取加密后的目标数据;

接收模块,用于接收所述加密后的目标数据的解密指令;

解密模块,用于根据所述接收模块接收到的所述解密指令对所述第二获取模块获取到的所述加密后的目标数据进行解密;

第三获取模块,用于获取解密后的目标数据。

可选的,所述获取单元还包括:

加密模块,用于在所述第二获取模块根据所述标识信息从虚拟存储空间中获取加密后的目标数据之前,将所述目标数据进行加密;

存储模块,用于将所述加密模块加密后的目标数据存储于虚拟磁盘中;

挂载模块,用于与所述虚拟磁盘进行挂载。

可选的,所述装置包括:

第二接收单元,用于在确定所述连接通信为有效连接之后,接收所述计算设备发送的心跳包;

响应单元,用于对所述第二接收单元接收到的所述心跳包进行响应。

第三方面,本发明还提供一种数据处理系统,所述系统包括计算设备及加密锁,所述加密锁包含如第二方面中任一项所述的装置。

借由上述技术方案,本发明提供的技术方案至少具有下列优点:

本发明提供的数据处理方法、装置及系统,加密锁与计算设备建立通信连接时,验证该通信连接是否为有效连接,在确定所述连接通信为有效连接后,基于该通信连接接收计算设备发送的数据请求信息,并根据该数据请求信息获取对应的目标数据,将目标数据发送至计算设备,与现有技术中使用硬件加密锁相比,本发明提供的加密锁安装于移动终端中,模拟硬件加密锁,以达到既能确保数据安全,又能够实现加密锁易携带、且不易丢失的目的。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种数据处理方法的流程图;

图2示出了本发明实施例提供的一种加密锁app的架构示意图;

图3示出了本发明实施例提供的一种验证通信连接是否为有效连接的流程图;

图4示出了本发明实施例提供的一种数据处理装置的组成框图;

图5示出了本发明实施例提供的另一种数据处理装置的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种数据处理方法,如图1所示,所述方法包括:

101、加密锁与计算设备建立通信连接时,验证所述通信连接是否为有效连接。

本发明实施例所述的加密锁不同于现有技术中的硬件锁,所述加密锁为在电子设备上模拟的硬件加密锁,其实质为一个软件程序,所述的电子设备包含但不局限于以下内容,例如:膝上电脑、个人电脑、移动手机、笔记本电脑、平板电脑等等,为了便于描述,后续实施例中会以加密锁为安装于智能手机中的应用程序(application,app)为例进行说明,但是,应当明确的是,该种说明方式并非意在限定加密锁的运行载体及呈现形式。

首先,启动加密锁app,计算设备通过有线或者无线连接与加密锁app建立通信连接时,需要验证加密锁app与计算设备之间的连接是否为有效连接,即验证计算设备是否有使用加密锁app的访问、使用权限,以确定加密锁app中数据的安全。在实际操作过程中,加密锁app与计算设备之间存在两种通信连接,一种是有效连接,即两者之间允许数据交互,并执行步骤102;第二种是无效连接,即计算设备没有访问加密锁app的权限,为确保加密锁app内数据的安全性,需要将加密锁app与计算设备建立的通信连接进行终止。

102若确定所述连接通信为有效连接,则加密锁基于所述通信连接接收所述计算设备发送的数据请求信息,并根据所述数据请求信息获取对应的目标数据。

如图2所示,图2示出了本发明实施例提供的一种加密锁app的架构示意图,加密锁app内包含多个模块,包含通信模块201、验证模块202、加解密模块203、虚拟磁盘模块204、entry模块205,其中,通信模块201,用于实现网络通信的基本功能,包括连接计算设备,数据收发等,验证模块202,用于验证所述通信连接是否为有效连接(步骤101)。

本发明的目的有两个,携带方便、使用便捷,在智能手机侧通过app模拟硬件加密锁,代替现有技术中的实物的硬件加密锁,提高了加密锁的便于携带性。在本步骤中,加密锁app中的通信模块201基于有效通信连接接收计算设备发送的数据请求信息,对该数据请求信息进行解析,并根据所述数据请求信息获取对应的目标数据,通信模块201将该目标数据传输至虚拟磁盘模块204,以便于在虚拟磁盘模块204内查找目标数据,待虚拟磁盘模块204确定目标数据之后,将目标数据传输至通信模块201。

103、加密锁将所述目标数据发送至所述计算设备。

加密锁app基于通信模块201将目标数据发送至计算设备,实现数据的交互。需要说明的是,在通信模块201执行数据发送之前,需要得到entry模块205的授权许可逻辑,得到授权许可后,方能将目标数据发送至计算设备。

本发明实施例提供的数据处理方法,加密锁与计算设备建立通信连接时,验证该通信连接是否为有效连接,在确定所述连接通信为有效连接后,基于该通信连接接收计算设备发送的数据请求信息,并根据该数据请求信息获取对应的目标数据,将目标数据发送至计算设备,与现有技术中使用硬件加密锁相比,本发明实施例提供的加密锁安装于移动终端中,模拟硬件加密锁,以达到既能确保数据安全,又能够实现加密锁易携带、且不易丢失的目的。

进一步的,作为对图1所示方法的扩展及细化,在步骤101执行验证所述通信连接是否为有效连接时,可以采用但不局限于以下方法实现,如图3所示,所述方法包括:

301、加密锁接收计算设备发送的预设数据及数字签名,所述数字签名为所述计算设备使用计算设备私钥对预设数据进行签名得到。

在加密锁app与计算设备建立通信连接过程中,计算设备向加密锁app发送预设数据及数字签名,该数字签名为计算设备使用计算设备的私钥对预设数据进行签名得到,其目的在于让加密锁app通过预设数据及计算设备私钥对应的公钥验证双方的身份,确保数据在传输过程中不被恶意篡改。

在实际应用中,所述预设数据由计算设备随机生成的,其设定的内容本发明实施例不做限定。本发明实施例中,对计算设置执行数字签名的过程请参考现有技术的相关实现,本发明实施例在此不再进行赘述。

302、加密锁接收所述计算设备广播的计算设备公钥,所述计算设备私钥与所述计算设备公钥为一对非对称密钥。

在加密锁app与计算设备建立通信连接之前,或者,在加密锁app与计算设备建立通信连接过程中,计算设备向外部广播其私钥对应的公钥,加密锁app接收计算设备广播的计算设备公钥,以便使用该公钥对接收到的数字签名验签。

303、加密锁利用所述计算设备公钥、所述预设数据对所述数字签名进行验签。

若验签成功,则执行步骤304;若验签失败,则执行步骤305。

具体的,计算设备获取到计算设备的公钥及预设数据后,利用哈希算法对计算设备的公钥及预设数据进行哈希运算,得到一个第一哈希值,然后利用计算设备私钥对该第一哈希值进行加密,得到数字签名,计算设备将该数字签名及预设数据发送至加密锁app;加密锁app在接收到计算设备的数字签名及预设数据后,提取预设数据,并将预设数据进行哈希计算,得到第二哈希值;与此同时,加密锁app使用计算设备的公钥对计算设备签名信息进行解密得到一个第一哈希值,将解密得到的第一哈希值与计算得到的第二哈希值进行比对,若两者一致,则说明预设数据在传输过程中未被篡改,在获取预设数据之后可直接使用该预设数据,可继续执行步骤304;若两者不一致,则说明预设数据在数据传输过程中被篡改,可能存在信息泄露的风险。

304、加密锁确定所述连接通信为有效连接。

305、加密锁确定所述连接通信为无效连接。

当确定加密锁app与计算设备之间为无效连接时,将该无效连接终止。作为本发明实施例的一种可选方式,也可以在计算设备的显示界面中,输出无效连接的提示信息,以便计算设备用户重新连接其他有效连接等操作。

进一步的,本发明实施例提供的加密锁app除了能够便于用户随身携带外,还具有加密传输数据的作用,因此,在根据所述标识信息从虚拟存储空间中获取加密后的目标数据之前,所述方法还包括:将所述目标数据进行加密,其中,执行该功能的是图2所示的加解密模块203,待加解密模块203、将数据进行加密后,将加密后的数据传输至虚拟磁盘模块204,由虚拟磁盘模块204将加密后的目标数据存储于虚拟磁盘中;该虚拟磁盘可以是智能手机中的一个预定存储空间;将所述虚拟磁盘与所述加密锁进行挂载,以便于计算设备获取目标数据时,直接从虚拟磁盘中获取目标数据,并发送至计算设备,实现数据的加密传输。

在执行目标数据的加密时,其加密密码可由加密锁app的使用者(即智能手机的使用者)进行设置,或者,也可设置一个默认加密密码等。具体的,本发明实施例不做限定。

为了确定计算设备与加密锁app传输数据的安全性,在加密锁app根据所述数据请求信息获取对应的目标数据时,可以包含但不局限于以下方法实现,例如:对所述数据请求信息进行解析,并获取所述目标数据对应的标识信息;根据所述标识信息从虚拟存储空间(虚拟磁盘)中获取加密后的目标数据;接收所述加密后的目标数据的解密指令(解密密码),验证解密指令(解密密码)的正确性,若解密指令(解密密码)正确,则获取解密后的目标数据,并将解密后的目标数据发送至计算设备;若解密指令(解密密码)错误,则拒绝对加密后的目标数据的解密。

为了避免计算设备与加密锁app之间网络资源的浪费,在确定所述连接通信为有效连接之后,加密锁app接收所述计算设备发送的心跳包,并对所述心跳包进行响应,既能够节省网络资源,又能确保计算设备与加密锁app处于连接状态。

进一步的,作为对上述图1所示方法的实现,本发明另一实施例还提供了一种数据处理装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

本发明实施例提供一种数据处理装置,如图4所示,包括:

验证单元41,用于与计算设备建立通信连接时,验证所述通信连接是否为有效连接;

第一接收单元42,用于当所述验证单元41确定所述连接通信为有效连接时,基于所述通信连接接收所述计算设备发送的数据请求信息;

获取单元43,用于根据所述第一接收单元42接收到的所述数据请求信息获取对应的目标数据;

发送单元44,用于将所述目标数据发送至所述计算设备。

进一步的,如图5所示,所述验证单元41包括:

第一接收模块411,用于接收计算设备发送的预设数据及数字签名,所述数字签名为所述计算设备使用计算设备私钥对预设数据进行签名得到;

第二接收模块412,用于接收所述计算设备广播的计算设备公钥,所述计算设备私钥与所述计算设备公钥为一对非对称密钥;

验签模块413,用于利用所述第二接收模块412接收到的所述计算设备公钥、所述第一接收模块411接收到的所述预设数据对所述数字签名进行验签;

第一确定模块414,用于当所述验签模块验签成功时,确定所述连接通信为有效连接;

第二确定模块415,用于当所述验签模块验签失败时,确定所述连接通信为无效连接。

进一步的,如图5所示,所述获取单元43包括:

解析模块431,用于对所述数据请求信息进行解析;

第一获取模块432,用于在所述解析模块431对所述数据请求信息进行解析后,获取所述目标数据对应的标识信息;

第二获取模块433,用于根据所述第一获取模块432获取的所述标识信息从虚拟存储空间中获取加密后的目标数据;

接收模块434,用于接收所述加密后的目标数据的解密指令;

解密模块435,用于根据所述接收模块434接收到的所述解密指令对所述第二获取模块获取到的所述加密后的目标数据进行解密;

第三获取模块436,用于获取解密后的目标数据。

进一步的,如图5所示,所述获取单元还包括:

加密模块437,用于在所述第二获取模块433根据所述标识信息从虚拟存储空间中获取加密后的目标数据之前,将所述目标数据进行加密;

存储模块438,用于将所述加密模块437加密后的目标数据存储于虚拟磁盘中;

挂载模块439,用于与所述虚拟磁盘进行挂载。

进一步的,如图5所示,所述装置包括:

第二接收单元45,用于在确定所述连接通信为有效连接之后,接收所述计算设备发送的心跳包;

响应单元46,用于对所述第二接收单元45接收到的所述心跳包进行响应。

进一步的,本发明实施例还提供一种数据处理系统,该所述系统包括计算设备及加密锁,所述加密锁包含如图4或图5中任一幅所示的装置。

本发明实施例提供的数据处理装置及系统,加密锁与计算设备建立通信连接时,验证该通信连接是否为有效连接,在确定所述连接通信为有效连接后,基于该通信连接接收计算设备发送的数据请求信息,并根据该数据请求信息获取对应的目标数据,将目标数据发送至计算设备,与现有技术中使用硬件加密锁相比,本发明实施例提供的加密锁安装于移动终端中,模拟硬件加密锁,以达到既能确保数据安全,又能够实现加密锁易携带、且不易丢失的目的。

所述数据处理装置包括处理器和存储器,上述验证单元、第一接收单元、获取单元和发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中在使用硬件加密锁对计算机数据进行保护过程中,硬件加密锁携带不便,并且易丢失的问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:与计算设备建立通信连接时,验证所述通信连接是否为有效连接;若确定所述连接通信为有效连接,则基于所述通信连接接收所述计算设备发送的数据请求信息,并根据所述数据请求信息获取对应的目标数据;将所述目标数据发送至所述计算设备。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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