CN115374420B - 基于人脸安全验证的跨浏览器高并发数据访问的软件系统 - Google Patents

基于人脸安全验证的跨浏览器高并发数据访问的软件系统 Download PDF

Info

Publication number
CN115374420B
CN115374420B CN202211327126.0A CN202211327126A CN115374420B CN 115374420 B CN115374420 B CN 115374420B CN 202211327126 A CN202211327126 A CN 202211327126A CN 115374420 B CN115374420 B CN 115374420B
Authority
CN
China
Prior art keywords
data
browser
user
face
cache
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
Application number
CN202211327126.0A
Other languages
English (en)
Other versions
CN115374420A (zh
Inventor
刘歆
彭涛
唐岗
李登和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sinoinfosec Beijing Technology Co ltd
Original Assignee
Sinoinfosec Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sinoinfosec Beijing Technology Co ltd filed Critical Sinoinfosec Beijing Technology Co ltd
Priority to CN202211327126.0A priority Critical patent/CN115374420B/zh
Publication of CN115374420A publication Critical patent/CN115374420A/zh
Application granted granted Critical
Publication of CN115374420B publication Critical patent/CN115374420B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统,该系统包括:用户安全验证模块,数据缓存模块,数据访问模块;其中,所述用户安全验证模块包括摄像头采集人脸图片,人脸特征提取,人脸比对,人脸加密等模块;其中,所述数据缓存模块包括联合缓存机制,实现了高并发数据场景下的系统稳定;其中,所述数据访问模块装有本地服务组件,保证浏览器访问本地数据的兼容性;发明的特点是运用安全人脸识别技术,在保证设备安全访问的同时保护了用户的隐私信息,同时设计了联合缓存机制来保证数据高并发访问。

Description

基于人脸安全验证的跨浏览器高并发数据访问的软件系统
技术领域
本发明涉及软件技术领域,具体为一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统。
背景技术
身份验证是系统必不可少的一环,保证了数据和平台的安全。目前工业界一些软件系统的安全验证还停留在使用用户密码验证的方式,用户需要记住一串数字字符密码的组合进行系统身份验证。这种传统方式的弊端是一旦用户密码被破解或被他人知晓,系统数据将暴露在严重的安全隐患下,对公司造成不小的经济损失。尽管有些软件使用了更有效的指纹验证方式,但指纹识别设备处理速度慢,用户注册繁琐,且存在指纹被复制的风险。随着技术的进步,人们把目光投向了更为智能的人工智能领域,其中,人脸识别是一种基于人的脸部特征信息进行身份识别的一种生物识别技术。人脸识别技术将人脸采集、人脸特征提取、人脸相似度比较等部分集成在一起,最大程度的保证了使用系统的是用户本人,不需用户记忆信息,在便捷性和安全性上更胜一筹,广泛应用于考勤系统、安保系统、人脸移动支付等等领域。
随着国家对数据安全问题的重视,用户的个人数据需要得到有效保护,然而人脸识别内部的数据特征库存储了很多人脸部特征数据,如果图片被获取应用于恶意用途,如金融信贷,冒名顶替,对用户造成经济上和社会上的危害不可估量,因此,在软件系统应用人脸识别算法进行身份验证时,应当保证内部数据的安全,防止数据泄露,然而当前的人脸识别算法并没有注意这件事。
现在是数据爆炸的时代,系统每日承担着海量数据的访问请求,这就给系统的磁盘I/O带来巨大的负担,在用户访问请求过多的情况下往往导致访问速度下降、请求失败,甚至导致软件崩溃。为了维护系统的稳定性,需要引入缓存机制,目前的缓存技术多样,如redis缓存、cdn缓存等,在不同的服务层进行数据缓存,各有利弊。为了满足不同场景下的海量数据访问需求,需要结合几种缓存方式设计联合缓存机制来最大程度的维持系统的高并发访问和稳定。
此外,现有技术,CN114419689A公开一种基于机器学习的人脸识别系统。该发发明中的安全监护模块通过一种基于口令的密钥方式实现密钥托管,保证程序每一次对于视频设备的访问都必须获得用户的许可才能正常进行,但是,基于口令的密钥仍然存在被破解的风险。
CN114937304A提出一种基于同态加密的隐私保护人脸识别算法。该方法采用基于层次的同态加密方案,将加密后的人脸数据通过网络传输送入服务端进行表情识别;在同态加密之前对人脸表情图像进行关键点特征提取和筛选,从而减少计算时间。CN114445875A公开了一种基于深度学习的身份识别与人脸比对系统及训练方法,该系统通过客户终端的数据采集模块的信号输出端连接主机,服务器云端的图像预处理模块通过网络传输模块接收客户端主机传输的信息,身份证识别深度学习网络模型输出预测值,通过网络传输模块传输回主机。CN113435406A提供一种实现隐私保护的人脸识别方法及装置,在人脸识别方法中,客户端获取待识别人脸图像的目标特征,并采用同态加密算法对目标特征进行同态加密,得到加密人脸特征。客户端将加密人脸特征发送给云端服务器。云端服务器对加密人脸特征和各层网络的网络参数进行目标处理,从而确定加密人脸识别结果。但是,上述场景均在云端识别人脸,经过了网络传输,受网络影响较大,数据网络传输过程中有被攻击的风险,且具有额外的传输时间损耗,不适合保密要求高的系统。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统,用于解决在现有软件中系统安全性和用户安全性,以及系统访问稳定性的问题。
为实现上述目的及其他相关目的,本发明提供以下技术方案:
一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统,该系统包括:用户安全验证模块、数据缓存模块、数据访问模块;其特征为:
所述用户安全验证模块:包括摄像头采集人脸图像、人脸特征提取、人脸比对、人脸加密模块;
所述数据缓存模块:采用联合缓存机制,保持系统的稳定性,该联合缓存机制并在浏览器端,服务器端和进程内分别部署的缓存库,实现高并发数据场景下的系统稳定;
所述数据访问模块:主要负责用户通过浏览器访问本地数据,为了实现跨浏览器兼容访问本地数据;包括本地服务组件和执行组件以保证浏览器访问本地数据的兼容性;基于java开发组件,客户端计算机启动本地服务组件,为浏览器提供WebSocket访问服务;通过本地服务组件和其提供的服务接口访问本地计算机资源;通过本地执行组件把执行结果反馈给本地组件服务。
优选为:用户通过所述用户安全验证模块进行身份验证:用户通过客户端的摄像头设备进行拍照,采集用户人脸图像,并通过人脸识别方法进行用户身份匹配,匹配成功则说明用户是可信用户,允许该用户登录;若匹配不成功,则退回登录界面。
优选为:所述人脸识别方法包括以下步骤:
步骤1:图像采集:通过摄像头或手机等拍照设备,采集用户图片;
步骤2:人脸预处理:识别用户图片中人脸五官部分,并通过偏移旋转方式将用户五官标准化;通过采用人脸检测部分的滑动窗口,在图片中选出人脸候选集,并使用回归模型修正人脸;
步骤3:人脸特征识别:通过深度学习模型框架,实现图像特征提取:包括了特征提取层,特征池化层,特征修正层,以及全连接层:其中:特征提取层公式为:
Figure 491462DEST_PATH_IMAGE001
l为特征提取的层数,X为特征向量,m为矩阵的列坐标,n为矩阵的横坐标,convf()为函数,K为卷积核,上标l代表层数,nm代表矩阵的元素位置,p为偏置向量,Q为矩阵的列数;
特征池化层使用最大池化方式maxpool,即将矩阵中n*n的子矩阵缩为1*1的元素,元素值为子矩阵的最大值;
全连接层:用于将特征向量映射到不同的特征空间,公式为:
Figure 842809DEST_PATH_IMAGE002
P为新的特征向量,W为权重矩阵,X为原特征向量,b代表偏置向量,上标i代表向量维度;
特征修正层,公式为:
Figure 867397DEST_PATH_IMAGE003
func()代表本函数,X代表数据特征向量,c为超参数人工设定,e代表指数。
人脸识别的模型架构为:
输入图像-(卷积层-池化层-修正层)*3-全连接层*2-输出向量
步骤4:同态加密数据存储:
同态加密可以在加密的状态下进行加法和乘法运算,且解密后不影响结果,原则如下:
Figure 793634DEST_PATH_IMAGE004
Figure 903672DEST_PATH_IMAGE005
其中括号代表加密算法,a,b为加密前的数据,可见加密前两数相加与两数相加再加密的结果相同,相乘同理。
对于所有的样本特征向量,都要做同态加密处理,得到:
Figure 58710DEST_PATH_IMAGE006
p代表原向量,q代表加密后的向量,上标代表维度;
同态加密算法的步骤如下:
a. 生成秘钥:
计算公钥g和私钥m。
私钥m计算方式如下:
Figure 954116DEST_PATH_IMAGE007
其中,
Figure 536407DEST_PATH_IMAGE008
为多项式模数,n为自定义参数。
公钥g的计算方式为:
Figure 930479DEST_PATH_IMAGE009
其中,r为随机多项式,z为噪声,m为私钥。
b. 加密算法:
对于输入的x,用以下公式加密:
Figure 872896DEST_PATH_IMAGE010
其中,t为多项式的系数模数,v为掩码,m为私钥,r为随机多项式,
Figure 403235DEST_PATH_IMAGE011
Figure 156427DEST_PATH_IMAGE012
Figure 37795DEST_PATH_IMAGE013
为噪声。
c. 解密算法:
对于加密的
Figure 548018DEST_PATH_IMAGE014
,用以下方式解密:
Figure 198442DEST_PATH_IMAGE015
其中,
Figure 856956DEST_PATH_IMAGE016
为解密后的向量,
Figure 678151DEST_PATH_IMAGE017
为加密后的向量,t为多项式的系数模数。
所有经过人脸识别的图像输出的特征向量,均会被同态加密算法加密。
步骤5: 人脸相似度加密匹配
对测试样本和每一个内部用户加密特征数据使用向量内积乘法,将得到加密的置信度score
步骤6:人脸相似度解密
加密的置信度分数经过解密算法解密,得到真正的置信度分数,置信度均低于0.5代表用户不在内部库中,高于0.5,则取最高值的用户代表用户身份。
优选为:所述深度学习的训练过程包括三元损失函数,公式为:
Figure 713103DEST_PATH_IMAGE018
i代表第i维数据,
Figure 952454DEST_PATH_IMAGE019
是样本锚点,
Figure 798182DEST_PATH_IMAGE020
是正样本,
Figure 388563DEST_PATH_IMAGE021
是负样本, C是超参数。
Figure 492785DEST_PATH_IMAGE022
代表L2正则运算,g()为映射函数。
优选为:该联合缓存机制包含以下级别的缓存机制:首先是浏览器中的缓存,当用户通过浏览器请求数据时,首先在浏览器缓存中查询是否已有该数据,这里使用第一级HTTP缓存;联合缓存的第二级是负载均衡缓存,在高并发的场景下,需要对服务器进行负载均衡处理,这里引入了nignx缓存,部署在服务器端。联合缓存的第三级是托管堆缓存,存在在进程中,在JAVA中,此缓存位于JVM 的托管堆上面。
优选为:所述数据访问模块的接口包括:
浏览器与本地组件服务之间、浏览器与执行组件之间、本地组件服务与执行组件之间;所述浏览器与本地组件服务之间,浏览器与本地组件服务接口采用标准的WebSocket协议进行访问和通信;所述浏览器与执行组件之间,浏览器与执行组件之间通过JSon格式的数据来进行通信,浏览器发送的JSon格式数据和接收返回状态数据,由执行组件和浏览器端自行协商,本地组件服务起到一个承上启下的桥梁作用。
与现有技术相比,本发明的有益效果是:
数据缓存模块包括联合缓存机制,实现了高并发数据场景下的系统稳定;所述数据访问模块装有本地服务组件,保证浏览器访问本地数据的兼容性;运用安全人脸识别技术,在保证设备安全访问的同时保护了用户的隐私信息,同时设计了联合缓存机制来保证数据高并发访问。
附图说明
图1为本发明的整体架构图;
图2为本发明的具体实施流程图;
图3为人脸安全验证模块的人脸识别框架示意图;
图4为数据缓存模块的联合缓存机制示意图。
具体实施方式
下面结合附图和具体实施例来对本发明进行详细的说明。
一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统,该系统包括:用户安全验证模块,数据访问模块,数据缓存模块;其中,所述用户安全验证模块包括摄像头采集人脸图片,人脸特征提取,人脸比对,人脸加密等模块。其中,所述数据缓存模块包括联合缓存机制,在浏览器端,服务器端和进程内分别部署了缓存库,实现了高并发数据场景下的系统稳定。其中,所述数据访问模块装有本地服务组件和执行组件,保证浏览器访问本地数据的兼容性。
首先,用户通过用户安全验证模块进行身份验证。用户通过客户端的摄像头设备进行拍照,采集用户人脸图像,并通过人脸识别算法进行用户身份匹配,匹配成功则说明用户是可信用户,允许该用户登录;若匹配不成功,则退回登录界面。
人脸安全识别算法包括以下流程:
1图像采集:通过摄像头或手机等拍照设备,采集用户图片。
2人脸预处理:识别用户图片中人脸五官部分,并通过偏移旋转等方式将用户五官标准化。本发明中人脸检测部分使用滑动窗口,在图片中选出人脸候选集,并使用回归模型修正人脸。
3人脸特征识别:这是人脸识别算法的主要部分,通过深度学习模型框架,实现图像特征提取。
其中,特征提取层公式为:
Figure 304752DEST_PATH_IMAGE023
l为特征提取的层数,X为特征向量,m为矩阵的列坐标,n为矩阵的横坐标,convf()为函数,K为卷积核,上标l代表层数,nm代表矩阵的元素位置,p为偏置向量,Q为矩阵的列数。
特征池化层使用最大池化方式maxpool,即将矩阵中n*n的子矩阵缩为1*1的元素,元素值为子矩阵的最大值。
特征修正层公式为:
Figure 39490DEST_PATH_IMAGE024
func()代表本函数,X代表数据特征向量,c为超参数人工设定,e代表指数。修正层的引入防止了反向传播梯度爆炸的问题,负数的处理使其在输入为负数的情况下有一定的输出,提高抗干扰力。
训练过程中的损失函数为三元损失函数,公式为:
Figure 117168DEST_PATH_IMAGE018
i代表第i维数据,
Figure 784602DEST_PATH_IMAGE019
是样本锚点,
Figure 264125DEST_PATH_IMAGE020
是正样本,
Figure 169764DEST_PATH_IMAGE021
是负样本, C是超参数。
Figure 187268DEST_PATH_IMAGE022
代表L2正则运算,g()为映射函数。
此损失函数可以使测试样本与正样本之间的类间距最小,与负样本之间的类间距最大。
全连接层:用于将特征向量映射到不同的特征空间,公式为:
Figure 633292DEST_PATH_IMAGE002
P为新的特征向量,W为权重矩阵,X为原特征向量,b代表偏置向量,上标i代表维度;
特征修正层,公式为:
Figure 967322DEST_PATH_IMAGE024
func()代表本函数,X代表数据特征向量,c为超参数人工设定,e为指数。
4. 同态加密数据存储
每个图片经模型提取特征后都得到一个向量
Figure 529015DEST_PATH_IMAGE025
,上标代表维度。为了保护用户的特征,此特征不能被直接使用,需要经过加密保证数据不被泄露。同时,为了便于后面人脸相似度匹配,需要保证加密后的数据不影响运算,因此使用同态加密的方式。同态加密的原理如下:
Figure 846864DEST_PATH_IMAGE004
Figure 565422DEST_PATH_IMAGE005
其中括号代表加密算法,a,b为加密前的数据,可见加密前两数相加与两数相加再加密的结果相同,相乘同理。
对于所有的样本特征向量,都要做同态加密处理,得到:
Figure 268804DEST_PATH_IMAGE026
p为原向量,q代表加密后的向量,上标代表维度;
同态加密算法的步骤如下:
d. 生成秘钥:
计算公钥g和私钥m。
私钥m计算方式如下:
Figure 250667DEST_PATH_IMAGE027
其中,
Figure 790232DEST_PATH_IMAGE028
为多项式模数,n为自定义参数。
公钥g的计算方式为:
Figure 325863DEST_PATH_IMAGE029
其中,r为随机多项式,z为噪声,m为私钥。
e. 加密算法:
对于输入的x,用以下公式加密:
Figure 837747DEST_PATH_IMAGE030
其中,t为多项式的系数模数,v为掩码,m为私钥,r为随机多项式,
Figure 787248DEST_PATH_IMAGE011
Figure 797798DEST_PATH_IMAGE012
Figure 389317DEST_PATH_IMAGE013
为噪声。
f. 解密算法:
对于加密的
Figure 755707DEST_PATH_IMAGE031
,用以下方式解密:
Figure 892421DEST_PATH_IMAGE032
其中,
Figure 406579DEST_PATH_IMAGE016
为解密后的向量,
Figure 473892DEST_PATH_IMAGE017
为加密后的向量,t为多项式的系数模数。
所有经过人脸识别的图像输出的特征向量,均会被同态加密算法加密。
步骤5: 人脸相似度加密匹配
对测试样本和每一个内部用户加密特征数据使用向量内积乘法,将得到加密的置信度score
步骤6:人脸相似度解密
加密的置信度分数经过解密算法解密,得到真正的置信度分数,置信度均低于0.5代表用户不在内部库中,高于0.5,则取最高值的用户代表用户身份。
以上为用户验证模块内容,通过用户验证模块后,进入数据访问模块。
数据访问模块主要负责用户通过浏览器访问本地数据,为了实现跨浏览器兼容访问本地数据,我们基于java开发组件。只要浏览器支持HTML5的前提下无需加载任何插件,即可便利的解决浏览器访问本地计算机资源的技术。客户端计算机启动本地组件服务,为浏览器提供WebSocket访问服务。通过本地组件服务和其提供的服务接口,可便利的访问本地计算机资源。通过本地执行组件能够方便的把执行结果反馈给本地组件服务。
数据访问模块的接口包括以下三部分:
浏览器与本地组件服务之间、浏览器与执行组件之间、本地组件服务与执行组件之间。所述浏览器与本地组件服务之间,浏览器与本地组件服务接口采用标准的WebSocket协议进行访问和通信。所述浏览器与执行组件之间,浏览器与执行组件之间通过JSon格式的数据来进行通信,浏览器发送的JSon格式数据和接收返回状态数据,由执行组件和浏览器端自行协商,本地组件服务起到一个承上启下的桥梁作用。
所述本地组件服务与执行组件之间,执行组件需实现IBaseCom接口类定义的各项接口,完成对接。
以上是数据访问模块的架构,主要针对用户访问客户端本地数据,当用户访问内网数据过多时,可能会导致系统崩溃。因此本发明引入数据缓存模块,设计了一种联合缓存机制,保持系统的稳定性。
联合缓存机制包含以下级别的缓存机制:
首先是浏览器中的缓存,当用户通过浏览器请求数据时,首先在浏览器缓存中查询是否已有该数据,这里使用HTTP缓存,当用户第一次请求数据时,浏览器缓存库没有缓存数据,会从内部服务器取数据,并且放到浏览器缓存中,下次再进行请求的时候会根据缓存的策略来读取本地或者服务的数据信息。其中运用了强制缓存机制,当用户第二次访问该数据时,若两次访问时间不超过手工设置的过期时间seconds,将获得缓存数据,若超过,则需访问服务端请求数据。
联合缓存的第二级是负载均衡缓存,在高并发的场景下,需要对服务器进行负载均衡处理,这里引入了nignx缓存,部署在服务器端,当用户请求到达时,服务器首先会在缓存中搜索该请求,命中则直接返回数据。若服务端缓存库中不存在此条请求,则服务器需处理此请求,同时在其返回结果后,将结果存入服务器缓存库中,便于下次访问存取数据。
联合缓存的三级是托管堆缓存,存在在进程中,在JAVA中,此缓存位于JVM 的托管堆上面,内存中运行的进程对数据的响应速度极高,适合存放访问频繁的热点数据。需要注意的是,内存有限进程缓存库的空间不能太大,需要选择最核心的数据进入进程内缓存库。因此,缓存回收策略使用LFU最不常用算法,其原理是,在固定时间内,访问量最小的数据将会被移除缓存。在此种状况下由于先入先出和后入先出回收策略算法。
实施例
图1展示了本发明的总体架构,具体如下:本实施例提供一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统,本发明软件系统由用户安全验证模块,数据缓存模块,数据访问模块构成,其中,用户安全验证模块包含拍照设备,部署在客户端。数据访问模块部署在浏览器端,包含本地组件服务和执行组件,主要用于访问客户端计算机的本地设备,既包括文件系统中的各类型文件,又包含打印机,读卡器等外部设备,本地组件服务兼容了各种浏览器,便于用户使用。数据缓存模块设计了联合缓存机制,分别部署在浏览器端,服务器端和进程内部,分别基于HTTP缓存、负载均衡缓存和托管堆缓存结合在一起,共同维护系统稳定,实现高并发数据访问。
本发明涉及到的技术架构如下:
1. 用户安全验证模块:Python+Pytorch+Numpy;
2. 数据缓存模块:HTTP+Nginx代理服务器+Thread;
3. 数据访问模块:JAVA+SWT+WebSocket;
图2展示了本实施例一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统的流程示意图,所述方法包括以下步骤:
步骤S1:用户首先需要通过用户安全验证模块进行登录。具体实施流程如下:
1图像采集:用户通过拍照设备采集用户自己的照片,照片将上传到系统用于验证用户身份。
2人脸预处理:在照片中检测用户的人脸五官部分并剪切出来,若面部不正,将通过偏移旋转等方式将用户五官尽量摆正。本发明中人脸检测部分使用滑动窗口,在图片中选出人脸候选集,并使用回归模型修正人脸。
3人脸特征识别:预处理后的图片将通过基于深度学习人脸识别模型框架,经过一系列的特征提取、特征池化、特征修正、实现图像特征提取,提取出用户的特征并以向量的形式表示。本框架包括了11个特征提取层,4个特征池化层,以及两个全连接层。损失函数使用三元损失函数,目的是使正样本的间距最小,负样本的间距拉大。保证人脸识别的准确性。
4. 同态加密数据存储:为了保证用户隐私的同时便于后面人脸相似度匹配,需要保证加密后的数据不影响运算,因此使用同态加密的方式。对于所有的样本特征向量,都要做同态加密处理,得到加密后的向量。同时,模型内部特征库的所有特征也将进行同样的同态加密处理。
5. 人脸相似度匹配:对用户加密特征向量和每一个内部用户加密特征数据使用向量内积乘法,将得到置信度score,分值越高置信度越高,置信度均低于0.5代表用户不在内部库中,高于0.5,则取最高值的用户代表用户身份。
6. 当识别到用户的身份在可信人员中,则通过身份验证。
步骤S2:用户访问本地数据需通过数据访问模块,通过用户验证模块后,将进入数据访问模块。
该项技术实现的接口主要涉及以下三部分:
1. 浏览器与本地组件服务之间
浏览器与本地组件服务接口采用标准的WebSocket协议进行访问和通信。
2. 浏览器与执行组件之间
浏览器与执行组件之间通过JSon格式的数据来进行通信,浏览器发送的JSon格式数据和接收返回状态数据,由执行组件和浏览器端自行协商,本地组件服务起到一个承上启下的桥梁作用。
3. 本地组件服务与执行组件之间
执行组件需实现IBaseCom接口类定义的各项接口,完成对接。
本模块的调用流程为:
①浏览器通过WebSocket向本地组件服务发送JSon格式数据;
②本地组件服务判断相关执行组件是否加载。组件未加载,则调用Open接口加载相关执行组件;
③本地组件服务调用receiveMessage接口,向执行组件转发浏览器的JSon格式数据;
④执行组件执行过程中或执行完成后,调用msgEvent .sendMessage接口向本地组件服务发送相关执行状态和执行结果;
⑤本地组件服务向浏览器转发执行组件的执行状态或执行结果。
该模块基于JAVA语言进行开发,因此使得该项技术不但可以跨浏览器进行访问,还可以跨操作系统(Windows/Linux)进行访问,并能支持在安全可靠平台上的应用。
步骤S3:用户访问内部网络数据需通过数据缓存模块,以保证系统的高效稳定性。具体设计了基于多端的联合缓存机制如下:
1. 浏览器缓存:当用户通过浏览器请求数据时,首先在浏览器缓存中查询是否已有该数据,这里使用HTTP缓存,当用户第一次请求数据时,浏览器缓存库没有缓存数据,会从内部服务器取数据,并且放到浏览器缓存中,下次再进行请求的时候会根据缓存的策略来读取本地或者服务的数据信息。其中运用了强制缓存机制,当用户第二次访问该数据时,若两次访问时间不超过手工设置的过期时间seconds,将获得缓存数据,若超过,则需访问服务端请求数据。
2. 负载均衡缓存:在高并发的场景下,需要对服务器进行负载均衡处理,这里引入了nginx缓存,作为均衡分配请求的服务器,将所有请求通过upstream功能发送给服务器端,支持多种负载均衡算法,可以保证系统的高并发性,尽量不堵塞或崩溃,部署在服务器端,当用户请求到达时,服务器首先会在缓存中搜索该请求,命中则直接返回数据。若服务端缓存库中不存在此条请求,则服务器需处理此请求,同时在其返回结果后,将结果存入服务器缓存库中,便于下次访问存取数据。
3. 托管堆缓存:此部分存在在进程中,在JAVA中,此缓存位于JVM 的托管堆上面,由于内存宝贵,进程缓存库的空间不能太大,需要选择最核心的数据进入进程内缓存库。因此,缓存回收策略使用LFU最不常用算法,其原理是,在固定时间内,访问量最小的数据将会被移除缓存。具体部署使用消息队列修改方案,在修改完缓存数据后,给消息队列发送通知,其他应用进程将在收到通知后更改缓存数据。
图4展示了本发明数据缓存模块中联合缓存机制,具体的联合缓存机制的访问流程如下:
用户通过浏览器发送请求,请求首先通过浏览器HTTP缓存,若命中,返回缓存中的数据,同时修改此数据的过期时间。否则,请求通过浏览器进入服务器。
请求在服务器端缓存库中查找,若命中,返回缓存中的数据,同时修改此数据的过期时间。否则,请求在服务器中启动程序进程。
请求在进程缓存中查找,若命中,返回缓存中的数据,同时修改此数据的过期时间。否则,请求通过进程处理,查找数据。
最终,当用户无访问请求时,退出系统。
本发明提供了一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统,系统包括:用户安全验证模块、数据缓存模块、数据访问模块。其中用户安全验证模块使运用了先进的人脸识别算法用于验证用户身份,保证了系统的安全。同时在人脸识别模块使用了同态加密算法进行人脸相似度比对,保护了用户的隐私。数据缓存模块设计了联合缓存机制以实现高并发访问来维护系统稳定性。在数据访问模块解决了多浏览器兼容性的问题。综上所述,本发明通过以上模块保证了系统安全性、用户安全性、系统稳定性以及系统兼容性。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述 的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各 种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

Claims (4)

1.一种基于人脸安全验证的跨浏览器高并发数据访问的软件系统,该系统包括:用户安全验证模块、数据缓存模块、数据访问模块;其特征为:
所述用户安全验证模块:包括摄像头采集人脸图像、人脸特征提取、人脸比对、人脸加密模块;
所述数据缓存模块:采用联合缓存机制,保持系统的稳定性,该联合缓存机制并在浏览器端,服务器端和进程内分别部署的缓存库,实现高并发数据场景下的系统稳定;
所述数据访问模块:主要负责用户通过浏览器访问本地数据,为了实现跨浏览器兼容访问本地数据;包括本地服务组件和执行组件以保证浏览器访问本地数据的兼容性;基于java开发组件,客户端计算机启动本地服务组件,为浏览器提供WebSocket访问服务;通过本地服务组件和其提供的服务接口访问本地计算机资源;通过本地执行组件把执行结果反馈给本地组件服务;
用户通过所述用户安全验证模块进行身份验证:用户通过客户端的摄像头设备进行拍照,采集用户人脸图像,并通过人脸识别方法进行用户身份匹配,匹配成功则说明用户是可信用户,允许该用户登录;若匹配不成功,则退回登录界面;
所述人脸识别方法包括以下步骤:
步骤1:图像采集:通过摄像头或手机拍照设备,采集用户图片;
步骤2:人脸预处理:识别用户图片中人脸五官部分,并通过偏移旋转方式将用户五官标准化;通过采用人脸检测部分的滑动窗口,在图片中选出人脸候选集,并使用回归模型修正人脸;
步骤3:人脸特征识别:通过深度学习模型框架,实现图像特征提取:包括特征提取层,特征池化层,特征修正层,以及全连接层,其中:特征提取层公式为:
Figure 908753DEST_PATH_IMAGE002
l为特征提取的层数,X为特征向量,m为矩阵的列坐标,n为矩阵的横坐标,convf()为函数,K为卷积核,上标l代表层数,nm代表矩阵的元素位置,p为偏置向量,Q为矩阵的列数;
特征池化层使用最大池化方式maxpool,即将矩阵中n*n的子矩阵缩为1*1的元素,元素值为子矩阵的最大值;
全连接层:用于将特征向量映射到不同的特征空间,公式为:
Figure 553979DEST_PATH_IMAGE003
P为新的特征向量,W为权重矩阵,X为原特征向量,b代表偏置向量,上标i代表向量维度;
特征修正层,公式为:
Figure 358430DEST_PATH_IMAGE005
fun()代表本函数,X代表数据特征向量,c为超参数人工设定,e为指数;
人脸识别的模型架构为:
输入图像-(卷积层-池化层-修正层)*3-全连接层*2-输出向量;
步骤4: 同态加密数据存储:
同态加密在加密的状态下进行加法和乘法运算,且解密后不影响结果,原则如下:
Figure 884743DEST_PATH_IMAGE007
Figure 225512DEST_PATH_IMAGE009
其中括号代表加密算法,a,b为加密前的数据,可见加密前两数相加与两数相加再加密的结果相同,相乘同理;
对于所有的样本特征向量,都要做同态加密处理,得到:
Figure 420964DEST_PATH_IMAGE011
p为原向量,q代表加密后的向量,上标代表维度;
同态加密算法的步骤如下:
a.生成秘钥:
计算公钥g和私钥m;
私钥m计算方式如下:
Figure 106686DEST_PATH_IMAGE012
其中,
Figure 652503DEST_PATH_IMAGE013
为多项式模数,n为自定义参数;
公钥g的计算方式为:
Figure 449607DEST_PATH_IMAGE015
其中,r为随机多项式,z为噪声,m为私钥;
b.加密算法:
对于输入的x,用以下公式加密:
Figure 141836DEST_PATH_IMAGE016
其中,t为多项式的系数模数,v为掩码,m为私钥,r为随机多项式,z,
Figure 238323DEST_PATH_IMAGE017
Figure 123941DEST_PATH_IMAGE018
为噪声;
c.解密算法:
对于加密的
Figure 322190DEST_PATH_IMAGE019
,用以下方式解密:
Figure 253855DEST_PATH_IMAGE020
其中,
Figure 482619DEST_PATH_IMAGE021
为解密后的向量,
Figure 637008DEST_PATH_IMAGE022
为加密后的向量,t为多项式的系数模数;
所有经过人脸识别的图像输出的特征向量,均会被同态加密算法加密;
步骤5: 人脸相似度加密匹配
对测试样本和每一个内部用户加密特征数据使用向量内积乘法,将得到加密的置信度score分数;
步骤6:人脸相似度解密
加密的置信度score分数经过解密算法解密,得到真正的置信度score分数,置信度均低于0.5代表用户不在内部库中,高于0.5,则取最高值的用户代表用户身份。
2.根据权利要求1所述的基于人脸安全验证的跨浏览器高并发数据访问的软件系统,其特征为:
所述深度学习的训练过程包括三元损失函数,公式为:
Figure DEST_PATH_IMAGE023
i代表第i维数据,
Figure 10572DEST_PATH_IMAGE024
是样本锚点,
Figure DEST_PATH_IMAGE025
是正样本,
Figure 33403DEST_PATH_IMAGE026
是负样本, C是超参数,
Figure DEST_PATH_IMAGE027
代表L2正则运算,g()代表映射函数。
3.根据权利要求1所述的基于人脸安全验证的跨浏览器高并发数据访问的软件系统,其特征为:该联合缓存机制包含以下级别的缓存机制:第一级是浏览器中的缓存,当用户通过浏览器请求数据时,首先在浏览器缓存中查询是否以有该数据,这里使用HTTP缓存;联合缓存的第二级是负载均衡缓存,在高并发的场景下,需要对服务器进行负载均衡处理,这里引入了nignx缓存,部署在服务器端,联合缓存的第三级是托管堆缓存,存在进程中,在JAVA中,此缓存位于JVM 的托管堆上面。
4.根据权利要求1所述的基于人脸安全验证的跨浏览器高并发数据访问的软件系统,其特征为:所述数据访问模块的接口包括:
浏览器与本地组件服务之间、浏览器与执行组件之间、本地组件服务与执行组件之间;所述浏览器与本地组件服务之间,浏览器与本地组件服务接口采用标准的WebSocket协议进行访问和通信;浏览器与执行组件之间通过JSon格式的数据来进行通信,浏览器发送的JSon格式数据和接收返回状态数据,由执行组件和浏览器端自行协商,本地组件服务启到一个承上启下的桥梁作用。
CN202211327126.0A 2022-10-27 2022-10-27 基于人脸安全验证的跨浏览器高并发数据访问的软件系统 Active CN115374420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211327126.0A CN115374420B (zh) 2022-10-27 2022-10-27 基于人脸安全验证的跨浏览器高并发数据访问的软件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211327126.0A CN115374420B (zh) 2022-10-27 2022-10-27 基于人脸安全验证的跨浏览器高并发数据访问的软件系统

Publications (2)

Publication Number Publication Date
CN115374420A CN115374420A (zh) 2022-11-22
CN115374420B true CN115374420B (zh) 2023-01-03

Family

ID=84072570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211327126.0A Active CN115374420B (zh) 2022-10-27 2022-10-27 基于人脸安全验证的跨浏览器高并发数据访问的软件系统

Country Status (1)

Country Link
CN (1) CN115374420B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116405283B (zh) * 2023-04-06 2023-11-24 广州大有网络科技有限公司 基于信息数据保护的数据加密认证系统
CN117151722B (zh) * 2023-10-30 2024-02-23 山东大学 一种基于联盟区块链的人脸识别密码验证方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694865A (zh) * 2020-06-02 2020-09-22 中国工商银行股份有限公司 基于分布式系统的四层结构数据获取方法和装置
CN112733113A (zh) * 2021-01-12 2021-04-30 中国工商银行股份有限公司 设备认证方法、装置、系统、电子设备和介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011085335A2 (en) * 2010-01-08 2011-07-14 Sauce Labs, Inc. Real time verification of web applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694865A (zh) * 2020-06-02 2020-09-22 中国工商银行股份有限公司 基于分布式系统的四层结构数据获取方法和装置
CN112733113A (zh) * 2021-01-12 2021-04-30 中国工商银行股份有限公司 设备认证方法、装置、系统、电子设备和介质

Also Published As

Publication number Publication date
CN115374420A (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
US11444774B2 (en) Method and system for biometric verification
CN115374420B (zh) 基于人脸安全验证的跨浏览器高并发数据访问的软件系统
US10541806B2 (en) Authorizing account access via blinded identifiers
EP2605567B1 (en) Methods and systems for increasing the security of network-based transactions
CN116049785A (zh) 一种身份认证的方法和系统
Jo et al. Security analysis and improvement of fingerprint authentication for smartphones
AU2005307724A2 (en) Methods and systems for use in biomeiric authentication and/or identification
US10373135B2 (en) System and method for performing secure online banking transactions
JP2017507552A (ja) クライアント側のスコアベース認証を与える方法及び装置
US11575670B2 (en) Adaptive user authentication
US20240013198A1 (en) Validate digital ownerships in immutable databases via physical devices
Kim et al. CCTV-RFID enabled multifactor authentication model for secure differential level video access control
Kwon et al. CCTV-based multi-factor authentication system
Alotaibi et al. Enhancing OAuth services security by an authentication service with face recognition
US11356266B2 (en) User authentication using diverse media inputs and hash-based ledgers
US8495716B1 (en) Systems and methods for facilitating online authentication from untrusted computing devices
Dias et al. Deep learning based graphical password authentication approach against shoulder-surfing attacks
US20240259201A1 (en) Virtual environment-to-real world secured communication channel
CN113518061B (zh) 人脸识别中的数据传输方法、设备、装置、系统及介质
US20220158986A1 (en) Non-stored multiple factor verification
US20230179596A1 (en) Access authentication using obfuscated biometrics
CN114866223A (zh) 一种基于唇码验证的文件加密及解密方法
CN112291188B (zh) 注册验证方法及系统、注册验证服务器、云服务器
Mohammed et al. A New system for User Authentication Using Android Application
US12107852B2 (en) Intelligent authentication mechanism for applications

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