指纹识别系统架构

目录

1. 系统架构

1.1 指纹采集模块

1.2 指纹处理模块

1.3 指纹登记模块

1.4 指纹识别模块

1.5 指纹识别决策模块

1.6 管理模块

1.6.1 存储管理

1.6.2 传输管理

1.6.3 安全管理

1.7 应用开放功能

1.7.1 指纹登记功能

1.7.2 指纹验证功能

1.7.3 指纹辨识功能

2. 工作流程

2.1 指纹登记

2.2 指纹验证

2.3 指纹辨识

3. 系统安全

3.1 系统内在限制

3.2 系统外部攻击


1. 系统架构

        《GB∕T 37076-2018 信息安全技术 指纹识别系统技术要求》定义了指纹识别系统的基本组成和相互关系如下图所示。

1.1 指纹采集模块

        指纹采集模块包括输入设备或传感器,从用户采集指纹特征信息,将其转化成适合指纹识别系统其他部分进行处理的形式,实现信息的转换。

1.2 指纹处理模块

        指纹处理模块从指纹采集模块接收原始数据,然后将数据转换成指纹识别模块所需要的指纹样本,包含指纹中间样本处理、指纹特征提取、质量控制等。

  • 指纹中间样本处理功能针对指纹进行修剪、下采样、压缩、转换成数据交换格式标准以及图像增强等处理操作,形成指纹中间样本。

  • 指纹特征提取功能针对经过标准化处理后的指纹中间样本分离并输出可重复性和辨识性的数值或标记,形成指纹样本,并将其提交给匹配过程。通常来说,一旦原始指纹数据已经处理,通过已经处理的数据或模板重构原始指纹数据是不可行的。

  • 质量控制拒绝接受样本时,指纹采集模块可能会采集新的样本。

1.3 指纹登记模块

        根据指纹处理模块提供的信息,进行指纹登记处理,并将指纹特征数据信息提交数据存储管理模块进行存储。

1.4 指纹识别模块

        根据指纹处理模块提供的指纹样本,以及经存储管理模块提供的指纹特征参考,进行指纹识别比对。比较所产生的分数值表明指纹样本和指纹特征参考匹配的程度。

1.5 指纹识别决策模块

        指纹识别决策模块接收从指纹识别模块输出的比对数值,根据设置的指纹识别决策策略,为指纹识别应用产生一个声称者是否是其所声称的身份的是非决定。

        指纹识别决策策略可以包括:

  • 匹配阈值

  • 每次识别所允许的匹配尝试次数

  • 每个声称者登记的参考模板数目

  • 在匹配过程中使用内部控制,用以检测指纹特征样本是否相同

  • 使用串行、并行、加权或者融合的决策模型,使用多次参考模板

1.6 管理模块

1.6.1 存储管理

        存储功能为登记的用户保存指纹特征参考。根据指纹识别模块的需要,它提供登记指纹特征参考的增加、删除和检索功能。存储模块根据系统架构和预期的功能,可为单个用户保存一个或大量指纹模板。

        模板可以存储在:

  • 指纹特征设备中的物理保护介质;

  • 计算机系统的常规数据库;

  • 便携的令牌,例如智能卡。

1.6.2 传输管理

        传输管理部分实现各模块节点或子系统以及其他信息系统间的通信与数据传输。

1.6.3 安全管理

        安全管理部分负责管理指纹识别系统安全决策的执行和应用。

1.7 应用开放功能

        指纹识别系统包含指纹采集、指纹处理、指纹登记、指纹识别、指纹识别决策和管理等功能模块。这些模块用以实现指纹登记、指纹验证以及指纹辨识三种基础身份鉴别安全功能。

1.7.1 指纹登记功能

        为用户创建指纹特征参考,并将其作为鉴别用户身份唯一标识的依据。

1.7.2 指纹验证功能

        依据某使用者所声称的身份以及提供的指纹特征,对其身份进行鉴别,验证用户的真实身份是否与其声称的身份一致。

1.7.3 指纹辨识功能

        用以确定某使用者是否已经注册在系统中,如果是则确定其身份。

2. 工作流程

        指纹识别系统的工作流程框图如下图所示。

2.1 指纹登记

        指纹登记是将用户身份与指纹特征参考数据绑定并保存的过程。依据指纹特征模板是否允许更新,指纹登记可分为初始登记和再登记。

        指纹登记过程一般包括:

  1. 指纹样本采集;

  2. 指纹特征提取;

  3. 指纹特征质量评价,如果不合格则重新采集;

  4. 指纹特征模板生成与存储;

  5. 测试登记是否成功;

  6. 若初始登记不合格,可能允许重复登记尝试。

2.2 指纹验证

        在指纹验证过程中,用户提交所声称的身份和进行验证所需要的指纹特征。通常基于所声称的身份,系统提取用户的指纹模板,并将其与从所采集指纹样本产生的特征进行比对,以确定用户是否确实是所声称身份的拥有者。

        指纹验证一般包括以下步骤:

  1. 指纹样本采集;

  2. 指纹特征提取;

  3. 指纹特征质量评价;如果不合格则重新采集;

  4. 比对输入指纹特征与其所声称的身份的对应指纹模板;

  5. 判断相似度是否超过确定的门限;

  6. 根据指纹识别决策策略和比对得分判断是否匹配。

2.3 指纹辨识

        指纹辨识的过程是试图确定某使用者是否已注册在系统中,如果是则确定其身份。

        指纹辨识通常包括以下步骤:

  1. 指纹样本采集;

  2. 指纹特征提取;

  3. 指纹特征质量评价;如果不合格则重新采集;

  4. 比对输入指纹特征及系统中的待比对指纹模板;

  5. 判断是否有匹配上的身份;

  6. 根据指纹识别决策策略和输出的一组比对得分做出辨识结论。

3. 系统安全

        《生物特征识别白皮书(2019年版)》概括了生物特征识别系统安全问题主要可以分为两种类型:系统内在限制和系统外部攻击。

3.1 系统内在限制

        一是“错误不匹配”,即来自合法用户的样本由于算法设计和样本采集准确度等问题不能正确识别,导致合法用户无法正常使用系统

        二是“错误匹配”,即来自非法用户的样本与已注册样本的相似度高,被错误的当作合法用户。

生物特征识别技术研究的核心工作之一就是提高准确率,减少“错误不匹配”和“错误匹配”。

3.2 系统外部攻击

        系统外部攻击可能来自于系统管理员,也可能来自于外部对于系统的直接攻击。生物特征识别系统通常包括生物特征注册和生物特征识别两部分,这两个部分都易受到安全威胁,如下图所示。

  • 伪造身份:攻击者使用伪造的身份(如假的身份证件或身份证明材料)向系统申请注册,并且通过了身份审核,在用户生物特征模板数据库中形成了生物特征和身份之间伪造的对应关系;

  • 伪造特征:攻击者在系统采集生物特征样本时,提供虚假生物特征;

  • 篡改特征处理器:攻击者在系统提取、处理生物特征时进行攻击,在用户生物特征模板数据库中注册形成虚假样例;

  • 传送攻击:攻击者在生物特征采集子系统向用户生物特征模板数据库进行数据传送时进行攻击,一方面可以获取注册用户的生物特征信息,另一方面也可以将篡改和伪造的生物特征信息在用户生物特征模板数据库中注册;

  • 侵库攻击:攻击者通过黑客手段侵入系统的用户生物特征模板数据库,对已注册的用户生物特征信息进行篡改和伪造;

  • 重放攻击:攻击者对生物特征采集子系统和匹配子系统之间的信息传递进行攻击,重放合法注册用户生物特征信息,对匹配子系统进行欺骗,从而达到通过身份认证的目的;

  • 篡改匹配器:攻击者通过对匹配器进行攻击,篡改匹配结果,从而达到通过身份认证的目的。

        生物特征加密是解决生物特征识别系统安全隐患问题的主要方法之一。

        大多数生物特征采集器是通过程序驱动进行数据明文传输,存在数据被劫持、被篡改和被替换的风险。建议在数据传输过程中,增加数据加密机制及访问控制等防护手段,提升数据传输过程的安全性。

        生物特征处理模块负责接收采集图像信息,并进行算法运算处理,存在数据被篡改、模块被劫持和数据泄露等风险。建议对生物特征处理模块进行安全加固,如果生物特征处理模块还负责生物特征的本地比对,则需要采用TEE(Trust Execution Environment,可信执行环境)等安全可信环境进行保护。

        生物特征识别系统客户端与服务端通常使用互联网进行通信,存在数据被窃听、重放攻击和中间人攻击等风险。建议客户端与服务端通信采用加密通信链路,如条件允许可结合令牌并采用密码技术,实现数据加密、数据防篡改和防止中间人攻击等安全防护能力。

        生物特征识别系统服务端面临的安全风险主要是数据泄露,生物特征数据属于个人隐私信息,一旦泄露将造成极大危害。建议增强服务端网络防护安全性,使用密码技术进行加密和脱敏等手段进行数据安全防护。采用标准化的生物识别鉴别框架,通过分散风险和利用硬件安全能力,来避免安全风险,减少用户隐私泄露的风险。

        生物特征识别安全问题还应包括发生安全事件后的紧急应对措施,针对生物特征识别信息控制者需要制定一系列相关规范,主要的措施包括要求个人信息控制者建立自身的评估机制,定期对个人信息安全影响进行评估;建设适当的数据安全能力,定期对相关人员进行管理培训;完善具体的审计系统,对自身建立的相关隐私政策以及安全措施进行有效的审计;落实必要的管理和技术措施,最大程度地防范个人信息的泄露、损毁和丢失等情况发生;形成较为完备的安全事件应急处理机制,最大程度降低事件带来的不良后果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/647804.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SparkStreaming架构原理(详解)

Spark概述 SparkStreaming架构原理 Spark Streaming的架构主要由以下几个关键部分组成。 1.数据源接收器(Receiver) 执行流程开始于数据源接收阶段,其中接收器(Receiver)负责从外部数据源获取数据流。 接收器可以连…

Android Studio开发之路(十四)自定义Titlebar以及设置顶部状态栏颜色

一、描述 项目需求,我要做一个下图这样的titlebar,包括一个返回按钮,一个关闭按钮,一个文本框。默认的titlebar按钮设计不太满足我的需求,于是我打算自定义一个titlebar组件,应用到我的每一个页面 二、titlebar组件设…

flink程序本地运行:No ExecutorFactory found to execute the application

1.问题描述 在idea中运行flink job程序出现如下错误: Exception in thread "main" java.lang.IllegalStateException: No ExecutorFactory found to execute the application. at org.apache.flink.core.execution.DefaultExecutorServiceLoader.getE…

【蓝桥杯】国赛普及-

题目列表 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) P9420 [蓝桥杯 2023 国 B] 子 2023 / 双子数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using llunsigned long long; #define int ll const int N2e510; int k0; std::string s; int…

vs2019 c++20 规范的 STL 库的智能指针 shared、unique 、weak 及 make_** 函数的源码注释汇总,和几个结论

智能指针的源码都在 《memory》 头文件中。因为头文件太长&#xff0c;再者本次整理是基于以前的零散的模板分析。故相当于抽取了该头文件中关于智能指针的源码进行分析&#xff0c;注释。 &#xff08;1 探讨一&#xff09;当独占指针指向数组时&#xff0c;其默认的删除器是…

HTML橙色爱心

目录 写在前面 准备开始 完整代码 运行结果 系列文章 写在后面 写在前面 本期小编给大家分享一颗热烈且浪漫的爱心&#xff0c;快来看看吧&#xff01; 准备开始 在开始之前&#xff0c;我们需要先简单的了解一下这颗爱心的原理哦~ 本期将用html实现这颗跳动的爱心&a…

0基础认识C语言

为了给0基础一个舒服的学习路径&#xff0c;就有了这个专栏希望带大家一起进步。 话不多说&#xff0c;开始正题。 一、C语言的一段小历史 C语言的设计要追溯到20世纪60年代末和70年代初&#xff0c;在那个时代美国有这么一号人叫做丹尼斯.里奇&#xff0c;他和同事肯.汤普逊…

redis数据操作相关命令

1.list操作 1.1 rpush rpush&#xff1a;新的元素添加到list最右边 #从右边依次往List添加1,2,3 RPUSH name 1 RPUSH name 2 RPUSH name 3#查看列表&#xff1a;返回 1,2,3 LRANGE name 0 -1结果如下&#xff1a; 1.2 lpush lpush&#xff1a;新加的元素在list最左边 #从…

WordPress安装插件失败No working transports found

1. 背景&#xff08;Situation&#xff09; WordPress 社区有非常多的主题和插件&#xff0c;大部分人用 WordPress 都是为了这些免费好用的主题和插件。但是今天安装完 WordPress 后安装插件时出现了错误提示&#xff1a;“ 安装失败&#xff1a;下载失败。 No working trans…

Android 处理音频焦点,解决音乐播放冲突的问题

1. 音频焦点是什么 在Android中&#xff0c;两个或多个 Android 应用可以同时将音频播放到同一输出流&#xff0c;系统会将所有音频混合在一起。 但是多数情况下&#xff0c;这对于用户来说是感到困惑的。为了避免多个应用的多个音频一起播放&#xff0c;Android 引入了“音频…

HTML5 基本框架

HTML5基本的内容 文章目录 系列文章目录前言一、HTML5 基本框架二、具体框架结构三、知识补充总结 前言 HTML5的介绍&#xff1a; HTML5 是一种用于构建网页内容的标准化语言。它是 HTML&#xff08;超文本标记语言&#xff09;的第五个版本&#xff0c;引入了许多新的功能和特…

视频号小店去哪里找货源?最全货源渠道分享!

大家好&#xff0c;我是电商糖果 视频号小店因为是这两年电商行业新出来的黑马&#xff0c;吸引着不少商家入驻。 入驻了商家中很多都没有自己的货源渠道。 他们基本都是从无货源开始起步&#xff0c;后期通过积累资源&#xff0c;慢慢搭建属于自己的货源渠道。 可是渐渐的…

Oracle实践|内置函数之聚合函数

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

SRE视角下的DevOps:构建稳定高效的软件交付流程

SRE 和 DevOps 有什么区别和联系&#xff1f;本文对此进行了解读&#xff0c;并着重从 SRE 实践出发阐述了 DevOps 的建设思路。 SRE 就是在用软件工程的思维和方法论完成以前由系统管理员团队手动完成的工作。SRE 的职责是运维一个服务&#xff0c;该服务由一些相关的系统组件…

解决vue3 vite打包报Root file specified for compilation问题

解决方法&#xff1a; 修改package.json打包命令 把 "build": "vue-tsc --noEmit && vite build" 修改为 "build": "vite build" 就可以了 另外关于allowJs这个问题&#xff0c;在tsconfig.json文件中配置"allowJs&qu…

基于深度学习和opencv的车牌识别系统

免费获取方式↓↓↓ 项目介绍028&#xff1a; 基于深度学习和opencv的车牌识别系统 同时利用对图片每一帧图像加入视频分析模块 图片分析模块可以依据界面按钮提示进行相应功能 视频分析模块可以根据按钮提示进行对视频的分析 &#xff08;视频模块的视频追踪处理时间较长&…

JVM之【运行时数据区】

JVM简图 运行时数据区简图 一、程序计数器&#xff08;Program Counter Register&#xff09; 1.程序计数器是什么&#xff1f; 程序计数器是JVM内存模型中的一部分&#xff0c;它可以看作是一个指针&#xff0c;指向当前线程所执行的字节码指令的地址。每个线程在执行过程中…

AI预测体彩排3采取888=3策略+和值012路一缩定乾坤测试5月26日预测第2弹

今天继续基于8883的大底进行测试&#xff0c;昨天的预测已成功命中&#xff01;今天继续测试&#xff0c;按照排三前面的规律&#xff0c;感觉要出对子了&#xff0c;所以本次预测不再杀对子&#xff0c;将采用杀一个和尾来代替。好了&#xff0c;直接上结果吧~ 首先&#xff0…

访问tomcat的webapps下war包,页面空白

SpringBootvue前后端分离项目&#xff0c;Vue打包到SpringBoot中 常见问题 错误一&#xff1a;war包访问页面空白 前提&#xff1a;项目在IDEA里配置tomcat可以启动访问项目 但是&#xff0c;打成war包拷贝到tomcat webapps下能启动却访问不了&#xff0c;页面显示空白 原…

YAML详情

一、kubernetes支持对象 Kubernetes支持YAML和JSON格式管理资源对象 JSON格式&#xff1a;主要用于api接口之间消息的传递YAML格式&#xff1a;用于配置和管理&#xff0c;YAML是一种简洁的非标记性语言&#xff0c;内容格式人性化&#xff0c;较易读 二、YAML语法格式注意点 …