指纹识别系统架构

news2024/11/18 7:36:25

目录

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,可信执行环境)等安全可信环境进行保护。

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DM Hw6

Hw6 聚类 1ab 2abcd 3abcde 456789 1 a b 一个点不来自某个特定簇的概率是 1 − 1 K 1-\frac{1}{K} 1−K1​ 对所有 2 K 2K 2K 个点都不来自该簇的概率是 ( 1 − 1 K ) 2 K (1-\frac{1}{K})^{2K} (1−K1​)2K 则 至少一个点来自该簇的概率为 1 − ( 1 − 1 K ) 2 K 1-(1-…

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

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

二叉树——经典练习题

目录 前言: 一、单值二叉树 题目描述: 思路分析: 代码实现: 二、二叉树最大深度 题目描述: 思路分析: 代码实现: 三、检查两颗树是否相同 题目描述: 思路分析: 代…

EXCEL怎么计算一列数据里的最大连续重复次数?

有这样一列数据,怎么用EXCEL数据求出,重复出现的单/双的次数的最大值。 这里演示使用辅助列数据透视表。 一、单/双出现的次数的最大值 这个可不用辅助列,选中数据透视表将数据 单/双列放在行字段,和值字段,值字段会…

netplan

文章目录 前言官网配置文件默认配置NetworkManager 简介systemd-networkd 简介NetworkManager VS systemd-networkdNetplan 简介示例多个配置文件 前言 netplan 是 ubuntu 17.10 版本中引入的一种全新的命令行网络配置程序,用于在 ubuntu 系统中轻松管理和配置网络…

C语言 | Leetcode C语言题解之第114题二叉树展开为链表

题目: 题解: void flatten(struct TreeNode* root) {struct TreeNode* curr root;while (curr ! NULL) {if (curr->left ! NULL) {struct TreeNode* next curr->left;struct TreeNode* predecessor next;while (predecessor->right ! NULL)…

【DevOps】Jenkins + Dockerfile自动部署Maven(SpringBoot)项目

环境 docker_host192.168.0.1jenkins_host192.168.0.2 jenkins_host构建完成后把jar发布到docker_host,再通过dockerfile自动构建镜像,运行镜像 1 Jenkins安装 AWS EC2安装Jenkins:AWS EC2 JDK11 Jenkins-CSDN博客 AWS EC2上Docker安装…

此物一出天下反,Dora犹如优秀框架的粘合剂

引言:千里之行,始于足下。 如果你从事Android开发,请认真看完本篇文章,因为可能会颠覆你对Android开发的认识。 当夜空中繁星点点,一颗璀璨的流星划过,其辉光洒在古老的山谷之中,照亮了一个隐藏…

banner2.0自定义轮播布局

说明:最近碰到一个需求,让新闻列表实现轮播图的效果,也就是轮播新闻,然后样式必须按照ui设计的样式来弄,之前传统的banner,都是只轮播图片,没想到,这次居然要轮播新闻, 网…

夏老师小课堂(7) 免费撸Harmony0S应用开发者高级认证

点击上方 “机械电气电机杂谈 ” → 点击右上角“...” → 点选“设为星标 ★”,为加上机械电气电机杂谈星标,以后找夏老师就方便啦!你的星标就是我更新动力,星标越多,更新越快,干货越多! 关注…

C++ | Leetcode C++题解之第113题路径总和II

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<vector<int>> ret;unordered_map<TreeNode*, TreeNode*> parent;void getPath(TreeNode* node) {vector<int> tmp;while (node ! nullptr) {tmp.emplace_back(node->val);node …

高效的大型语言模型适应方法:提升基础性的解决方案

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

C++系列-static成员

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 概念 声明为static的类成员称为类的静态成员&#xff0c;用static修饰的成员变量&#xff0c;称之为静态成员变量&#xff0c;用static修饰的成员函数&#xff0c;称之为静态成…

Django框架css文件能正常加载,但是css样式不生效

最近运行一个Django项目&#xff0c;能正常启动运行&#xff0c;css文件也能够正常加载&#xff0c;但是css样式却没有正常渲染。 解决办法&#xff1a; 1、打开注册表&#xff1a;winR 2、找到&#xff1a;计算机\HKEY_CLASSES_ROOT\.css 修改&#xff1a;Content Type 值&…

【机器学习结合AI绘画工具】——开启艺术创作的新纪元

目录 一、AI绘画工具的发展历程 二、AI绘画工具的技术原理 实例说明 三、AI绘画工具在艺术创作中的应用 实例网站 四、AI绘画工具的影响与未来展望 结论 机器学习和人工智能&#xff08;AI&#xff09;在过去的十年里取得了显著的进展。特别是在艺术创作领域&#xff0c…

linux创建离线yum源给局域网机器使用

适用场景&#xff1a;在封闭的内网环境中&#xff0c;无法使用互联网进行安装各种rpm包的时候&#xff0c;离线yum源可以解决大部分问题&#xff0c;配置号后可直接使用yum进行安装包 1.准备好镜像源ISO&#xff1a; 例如以下示例&#xff0c;具体可参考自己的系统进行下载&a…

50-Qt控件详解:Input Display

#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> //1.Combo Box控件 #include<QComboBox> //2.QFontComboBox控件 #include<QFontComboBox> #include<QLabel>//3.Line Edit控件 #include<QLineEdit> #include <QPushButton…

Installing Tinyproxy on CentOS 7 测试可用

Installing Tinyproxy on CentOS 7 For RHEL/CentOS 7 systems, Tinyproxy is part of EPEL (Extra Packages for Enterprise Linux). Install EPEL on CentOS 7 yum install epel-release -y yum update -y Install Tinyproxy on CentOS 7 yum install tinyproxy -y 编辑…

mysql中单表查询方法

大家好。我们知道&#xff0c;mysql有一个查询优化器的模块。当我们用sql语句查询表中记录时&#xff0c;会对这条查询语句进行语法解析&#xff0c;然后就会交给查询优化器来进行优化&#xff0c;优化后生成一个执行计划&#xff0c;这个执行计划表明了应该使用哪些索引进行查…

用这8种方法在海外媒体推广发稿平台上获得突破-华媒舍

在今天的数字时代&#xff0c;海外媒体推广发稿平台已经成为了许多机构和个人宣传和推广的有效途径。如何在这些平台上获得突破并吸引更多的关注是一个关键问题。本文将介绍8种方法&#xff0c;帮助您在海外媒体推广发稿平台上实现突破。 1. 确定目标受众 在开始使用海外媒体推…