基于区块链和多识别模式的安全智能门禁系统设计

2023-11-28 11:31刘宏健钱振华卞兆冬
电力安全技术 2023年10期
关键词:门禁系统密钥二维码

刘宏健,钱振华,卞兆冬,顾 晟,张 柏

(三峡新能源海上风电运维江苏有限公司,江苏 盐城 224000)

0 引言

海上风电是可再生能源发展的重要领域,随着电力物联网(internet of things in power system,IOTIPS)的发展,数字化风电成为促进电力能源产业升级的重要模式之一[1]。海上风电场作为数字化风电建设的重要场所,其日益突出的安全问题不可忽略,而特定区域的人员访问身份鉴别问题,关乎风电场安全生产与人员安全管理,是亟需解决的安全问题。

近年来,针对各种场景的门禁系统(access control system, ACS)的设计方案不断涌现,以解决各类数字化场所的身份鉴别问题。2021 年,刘翔[2]针对智能电厂的电力控制室访问鉴别问题,提出一种基于多模态的生物特征识别的门禁系统,预先录入用户的声纹特征信息与人脸特征信息,由中心服务器存储,并使用访问者声纹特征信息与人脸特征信息实现身份鉴别;同年,邢丹等[3]针对疫情背景下的高校人员访问流程繁琐的问题,提出一种结合生物识别技术的智能门禁系统,使用人脸特征信息,降低人员交互。2022 年,张颖兴等[4]提出一种针对社区防疫场景的门禁系统,使用OpenCV模型与OpenMV 实现访问人员人脸识别与口罩检测,并基于人脸特征信息完成社区访问人员的身份鉴别;同年,李伯星[5]针对商业配套住宅区人员管理问题,提出一种使用生物识别技术的门禁方案;胡志钢[6]等基于区块链设计了一种智能家居场景下的人员访问监控系统,使用链上存储、链下备份的身份识别模式,提高方案的识别效率,避免认证信息集中管理可能造成的数据篡改问题。

综上,目前的门禁身份鉴别系统,多以单一身份卡或生物信息识别安检为主,这些方案均在海上风电应用场景存在限制。基于身份卡的方案,存在身份卡易被复制,无法识别用户真实身份的问题,任何人获得门禁卡,就可以使用卡主的身份得到许可,而无关人员使用门禁卡误入危险设备间隔,容易引发安全事故;生物信息认证方案,需要预先记录用户生物信息,并由中心服务器集中存储,而海上风电场可能存在传输延迟、连接中断等问题[7],过于依赖中心服务器,存在较大限制。此外,目前的一些安检系统普遍停留在简单的数据传输阶段,整个认证环节缺乏安全保障,容易遭受恶意攻击导致人员信息泄漏[8]。

因此,在海上风电场应用场景下,包括业主、设备厂商、运维人员等多种类型人员,进入海上升压站、风机需要不同的权限,智能门禁系统需要在达到“ 人卡一致性” 原则的前提下,实现各个节点的独立认证登记,并且进入不同区域时可以识别不同类型、不同权限人员,安全需求很高。这样一来,就可以避免以上多种类型的现场工作人员误入错误设备间隔,保证了工作人员和设备的安全。且陆上智能门禁、风机智能门锁具有良好的防腐性能,使用周期较长,可以作为轻量节点,作为认证数据离线存储点,保证身份鉴别的安全可靠。

下面基于区块链技术与生物识别技术,结合国密算法,设计并实现了一种分布共享、高效透明的门禁系统。身份鉴别信息的存储由区块链支撑,每一个节点均可实现独立的鉴别验证。用户预先注册生物特征信息与身份信息,生成身份鉴别标识,并将其写入身份卡或二维码,访问时由门禁节点或风机智能门锁节点获取身份鉴别标识,并根据需求捕捉用户人脸信息,与链上认证数据比对,鉴别完成后,系统反馈用户认证结果并将认证记录发布至溯源链。

1 技术支撑

1.1 身份鉴别

身份鉴别是指在计算机网络系统中确认操作者身份,从而确定该用户是否具有对某种资源的访问和使用权限的过程[9]。通常使用鉴别方与被鉴别方共识的信息来确认身份的一致性。

目前主流的身份鉴别方式包括使用基于智能卡、基于预共享口令、基于生物特征信息等。安全要求更高的场景会使用多种方式混合使用,以实现多因素认证[10]。

1.2 密码技术

《中华人民共和国密码法》称密码是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。

密码工作坚持总体国家安全观,遵循统一领导、分级负责,创新发展、服务大局,依法管理、保障安全的原则。

1.3 生物识别技术

生物识别技术指使用人类的身体特征作为认证信息,以进行识别或验证的技术,是计算机与光学、声学、生物传感器和生物统计学原理结合的技术[11]。通过提取生物特征信息(指纹、声音、人脸等),并根据具体的应用场景,确定使用何种特征信息来满足需求。

生物识别技术克服了基于密码的身份验证的缺点[12],由于智能相机和移动设备领域的快速发展以及对安全性和便利性的需求,生物识别技术逐渐成为各类访问监控场景的主流。

1.4 区块链技术

Nakamoto 最早在文献[13]中提出了区块链技术,区块链可看作是一个复制的分布式账本,通过对等P2P 网络交换数据。区块链是块的有序列表,通过参考前一个块的散列,每个区块通过唯一散列序列来区分并联系到前面的区块。区块链是一种分布式网络,结合了分布式数据存储、加密算法和去中心化共识机制。在物联网领域,区块链技术的引入可以使分布式系统突破对中心服务器的依赖,使用区块链的共识机制解决信任问题[14]。

2 系统架构设计

2.1 区块链网络架构

图1 展示了基于区块链的安全智能门禁系统的网络架构。网络架构可分为服务器层、终端层及外部网络,服务器层为搭建的管理服务器;终端层包括多个智能门禁终端设备,例如门禁闸机、智能门锁等;外部网络主要包括访问用户的移动终端,用于提交身份认证数据或得到反馈的身份鉴别结果。

图1 区块链网络架构

服务管理端作为全节点参与记录,可以与电力生产系统对接,提供统一的身份认证数据和服务资源,建立和维护认证数据交互服务区块链数据库的最新完整副本。全节点通过数据处理模块和共识节点模块接收鉴别设备发送来的身份认证数据,并进行验证,验证通过后对数据进一步处理,与其他共识节点进行共识,对分布式账本进行更新以完成数据上链,并通过数据服务器对数据进行存储备份。

每个门禁终端设备作为边缘节点,接入区块链。这些节点部署了区块链数据预处理功能模块,包括有数据预处理模块、账户管理模块、应用鉴别节点模块等。数据预处理模块可以对数据进行数字签名和生成摘要,数字签名的算法使用SM2 算法,摘要生成的算法可以是SM3 算法;账户管理模块包括身份注册、身份管理,主要负责终端上链;应用鉴别节点模块包括数据验签、数据查询、数据存储智能合约,主要功能是负责验证接收到的数据是否被篡改及查询之前的事务。身份鉴别终端通过终端层账户管理模块生成终端账户,配有独立的标识ID 和公私钥,采集用户认证数据后可与链上信息进行匹配。

2.2 软件架构

软件架构主要以管理服务端、认证鉴别端和移动App 端为核心。软件架构如图2 所示。

图2 软件架构

服务管理端作为门禁服务提供方,可以对接电力业务系统,负责对用户信息进行审核、管理,服务端管理员具备唯一权限。服务管理端主要由配置管理模块、密码算法模块、密钥管理模块、二维码校验模块、注册模块组成。由配置管理模块负责与用户进行交互,对配置界面提交的数据进行处理,或者调用其他模块。

密码算法模块主要提供本系统中所需的所有密码算法接口;密钥管理模块负责对所审核的入网用户密钥进行备份。二维码校验模块负责处理对客户手机端存有生物特征数据的二维码进行校验,并根据结果控制准入。注册管理模块负责新用户数据的录入,将用户信息提交至区块链。管理服务端口如图3 所示。

图3 管理服务端口

认证鉴别端主要包括门禁闸机、智能门锁,负责识别多种认证模式,可以读取身份卡、扫描二维码、识别人脸等,并与链上数据对比完成鉴别。

移动App 端由用户下载使用,负责完成用户注册认证以及初始化工作;用户登记认证时提交个人身份信息同时录入人脸特征进行注册,注册通过后获得存有身份鉴别信息的身份卡或二维码。在门禁节点刷卡或展示手机二维码,由认证鉴别端完成鉴别。

3 系统功能设计

系统主要功能分为六个部分:用户注册、密钥(身份鉴别标识)分发、移动端更新密钥、二维码生成、系统管理、身份鉴别。

3.1 新用户登记注册

新用户注册时,业主单位可以通过电力生产系统两票流程管理、电力生产运行值班记录管理等规章制度,完成认证和注册登记;第三方公司通过接入区块链网络完成认证注册。认证注册成功后,用户可以将人脸特征信息及相关身份信息、认证信息存证共享,生成独特的身份密钥,并将每个用户的身份密钥(公私钥对)以及系统公钥发送到用户手机。注册完成后会给用户下发安检密钥作为身份鉴别标识,并生成身份卡或二维码。

3.2 身份鉴别标识(以二维码为例)生成

若采用身份卡及二维码为载体进行信息传递。对不同类型的用户可以根据需要生成长期或临时二维码。移动端生成的二维码包含验证用户身份的标识信息、权限信息。拥有安检密钥的手机,可以将安检密钥信息与手机IMEI 码绑定,用系统的公钥加密以上两者生成字节串,并将自身手机号附在字节串后,一起生成二维码。

手机APP 将收到的系统用户公钥加密的安检密钥进行解密,与手机IMEI 码绑定,用系统的公钥再加密生成字节串,并将自身手机号附在字节串后,一起生成二维码。

3.3 身份鉴别流程

身份鉴别,即用身份鉴别端(包括门禁闸机、智能门锁等)扫描用户提供的二维码,读取经加密保护的二维码信息,可以同时扫描人脸信息。鉴别节点成功读取消息后,利用私钥解密经加密保护的二维码信息,将解密结果与用户人脸信息,即区块链中的身份认证数据进行比对,如比对正确则鉴别通过,否则拒绝访问。鉴别完成后,身份鉴别端将认证结果发布至区块链,并通过共识机制更新分布式网络中其他节点的区块链信息。

鉴别流程如图4 所示。

图4 鉴别流程

3.4 密钥分发

基于密钥管理原则,每次安检用户在完成身份鉴别并进入特定区域后,需要考虑更改用户密钥与系统密钥。

管理服务端会利用随机数生成一组密钥作为新的安检密钥,同时更新本地存储的该安检用户的密钥信息,将此密钥利用随机生成的密钥保护密钥加密,并对安检密钥进行签名,最后利用手机端的公钥对密钥保护密钥进行加密,形成数字信封,下发至手机端。

图5 描述了系统的密钥分发过程。

图5 密钥分发

密钥安全分发分为两部分:数字信封和数字签名。其中,数字信封包括安检密钥加密以及保护密钥加密。安检密钥加密部分作用是将系统随机生成的安检密钥用保护密钥进行对称密码算法加密。保护密钥加密将密钥加密中用到的保护密钥进行非对称加密,随后对安检密钥进行数字签名,以保证密钥下发过程的安全,降低密钥泄漏风险。

3.5 移动端更新密钥

移动端接收到管理服务端发来的信息后,首先解开数字信封,得到保护密钥,再使用得到的保护密钥将安检密钥加密部分进行解密,计算哈希值,然后完成数字签名验证,最后得到安检密钥。

图6 描述了移动端密钥更新的功能流程。

图6 移动端密钥更新

3.6 系统管理

系统可以实现安检用户的密码设置、权限、挂失、销毁等功能,同时负责认证环节的交互。用户注册后的信息全部存储在区块链中,安检用户可以在手机App 上实现对密码的设置,用户只需输入当前的用户名和密码,即可进入密码管理界面实现对信息的更新;管理员可以通过登录二维码安检身份鉴别系统实现对安检用户权限的管理。

4 系统实现与测试

系统测试使用的计算机配置Intel (R)Core (TM) i7-1165G7@2.80GHz 处理器,内存为16G,使用的操作系统为Windows 10。移动端测试使用操作系统Android 11。测试过程中对系统主要功能进行了检验,测试分为三个部分:整体功能测试、身份鉴别测试、安全性测试。

1) 整体功能测试,主要是模拟安检用户在风电场不同区域门禁节点通过刷卡、二维码识别等模式进入的全过程,将门禁系统中可能出现的各种情况都综合考虑到,对系统进行全方位的测试。

2) 鉴别测试,对生成的长期和临时二维码进行扫描测试,检查扫描结果是否为手机App 端显示欢迎进入界面。二维码的生成及识别测试是整个系统的核心内容,是安检用户进入特定区域的安全保障。

3) 安全性测试,针对攻击者可能通过各种方式来窃取身份鉴别标识进行测试。可能窃取的方式主要有三种:通过偷拍来窃取二维码,通过非法手段冒认二维码,以及通过过期二维码进行伪造等。安全性测试主要测试安全智能门禁系统针对潜在恶意攻击的抵抗能力。

经过测试,以上设计的安全智能门禁系统能够准确且安全地完成门禁系统的认证。发卡过程简便,熟练员工平均10 s 完成一个发卡流程,门禁系统自动识别过程平均约3 s。

5 结束语

基于区块链和多识别模式的安全智能门禁系统将密码学原理应用到身份鉴别系统中,依靠生物识别技术与区块链技术,实现了各个门禁节点灵活准确、共享、透明的身份鉴别,可以有效解决海上风电场所针对不同人员、不同区域的出入身份鉴别问题,该方案有助于完善风电厂数字化基础建设。

猜你喜欢
门禁系统密钥二维码
探索企业创新密钥
可以吃的二维码
基于多种生物特征识别的RFID门禁系统设计
二维码
密码系统中密钥的状态与保护*
基于AI智慧人脸门禁系统的硬件系统设计
基于单片机的安全门禁系统研究设计
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
让严肃的二维码呆萌起来