CN110968859B - 一种基于全景图像的虚拟现实安全认证方法 - Google Patents
一种基于全景图像的虚拟现实安全认证方法 Download PDFInfo
- Publication number
- CN110968859B CN110968859B CN201910822378.2A CN201910822378A CN110968859B CN 110968859 B CN110968859 B CN 110968859B CN 201910822378 A CN201910822378 A CN 201910822378A CN 110968859 B CN110968859 B CN 110968859B
- Authority
- CN
- China
- Prior art keywords
- user
- sphere
- password
- value
- angle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种基于全景图像的虚拟现实安全认证方法,该方法包括如下步骤:(1)全景图像显示;(2)用户控制输入;(3)用户输入获取:使用设备姿态角表示用户输入;(4)用户口令设置阶段:针对输入像素点的口令存储问题,设计区域分割算法,将获取的原始像素点连续值进行离散化处理,然后将离散的区域值存储为最终的口令;(5)用户口令认证阶段:根据区域分割情况,将用户输入口令的像素点信息转换为区域信息,并与存储的最终口令对比,实现对用户身份的认证。本发明的方法不需要硬件支持,选择图像信息丰富的全景图片供用户设置口令,使用图像旋转/交互方式控制输入,提高用户使用体验。
Description
技术领域
本发明属于VR终端隐私保护技术,具体涉及一种基于全景图像的虚拟现实安全认证方法。
背景技术
随着5G时代的来临,网络的高带宽、低时延特性将极大改善虚拟现实(VirtualReality,VR)、增强现实(Augmented Reality,AR)的体验,目前VR/AR的广泛应用将引领一股新的人机交互潮流。
虚拟现实系统为用户带来全新交互体验的同时,攻击者可利用交互过程中产生的运动、视觉等各类侧信道信息推测用户在终端输入的内容,对其隐私数据造成威胁。现有的攻击类型主要包括基于终端传感器的攻击和基于计算机视觉的攻击。基于终端传感器的攻击是攻击者在用户输入时记录传感器的数据,然后通过处理数据恢复用户的隐私信息;基于计算机视觉的攻击较为隐蔽,攻击者拍摄用户输入视频,通过视觉手段对视频进行处理从而推测用户输入的内容。
目前针对智能终端侧信道攻击的防御措施包括随机键盘、使用生物学口令等,随机键盘会大大增加用户输入的时间,从而降低用户的体验,使用生物学口令需要硬件支持,都不适用于虚拟现实系统。
上述针对虚拟现实用户口令输入的侧信道攻击,其基本原理是用户与系统进行交互时,虚拟键盘按键的位置相对固定,并且虚拟光标的移动与输入设备姿态角的变化是相关的。因此如果能将输入设备姿态角的变化量与虚拟光标在虚拟键盘上的移动轨迹两者间的映射关系打破,就可以有效的防御各类侧信道攻击。
发明内容
发明目的:本发明的目的在抵御虚拟现实用户输入口令的侧信道攻击,结合虚拟现实系统的特性,提出一种基于全景图像的虚拟现实安全认证方法。
技术方案:本发明所述的一种基于全景图像的虚拟现实安全认证方法,依次包括以下步骤:
(1)全景图像显示:结合虚拟现实系统,选取图像信息丰富的全景图片展示给用户,使用户获得全新的交互式现场感受;
(2)用户控制输入:分析虚拟现实系统的对象构建原理后,使用图像旋转/暂停交互设计,在显示全景图像之后进行旋转变换,打破输入像素点与输入设备姿态之间的映射关系,抵御侧信道攻击,同时用户观察到完整图像进行用户口令输入;
(3)用户输入获取:由于图片渲染至球体的形变,无法使用原图像像素点表示用户输入,使用设备姿态角表示用户输入;
(4)用户口令设置阶段:针对输入像素点的口令存储问题,设计区域分割算法,将获取的原始像素点连续值进行离散化处理,然后将离散的区域值存储为最终的口令;
(5)用户口令认证阶段:根据区域分割情况,将用户输入口令的像素点信息转换为区域信息,并与存储的最终口令对比,实现对用户身份的认证。
所述的基于全景图像的虚拟现实安全认证方法,步骤(1)中所述结合虚拟现实系统,选取图像信息丰富的全景图片展示给用户的具体方法是,首先要绘制球体作为图片显示的容器,然后将全景图片贴图到球体上进行渲染,完成图片显示:
定义球体坐标系为XsYsZs,球体由主体、底部、顶部三部分组成,其中主体部分的每个网格由空间内的四个点定义,底部和顶部每个网格由空间内的三个点定义;
主体网格空间点G(x,y,z)坐标由公式(1)定义,其中x y z分别表示网格空间点G在坐标轴XsYsZs方向的坐标值,r表示球体半径,α为网格空间点G到原点的连线与Ys轴间形成的角,即天顶角,β表示网格空间点G点在XsOZs平面的投影点G’到原点的连线与Xs轴形成的角,即方位角;
α和β由公式(2)定义,其中stacksum、slicesum分别表示横纵网格线个数,stacki和slicej分别表示第i条横向网格线和第j条纵向网格线,网格空间点G的极坐标表示为G(r,α,β),与球体纹路网格中的点对应;
按照同样的纹路数目将全景图片进行等间距划分,球体网格上四个点与全景图片网格中矩形区域的四个顶点相对应,得到对应关系后,将图片渲染至球体实现全景图片的显示,用户最终看到的全景图像为原始图像渲染至球体后得到的球体图像。
所述的基于全景图像的虚拟现实安全认证方法,步骤(2)中所述分析虚拟现实系统的对象构建原理后,使用图像旋转/暂停交互设计,在显示全景图像之后进行旋转变换的具体方法是:
球体坐标系为XsYsZs作为初始球体坐标系,初始球体坐标系与虚拟世界坐标系XOYOZO方向相同,以虚拟世界坐标系作为参考球体初始姿态角Yaw为球体绕Xs轴的旋转角度,Pitch为球体绕Ys轴的旋转角度,Roll为球体绕Zs轴的旋转角度,均以逆时针方向为正方向。Yaw、Pitch、Roll的初始值均为0。球体的每次旋转变换用球体分别绕其Xs、Ys、Zs轴转动的角度值表示,即球体姿态角变化量。anglexi表示第i次旋转变换在Xs方向的姿态角变化量,angleyi表示第i次旋转变换在Ys方向的姿态角变化量,anglezi表示第i次旋转变换在Zs方向的姿态角变化量。Δti表示相邻两次旋转变换的时间间隔。其中Δt,anglex和angley,anglez均为可调节参数。经过k次旋转变换后,球体总的姿态角变化量(Yaws,Pitchs,Rolls)用公式(3)计算,Yaws表示k次旋转变换后球体在Xs方向总的姿态角变化量,Pitchs表示k次旋转变换后球体在Ys方向总的姿态角变化量,Rolls表示k次旋转变换后球体在Zs方向总的姿态角变化量:
在此基础上为了防御各类侧信道攻击,进一步对参数Δt,anglex和angley,anglez的取值进行随机化处理,通过实验为这些参数选取合适的范围,当用户设置口令或进行认证时,从选定的范围中选取参数实现全景图片的旋转。
所述的基于全景图像的虚拟现实安全认证方法,步骤(3)中所述由于图片渲染至球体的形变,无法使用原图像像素点表示用户输入,使用设备姿态角表示用户输入的具体步骤包括:
(31)输入获取:
若球体姿态保持不变,则球体图像像素点与输入设备姿态角存在映射关系;球体若发生旋转变化,则将球体姿态角变化量考虑在内,输入设备姿态角与全景图像像素点依旧存在映射关系,获取到输入设备姿态角后,需要结合球体旋转变换,用添加球体姿态角变化量的输入设备姿态角的Yaw和Pitch分量表示用户选择的球体图像像素点,即P(Yaw,Pitch),在系统初始化时需要记录输入设备姿态角的Yaw、Pitch分量Yawo、Pitcho,然后在用户点击时再次获取输入设备姿态角Yawi、Pitchi,使用公式(4)得到用户输入的图像口令Pk(Yawk,Pitchk),
其中Yaws、Pitchs分别表示在球体旋转变换过程中球体姿态角变化量;
(32)输入提示:
获取用户点击动作时,通过获取输入设备当前姿态,在虚拟世界中合适的位置添加自定义的虚拟对象,达到提示用户的目的。
所述的基于全景图像的虚拟现实安全认证方法,步骤(4)中所述针对输入像素点的口令存储问题,设计区域分割算法,将获取的原始像素点连续值进行离散化处理,然后将离散的区域值存储为最终的口令的具体步骤包括:
(41)问题描述:
图像口令是像素点序列对应的姿态角坐标序列,输入设备姿态角分量取值范围为Yaw∈[-π,π],口令空间为二维,Yaw和Pitch分别对应这两个维度,Yaw为球体在Xs方向的姿态角变化量,Pitch为球体在Ys方向的姿态角变化量,二维空间的区域分割问题视为两个独立的一维空间分割问题;一维划分问题定义:给定用户输入的口令序列P、划分区域个数n的最小值Min、n的最大值Max、口令取值范围为[0,2π],求解一种划分方式,使所有的口令点距离划分线最小距离达到最大;
(42)区域分割算法:
原定义中分割线Ci横坐标值添加偏移量后坐标值定义为其中W=2π,α、β表示分割线的偏移量。通过分析可知α的变化范围为[0,W/n],当n固定且α在[0,W/n]范围内变化时,公式(5)定义了口令点Pk距离划分线的最小距离,所有点最小距离的最小值用公式(6)定义:
其中,W/n表示相邻划分线间的距离,遍历所有n值,求出每个n值对应的所有口令点距离划分线的最小距离的最大值,取所有n求得的最大值的最大值,该n值和求得最大值时对应的α值即为要求的解,得到n值和α值后,用公式(7)可完成对口令点的映射,将其从连续的坐标值转换为离散的区域编号,将n值和α值以及得到的区域编号序列哈希值作为最终的口令表示进行存储,其中Pk(xk,yk)表示用户输入的第k个密码,W=2π,H=π
(3)算法求解:
(A)对固定的n值,求得所有口令点距离划分线的最小距离曲线的函数表示,得到k个绝对值函数表达式;
(B)求得所有曲线的交点和边界点,先遍历所有曲线求得所有边界点,然后对所有曲线两两求交点;
(C)将所有边界点和交点对应的横坐标代入所有曲线方程求得纵坐标的值,得到每个点对应的纵坐标的最小值,在所有最小值中取得最大值Vn,取的横坐标即为偏移量αn;
(D)在取值范围内取不同的n值,重复步骤A-C;
(E)从所有Vn中找到最大值,得到对应的n和αn。
有益效果:
与现有技术相比,本发明具有以下优点:
(1)本发明在全景图像显示时,增加图像旋转/暂停交互控制方式,并对旋转参数进行随机化处理,打破输入设备姿态角变化量与虚拟光标在图像上移动轨迹之间的对应关系,从根本上防御虚拟现实口令认证的侧信道攻击。
(2)本发明在用户口令存储时,设计区域分割算法,保证口令空间足够大,认证过程中口令输入轻微偏离对认证失败影响小,提高可用性。
(3)和传统的智能终端认证技术相比,本发明不需要硬件支持,选择图像信息丰富的全景图片供用户设置口令,使用图像旋转/交互方式控制输入,提高用户使用体验。
附图说明
图1为本发明中的流程示意图;
图2为实施例中全景图片显示构建的球体纹理示意图;
图3为实施例中全景图片划分示意图;
图4为实施例中的区域划分问题示意图;
图5为实施例中的添加偏移量的区域分割问题示意图;
图6为实施例中的距离划分线最小距离示意图;
图7为实施例中的距离划分线最小距离最小值示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,本发明的一种基于全景图像的虚拟现实安全认证技术,实现步骤如下:
(1)全景图像显示
结合虚拟现实系统,选取图像信息丰富的全景图片展示给用户,使用户获得全新的现场感和交互式的感受。
(2)用户控制输入
分析虚拟现实系统的对象构建原理后,使用图像旋转/暂停交互设计,在显示全景图像之后进行适当的旋转变换,打破像素点与输入设备姿态之间的映射关系,抵御侧信道攻击。同时用户可以在有限的视野内观察到完整图像,方便用户口令输入。
(3)用户输入获取
由于图片渲染至球体的形变,无法使用原图像像素点表示用户输入,使用设备姿态角表示用户输入。
(4)用户口令设置阶段
针对输入像素点的口令存储问题,设计区域分割算法,将获取的原始像素点连续值进行离散化处理,然后将离散的区域值存储为最终的口令。
(5)用户口令认证阶段
根据区域分割情况,将用户输入口令的像素点信息转换为区域信息,并与存储的口令对比,实现对用户身份的认证。
具体地:本实施中的基于全景图像的虚拟现实安全认证技术:包括以下步骤:
一、全景图像展示
虚拟现实系统全景图像的显示分为两个步骤:首先要绘制球体作为图片显示的容器,然后将全景图片贴图到球体上进行渲染,完成图片显示。参考OpenGL中球体定义,球体网格纹理如图2所示,球体坐标系为XsYsZs,球体由主体、底部、顶部三部分组成,其中主体部分的每个网格由空间内的四个点定义,底部和顶部每个网格由空间内的三个点定义。主体网格空间点G(x,y,z)坐标由公式(1)定义,其中r表示球体半径,α为点G到原点的连线与Ys轴间形成的角(天顶角)、β表示G点在XsOZs平面的投影点P’到原点的连线与Xs轴形成的角(方位角),α和β由公式(2)定义,其中stacksum、slicesum分别表示横纵网格线个数,stacki和slicej分别表示第i条横向网格线和第j条纵向网格线,G的极坐标表示为P(r,α,β)。与球体纹路网格中的点对应,按照同样的纹路数目将全景图片进行等间距划分,图像坐标系如图3所示,球体网格上四个点与全景图片网格中矩形区域的四个顶点相对应。得到对应关系后,将图片渲染至球体实现全景图片的显示。用户最终看到的全景图像为原始图像渲染至球体后得到的球体图像。
二、用户控制输入
在显示全景图像后对球体对象进行适当的旋转变换,就可以打破像素点与输入设备姿态之间的映射关系,同时又可以让用户在有限的视野范围内观察到整张图像。如图2所示球体坐标系为XsYsZs,初始球体坐标系与虚拟世界坐标系XoYoZo方向相同,以虚拟世界坐标系作为参考球体初始姿态角Yaw、Pitch、Roll的值均为0。每次旋转变换(球体的一次旋转变换可以用球体分别绕其Xs、Ys、Zs轴转动的角度值表示,即球体姿态角变化量)对应的姿态角变化量用anglexi,angleyi,anglezi表示,相邻两次旋转变换的时间间隔用Δti表示,其中Δt,anglex和angley,anglez均为可调节参数。经过k次旋转变换后,球体总的姿态角变化量(Yaws,Pitchs,Rolls)可用公式(3)计算。
在此基础上为了防御各类侧信道攻击,进一步对参数Δt,anglex和angley,anglez的取值进行随机化处理。通过实验为这些参数选取合适的范围,当用户设置口令或进行认证时,从选定的范围中选取参数实现全景图片的旋转。
三、用户输入获取
由于图片渲染至球体的形变,无法使用原图像像素点表示用户输入,现使用设备姿态角表示用户输入。同时会将用户输入的口令在全景图像相关位置显示,方便用户记忆和操作。
(1)输入获取
若球体姿态保持不变,则球体图像像素点与输入设备姿态角存在映射关系。球体若发生旋转变化,则将球体姿态角变化量考虑在内,输入设备姿态角与全景图像像素点依旧存在映射关系。获取到输入设备(如头盔)姿态角后,需要结合球体旋转变换,用添加球体姿态角变化量的输入设备姿态角的Yaw和Pitch分量表示用户选择的球体图像像素点,即P(Yaw,Pitch)。由于Gear VR系统中,虚拟世界坐标系的方向(即初始球体坐标系的方向)与系统初始化时头盔的姿态角相关(Z0与Zh方向在同一垂直平面内),因此在系统初始化时需要记录头盔姿态角的Yaw、Pitch分量Yawo、Pitcho,然后在用户点击时再次获取头盔姿态角Yawi、Pitchi,使用公式(4)得到用户输入的图像口令Pk(Yawk,Pitchk),其中Yaws、Pitchs分别表示在球体旋转变换过程中球体姿态角变化量。
(2)输入提示
为了提高认证的可用性,方便用户记忆和操作,在用户输入口令阶段将用户输入的口令在全景图像相关位置显示。全景图像渲染完成后,在用户交互阶段,很难直接对渲染至球体的图像进行直接处理(例如在图像上标注用户点击的像素点)。因此当捕获到用户点击动作时,通过获取头盔当前姿态,在虚拟世界中合适的位置添加自定义的虚拟对象,达到提示用户的目的。
四、用户口令设置阶段
在对原始口令进行存储时,需要先对其进行离散化处理。进行离散化时需要注意两个问题:第一个问题,区域的个数代表了口令空间大小,为了保证认证的安全性,口令空间必须要足够大。第二个问题,用户的初始口令序列中所有点距离区域划分线不能太近。若某个点刚好落在划分线附近,认证时轻微的偏离就可能导致认证失败,可用性会变差。为解决第一个问题,必须要保证划分区域个数足够多;为解决第二个问题,要尽量保证所有的点不要落在区域划分线附近。
接下来对区域划分问题进行了建模,提出了解决方案和具体实现。
(1)问题描述
图像口令是像素点序列对应的姿态角坐标序列,输入设备姿态角分量取值范围为Yaw∈[-π,π]。区域划分问题可用图4表示,横纵坐标分别表示姿态角Yaw、Pitch分量,图中的点Pk(xk,yk)表示用户输入的第k个口令,所有的点均在姿态角分量取值范围内随机分布,点B(W,H)表示姿态角分量的取值边界,其中W=2π,H=π,Ci(xi,0)、Rj(0,yj)分别表示区域分割的划分线,划分线划分的区域个数为nyaw、npitch,划分线等间隔分布(分割线坐标以Ci为例,xi=i*(W/n))。将区域分割问题形式化为图中的区域划分问题,使图中所有点都尽量落在区域中心,并保证区域个数足够多。口令空间为二维(Yaw和Pitch两个维度),二维空间的区域分割问题可视为两个独立的一维空间分割问题。
一维划分问题定义(以Yaw轴为例):给定用户输入的口令序列P、划分区域个数n的最小值Min、n的最大值Max、口令取值范围为[0,2π],求解一种划分方式,使所有的口令点距离划分线最小距离达到最大。形式化表示如下:
(2)区域分割算法
为了得到最优解,如图5在原定义的基础上增加分割线偏移量α、β,表示分割线的偏移。由于一个二维分割问题可视为两个独立的一维分割问题,因此在下文介绍求解算法时,以Yaw维度上求解为例进行阐述。原定义中分割线Ci横坐标值xi=i*(W/n),添加偏移量后坐标值定义为xi=α+i*(W/n)。通过分析可知α的变化范围为[0,W/n]。
当n固定且α在[0,W/n]范围内变化时,公式(5)定义了口令点Pk距离划分线的最小距离,例如三个口令点距离划分线的最小距离曲线变化如图6所示。那么在该固定的n值下,所有口令点的最小距离变化如图7所示,每条黑色曲线代表一个点距离划分线的最小距离变化,红色曲线即所有点最小距离的最小值,即公式(6)定义的值,其中,W/n表示相邻划分线间的距离。红色曲线的最大值即为所有口令点距离划分线的最小距离的最大值,对应图中蓝色的点对应的纵坐标。
通过图形形式化表示可以得到求解区域分割问题最优解的方法:遍历所有n值,求出每个n值对应的所有口令点距离划分线的最小距离的最大值,取所有n求得的最大值的最大值,该n值和求得最大值时对应的α值即为要求的解。
得到n值和α值后,用公式(7)可完成对口令点的映射,将其从连续的坐标值转换为离散的区域编号,将n值和α值以及得到的区域编号序列哈希值作为最终的口令表示进行存储。
(3)算法求解
所有口令点距离划分线的最小距离的函数表示为绝对值函数,绝对值函数在定义域上不是处处可导的,不能通过求导的方式求得其最大最小值。因此n确定时所有口令点距离划分线的最小距离的最大值(图中蓝色点对应的纵坐标)求解需要分段进行。整个求解过程描述如下:
(A)对固定的n值,求得所有口令点距离划分线的最小距离曲线的函数表示,得到k个绝对值函数表达式;
(B)求得所有曲线的交点和边界点,先遍历所有曲线求得所有边界点,然后对所有曲线两两求交点;
(C)将所有边界点和交点对应的横坐标代入所有曲线方程求得纵坐标的值,得到每个点对应的纵坐标的最小值,在所有最小值中取得最大值Vn,取的横坐标即为偏移量αn;
(D)在取值范围内取不同的n值,重复步骤A-C;
(E)从所有Vn中找到最大值,得到对应的n和αn。
五、用户口令认证阶段
用户输入口令后,按照区域分割方式将用户图像口令进行离散化存储,存储的是区域的编号哈希值,当用户进行认证时,获取到用户的输入,用公式(7)对输入的原始口令进行离散化映射,然后将得到的结果进行哈希,与存储的哈希值对比,若值相同则认证成功,不同则认证失败。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
Claims (5)
1.一种基于全景图像的虚拟现实安全认证方法,其特征在于,该方法包括以下步骤:
(1)全景图像显示:结合虚拟现实系统,选取图像信息丰富的全景图片展示给用户,使用户获得全新的交互式现场感受;
(2)用户控制输入:分析虚拟现实系统的对象构建原理后,使用图像旋转/暂停交互设计,在显示全景图像之后进行旋转变换,打破输入像素点与输入设备姿态之间的映射关系,抵御侧信道攻击,同时用户观察到完整图像进行用户口令输入;
(3)用户输入获取:由于图片渲染至球体的形变,无法使用原图像像素点表示用户输入,使用设备姿态角表示用户输入;
(4)用户口令设置阶段:针对输入像素点的口令存储问题,设计区域分割算法,将获取的原始像素点连续值进行离散化处理,然后将离散的区域值存储为最终的口令;
(5)用户口令认证阶段:根据区域分割情况,将用户输入口令的像素点信息转换为区域信息,并与存储的最终口令对比,实现对用户身份的认证。
2.根据权利要求1所述的基于全景图像的虚拟现实安全认证方法,其特征在于,步骤(1)中所述结合虚拟现实系统,选取图像信息丰富的全景图片展示给用户的具体方法是,首先要绘制球体作为图片显示的容器,然后将全景图片贴图到球体上进行渲染,完成图片显示:
定义球体坐标系为XsYsZs,球体由主体、底部、顶部三部分组成,其中主体部分的每个网格由空间内的四个点定义,底部和顶部每个网格由空间内的三个点定义;
主体网格空间点G(x,y,z)坐标由公式(1)定义,其中x y z分别表示网格空间点G在坐标轴XsYsZs方向的坐标值,r表示球体半径,α为网格空间点G到原点的连线与Ys轴间形成的角,即天顶角,β表示网格空间点G点在XsOZs平面的投影点G’到原点的连线与Xs轴形成的角,即方位角;
α和β由公式(2)定义,其中stacksum、slicesum分别表示横纵网格线个数,stacki和slicej分别表示第i条横向网格线和第j条纵向网格线,网格空间点G的极坐标表示为G(r,α,β),与球体纹路网格中的点对应;
按照同样的纹路数目将全景图片进行等间距划分,球体网格上四个点与全景图片网格中矩形区域的四个顶点相对应,得到对应关系后,将图片渲染至球体实现全景图片的显示,用户最终看到的全景图像为原始图像渲染至球体后得到的球体图像。
3.根据权利要求1所述的基于全景图像的虚拟现实安全认证方法,其特征在于,步骤(2)中所述分析虚拟现实系统的对象构建原理后,使用图像旋转/暂停交互设计,在显示全景图像之后进行旋转变换的具体方法是:
球体坐标系为XsYsZs作为初始球体坐标系,初始球体坐标系与虚拟世界坐标系XOYOZO方向相同,以虚拟世界坐标系作为参考球体初始姿态角Yaw为球体绕Xs轴的旋转角度,Pitch为球体绕Ys轴的旋转角度,Roll为球体绕Zs轴的旋转角度,均以逆时针方向为正方向;Yaw、Pitch、Roll的初始值均为0;球体的每次旋转变换用球体分别绕其Xs、Ys、Zs轴转动的角度值表示,即球体姿态角变化量;anglexi表示第i次旋转变换在Xs方向的姿态角变化量,angleyi表示第i次旋转变换在Ys方向的姿态角变化量,anglezi表示第i次旋转变换在Zs方向的姿态角变化量;Δti表示相邻两次旋转变换的时间间隔;其中Δt,anglex和angley,anglez均为可调节参数;经过k次旋转变换后,球体总的姿态角变化量(Yaws,Pitchs,Rolls)用公式(3)计算,Yaws表示k次旋转变换后球体在Xs方向总的姿态角变化量,Pitchs表示k次旋转变换后球体在Ys方向总的姿态角变化量,Rolls表示k次旋转变换后球体在Zs方向总的姿态角变化量:
在此基础上为了防御各类侧信道攻击,进一步对参数Δt,anglex和angley,anglez的取值进行随机化处理,通过实验为这些参数选取合适的范围,当用户设置口令或进行认证时,从选定的范围中选取参数实现全景图片的旋转。
4.根据权利要求1所述的基于全景图像的虚拟现实安全认证方法,其特征在于,步骤(3)中所述由于图片渲染至球体的形变,无法使用原图像像素点表示用户输入,使用设备姿态角表示用户输入的具体步骤包括:
(31)输入获取:
若球体姿态保持不变,则球体图像像素点与输入设备姿态角存在映射关系;球体若发生旋转变化,则将球体姿态角变化量考虑在内,输入设备姿态角与全景图像像素点依旧存在映射关系,获取到输入设备姿态角后,需要结合球体旋转变换,用添加球体姿态角变化量的输入设备姿态角的Yaw和Pitch分量表示用户选择的球体图像像素点,即P(Yaw,Pitch),在系统初始化时需要记录输入设备姿态角的Yaw、Pitch分量Yawo、Pitcho,然后在用户点击时再次获取输入设备姿态角Yawi、Pitchi,使用公式(4)得到用户输入的图像口令Pk(Yawk,Pitchk),
其中Yaws、Pitchs分别表示在球体旋转变换过程中球体姿态角变化量;
(32)输入提示:
获取用户点击动作时,通过获取输入设备当前姿态,在虚拟世界中合适的位置添加自定义的虚拟对象,达到提示用户的目的。
5.根据权利要求1所述的所述的基于全景图像的虚拟现实安全认证方法,步骤(4)中所述针对输入像素点的口令存储问题,设计区域分割算法,将获取的原始像素点连续值进行离散化处理,然后将离散的区域值存储为最终的口令的具体步骤包括:
(41)问题描述:
图像口令是像素点序列对应的姿态角坐标序列,输入设备姿态角分量取值范围为Yaw∈[-π,π],口令空间为二维,Yaw和Pitch分别对应这两个维度,Yaw为球体在Xs方向的姿态角变化量,Pitch为球体在Ys方向的姿态角变化量,二维空间的区域分割问题视为两个独立的一维空间分割问题;一维划分问题定义:给定用户输入的口令序列P、划分区域个数n的最小值Min、n的最大值Max、口令取值范围为[0,2π],求解一种划分方式,使所有的口令点距离划分线最小距离达到最大;
(42)区域分割算法:
原定义中分割线Ci横坐标值添加偏移量后坐标值定义为其中W=2π,α、β表示分割线的偏移量。通过分析可知α的变化范围为[0,W/n],当n固定且α在[0,W/n]范围内变化时,公式(5)定义了口令点Pk距离划分线的最小距离,所有点最小距离的最小值用公式(6)定义:
其中,W/n表示相邻划分线间的距离,遍历所有n值,求出每个n值对应的所有口令点距离划分线的最小距离的最大值,取所有n求得的最大值的最大值,该n值和求得最大值时对应的α值即为要求的解,得到n值和α值后,用公式(7)可完成对口令点的映射,将其从连续的坐标值转换为离散的区域编号,将n值和α值以及得到的区域编号序列哈希值作为最终的口令表示进行存储,其中Pk(xk,yk)表示用户输入的第k个密码,W=2π,H=π
(43)算法求解:
(A)对固定的n值,求得所有口令点距离划分线的最小距离曲线的函数表示,得到k个绝对值函数表达式;
(B)求得所有曲线的交点和边界点,先遍历所有曲线求得所有边界点,然后对所有曲线两两求交点;
(C)将所有边界点和交点对应的横坐标代入所有曲线方程求得纵坐标的值,得到每个点对应的纵坐标的最小值,在所有最小值中取得最大值Vn,取的横坐标即为偏移量αn;
(D)在取值范围内取不同的n值,重复步骤A-C;
(E)从所有Vn中找到最大值,得到对应的n和αn。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910822378.2A CN110968859B (zh) | 2019-08-31 | 2019-08-31 | 一种基于全景图像的虚拟现实安全认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910822378.2A CN110968859B (zh) | 2019-08-31 | 2019-08-31 | 一种基于全景图像的虚拟现实安全认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968859A CN110968859A (zh) | 2020-04-07 |
CN110968859B true CN110968859B (zh) | 2022-11-18 |
Family
ID=70028508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910822378.2A Active CN110968859B (zh) | 2019-08-31 | 2019-08-31 | 一种基于全景图像的虚拟现实安全认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968859B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809701A (zh) * | 2016-03-25 | 2016-07-27 | 成都易瞳科技有限公司 | 全景视频姿态标定方法 |
CN108259787A (zh) * | 2018-03-30 | 2018-07-06 | 哈尔滨市舍科技有限公司 | 一种全景视频切换装置和方法 |
KR20180132530A (ko) * | 2017-06-03 | 2018-12-12 | 이명호 | 픽처 슬라이딩 패스워드를 이용한 사용자 인증 방법 및 컴퓨터 프로그램 |
KR20190017315A (ko) * | 2017-08-11 | 2019-02-20 | 주식회사 티슈 | 이미지 터치 사용자 인증 방법 및 이를 실행하는 시스템 |
-
2019
- 2019-08-31 CN CN201910822378.2A patent/CN110968859B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809701A (zh) * | 2016-03-25 | 2016-07-27 | 成都易瞳科技有限公司 | 全景视频姿态标定方法 |
KR20180132530A (ko) * | 2017-06-03 | 2018-12-12 | 이명호 | 픽처 슬라이딩 패스워드를 이용한 사용자 인증 방법 및 컴퓨터 프로그램 |
KR20190017315A (ko) * | 2017-08-11 | 2019-02-20 | 주식회사 티슈 | 이미지 터치 사용자 인증 방법 및 이를 실행하는 시스템 |
CN108259787A (zh) * | 2018-03-30 | 2018-07-06 | 哈尔滨市舍科技有限公司 | 一种全景视频切换装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110968859A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11631155B2 (en) | Equatorial stitching of hemispherical images in a spherical image capture system | |
US11983839B2 (en) | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image | |
WO2018032947A1 (zh) | 三维模型验证码的实现方法及其装置 | |
US9104857B2 (en) | Gesture-based authentication without retained credentialing gestures | |
CN108805979A (zh) | 一种动态模型三维重建方法、装置、设备和存储介质 | |
CN109191554B (zh) | 一种超分辨图像重建方法、装置、终端和存储介质 | |
CN111598993A (zh) | 基于多视角成像技术的三维数据重建方法、装置 | |
US20230103385A1 (en) | 3d reconstruction method and apparatus | |
CN106780389A (zh) | 一种基于坐标转换的鱼眼图像校正方法及装置 | |
CN110060201B (zh) | 一种全景视频的热点交互方法 | |
CN112419372A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115187729A (zh) | 三维模型生成方法、装置、设备和存储介质 | |
CN110968859B (zh) | 一种基于全景图像的虚拟现实安全认证方法 | |
CN112949576B (zh) | 姿态估计方法、装置、设备及存储介质 | |
CN113886510A (zh) | 一种终端交互方法、装置、设备及存储介质 | |
CN113496506A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN108737907B (zh) | 一种生成字幕的方法及装置 | |
CN112991449B (zh) | 一种agv定位与建图方法、系统、装置及介质 | |
CN114661399A (zh) | 一种基于空间几何的三维可视化大屏构建方法 | |
WO2020253342A1 (zh) | 3d视频的全景渲染方法、计算机设备和可读存储介质 | |
CN109814703B (zh) | 一种显示方法、装置、设备和介质 | |
CN108108694A (zh) | 一种人脸特征点定位方法及装置 | |
CN106990838B (zh) | 一种虚拟现实模式下锁定显示内容的方法及系统 | |
CN108171802A (zh) | 一种云端与终端结合实现的全景增强现实实现方法 | |
CN112308924B (zh) | 增强现实中摄像机的标定方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |