一种预安装软件隐藏运行的安全防护方法与流程

文档序号:19311883发布日期:2019-12-03 23:36阅读:431来源:国知局
一种预安装软件隐藏运行的安全防护方法与流程

本发明涉及一种专用软件安全防护的技术,尤其涉及一种由厂商预安装于固态硬盘的软件的安全防护方法。



背景技术:

随着计算机技术的发展,软件知识产权越来越受到重视,软件也越来越成为很多软硬件结合产品的核心资产,进行全面软件安全防护成为必须。在许多领域,售出整机系统时,整机中携带有售出方的专用软件,用户必须使用该专用软件才能完成对整机产品的使用,典型的如数控机床及其专用软件、武器装备载有的专用计算机及软件,这些软件如果被复制,会极大程度损害售出方利益。

现有很多安全防护技术已经很大程度解决的软件的防拷贝问题,主要包括各种方法实现的软件绑定硬件技术、许可证分发技术、加密技术、联网在线认证等等。这些技术一般的出发点是:即使软件被拷贝也无法在其他主机上运行,软件和数据变得无法解析。但是将这些软件的可执行文件及数据文件依旧直观地存在于计算机文件系统中,用户可以直接对这些文件进行拷贝,然后进行相应破解分析。

在一些领域或场合,厂商除了采取上述的防拷贝技术外,还希望用户可以按照正常方式使用其售出的计算机产品及所搭载的预安装软件,但不希望用户能够直观感受到软件可执行文件及相关数据文件的存在,或者说不希望用户直观地知晓有对其保密的内容。同时,搭载软件的硬盘也可以在其他机器上正常使用,用户不能直观感知到产品的使用限制。



技术实现要素:

本发明的目的在于提供一种预安装软件安全防护方法及固态硬盘,以解决预安装软件及数据对用户不可见,且用户不可直观感知使用限制的问题。

本发明一种预安装软件隐藏运行的安全防护方法,其中,包括:将固态硬盘存储区分为可见区与隐藏区,主机系统都仅能识别到可见区,使用私有隐藏区命令对隐藏区进行操作,在出厂前进行受保护程序及数据文件的注入,使用一个存储于可见区的映射标记存储在可见区,隐藏区包含受保护可执行程序,映射标记用来启动受保护可执行程序,通过对每个受保护程序维护一张位置不变的文件目录表进行数据文件操作。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,在出厂环境主机中,绕过主机文件系统,调用nvme驱动程序,发出nvme私有命令;在出厂环境主机中,固态硬盘主控接收并识别到私有隐藏区写命令并执行,将受保护的文件写入到隐藏区中。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,对于存在对受保护数据文件进行操作需求的受保护程序,准备一段充分的逻辑地址空间,用于存放相应数据文件,并对每个受保护程序维护一张的文件目录表,该文件目录表存在隐藏区的特定位置不变。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,根据受保护程序及去独立文件目录表在隐藏区中的位置信息,制作一个映射标记,存在可见区中;在受绑定用户主机环境中,当选择准备好的映射标记后,主机根据映射标记包含的信息,向硬盘发出nvme私有命令;固态硬盘主控接收并识别到私有隐藏区读命令并执行,将受保护的可执行程序文件写入到内存中,受保护程序开始执行。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,对于存在对受保护数据文件进行操作需求的受保护程序,还包括:对于存在对受保护数据文件进行操作需求的受保护程序,主机向向固态硬盘隐藏区发出nvme私有读命令,用于读取对应文件目录表;固态硬盘主控接收并识别到私有隐藏区读命令并执行,将对应文件目录表写入到内存;受保护程序进行相应受保护数据文件的读操作时,绕过主机文件系统,根据文件目录表信息,向固态硬盘发送私有读命令,由固态硬盘执行相应操作;受保护程序进行相应受保护数据文件的写操作时,绕过主机文件系统,直接根据文件目录表信息,向固态硬盘发送私有写命令,由固态硬盘执行相应操作,写成功后,受保护程序动态变更内存中文件目录表信息;内存中的文件目录表信息变更后,更新固态硬盘中存留的原文件目录表,向固态硬盘发送私有nvme写命令,固态硬盘将文件目录表更新到固态硬盘中。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,用于预安装软件安全防护的固态硬盘,包括:认证模块至少能够区分三类主机环境,包括普通主机环境、受绑定用户主机环境以及出厂主机环境。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,还包括:功能固件:具有nvme固态硬盘固件功能以及,1)将存储空间分为逻辑上的可见区和隐藏区,上报主机可见区的空间大小;2)设置私有隐藏区写命令和私有隐藏区读命令,只有该命令能对隐藏区生效;3)在不同认证环境下,固件完成不同功能。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,在不同认证环境下,固件完成不同功能包括:i.在出厂主机环境下,固件支持私有隐藏区命令对隐藏区的全部操作;ii.在受绑定用户主机环境下,固件屏蔽掉对特定逻辑地址的私有隐藏区写命令操作;iii.在普通主机环境下,支持标准nvme协议命令,上报主机可见区的空间容量,同时固件本身屏蔽隐藏分区范围的地址。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,固态硬盘主控进行全盘加密,为隐藏区和可见区采用不同密钥进行加密。

根据本发明的预安装软件隐藏运行的安全防护方法的一实施例,其中,受保护程序包括可执行程序和数据文件,可执行程序文件写入后,存放再特定位置不在被改动,而数据文件可被改动。

本发明提供一种预安装软件注入及隐藏运行的安全防护方法,解决了预安装软件及数据对用户不可见的需求,用户使用过程中基本不会直观感知硬盘的使用限制,同时与现有安全防护技术不冲突,是现有软件安全防护技术的有益补充,可以同时实施,提高安全效果,提高了数据与系统的安全性与可靠性。

附图说明

图1所示为一种预安装软件注入及隐藏运行的过程示意图;

图2所示为预制数据注入过程示意图;

图3所示为受保护程序操作隐藏区受保护文件过程示意图;

图4所示为一种用于预安装软件安全防护的固态硬盘架构图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

图1所示为本发明一种预安装软件注入及隐藏运行的流程图,如图1所示,图2所示为预安装软件注入过程示意图,如图2所示,

步骤一:在出厂环境主机中,绕过主机文件系统,直接调用nvme驱动程序,发出nvme私有命令(私有隐藏区写命令);

步骤二:在出厂环境主机中,固态硬盘主控接收并识别到私有隐藏区写命令并执行,将受保护的文件写入到隐藏区中;

对于存在对受保护数据文件进行操作需求的受保护程序,准备一段充分的逻辑地址空间,用于存放相应数据文件,并对每个受保护程序维护一张的文件目录表,该目录表存在隐藏区的特定位置不变。

受保护文件包括可执行程序文件和数据文件,二者之间的一个区别是:可执行程序文件写入后,存放再特定位置不在被改动,而数据文件可能被改动。

步骤三:根据受保护程序及去独立文件目录表在隐藏区中的位置信息,制作一个映射标记,存在可见区中,该映射标记可以是一个程序。

特别地:对于步骤一、步骤二和步骤三,本实施例中可以设计量产工具,实现一键操作,提高效率。

图3所示为受保护软件对受保护数据文件的操作方法过程示意图,如图3所示,本实施例提供以预安装软件安全防护方法,所述安全防护方法包括预安装软件注入和预安装软件使用过程:

步骤一:在受绑定用户主机环境中,当点击准备好的映射标记后,主机根据映射标记包含的信息,向硬盘发出nvme私有命令(私有隐藏区读命令)。

步骤二:固态硬盘主控接收并识别到私有隐藏区读命令并执行,将受保护的可执行程序文件写入到内存中,受保护程序开始执行。

对于存在对受保护数据文件进行操作需求的受保护程序,还有以下步骤:

步骤三:对于存在对受保护数据文件进行操作需求的受保护程序,主机同时还向向固态硬盘隐藏区发出nvme私有读命令,用于读取对应文件目录表。

步骤四:固态硬盘主控接收并识别到私有隐藏区读命令并执行,将对应文件目录表写入到内存。

步骤五:受保护程序进行相应受保护数据文件的读操作时,绕过主机文件系统,直接根据文件目录表信息,向固态硬盘发送私有读命令。固态硬盘执行相应操作。

步骤六:受保护程序进行相应受保护数据文件的写操作时,绕过主机文件系统,直接根据文件目录表信息,向固态硬盘发送私有写命令。固态硬盘执行相应操作。写成功后,受保护程序动态变更内存中文件目录表信息。

步骤七:内存中的文件目录表信息变更后,更新固态硬盘中存留的原文件目录表。向固态硬盘发送私有nvme写命令,固态硬盘将文件目录表更新到固态硬盘中。

特别地,受保护程序的文件操作流程和通用操作系统中程序对文件的操作流程有较大不同,本实施例中为了方便受保护程序的开发,开发了一个专门的文件操作函数库,该函数库应较大程度保持同通用操作系统文件操作接口一致性,方便受保护程序的开发工作。

图4所示为一种用于预安装软件安全防护的固态硬盘示意图,如图4所示,本实施例中所实现的一种用于预安装软件安全防护的固态硬盘,包括:

专有认证模块:至少具有区分三类主机环境的能力,包括普通主机环境、受绑定用户主机环境、专有出厂主机环境。

专有功能固件:专有功能固件除具有通用的nvme固态硬盘固件功能外,还具有:

1)将存储空间分为逻辑上的可见区和隐藏区,上报主机可见区的空间大小。

2)并支持私有隐藏区写命令和私有隐藏区读命令,只有该命令能对隐藏区生效。

3)在不同认证环境下,固件表现不同功能,具体为:

i.在专有出厂主机环境下,固件支持私有隐藏区命令对隐藏区的全部操作。

ii.在受绑定用户主机环境下,固件屏蔽掉对特定逻辑地址(主要指存放可执行程序的逻辑地址空间)的私有隐藏区写命令操作。

iii.在普通主机环境下,支持标准nvme协议命令,上报主机可见区的空间容量,同时固件本身屏蔽隐藏分区范围的地址。

密码算法模块:本实施例中,固态硬盘主控进行全盘加密,为隐藏区和可见区采用不同密钥进行加密。

存储介质模块:本实施例中由mlc型nandflash闪存颗粒组成。

pcie接口模块:本实施例中为pcie3.0x4。

本发明提供一种预安装软件注入及隐藏运行的安全防护方法,有益效果是:解决预安装软件及数据对用户不可见的需求,用户使用过程中基本不会直观感知硬盘的使用限制,同时与现有安全防护技术不冲突,是现有软件安全防护技术的有益补充,可以同时实施,提高安全效果,提高了数据与系统的安全性与可靠性。

本发明的解决了预安装软件及数据对用户不可见,且用户不可直观感知使用限制的问题,同时与现有安全防护技术不冲突。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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