农业可信电子证照管理系统设计和应用

2019-01-02 09:01管孝锋,吴晓柯,陆林峰
软件 2019年12期

摘  要: 在“最多跑一次”改革实践中,浙江省农业农村厅迫切需要建立一套软件系统,解决证照统一管理、授权生成和安全调用等问题。通过数据结构自定义,解决了证照数据分散问题,实现不同类型证照统一管理。通过建立电子证照调用接口和网络加密传输,解决了证照无法共享问题。通过交叉验证法,解决了电子证照被他人冒用的问题。通过可信电子证照管理系统建设,浙江省农业农村厅实现了89种证照的统一管理,1338万份证照数据电子化,大大减少纸质办事材料数量。可信电子证照管理系统建设对于深化“最多跑一次”改革,推进政府数字化转型,具有十分重要的意义。

关键词: 最多跑一次;可信;电子证照;交叉验证

中图分类号: TP311.1    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.12.010

本文著录格式:管孝锋,吴晓柯,陆林峰. 农业可信电子证照管理系统设计和应用[J]. 软件,2019,40(12):4145

Design and Application of Agricultural Trusted Electronic License Management System

GUAN Xiao-feng, WU Xiao-ke, LU Lin-feng

(Zhejiang Provincial Agricultural Information Center, Hangzhou 310020, China)

【Abstract】: In the “running at most once” reform practice, zhejiang provincial agricultural and rural department needs to establish a software system to solve the problems of unified management, authorization generation and secure calling of licenses. Through the data structure customization, the problem of license data dispersion is solved, and the license management of different types is realized. By establishing an electronic license calling interface and network encryption transmission, the problem that the license cannot be shared is solved. Through the cross-valida tion, the problem that the electronic license is fraudulently used by others is solved. Through the construction of the trusted electronic license management system, zhejiang provincial agricultural and rural affairs office has realized the unified management of 89 kinds of licenses, and 13.38 million licenses are electronically digitized, greatly reducing the number of paper services. The construction of the trusted electronic license management system is of great significance for deepening the “running at most once” reform and promoting the digital transformation of the government.

【Key words】: Running at most once; Trusted; Electronic license; Cross-validation

0  引言

“最多跑一次”改革自2016年12月起源于浙江,2018年初寫入李克强总理的《政府工作报告》,是我国近年来最引人瞩目的地方政府创新举措。“最多跑一次”改革是指群众和企业到政府办事,在申请材料齐全、符合法定受理条件时,从受理申请到做出决定的全过程一次上门或零上门。在“最多跑一次”改革过程中,首要问题就是对各部门颁发的证照进行电子化管理,打破数据孤岛,实现数据共享。浙江省农业农村厅在“最多跑一次”改革实践中,梳理出了47个农业农村系统群众和企业到政府办事事项,涉及89种全省农业农村部门颁发的证照,迫切需要建立一套可信电子证照管理系统,解决证照的统一管理、授权生成和安全调用等问题[1-3]。

1  材料与方法

1.1  数据结构自定义

数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。由于各种证照的数据指标不同,必须通过数据结构自定义方法,实现不同类型、不同数据结构、不同颁证机构的证照统一管理,即根据证照类型和数据指标动态建立数据存储表。可信电子证照管理系统通过SQL Server 2016数据库对证照类型、证照数据指标和证照结构化数据等核心数据进行统一管理。

1.2  授权调用认证

外部应用系统通过Web service的方式调用电子证照,由于链接地址暴露在公网上,因此,在外部应用系统调用电子证照前,需要进行授权验证,防止非法或恶意调用。可信电子证照管理系统通过外部应用系统ID和密钥进行验证,每次授权成功后密钥同时进行刷新。

1.3  网络传输加密

由于请求密钥和电子证照全部通过公网传输,为确保在传输过程中数据不被他人窃取或篡改,可信电子证照管理系统采用了RSA加密算法对数据进行加密。RSA是一种非对称加密算法,使用不同的加密密钥(公钥Public Key)和解密密钥(私钥Private Key),加密密钥是公开信息,解密密钥需要保密,加密算法和解密算法也都是公开的[4]。RSA是目前最优秀的加密算法之一,只要采用1024位以上的密钥,目前根本无法破解。

1.4  交叉验证法

由于可信电子证照管理系统返回的是PDF格式的电子证照,存在被下载、复制、多次使用等安全风险,因此,系统在生成的PDF电子证照上增加了一个二维码,进行交叉验证,防止生成的电子证照被多次使用或被他人冒用。

2  结果与分析

通过可信电子证照管理系统建设,浙江省农业农村厅实现了全省农业农村部门颁发的89种证照和1338万份证照数据的统一管理,解决了证照数据分散问题。同时,通过建立电子证照调用接口,对通过授权的外部应用系统提供电子证照生成服务,解决了电子证照共享问题。

2.1  管理系统实现

可信电子证照管理系统通过证照类型管理表,对证照类型进行统一管理,包括证照编号、证照名称、证照模板等信息。通过证照数据指标管理表,对证照涉及的数据指标进行统一管理,包括数据指标名称、数据标识、数据类型、数据长度等。通过证照类型和数据指标的自定义,动态建立证照数据存储表,实现不同类型、不同数据结构的证照数据统一管理[5]。以“饲料生产许可证”为例,证照数据指标配置信息如下表所示。

表1  证照数据指标配置信息

Tab.1  License data indicator configuration information

数据指标名称 数据标识 数据类型 数据长度

序号 Data1 int

证照编号 Data2 int

统一社会信用代码 Data3 varchar 50

企业名称 Data4 varchar 200

产品类别 Data5 varchar 50

法定代表人 Data6 varchar 50

产品品种 Data7 varchar 200

注册地址 Data8 varchar 200

生产地址 Data9 varchar 200

有效期起始日 Data10 datetime

有效期截止日 Data11 datetime

发证机关 Data12 varchar 200

发证时间 Data13 datetime

电子印章 Data14 varchar 500

证照数据的入库方式分为3种:一是各地有审批系统的,通过可信电子证照管理系统的数据上报接口进行实时对接;二是各地没有审批系统的,通过可信电子证照管理系统的后台,在发证后立即报送;三是历史数据,由各地农业农村部门通过Excel表进行归集后,由管理员一次性入库。“饲料生产许可证”管理界面如下图所示。

2.2  调用授权认证

外部应用系统在调用电子证照前,需要进行授权认证。收到证照调用请求后,可信电子证照管理系统自动从链接地址中提取外部应用ID和请求密钥信息,并与应用和密钥库进行验证。若通过授权,系统自动生成下次的请求密钥信息,返回给外部应用系统并开始生成证照,同时更新应用和密钥库,若未通过授权,直接返回“授权不通过”信息,不允许调用电子证照[6-7],授权调用认证流程如下图所示。

图1  饲料生产许可证管理

Fig.1  Feed production license management

图2  授权调用认证流程

Fig.2  Authorization call authentication process

2.3  電子证照生成

在外部应用系统调用电子证照请求通过授权后,可信电子证照管理系统首先通过证照类型ID判断该类型的证照是否存在,若不存在则直接返回“不存在该类型证照”,若存在则继续通过证照数据ID判断该份证照是否存在,若不存在则直接返回“不存在该份证照”,若存在则调用证照模板,读取证照数据,生成证照二维码,然后排版布局,通过CA中心加盖电子印章,生成PDF格式的电子证照,最后返回证照信息[8-10],电子证照生成流程如下图所示。

图3  电子证照生成流程

Fig.3  Electronic license generation process

图4  加盖电子印章和二维码的可信电子证照

Fig.4  Trusted electronic license with electronic seal and QR code

通过电子印章和二维码,系统实现了证照的交叉验证,即窗口人员通过扫描二维码,了解请求生成该电子证照的外部应用系统名称、人员账号、生成时间和证照用途等关键信息,也能对电子印章进行验证,若生成该印章后,证照信息或二维码被修改,验证就无法通过[11-13],交叉验证流程如下图所示。

图5  交叉验证流程

Fig.5  Cross-validation process

2.4  网络加密传输

可信电子证照管理系统通过RSA加密算法,对请求密钥和电子证照进行加密并传输给外部应用系统,具体的加密流程是:首先由外部应用系统生成一对1024位的密钥(也可使用更安全的2048位密钥),公钥提供可信电子证照管理系统对数据明文进行加密,形成数据密文,然后数据密文通过网络传输给外部应用系统,最后外部应用系统通过私钥对数据密文进行解密,获取数据明文。

图6  数据传输流程

Fig.6  Data transmission process

由于采用的是RSA非对称加密算法,即使是相同的明文,每次加密也会得到不同的数据密文,但解密出来的明文仍然是相同的。

3  讨论和结论

在可信电子证照管理系统建设过程中,通过数据结构自定义、外部请求密钥认证、网络传输RSA算法加密、基于数字签名的电子印章、二维码交叉验证等关键技术,解决了电子证照的统一管理、安全使用、真实可信等重点问题[14]。

(1)实现电子证照统一管理。不同类型、不同数据结构、不同颁证机构的证照具有不同的属性字段和不同的管理方式,有通过系统管理的、有通过电子文件管理的,有通过纸质材料管理的,不仅种类繁多,而且管理方式多样,并且分布在不同的地点。通过可信电子证照管理系统建设,实现了证照类型、数据指标和证照数据的全省统一管理,解决了证照数据分散、无法进行共享等问题。

(2)提供电子证照安全调用。外部应用系统通过电子证照调用接口,请求调用电子证照前,必须先验证外部应用系统是否经过授权,请求密钥是否正确,验证通过后才能进行调用,确保被调用的电子证照用于正当用途,防止非法或恶意调用。在生成电子证照后,与外部应用系统传输过程中,系统通过RSA算法对电子证照的数据流进行加密和解密,确保在传输过程中电子证照不被他人窃取或篡改。

(3)确保电子证照真实可信。通过系统生成的电子证照,全部通过CA中心加盖发证机关的电子印章,通过客户端软件,可对电子印章真伪、电子证照是否被篡改等进行验证。同时,电子证照上的二维码记录了外部应用系统名称、请求人员账号、生成时间和证照用途等关键信息,防止生成的电子证照被多次使用或被他人冒用。

在群众和企业到政府办事过程中,通过身份验证后,就能对可信电子证照进行调用,大大减少办事主体需要提供的纸质材料数量,也极大地提高了政府部门的办事效率。浙江省农业农村厅通过可信电子证照管理系统建设,真正实现了让数据多跑路,让百姓少跑腿,对于深化“最多跑一次”改革,推进政府数字化转型,具有十分重要的意义[15]。

参考文献

[1]王强, 王丹, 向逸尘. WMS仓库管理系统的设计和实现[J]. 软件, 2018, 39(1): 153-158.

[2]郭彦辉. 响应式Web设计的研究与实现[J]. 软件, 2018, 39(1): 169-172.

[3]李红辉, 关婷婷, 杨芳南. 云计算平台状态监控技术研究与应用[J]. 软件, 2018, 39(1): 09-13.

[4]贾泽锋, 崔梦天, 王保琴, 等. 基于JAVA的非对称加密算法的研究与实现[J]. 西南民族大学学报(自然科学版), 2018, 44(4): 396-401.

[5]许斌, 付鹏飞. 基于多数据源交叉表决的园区人员分布的方法研究[J]. 软件, 2018, 39(7): 208-212.

[6]夏新凯, 陈冬火. 基于Key的程序分析和验证[J]. 软件, 2016, 37(3): 74-78.

[7]苏威积, 汤敬浩, 李剑. 一种对称密钥的密钥管理方法及系统[J]. 信息安全研究, 2018, 4(1): 80-83.

[8]陈坡坡, 文福安. 基于Java的考场管理系统的研究与实现[J]. 软件, 2016, 37(4): 84-89.

[9]張键红, 肖晗, 王继林. 高效的基于身份RSA多重数字签名[J]. 小型微型计算机系统, 2018, 39(9): 1978-1981.

[10]王新华, 金刚, 赵喜军, 等. 电子认证在可信电子证照中的应用[J]. 信息安全研究, 2016, 2(6): 543-547.

[11]陆佳炜, 陈烘, 张元鸣, 等. 基于特征交叉验证的云投票框架研究与实现[J]. 浙江工业大学学报, 2017, 45(5): 580-586.

[12]王瑞波, 王钰, 李济洪. 面向文本数据的正则化交叉验证方法[J]. 中文信息学报, 2019, 33(5): 54-65.

[13]毛敏, 李震, 李丹, 等. 系统安全性交叉验证方法研究、实现与应用[J]. 电子设计工程, 2018, 26(4): 15-18, 23.

[14]陈卓, 张荣, 郭立君, 等. PDF电子签章控件关键技术研究与实现[J]. 移动通信, 2019, 43(5): 85-91.

[15]黄文秀. 基于Web的农产品市场数据挖掘系统开发研究[J]. 软件, 2018, 39(4): 68-72.