首页> 中国专利> 一种使用虚拟现实设备实现保密数据输入的方法及系统

一种使用虚拟现实设备实现保密数据输入的方法及系统

摘要

本发明提供一种使用虚拟现实设备实现保密数据输入的方法,包括步骤1、对虚拟现实设备进行硬件旁路及软件旁路检测,且一旦检测到存在旁路风险,则清除内部的密钥信息及所有参与保密运算的信息,结束流程;若检测到不存在旁路风险,进入步骤2;步骤2、将输入元素或者输入元素中的输入值进行重新定位,对选择的所有输入元素中的输入值进行加密处理生成一加密结果值,输出加密结果值;在执行步骤2的同时,继续进行硬件旁路以及软件旁路检测。本发明可以对虚拟现实设备进行防硬件旁路、防软件旁路检测,以确保输入环境的安全;在输入保密数据过程中,可以防止非输入者通过观察输入过程的体态变化推测出输入者的选择,可确保输入过程安全。

著录项

  • 公开/公告号CN106789969A

    专利类型发明专利

  • 公开/公告日2017-05-31

    原文格式PDF

  • 申请/专利权人 福建升腾资讯有限公司;

    申请/专利号CN201611106586.5

  • 发明设计人 林志伟;黄伟凯;张登峰;

    申请日2016-12-06

  • 分类号H04L29/06;H04L12/26;

  • 代理机构福州市鼓楼区京华专利事务所(普通合伙);

  • 代理人林晓琴

  • 地址 350000 福建省福州市仓山区金山工业区金山大道618号21#、22#、55#

  • 入库时间 2023-06-19 02:20:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-09-20

    授权

    授权

  • 2017-06-23

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20161206

    实质审查的生效

  • 2017-05-31

    公开

    公开

说明书

技术领域

本发明属于数据安全领域,涉及保密数据输入的方法,特别涉及一种使用虚拟现实设备实现保密数据输入的方法及系统。

背景技术

目前涉及到保密信息输入(如密码输入)的场景中,多数是使用专用的保密信息输入转置来实现。这些保密信息输入装置包括物理的密码键盘,软件的密码输入控件等各种形式,而这些输入装置均存在其物理输入端被人加装监控转置,或者除保密信息输入者之外的其他人员可以直接站在输入者身边偷窥等可能导致输入过程泄密的危险,以及输入者为尽量避免泄密而采取各种身体遮挡措施等导致输入过程体验差的问题。

经检索发现,申请日为:2015.12.09,申请号为:201510909292.5的中国发明专利公开了一种采集密码系统及采集密码方法,该方法试图使用虚拟现实技术来实现密码的采集,并提高密码的安全性,且可以增强采集密码系统的智能化程度。但该申请方案至少存在三个保密问题没有解决:

第一个保密问题可称为体态泄密。其具体表现为,采用虚拟现实技术实现保密信息输入时,还是需要通过指取设备、传感器等技术,再配合输入者的体态变化来完成对虚拟现实显示屏幕中的输入元素的选择。此时,非输入者完全可以通过肉眼观察输入者的体态变化来推测输入者在虚拟现实场景中所做出的选择。

第二个保密问题可称为硬件旁路泄密。其具体表现为,虚拟现实设备的光学镜头和显示屏之间存在一定的空间,攻击者可以在光学镜头和显示屏之间的空间内植入一个微型摄像头,同步录制输入者输入过程的虚拟场景画面信息,然后传递给非输入者,造成保密数据泄密。

第三个保密问题可称为软件旁路泄密。其具体表现为,如HTV VIVE等运行于PC平台的高性能虚拟现实设备,可以通过运行Steam VR Monitor等软件,让非输入者通过监视屏幕观察到输入者在虚拟现实场景中所进行的所有操作;而其他基于Android系统的低性能虚拟现实设备,由于Android系统的开放性,存在被恶意攻击者root系统后,加装监视软件,盗取输入者在虚拟现实场景中保密信息的输入画面,以及监控保密数据在虚拟现实设备内部存储和运算的过程数据,进而使保密数据泄密。

发明内容

本发明要解决的技术问题之一,在于提供一种使用虚拟现实设备实现保密数据输入的方法,通过该方法来确保输入虚拟现实设备的保密数据的安全性,降低保密数据被窃取的风险。

本发明是这样实现技术问题之一的:一种使用虚拟现实设备实现保密数据输入的方法,所述方法包括如下步骤:

步骤1、对虚拟现实设备进行硬件旁路以及软件旁路检测,且一旦检测到存在旁路风险,则立即清除内部的密钥信息以及所有参与保密运算的信息,并结束流程;若检测到不存在旁路风险,则进入步骤2;

步骤2、将虚拟现实设备输入场景中的输入元素或者输入元素中的输入值进行重新定位,对输入者选择的所有输入元素中的输入值进行加密处理生成一加密结果值,并输出加密结果值;

在执行步骤2的同时,继续对虚拟现实设备进行硬件旁路以及软件旁路检测,直到执行完该步骤2后才停止检测,且在检测的过程中,一旦检测到存在旁路风险,则立即停止执行该步骤2,并清除内部的密钥信息、所有参与保密运算的信息以及已生成的所有保密数据。

进一步地,所述步骤1具体包括:

步骤11、在虚拟现实设备的外周设置一层屏蔽层,且通过监听或者轮询的方式检测屏蔽层的信号是否发生变化,如果是,则在存储器中记录存在硬件旁路风险,并进入步骤12;如果否,则直接进入步骤12;

步骤12、通过监听或者轮询的方式检测存储器中是否记录存在硬件旁路风险,如果是,则清除内部的密钥信息以及所有参与保密运算的信息,并结束流程;

如果否,则启动虚拟现实设备中的各个检测点进行软件环境检测,判断是否存在软件旁路风险,且如果存在软件旁路风险,则清除内部的密钥信息以及所有参与保密运算的信息,并结束流程;

如果不存在软件旁路风险,则使虚拟现实设备中的各个检测点进行相互检测,且当任意一个检测点检测到任一其它检测点不工作时,则视为存在软件旁路风险,此时清除内部的密钥信息以及所有参与保密运算的信息,并结束流程;若各个检测点均正常工作,则进入步骤2。

进一步地,所述步骤11具体包括:

步骤111、在虚拟现实设备的外周设置一层屏蔽层,且该屏蔽层由电信号闭合通路集合、光信号闭合通路集合、光信号变化检测集合中的一种或多种组合形成;

步骤112、通过监听或者轮询的方式检测屏蔽层的信号是否发生变化,如果是,则在存储器中记录存在硬件旁路风险,并进入步骤12;如果否,则直接进入步骤12;其中,所述存储器为掉电后内容易失的存储器,且该存储器内存储的内容为以下三类中的一类:

第一类:无数据,存储器在掉电后,重新上电时存储的内容即为无数据;

第二类:有数据且为初始数据,所述初始数据为虚拟现实设备出厂时,通过厂家的核心控制密钥与虚拟现实设备中芯片的唯一序列号共同生成的加密数据;

第三类:有数据且为风险记录数据,所述风险记录数据为屏蔽层信号发生变化时写入的硬件旁路风险数据;

且若存储器内存储的内容为第一类或第三类,则说明存在旁路风险;若存储器内存储的内容为第二类,则正常。

进一步地,在所述步骤12中,所述“启动虚拟现实设备中的各个检测点进行软件环境检测,判断是否存在软件旁路风险”具体为:

如果虚拟现实设备为基于PC环境的虚拟现实设备,则设置对软件环境进行保护,并启动各个检测点对软件环境进行防旁路检测,其中,设置对软件环境进行保护的内容为:通过磁盘保护限制在操作系统上加装其它软件;对软件环境进行防旁路检测的内容包括:通过数字签名验证虚拟现实设备的核心驱动和接口库是否属于官方发布的、通过虚拟现实设备的核心驱动和接口库检测虚拟现实场景的监控窗口是否未被开启、以及通过系统接口检测软件是否未处于被调试状态,且如果检测结果均为是,则判定为不存在软件旁路风险;如果检测结果出现否,则判定为存在软件旁路风险;

如果虚拟现实设备为基于Android环境的虚拟设备,则设置对软件环境进行保护,并启动各个检测点对软件环境进行检测,其中,设置对软件环境进行保护的内容为:通过设备厂家对操作系统和各应用程序进行数字签名;对软件环境进行检测的内容包括:在Bootloader加载操作系统之前检测操作系统的数字签名是否合法、在操作系统加载各应用程序之前检测各应用程序的数字签名是否合法、以及通过系统接口检测各应用程序是否未处于被调试状态,且如果检测结果均为是,则判定为不存在软件旁路风险;如果检测结果出现否,则判定为存在软件旁路风险。

进一步地,所述步骤2具体包括:

步骤21、启动虚拟现实设备的保密数据输入功能,将虚拟现实设备输入场景中的输入元素或者输入元素中的输入值进行重新定位,且在重新定位时,使用随机数算法随机生成定位位置;

步骤22、在重新定位后的输入场景中选择输入元素,且每确定选择一个输入元素后,均将该选择的输入元素所对应的输入值存放到临时缓存中;在选择完所有输入元素后,从临时缓存中读取所有输入值,并使用加密算法对读取的所有输入值进行加密生成一加密结果值,其中,加密算法采用对称加密算法或非对称加密算法中的任意一种算法或者二者的组合算法;加密完成后,清除临时缓存中缓存的所有未加密的输入值,并将加密结果值存放到临时缓存中;

步骤23、输出加密结果值,并清除缓存在临时缓存中的加密结果值。

本发明要解决的技术问题之二,在于提供一种使用虚拟现实设备实现保密数据输入的系统,通过该系统来确保输入虚拟现实设备的保密数据的安全性,降低保密数据被窃取的风险。

本发明是这样实现技术问题之二的:一种使用虚拟现实设备实现保密数据输入的系统,所述系统包括环境守护模块以及保密数据采集模块;

所述环境守护模块,用于对虚拟现实设备进行硬件旁路以及软件旁路检测,且一旦检测到存在旁路风险,则立即清除内部的密钥信息以及所有参与保密运算的信息,并结束流程;若检测到不存在旁路风险,则进入所述保密数据采集模块;

所述保密数据采集模块,用于将虚拟现实设备输入场景中的输入元素或者输入元素中的输入值进行重新定位,对输入者选择的所有输入元素中的输入值进行加密处理生成一加密结果值,并输出加密结果值;

在执行所述保密数据采集模块的同时,继续对虚拟现实设备进行硬件旁路以及软件旁路检测,直到执行完该保密数据采集模块后才停止检测,且在检测的过程中,一旦检测到存在旁路风险,则立即停止执行该保密数据采集模块,并清除内部的密钥信息、所有参与保密运算的信息以及已生成的所有保密数据。

进一步地,所述环境守护模块包括硬件防侵入单元、软件环境检测单元以及互检单元;

所述硬件防侵入单元,用于在虚拟现实设备的外周设置一层屏蔽层,且通过监听或者轮询的方式检测屏蔽层的信号是否发生变化,如果是,则在存储器中记录存在硬件旁路风险,并进入所述软件环境检测单元;如果否,则直接进入所述软件环境检测单元;

所述软件环境检测单元,用于通过监听或者轮询的方式检测存储器中是否记录存在硬件旁路风险,如果是,则清除内部的密钥信息以及所有参与保密运算的信息,并结束流程;

如果否,则启动虚拟现实设备中的各个检测点进行软件环境检测,判断是否存在软件旁路风险,且如果存在软件旁路风险,则清除内部的密钥信息以及所有参与保密运算的信息,并结束流程;

如果不存在软件旁路风险,则使虚拟现实设备中的各个检测点进行相互检测,且当任意一个检测点检测到任一其它检测点不工作时,则视为存在软件旁路风险,此时清除内部的密钥信息以及所有参与保密运算的信息,并结束流程;若各个检测点均正常工作,则进入所述保密数据采集模块。

进一步地,所述硬件防侵入单元包括防侵入硬件子单元以及防侵入硬件检测子单元;

所述防侵入硬件子单元,用于在虚拟现实设备的外周设置一层屏蔽层,且该屏蔽层由电信号闭合通路集合、光信号闭合通路集合、光信号变化检测集合中的一种或多种组合形成;

所述防侵入硬件检测子单元,用于通过监听或者轮询的方式检测屏蔽层的信号是否发生变化,如果是,则在存储器中记录存在硬件旁路风险,并进入所述软件环境检测单元;如果否,则直接进入所述软件环境检测单元;其中,所述存储器为掉电后内容易失的存储器,且该存储器内存储的内容为以下三类中的一类:

第一类:无数据,存储器在掉电后,重新上电时存储的内容即为无数据;

第二类:有数据且为初始数据,所述初始数据为虚拟现实设备出厂时,通过厂家的核心控制密钥与虚拟现实设备中芯片的唯一序列号共同生成的加密数据;

第三类:有数据且为风险记录数据,所述风险记录数据为屏蔽层信号发生变化时写入的硬件旁路风险数据;

且若存储器内存储的内容为第一类或第三类,则说明存在旁路风险;若存储器内存储的内容为第二类,则正常。

进一步地,在所述软件环境检测单元中,所述“启动虚拟现实设备中的各个检测点进行软件环境检测,判断是否存在软件旁路风险”具体为:

如果虚拟现实设备为基于PC环境的虚拟现实设备,则设置对软件环境进行保护,并启动各个检测点对软件环境进行防旁路检测,其中,设置对软件环境进行保护的内容为:通过磁盘保护限制在操作系统上加装其它软件;对软件环境进行防旁路检测的内容包括:通过数字签名验证虚拟现实设备的核心驱动和接口库是否属于官方发布的、通过虚拟现实设备的核心驱动和接口库检测虚拟现实场景的监控窗口是否未被开启、以及通过系统接口检测软件是否未处于被调试状态,且如果检测结果均为是,则判定为不存在软件旁路风险;如果检测结果出现否,则判定为存在软件旁路风险;

如果虚拟现实设备为基于Android环境的虚拟设备,则设置对软件环境进行保护,并启动各个检测点对软件环境进行检测,其中,设置对软件环境进行保护的内容为:通过设备厂家对操作系统和各应用程序进行数字签名;对软件环境进行检测的内容包括:在Bootloader加载操作系统之前检测操作系统的数字签名是否合法、在操作系统加载各应用程序之前检测各应用程序的数字签名是否合法、以及通过系统接口检测各应用程序是否未处于被调试状态,且如果检测结果均为是,则判定为不存在软件旁路风险;如果检测结果出现否,则判定为存在软件旁路风险。

进一步地,所述保密数据采集模块包括元素重定位单元、保密数据运算单元以及结果值输出单元;

所述元素重定位单元,用于启动虚拟现实设备的保密数据输入功能,将虚拟现实设备输入场景中的输入元素或者输入元素中的输入值进行重新定位,且在重新定位时,使用随机数算法随机生成定位位置;

所述保密数据运算单元,用于在重新定位后的输入场景中选择输入元素,且每确定选择一个输入元素后,均将该选择的输入元素所对应的输入值存放到临时缓存中;在选择完所有输入元素后,从临时缓存中读取所有输入值,并使用加密算法对读取的所有输入值进行加密生成一加密结果值,其中,加密算法采用对称加密算法或非对称加密算法中的任意一种算法或者二者的组合算法;加密完成后,清除临时缓存中缓存的所有未加密的输入值,并将加密结果值存放到临时缓存中;

所述结果值输出单元,用于输出加密结果值,并清除缓存在临时缓存中的加密结果值。

本发明具有如下优点:1、通过将输入场景中的输入元素或者输入元素中的输入值进行重新定位,即采用随机算法进行随机排布,这样当非输入者在外部观察输入者的体态变化时,就不能推测出输入者在虚拟现实场景中所做出的具体选择,可以有效解决非输入者通过观察输入过程的体态变化而导致保密信息泄露的问题;2、虚拟现实设备的外周设置一层屏蔽层,并实时以监听或者轮询的方式检测屏蔽层的信号情况,当出现电信号变化时,就自动永久禁止保密数据输入程序的运行,可以确保虚拟现实设备不会被硬件旁路;3、对于基于PC环境的虚拟现实设备,通过软件技术手段,如进程监控、磁盘保护等技术,禁止监控软件和虚拟现实保密数据输入软件同时运行,可以有效避免在虚拟现实场景中的操作过程被监视软件旁路获取。对于基于Android环境的虚拟设备,通过Bootloader对操作系统的真实性和完整性进行数字签名认证,可以确保操作系统没有被篡改;再由操作系统对应用软件及应用软件环境进行真实性和完整性数字签名认证,可以确保实现保密数据输入的应用软件没有被篡改,有利于确保整个输入环境的安全。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明使用虚拟现实设备实现保密数据输入的方法的执行流程图。

图2为本发明使用虚拟现实设备实现保密数据输入的系统的结构框图。

图3为本发明中保密数据采集模块的结构框图。

图4为本发明中环境守护模块的结构框图。

具体实施方式

请参照图1所示,一种使用虚拟现实设备实现保密数据输入的方法,在使用时,虚拟现实设备需要与终端进行连接,以实现保护数据的输入,所述方法包括如下步骤:

步骤1、对虚拟现实设备进行硬件旁路以及软件旁路检测,且一旦检测到存在旁路风险,则立即清除存储在虚拟现实设备内部的密钥信息以及所有参与保密运算的信息(因为后续要对用户的输入值进行对称或非对称加密,因此虚拟现实设备内必然存储有密钥信息以及参与保密运算的信息,此时需要将这些信息全部清除掉,以免造成密钥信息泄露),并结束流程;若检测到不存在旁路风险,则进入步骤2;

由于窃听设备和监视软件都比较隐秘,比较不容易被人发现,通过先对虚拟现实设备进行旁路风险检测,可以有效防止虚拟现实设备被安装上窃听设备和监视软件等,以确保输入的保密数据、密钥信息等不被窃取。

所述步骤1具体包括:

步骤11、在虚拟现实设备的外周设置一层屏蔽层,且通过监听或者轮询的方式检测屏蔽层的信号是否发生变化(在实施时,如果虚拟现实设备被拆开或者被钻上孔,就会破坏到屏蔽层,此时屏蔽层的信号就会发生变化),如果是,则在存储器中记录存在硬件旁路风险,并进入步骤12;如果否,则直接进入步骤12;

步骤12、通过监听或者轮询的方式检测存储器中是否记录存在硬件旁路风险,如果是,则清除存储在虚拟现实设备内部的密钥信息以及所有参与保密运算的信息,并结束流程,即自动永久禁止保密数据输入程序的运行;

如果否,则启动虚拟现实设备中的各个检测点进行软件环境检测,判断是否存在软件旁路风险,且如果存在软件旁路风险,则清除已产生的所有保密数据,并结束流程;

如果不存在软件旁路风险,则使虚拟现实设备中的各个检测点进行相互检测,且当任意一个检测点检测到任一其它检测点不工作时,则视为存在软件旁路风险,此时清除存储在虚拟现实设备内部的密钥信息以及所有参与保密运算的信息,(例如在检测点3检测到检测点5不执行互检工作时,就视为存在软件旁路风险),并结束流程;若各个检测点均正常工作,则进入步骤2。

所述步骤11具体包括:

步骤111、在虚拟现实设备的外周设置一层屏蔽层,且该屏蔽层由电信号闭合通路集合、光信号闭合通路集合、光信号变化检测集合中的一种或多种组合形成;

步骤112、通过监听或者轮询的方式检测屏蔽层的信号是否发生变化,如果是,则在存储器中记录存在硬件旁路风险,并进入步骤12;如果否,则直接进入步骤12;其中,所述存储器为掉电后内容易失的存储器,且该存储器内存储的内容为以下三类中的一类:

第一类:无数据,存储器在掉电后,重新上电时存储的内容即为无数据,在具体实施时,供电中断就会同步导致存储器掉电,并使存储器内的数据丢失;

第二类:有数据且为初始数据,所述初始数据为虚拟现实设备出厂时,通过厂家的核心控制密钥与虚拟现实设备中芯片的唯一序列号共同生成的加密数据;厂家的核心控制密钥是由虚拟现实设备厂家生成的,由虚拟现实设备厂家建立行政管控体系进行统一管理,以保证该核心控制密钥不会被泄漏,当存储器内的数据一旦丢失了,就只能返厂才可以恢复初始数据;

第三类:有数据且为风险记录数据,所述风险记录数据为屏蔽层信号发生变化时写入的硬件旁路风险数据;

且若存储器内存储的内容为第一类或第三类,则说明存在旁路风险;若存储器内存储的内容为第二类,则正常;即在实施过程中,只有存储器内存储的是第二类数据才是正常的,如果是第一类或第三类数据,则说明存在旁路风险,此时就需要清除所有保密数据,并返回虚拟现实设备厂家恢复初始数据,清除危险后才可以继续使用。

在所述步骤12中,所述“启动虚拟现实设备中的各个检测点进行软件环境检测,判断是否存在软件旁路风险”具体为:

如果虚拟现实设备为基于PC环境的虚拟现实设备(例如HTC VIVE等),则设置对软件环境进行保护,并启动各个检测点对软件环境进行防旁路检测,其中,设置对软件环境进行保护的内容为:通过磁盘保护限制在操作系统上加装其它软件,即通过磁盘保护来预防和阻止攻击者植入监听软件等;对软件环境进行防旁路检测的内容包括:通过数字签名验证虚拟现实设备的核心驱动和接口库是否属于官方发布的、通过虚拟现实设备的核心驱动和接口库检测虚拟现实场景的监控窗口是否未被开启、以及通过系统接口检测软件是否未处于被调试状态,且如果检测结果均为是,则判定为不存在软件旁路风险;如果检测结果出现否,则判定为存在软件旁路风险;

如果虚拟现实设备为基于Android环境的虚拟设备,则设置对软件环境进行保护,并启动各个检测点对软件环境进行检测,其中,设置对软件环境进行保护的内容为:通过设备厂家对操作系统和各应用程序进行数字签名,以方便加载时可以进行合法性验证;对软件环境进行检测的内容包括:在Bootloader加载操作系统之前检测操作系统的数字签名是否合法、在操作系统加载各应用程序之前检测各应用程序的数字签名是否合法、以及通过系统接口检测各应用程序是否未处于被调试状态,且如果检测结果均为是,则判定为不存在软件旁路风险;如果检测结果出现否,则判定为存在软件旁路风险。

步骤2、将虚拟现实设备输入场景中的输入元素或者输入元素中的输入值进行重新定位,对输入者选择的所有输入元素中的输入值进行加密处理生成一加密结果值,并输出加密结果值;

在执行步骤2的同时,继续对虚拟现实设备进行硬件旁路以及软件旁路检测(具体检测过程与步骤1相同,这里就不再重复进行描述),直到执行完该步骤2后才停止检测,且在检测的过程中,一旦检测到存在旁路风险,则立即停止执行该步骤2,并清除内部的密钥信息、所有参与保密运算的信息以及已生成的所有保密数据,因为在执行步骤2的过程中,用户会选择一些输入值(即密码)输入,在检测到存在风险时,就需要将这些输入值清除,以确保密码不被窃取。

所述步骤2具体包括:

步骤21、启动虚拟现实设备的保密数据输入功能,将虚拟现实设备输入场景中的输入元素或者输入元素中的输入值进行重新定位,且在重新定位时,使用随机数算法随机生成定位位置;通过将输入场景中的输入元素或者输入元素中的输入值进行重新定位,随机排布,例如,将上一次输入值为9的输入元素重定位为输入值为3的输入元素,也可以将输入值0重定位为输入值4等等,使本次输入场景中的输入元素或者输入元素中的输入值与上一次不一致,这样当非输入者在外部观察输入者的体态变化时,就不能推测出输入者在虚拟现实场景中所做出的具体选择,有利于确保输入过程的安全;

步骤22、在重新定位后的输入场景中选择输入元素,且每确定选择一个输入元素后,均将该选择的输入元素所对应的输入值存放到临时缓存中;在选择完所有输入元素后,从临时缓存中读取所有输入值,并使用加密算法对读取的所有输入值进行加密生成一加密结果值,其中,加密算法采用对称加密算法或非对称加密算法中的任意一种算法或者二者的组合算法;加密完成后,清除临时缓存中缓存的所有未加密的输入值,并将加密结果值存放到临时缓存中,以等待输入者将加密结果值输出;

步骤23、输出加密结果值,并清除缓存在临时缓存中的加密结果值,即输入者只能获取一次加密结果值,而无法进行再次获取。

请参照图2至图4所示,一种使用虚拟现实设备实现保密数据输入的系统,在使用时,虚拟现实设备需要与终端进行连接,以实现保护数据的输入,所述系统包括环境守护模块1以及保密数据采集模块2;

所述环境守护模块1,用于对虚拟现实设备进行硬件旁路以及软件旁路检测,且一旦检测到存在旁路风险,则立即清除存储在虚拟现实设备内部的密钥信息以及所有参与保密运算的信息(因为后续要对用户的输入值进行对称或非对称加密,因此虚拟现实设备内必然存储有密钥信息以及参与保密运算的信息,此时需要将这些信息全部清除掉,以免造成密钥信息泄露),并结束流程;若检测到不存在旁路风险,则进入所述保密数据采集模块2;

由于窃听设备和监视软件都比较隐秘,比较不容易被人发现,通过先对虚拟现实设备进行旁路风险检测,可以有效防止虚拟现实设备被安装上窃听设备和监视软件等,以确保输入的保密数据、密钥信息等不被窃取。

所述环境守护模块1具体包括硬件防侵入单元11、软件环境检测单元12以及互检单元13;

所述硬件防侵入单元11,用于在虚拟现实设备的外周设置一层屏蔽层,且通过监听或者轮询的方式检测屏蔽层的信号是否发生变化(在实施时,如果虚拟现实设备被拆开或者被钻上孔,就会破坏到屏蔽层,此时屏蔽层的信号就会发生变化),如果是,则在存储器中记录存在硬件旁路风险,并进入所述软件环境检测单元;如果否,则直接进入所述软件环境检测单元12;

所述软件环境检测单元12,通过监听或者轮询的方式检测存储器中是否记录存在硬件旁路风险,如果是,则清除存储在虚拟现实设备内部的密钥信息以及所有参与保密运算的信息,并结束流程,即自动永久禁止保密数据输入程序的运行;

如果否,则启动虚拟现实设备中的各个检测点进行软件环境检测,判断是否存在软件旁路风险,且如果存在软件旁路风险,则清除已产生的所有保密数据,并结束流程;

如果不存在软件旁路风险,则使虚拟现实设备中的各个检测点进行相互检测,且当任意一个检测点检测到任一其它检测点不工作时,则视为存在软件旁路风险,此时清除存储在虚拟现实设备内部的密钥信息以及所有参与保密运算的信息,(例如在检测点3检测到检测点5不执行互检工作时,就视为存在软件旁路风险),并结束流程;若各个检测点均正常工作,则进入所述保密数据采集模块2。

所述硬件防侵入单元11具体包括防侵入硬件子单元111以及防侵入硬件检测子单元112;

所述防侵入硬件子单元111,用于在虚拟现实设备的外周设置一层屏蔽层,且该屏蔽层由电信号闭合通路集合、光信号闭合通路集合、光信号变化检测集合中的一种或多种组合形成;

所述防侵入硬件检测子单元112,用于通过监听或者轮询的方式检测屏蔽层的信号是否发生变化,如果是,则在存储器中记录存在硬件旁路风险,并进入所述软件环境检测单元;如果否,则直接进入所述软件环境检测单元12;其中,所述存储器为掉电后内容易失的存储器,且该存储器内存储的内容为以下三类中的一类:

第一类:无数据,存储器在掉电后,重新上电时存储的内容即为无数据,在具体实施时,供电中断就会同步导致存储器掉电,并使存储器内的数据丢失;

第二类:有数据且为初始数据,所述初始数据为虚拟现实设备出厂时,通过厂家的核心控制密钥与虚拟现实设备中芯片的唯一序列号共同生成的加密数据;厂家的核心控制密钥是由虚拟现实设备厂家生成的,由虚拟现实设备厂家建立行政管控体系进行统一管理,以保证该核心控制密钥不会被泄漏,当存储器内的数据一旦丢失了,就只能返厂才可以恢复初始数据;

第三类:有数据且为风险记录数据,所述风险记录数据为屏蔽层信号发生变化时写入的硬件旁路风险数据;

且若存储器内存储的内容为第一类或第三类,则说明存在旁路风险;若存储器内存储的内容为第二类,则正常;即在实施过程中,只有存储器内存储的是第二类数据才是正常的,如果是第一类或第三类数据,则说明存在旁路风险,此时就需要清除所有保密数据,并返回虚拟现实设备厂家恢复初始数据,清除危险后才可以继续使用。

在所述软件环境检测单元12中,所述“启动虚拟现实设备中的各个检测点进行软件环境检测,判断是否存在软件旁路风险”具体为:

如果虚拟现实设备为基于PC环境的虚拟现实设备(例如HTC VIVE等),则设置对软件环境进行保护,并启动各个检测点对软件环境进行防旁路检测,其中,设置对软件环境进行保护的内容为:通过磁盘保护限制在操作系统上加装其它软件,即通过磁盘保护来预防和阻止攻击者植入监听软件等;对软件环境进行防旁路检测的内容包括:通过数字签名验证虚拟现实设备的核心驱动和接口库是否属于官方发布的、通过虚拟现实设备的核心驱动和接口库检测虚拟现实场景的监控窗口是否未被开启、以及通过系统接口检测软件是否未处于被调试状态,且如果检测结果均为是,则判定为不存在软件旁路风险;如果检测结果出现否,则判定为存在软件旁路风险;

如果虚拟现实设备为基于Android环境的虚拟设备,则设置对软件环境进行保护,并启动各个检测点对软件环境进行检测,其中,设置对软件环境进行保护的内容为:通过设备厂家对操作系统和各应用程序进行数字签名,以方便加载时可以进行合法性验证;对软件环境进行检测的内容包括:在Bootloader加载操作系统之前检测操作系统的数字签名是否合法、在操作系统加载各应用程序之前检测各应用程序的数字签名是否合法、以及通过系统接口检测各应用程序是否未处于被调试状态,且如果检测结果均为是,则判定为不存在软件旁路风险;如果检测结果出现否,则判定为存在软件旁路风险。

所述保密数据采集模块2,用于将虚拟现实设备输入场景中的输入元素或者输入元素中的输入值进行重新定位,对输入者选择的所有输入元素中的输入值进行加密处理生成一加密结果值,并输出加密结果值。

在执行所述保密数据采集模块2的同时,继续对虚拟现实设备进行硬件旁路以及软件旁路检测(具体检测过程与保密数据采集模块2相同,这里就不再重复进行描述),直到执行完该保密数据采集模块2后才停止检测,且在检测的过程中,一旦检测到存在旁路风险,则立即停止执行该保密数据采集模块2,并清除内部的密钥信息、所有参与保密运算的信息以及已生成的所有保密数据,因为在执行该保密数据采集模块2的过程中,用户会选择一些输入值(即密码)输入,在检测到存在风险时,就需要将这些输入值清除,以确保密码不被窃取。

所述保密数据采集模块2具体包括元素重定位单元21、保密数据运算单元22以及结果值输出单元23;

所述元素重定位单元21,用于启动虚拟现实设备的保密数据输入功能,将虚拟现实设备输入场景中的输入元素或者输入元素中的输入值进行重新定位,且在重新定位时,使用随机数算法随机生成定位位置;通过将输入场景中的输入元素或者输入元素中的输入值进行重新定位,随机排布,例如,将上一次输入值为9的输入元素重定位为输入值为3的输入元素,也可以将输入值0重定位为输入值4等等,使本次输入场景中的输入元素或者输入元素中的输入值与上一次不一致,这样当非输入者在外部观察输入者的体态变化时,就不能推测出输入者在虚拟现实场景中所做出的具体选择,有利于确保输入过程的安全;

所述保密数据运算单元22,用于在重新定位后的输入场景中选择输入元素,且每确定选择一个输入元素后,均将该选择的输入元素所对应的输入值存放到临时缓存中;在选择完所有输入元素后,从临时缓存中读取所有输入值,并使用加密算法对读取的所有输入值进行加密生成一加密结果值,其中,加密算法采用对称加密算法或非对称加密算法中的任意一种算法或者二者的组合算法;加密完成后,清除临时缓存中缓存的所有未加密的输入值,并将加密结果值存放到临时缓存中,以等待输入者将加密结果值输出;

所述结果值输出单元23,用于输出加密结果值,并清除缓存在临时缓存中的加密结果值,即输入者只能获取一次加密结果值,而无法进行再次获取。

总之,本发明具有如下优点:1、通过将输入场景中的输入元素或者输入元素中的输入值进行重新定位,即采用随机算法进行随机排布,这样当非输入者在外部观察输入者的体态变化时,就不能推测出输入者在虚拟现实场景中所做出的具体选择,可以有效解决非输入者通过观察输入过程的体态变化而导致保密信息泄露的问题;2、虚拟现实设备的外周设置一层屏蔽层,并实时以监听或者轮询的方式检测屏蔽层的信号情况,当出现电信号变化时,就自动永久禁止保密数据输入程序的运行,可以确保虚拟现实设备不会被硬件旁路;3、对于基于PC环境的虚拟现实设备,通过软件技术手段,如进程监控、磁盘保护等技术,禁止监控软件和虚拟现实保密数据输入软件同时运行,可以有效避免在虚拟现实场景中的操作过程被监视软件旁路获取。对于基于Android环境的虚拟设备,通过Bootloader对操作系统的真实性和完整性进行数字签名认证,可以确保操作系统没有被篡改;再由操作系统对应用软件及应用软件环境进行真实性和完整性数字签名认证,可以确保实现保密数据输入的应用软件没有被篡改,有利于确保整个输入环境的安全。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号