CN113128950B - 一种企业链码服务平台 - Google Patents
一种企业链码服务平台 Download PDFInfo
- Publication number
- CN113128950B CN113128950B CN202110313841.8A CN202110313841A CN113128950B CN 113128950 B CN113128950 B CN 113128950B CN 202110313841 A CN202110313841 A CN 202110313841A CN 113128950 B CN113128950 B CN 113128950B
- Authority
- CN
- China
- Prior art keywords
- enterprise
- code
- transaction
- user
- chain code
- 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
Links
- 238000007726 management method Methods 0.000 claims description 86
- 238000000034 method Methods 0.000 claims description 65
- 230000008569 process Effects 0.000 claims description 57
- 230000006870 function Effects 0.000 claims description 42
- 238000012795 verification Methods 0.000 claims description 38
- 238000013475 authorization Methods 0.000 claims description 25
- 239000003999 initiator Substances 0.000 claims description 23
- 238000013519 translation Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 7
- 238000013461 design Methods 0.000 claims description 6
- 238000012550 audit Methods 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 12
- 238000011161 development Methods 0.000 description 8
- 210000001503 joint Anatomy 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 210000000887 face Anatomy 0.000 description 3
- 210000003128 head Anatomy 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 208000011597 CGF1 Diseases 0.000 description 1
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 1
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 1
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 1
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 230000004039 social cognition Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开的一种新型的企业链码服务平台,企业链码是一种由区块链+二维码建立的企业链码扫识码,以新的数据元素形成专用于服务区块链,建立区块链专用企业服务的新入口,平台,包括电子执照模块、电子印章模块、电子发票模块、电子合同模块、链码管理模块;一家企业拥有一个企业链码和一个企业链户,企业链码服务产生相应的使用记录,这些数字资产与相应的数据都会自动成为企业链码的链码资产的组成部分,企业链码用户可以对其进行管理与授权。本发明的服务平台能够为企业打造的一站式绿色服务通道,为企业办事提高了效率,为企业建立起真实可信的信用支撑,从而打造出一个诚信的营商环境,助力企业发展。
Description
技术领域
本发明涉及区块链领域,特别涉及一种企业链码服务平台。
背景技术
在政府行政部门的政务服务和管理中,已经出现了“企业码”,它是以二维码为标识,由多部门、多单位、多机构共同发起为企业打造的一站式快速服务通道。企业通过“企业码”可提高办事效率,实现各类服务一站式办结。虽然企业码作为个人码或健康码的延伸与拓展,为企业办事提高了效率,但平台本身仍然是中心化系统,其可信性与可靠性依旧离不开政府的背书。在使用企业码的过程中,企业法人或经办人还是会担心通过企业码获取资料或信息不真实,资料或者信息有被篡改的可能性,某些企业伪造材料、报告等事情时有发生,进一步加重了这种担忧。虽然有政府部门的公信力作为支撑,但无法从根本上解决上述问题。
发明内容
本发明的目的在于克服现有技术的缺点与不足,引入区块链技术,基于企业链码的方式,充分发挥区块链存证和溯源等技术优势,以企业为中心通过企业数字信息(电子合同、电子发票等)的可信安全与分享,为搭建企业服务快速通道提供一种企业链码服务平台,本发明基于区块链技术,管理企业链码,运营和维护企业资产,企业链码是一种由区块链+二维码建立的企业链码扫识码。
本发明的目的通过以下的技术方案实现:
一种企业链码服务平台,包括用户模块、电子印章模块、电子发票模块、电子合同模块、企业链码管理模块;
所述用户模块用于获取企业信息,并将数据记录保存于联盟链上并可查证;
所述电子印章模块用于法人验证登录后获取企业信息,再根据当前企业的可用电子印章,对需要盖章的电子信息文件进行电子签章操作,并将交易的电子印章及相应的签章规则作为记录数据保存于联盟链上;同时电子印章在使用之前需要先申请印章,对电子印章的申请记录进行上链处理;
所述电子发票模块用于法人验证登陆后,获取企业信息,根据当前企业的纳税人识别号,对企业增值税发票进行管理,支持查询增值税发票和开具增值税电子普通发票;所述对企业增值税发票进行管理,管理功能包括增值税发票授权委托书管理、企业授权信息管理、企业购买方抬头信息管理、企业商品信息管理、企业发票查询、企业增值税电子普通发票开具、增值税电子普通发票邮件发送功能、增值税发票数据上链;上述管理功能都需要与关系型数据库进行交互操作;
电子合同模块用于登录后获取企业信息,根据当前企业的信息进行合同的创建以及签订;用既定生成的企业链码账户将合同信息以及相应的签章申请规则记录并保存于联盟链上;企业链码管理模块用于获取企业信息,根据当前企业的唯一标识,对企业链码进行管理,支持查询企业链码的扫码记录和出示企业链码;
所述企业链码以区块链+二维码建立企业身份的唯一标识;所述用户模块、电子印章模块、电子发票模块、电子合同模块在使用的过程中,会产生相应的使用记录,这些数字资产与相应的使用记录都会自动成为企业链码的链码资产的一部分,企业链码用户可以对其进行管理与授权,方便用户之间交换企业链码名片,展现企业风采。
所述企业链码以区块链+二维码建立企业身份的唯一标识,通过国家认可的企业法人身份认证系统,结合用户模块打造企业信息、用户信息、授权操作等三位一体的企业用户身份认证体系。企业链码的展现形式为二维码的方式,通过不同工具在不同场景下扫描企业链码的二维码,将自动跳转到对应场景下的具体应用,目前支持电子证照、电子印章、电子发票、电子合同等功能模块,在具体应用的功能模块下,可执行各种各样的与企业相关的操作,实现全方位的办事功能,全面提高办事效率,诚信企业享受“一网通办、一链通行”的高效服务。电子证照、电子印章、电子发票、电子合同等在办事过程中,会产生相应的使用记录,这些数字资产与相应的使用记录都会自动成为企业链码的链码资产的一部分,企业链码用户可以对其进行管理与授权,方便用户之间交换企业链码名片,展现企业风采。
所述用户模块、电子印章模块、电子发票模块、电子合同模块、企业链码管理模块均包括法人验证登录模块,所述法人验证登录模块用于经过人脸识别后企业用户登录。
所述用户模块的法人验证登录,具体为:
用户通过设定方式登录后,打开企业链码进入企业链码启动页,进入企业链码分为首次登录和二次登录,三次登录三种情况;
首次登录:打开企业链码进入首次登录页面,前端会调用后端接口查证到该用户为首次登录,并提示用户添加办事企业需要下载营业执照,下载成功之后进入链码首页即可正常使用;
二次登录:打开企业链码进入二次登录页面,用户根据自己的情况选择两种登录方式,第一种手机号验证码登录:跳转到二次登录手机登录页面,用户输入好手机号之后点击下一步,进入手机验证码认证页面,前端会请求后端短信接口发送至用户手机验证码,用户输入验证码验证成功之后即可进入链码首页正常使用;第二种人脸识别登录,跳转到二次登录人脸识别页面,用户人脸识别之后,前端请求后端判断人脸识别结果,识别成功将提示用户点击返回穗好办按钮即刻登录,进入链码首页;
三次登录:如果用户在链码首页浏览时间过期,则会提示用户企业营业执照过期,请重新认证,用户点击前往认证跳转到重新认证页面,用户输入统一代码和执照密码之后,前端请求后端判断正确即刻重新返回链码首页继续使用。
所述用户模块的前端底层详细实现登录的具体过程如下:
用户首先进入到企业链码页面,调用接口获取登录用户信息,查询登录用户信息,并返回信息进行判断是否有用户信息,如果没有,则跳回登录注册页面提示用户先完成用户注册;如果有用户信息,则进入企业链码功能展示页面;通过点击任意地方跳转到登录页面,进行身份认证环节;
身份认证支持人脸识别登录、手机号登录两种方式进行身份认证:如果是选择人脸识别登录,则会唤起人脸识别微信小程序,然后进行人脸识别操作,并回调识别结果,再将识别结果回调给企业链码进行校验人脸识别信息和用户登录信息是否一致,是否校验通过;如果是选择手机号登录,会调用企业链码后端接口发送验证码短信,然后对验证码进行校验,并判断校验是否通过;
如果校验没有通过,则重新返回到企业链码功能展示页面,重新进行身份认证:如果校验通过进入到普通用户登录环节,企业链码前端会先调用企业链码后端接口,后端会根据前端传递的用户信息参数去数据库查询是否已存在该用户已注册的情况,如果该用户已经注册那么就直接登录生成ecbcToken值,然后再返回给前端去判断是否登录成功;如果该用户没有注册,那么后端会自动注册用户,如果注册成功那么也会登录生成ecbcToken值,然后也会返回给前端去判断是否登录成功;
如果企业链码前端判断登录不成功,则也会重新返回到企业链码功能展示页面,重新进行身份认证;如果判断是登录成功,就缓存当前的用户信息ecbcToken值;
缓存好之后进入到企业用户登录环节,企业链码前端会提供给后端企业用户的登录信息,去查询用户关联的所有企业信息,最后返回正确的状态码给前端用于提示用户登录成功。
所述用户模块的前端底层添加企业包括以下步骤:
用户登录状态下,未关联企业时提示用户关联企业;前端先调用接口获取电子营业执照认证token,后端获取电子营业执照认证token,电子营业执照生成token值,回调后端认证token,回调前端使用认证token调用接口获取认证流水号,查询电子营业执照认证流水号,回调前端调用电子营业执照接口,后端唤起电子营业执照微信小程序,电子营业执照进行登录操作,回调企业数据,回调前端调用接口保存企业数据,然后后端新增或者更新企业信息关联用户-企业关系:办事人或法人;企业用户登录之后,后端查询用户关联的所有企业信息,最后前端提示用户添加办事企业成功。
所述用户模块的后端底层获取认证令牌包括以下步骤:
从电子营业平台查询token值,判断查询的token值响应是否异常,如果访问异常,后端程序执行结束;如果token值响应没有异常,继续判断状态码是否正常,如果状态码异常,后端程序执行结束;如果状态码正常,返回authToken值给前端,后端执行完毕。
所述用户模块的后端底层普通用户登录包括以下步骤:
前端将用户登录信息传参给后端,后端第一步先根据用户手机号去数据库查询出用户完整信息;然后进行判断数据库返回的user对象是否为空,如果不为空,说明已经被注册,返回给前端提示用户,请校验用户身份信息是否真实;如果判断为空,说明没有被注册,将执行新增用户,然后还会判断用户是否更换了手机号,如果更换了手机号会保存起来并修改用户信息;创建令牌生成token值,并返回给前端用户id和token值,后端执行结束。
所述用户模块的后端底层企业用户登录包括以下步骤:
企业用户登录,先去数据库查询缓存好的用户登录信息,判断一下用户的登录信息是否为空,如果是空的说明还没有注册和实名认证,返回前端异常状态码提示用户请先实名认证登录,后端程序执行结束;如果用户的登录信息不为空,就会去数据库查询用户关联的企业信息包括角色信息;然后继续判断用户是否有关联企业信息,如果无关联企业信息将返回用户id,默认企业id,关联企业列表给前端,后端执行结束;如果用户有关联企业信息,将更新用户登录信息缓存;然后继续判断用户是否设置了默认登录企业,如果用户设置了默认登录企业,就直接返回用户id默认企业id,关联企业列表给前端,后端程序执行结束;如果用户没有设置默认登录企业,则自动默认设置第一个为默认登录企业,然后返回用户id,默认企业id,关联企业列表,后端程序执行结束;
登录之后获取企业信息,并将数据记录保存于联盟链上可查证,便于个人对企业的管理。
所述电子印章模块的申请记录上链处理的过程如下:
(1)调用第三方服务平台的查询印章申请记录接口,查询申请动作是否成功:若不成功则不上链,若成功则对申请印章记录进行上链操作;
(2)获取当前登录企业的企业链码账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标志着一个该账户的交易;
(3)组装存储存证信息操作:这个步骤将利用合作方账户地址同时定义一个key和value进行存证操作;存证Key,方便检索存证信息,value保存存证内容,其中Key是由当前时间年月日加上甲乙双方的企业id组成;Value是空间资产的数据项,同时也是需要上链的数据项;
(4)序列化交易以便网络传输:这个步骤需要序列化的内容包括存证交易、获取的序列号增加1后的值、本次交易费用的单价、交易费用;本次交易的交易费用,存证内容越多,花费费用越多;序列化存证交易后会得到一个transactionBlob;
(5)签名交易:交易序列化后,交易发起人需要对交易数据进行身份确权,用私钥对数据进行签名,即用私钥对步骤(4)生成的transactionBlob进行签名,称之为数据的签名;签名结果包括签名数据和公钥;
(6)提交交易:交易数据签名后,需要将交易元数据及签名提交给区块链网络;
(7)将上链成功后的数据进行更新。
所述电子印章模块在服务中选择签章所需要的印章,在签章时会调用所选印章对需要签章的数据进行盖章,当签章动作完成时,会将签章后数据以及签章记录上链,签章记录上链过程如下:
(1)调用第三方服务平台的查询签章记录接口,查询签章动作是否完成:若未完成则不上链,若为完成则对签章记录进行上链操作;
(2)获取当前登录企业的企业链码账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标志着一个该账户的交易;
(3)组装存储存证信息操作;这个步骤将利用合作方账户地址同时定义一个key和value进行存证操作;存证Key,方便检索存证信息,value保存存证内容,其中Key是由当前时间年月日加上甲乙双方的企业id组成;Value是空间资产的数据项,同时也是需要上链的数据项;
(4)序列化交易以便网络传输;这个步骤需要序列化的内容包括存证交易、获取的序列号增加1后的值、本次交易费用的单价、交易费用;本次交易的交易费用,存证内容越多,花费费用越多;序列化存证交易后会得到一个transactionBlob;
(5)签名交易:交易序列化后,交易发起人需要对交易数据进行身份确权,用私钥对数据进行签名,即用私钥对步骤(4)的transactionBlob进行签名,称之为数据的签名;签名结果包括签名数据和公钥;
(6)提交交易:交易数据签名后,需要将交易元数据及签名提交给区块链网络;
(7)将上链成功后的数据更新;至此,签章存证交易成功。
所述电子印章模块,其申请电子印章的过程为:应用系统向可信认证平台发送申请请求,可信认证平台从政务区块链获取印章信息,返回申请的业务流水号给应用系统,政务区块链根据流水号查询申请印章业务数据,可信服务商制作印章并完成智能合约将印章信息保存到政务区块链上;应用系统向可信认证平台发送查询申请情况的请求后,可信认证平台从政务区块链获取印章信息并返回申请情况给引用系统,用户即可领取印章。
所述电子印章模块,其申请电子签章的过程为:应用系统向可信认证平台发送申请电子签章交易请求,可信交易平台将改请求上到政务区块链中并返回交易流水号给引用系统;之后需要用户通过身份认证后确认或授权交易后,可信认证平台会将更新的交易意愿信息上到政务区块链,并将确认或授权结果返回给用户,之后可信服务商在政务区块链中获取已确认或已授权的交易记录;可信服务商对交易记录进行签章,并将签章信息提交至政务区块链,可信认证平台在政务区块链上获取交易结果并合并签章到PDF文件中;之后应用系统可查询交易结果,可信认证平台在政务区块链上获取交易结果并返回给应用系统;最后应用系统可通过可信认证平台获取已签章的PDF文件。
所述电子印章模块,其接入统一电子印章平台的过程为:用章单位向管理部门和运营平台咨询对接沟通,明确需求;之后用章单位需提交申请资料给管理部门审查,审查通过后管理部门将结果通知用用章单位,若审查不通过则告知用章单位进行修改,若通过则告知运营平台进行业务办理;之后用章单位和运营平台进行系统对接,运营平台提供技术支持协助用章单位进行集成开发和测试;之后上线运行后运营平台提供运营保障。
所述电子印章模块,其电子印章平台调用方式为:作为被调用方的电子印章平台在公共支撑平台注册应用并申请服务,作为调用方的客户业务在公共支撑平台注册应用并申请服务;之后公共支撑平台会审核被调用方的服务申请;之后调用方向公共支撑平台发起请求并带上签名信息,网关向业务请求,请求头带上签名信息,被调用方响应请求,带上签名,API网关收到响应将响应请求给调用方。
所述电子发票模块对企业增值税发票进行管理,管理功能包括增值税发票授权委托书管理、企业授权信息管理、企业购买方抬头信息管理、企业商品信息管理、企业增值税发票查询、企业增值税电子普通发票开具、增值税电子普通发票邮件发送功能、增值税发票数据上链;上述管理功能都需要与关系型数据库进行交互操作;
所述发票授权委托书管理,具体为:
企业用户在使用发票模块功能前需要填写授权委托书,授权企业链码获取企业的增值税发票记录和开具增值税电子发票的权力;在企业提交完授权委托书时,企业链码将请求数据发送到Nacos网关模块,网关根据实际请求地址将请求转发到指定后台接口,将数据存储到关系型数据库;根据实际情况,还需要提供相应的税控设备硬件,该税控设备硬件在服务器上生效后才可以使用增值税发票功能;同时,数据采集软件会定时收集本地的发票数据并上传到中央数据库中,使得本地开具的发票也可以查询到;
所述企业授权信息管理,具体为:
在企业用户申请发票模块授权后,企业链码管理员会定期统一为申请企业进行发票模块授权;企业链码管理员将会为企业创建发票管理的第三方授权账户;在拥有第三方授权账户后,企业就通过企业链码使用授权账户调用第三方接口使用增值税发票查询和开具功能;同时,企业链码管理员将企业基本信息和授权信息保存到关系型数据库中,授权信息包括但不仅限于授权码、分机号、终端号;授权账户企业用户是不会直接进行管理,是托管给企业链码管理的;数据的存取涉及到关系型数据库。
所述企业购买方抬头信息管理,具体为:
在企业用户开具发票时,除了开具发票,还会对于购买方数据进行管理;在开具发票成功后,将会把购买方信息存储或更新到关系型数据库中的企业购买方抬头信息表中;在下次开具发票时,企业用户只需要填入企业名称关键字,就能够模糊查询到包含该关键字的企业信息,选择正确的购买方信息后,企业链码会自动填入购买方信息;同时,购买方抬头数据是托管给企业链码的。
所述企业商品信息管理,具体为:
企业在使用开具发票功能前,需要将商品信息添加到企业商品中;企业用户可以对自身企业商品信息进行增加、修改、查询和删除操作;
所述企业增值税电子普通发票开具,在发票开具时,需要使用发票第三方授权账户调用第三方发票开具接口;
所述增值税普通电子发票邮件发送,在发送邮件时,首先使用SMTP协议,将邮件内容发送到第三方邮件服务器上,第三方邮件服务器会将邮件保存到内部存储空间中;此时,收件人会通过邮件客户端软件先向第三方邮箱服务器请求,要求收取自己的邮件;第三方邮箱服务器收到请求后,会从自己的存储空间中取出邮件,将邮件发给收件人,收取邮件的过程,使用的协议是POP3;
所述增值税发票数据上链,是指:将发票数据存证保存到区块链联盟链中;企业链码将联盟链封装在里面,可以通过企业链码使用联盟链的一些功能,例如数据的存证上链等。企业用户的发票数据将会被定时抽取部分数据存证到区块链联盟链中;发票数据在上链成功后会在发票列表中显示该发票hash值,企业用户长按即可复制该hash值,可以在联盟链浏览器中使用该hash值查询到发票的上链数据,确保发票数据的真实性和不可篡改;发票模块实现数据上链使用到了联盟链中间件BCS系统,将数据发送到BCS系统中,由BCS系统完成数据上链操作,同时,企业链码账户会跟企业链账户进行关联绑定,因此也可以说企业链码账户就是企业链码账户;
所述电子发票模块的增值税发票数据上链具体流程如下:
(1)定时读取有效的发票记录,对未上链记录发送到BCS系统,进行上链处理;
(2)获取当前登录企业的企业链码账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标志着一个该账户的交易;
(3)组装存储存证信息操作;这个步骤将利用企业链码账户地址,同时定义一个key和value进行存证操作;存证Key,方便检索存证信息,value保存存证内容,存证内容包括开票方纳税人识别号、开票日期、发票代码;Key的值是由指定发票信息头INVO_、前时间年月日和发票记录id组成;value的值是由enterpriseName、socialCreditCode、nsrsbh、fpqqlsh、kprq、fpzl、fphm、fpdm、jshj、hjje和hjse组成;
(4)序列化交易以便网络传输:这个步骤需要序列化的内容包括当不仅限于存证交易、步骤(2)获取的序列号增加1后的值、本次交易设置的费用单价、以及该交易允许的最大交易费用;在序列化存证交易成功后会得到一个transactionBlob,本次交易的交易费用为transactionBlob的字节数乘以费用单价;因此,存证内容越多,花费费用越多;当交易的实际费用大于设置的交易允许最大交易费用时,该交易在提交的时候会直接判定为失败;
(5)签名交易;交易序列化后,交易发起人需要对交易数据进行身份确权,用私钥对数据进行签名,即用私钥对步骤4的transactionBlob进行签名,该过程为数据的签名;签名结果包括签名数据和公钥;
(6)提交交易;交易数据签名后,需要将交易元数据及签名提交给区块链网络;
(7)将上链成功后的数据更新到联盟链中间件BCS系统里,BCS系统会将上链结果发送到系统;当发票数据上链成功后,发票模块查询发票的时候,在发票列表中可以查看的到该发票存证上链的hash值;
至此,发票记录数据存证交易成功。
所述合同模块的合同生命周期上链过程为:
(1)获取生命周期为新建的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId,enterpriseName,sid,movement,receiver,senderOpinion,createTime,contractMD5组成;其中sid是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易,该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;所述交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob;
(4)序列化之后,交易发起人需要对交易数据进行身份确权,该过程称为数据的签名,签名结果包括签名数据和公钥;该过程用私钥对数据进行签名,即用transactionBlob进行签名;所述交易发起人为发起交易的企业链码账户;
(5)交易数据签名后,需要将trancationBlob以及签名提交给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。
所述合同模块在建合同时还会将申请完成状态下合同基本信息保存到联盟链,保存到联盟链的合同基本信息不可篡改,从而达到合同信息的透明、公正、不可篡改;
所述合同模块的同基本信息上链过程如下:
(1)获取申请完成状态下的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:CONTRACT_+当前时间+合同id,之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId,enterpriseName,sid,title,status,createTime,contractMD5组成;其中sid是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易,该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob;
(4)序列化之后,交易发起人需要对交易数据进行身份确权(用私钥对数据进行签名,即用transactionBlob进行签名),通常称为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名提交给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。
所述合同模块的一电子印章平台的调用方式如下:
统一电子印章平台在公共支撑平台管理系统注册应用并申请服务,客户业务在公共支撑平台注册应用并申请服务之后公共支撑平台会审核被调用方的服务申请;之后调用方向公共支撑平台发起请求并带上签名信息,网关向业务请求,请求头带上签名信息,被调用方响应请求,带上签名,API网关收到响应将响应请求给调用方。
所述合同模块的申请电子印章流程如下:
获取电子印章,会根据企业的统一社会信用代码来获取指定的印章信息,若之前的数据库中没有印章信息记录则将获取到的证件信息,印章列表进行新增保存;若有数据则要看是否增加了新得服务商,若有新增的服务商则删除原有的服务商信息保存现有的服务商信息;之后便是将印章信息进行遍历处理,反馈给用户进行选择。
所述合同模块,当甲方选择好指定的印章后,便可进行申请盖章操作,申请成功后,系统会将甲方的申请请求记录保存,并将合同状态进行修改,此时甲方的合同状态为待他人申请,乙方的合同状态则为待我申请;并生成合同的生命周期,以及生成申请盖章记录,并将生命周期和申请记录进行上链;
一方已申请的合同信息上链步骤如下:
(1)获取生命周期为一方已申请的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value包括enterpriseId,enterpriseName,sid,movement,receiver,senderOpinion,createTime,contractMD5;其中sid是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易,该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;序列化存证交易后会得到一个transactionBlob;
(4)序列化之后,交易发起人需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名提交给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此一方已申请的合同的生命周期存证交易成功。
所述合同模块申请签章记录的上链过程为:
(1)获取甲方申请签章记录数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:SEAL_+当前时间+签章记录id,之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value包括sid,title,docType,sealsTotal,beforeMD5,afterMD5,beforeContractPosition,afterContractPosition组成;其中,sid是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易,该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;序列化存证交易后会得到一个transactionBlob;
(4)序列化之后,交易发起人需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名提交给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此甲方申请签章记录信息存证交易成功。
所述合同模块,当乙方选择甲方申请过的合同进行签章申请时,系统会查找对应甲方的申请信息,将甲乙双方的申请信息共同打包发送;这时甲乙双方的合同状态会分别从待他人申请,待我申请统一变成申请完成;同时也会生成双方已申请的合同生命周期以及乙方的申请签章记录;双方已申请的生命周期的上链步骤如下:
(1)获取生命周期为双方已申请的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId,enterpriseName,sid,movement,receiver,senderOpinion,createTime,contractMD5组成;其中,sid是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易,该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;序列化存证交易后会得到一个transactionBlob;
(4)序列化之后,交易发起人需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名提交给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此双方已申请的合同的生命周期存证交易成功;
乙方的申请签章信息上链过程为:
(1)获取乙方申请签章记录数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:SEAL_+当前时间+签章记录id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由sid,title,docType,sealsTotal,beforeMD5,afterMD5,beforeContractPosition,afterContractPosition组成;其中,sid是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易,该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;序列化存证交易后会得到一个transactionBlob;
(4)序列化之后,交易发起人需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称之为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名提交给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此申请乙方申请签章记录信息存证交易成功;
当双方签章申请发送完成后就可以在电子卡包中看到属于自己的合同,找到对应的合同即可盖章签署,之后返回电子合同模块即可看到签署后的合同文件;至此一份完整的合同签署完成。
所述企业链码管理模块,其工作过程为:
S1、当扫码用户请求扫描企业链码后,由企业链码用户向其出示企业链码,企业链码前端向后端请求企业链码的生成参数,后端根据企业链码用户的账户地址,去区块链查询其对应的公钥信息,并通过私钥对更新时间,然后通过公钥进行数字签名,企业链码后端以模块标识+UUID作为key值,以公钥、更新时间、数字签名作为value值存入redis数据库中,同时返回key值给企业链码前端,作为企业链码的生成参数,企业链码前端根据企业链码后端返回的参数拼接链接并生成企业链码;
S2、扫码用户在扫描企业链码后,企业链码前端向企业链码后端请求扫码结果,企业链码后端根据参数去redis数据库中查询,返回对应的公钥,更新时间和数字签名并返回给企业链码前端,企业链码前端根据返回的数据重新拼接新的链接并请求企业链码后端,企业链码后端根据请求参数向区块链验证数字签名是否被篡改,如果验证通过,返回企业链码的扫码结果企业链码前端向扫码用户展示相关的企业信息。
所述企业链码管理模块的企业链码采用双层设计,包括扫码层以及翻译层;其中,所述扫码层用于跟普通的二维码一样的生成与解析过程,所述翻译层用于在二维码的解析的过程中,对其进行更深一步的加解密的过程;所述扫码层中的Key值作为关联扫码层与翻译层的关键参数,当扫码成功后,通过这个key作为翻译层的翻译钥匙,获取最后的翻译结果。
所述企业链码管理模块的key值设定为Token,在对Token进行设计时,将Token存放于redis数据库,以token作为key,实际翻译后的地址作为value保存在redis数据库中,在token作为key存在redis中的时候,需要加上项目前缀,以防止不同项目的key重复。
所述企业链码管理模块的企业链码的时效性分为三个阶段:示码阶段、扫码阶段、执行阶段;其中,在示码阶段的有效期内,客户不限次数的扫码获取结果,有效期过后客户端自动更新令牌,生成新的企业链码;在扫码阶段的有效期内,客户仅能扫码一次获取结果,同时该令牌会作废,再次扫码的结果为扫码失败,令牌已过期;在执行阶段,这是在进行扫码后执行结果,即展示企业链码的企业名片页面,在这个阶段,仅显示可公开内容。
所述企业链码管理模块的企业链码被专用工具扫码时,可补充工具使用者的参数,方便控制扫码者的查看数据的权限;当使用专门的企业链码扫码工具扫码时,会新增扫码者的用户标识跟用户的账户地址,即扫码过程中多了两个参数,只是作为扫码者的记录,不参与翻译层。
所述企业链码管理模块的企业链码的生成规则采用网址+路由+令牌的生成方式。
所述企业链码管理模块的扫码用户在扫描企业链码后,通过令牌可以获取被扫码者的公钥,更新时间和经过ED25519算法签名的签名数据。
本发明与现有技术相比,具有如下优点和有益效果:
本发明的企业链码以区块链+二维码建立企业身份标识,由多部门、多单位、多机构共同发起为企业打造的一站式绿色服务通道。企业链码作为个人码或健康码的延伸与拓展,为企业办事提高了效率,实现各类服务一站式办结。企业链码管理的各种链码资产均来源于政务区块链,信息资料来源真实可靠;在办事过程中,对于每次操作、审核、结果等一一上链,保证每次操作都有据可查、不遗漏。通过以上一点一滴的积累,逐步为企业建立起真实可信的信用支撑,从而打造出一个诚信的营商环境,助力企业发展。
附图说明
图1为本发明所述一种企业链码服务平台的结构示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1,一种企业链码服务平台,包括用户模块、电子印章模块、电子发票模块、电子合同模块、企业链码管理模块;
用户模块
对于既定生成的企业链码账户用户,用户登录经人脸识别实名认证后,法人验证登录,获取企业信息,并将数据记录保存于联盟链上并可查证,可在联盟链上实现个人对企业的管理,将线下的营业执照,发票,合同,印章,转换为线上的数字资产,实现公正透明、可溯源的流转。
企业链码账户:有着三大要素分别为私钥、公钥、地址。他们的生成方式一般而言,私钥通过随机数生成,随后基于密码算法生成公钥和地址,并且这个过程是单向不可逆。私钥:正如银行账户一般需要密码登入,区块链的账户也是通过密码的方式管理的,只不过这个密码也就是“私钥”,要更为复杂。大家都知道,计算机是用0、1存储数据,私钥就是由长度为256的0、1组成。对于区块链私钥而言,想要破解这套密码,就算把全世界的计算机都运转起来,也运算不到它的亿分之一,因而足够安全。公钥:它是私钥的补充,以验证私钥的“签名”,并在区块链全网公开。整个过程简单来说,就好比要动用你的账户的资产,那么你需要"私钥"来对这个行为盖个“签名”,同时把可以验证这个签名对不对的“公钥”,告诉所有人,那么其它人就可以验证这个行为合法性及来源。
地址:地址是由公钥产生的,也是系统进行交互的标识。一方面,由于公钥太长,在交易中不方便使用,可以通过对公钥哈希进行SHA256、RIPEMD160、Base58算法加密生成地址。另一方面对于没有发送过的交易,并不想暴露自己的公钥,而地址是通过摘要算法生成的,不会暴露公钥的真实内容。
用户登录:先经过穗好办APP选择登录方式,穗好办支持三种登录方式分为手机验证码登录,微信绑定登录,人脸识别登录。最为提倡人脸识别登录方式。
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
人脸识别的基本步骤
1.图像采集和检测
不同的人脸图像都能通过摄像镜头采集下来,比如静态图像、动态图像、不同的位置、不同表情等方面都可以得到很好的采集。当用户在采集设备的拍摄范围内时,采集设备会自动搜索并拍摄用户的人脸图像。人脸采集一般都是需要同一个人的多张人脸图片,可以有不同的表情,不同的装饰,男士可以同时采集有胡子和没有胡子的图像。图像采集可以根据试验的难度来采集,背景越复杂,识别难度越大。人脸检测在实际中主要用于人脸识别的预处理,即在图像中准确标定出人脸的位置和大小。人脸图像中包含的模式特征十分丰富,如直方图特征、颜色特征、模板特征、结构特征及Haar特征等。人脸检测就是把这其中有用的信息挑出来,并利用这些特征实现人脸检测。
2.图像预处理
对于人脸的图像预处理是基于人脸检测结果,对图像进行处理并最终服务于特征提取的过程。系统获取的原始图像由于受到各种条件的限制和随机干扰,往往不能直接使用,必须在图像处理的早期阶段对它进行灰度校正、噪声过滤等图像预处理。对于人脸图像而言,其预处理过程主要包括人脸图像的光线补偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等。简单的说就是把所拍摄的图像进行细致化的处理,并将检测到的人脸分割成一定大小的图片,便于识别和处理。
3.特征提取
人脸识别系统可使用的特征通常分为视觉特征、像素统计特征、人脸图像变换系数特征、人脸图像代数特征等。人脸特征提取就是针对人脸的某些特征进行的。人脸特征提取,也称人脸表征,它是对人脸进行特征建模的过程。人脸特征提取的方法归纳起来分为两大类:一种是基于知识的表征方法;另外一种是基于代数特征或统计学习的表征方法。基于知识的表征方法主要是根据人脸器官的形状描述以及他们之间的距离特性来获得有助于人脸分类的特征数据,其特征分量通常包括特征点间的欧氏距离、曲率和角度等。人脸由眼睛、鼻子、嘴、下巴等局部构成,对这些局部和它们之间结构关系的几何描述,可作为识别人脸的重要特征,这些特征被称为几何特征。基于知识的人脸表征主要包括基于几何特征的方法和模板匹配法。
4.降维
降维是人脸识别中重要的步骤。不同的特征表达方法与维数大小会直接影响人脸识别的识别率,通常在同样的特征表达方式下,维数越高其识别率也将越高。但是特征提取的维数大小将直接影响人脸识别系统的实时性,维数越高其识别时间会越长,实时性会越低。目前广泛使用的降维算法有PCA算法等。
5.特征匹配
提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。人脸识别就是将待识别的人脸特征与已得到的人脸特征模板进行比较,根据相似程度对人脸的身份信息进行判断。这一过程又分为两类:一类是确认,是一对一进行图像比较的过程,另一类是辨认,是一对多进行图像匹配对比的过程。
区块链联盟链:区块链是联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入与退出网络。各机构组织组成利益相关的联盟,共同维护区块链的健康运转,只针对特定某个群体的成员和有限的第三方,内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定,其他接入节点可以参与交易,但不过问记账过程,其他第三方可以通过该区块链开放的API进行限定查询。为了获得更好的性能,联盟链对于共识或验证节点的配置和网络环境有一定要求。有了准入机制,可以使得交易性能更容易提高,避免由参次不齐的参与者产生的一些问题。有着数据处理效率较快,隐私性较强,可控性较强的特点。所以保存在联盟链将线下的数据转换为线上的数字资产,实现公正透明、可溯源的流转。
在联盟链上实现个人对企业的管理,将线下的营业执照,发票,合同,印章,转换为线上的数字资产,比如电子营业执照。
电子营业执照:电子营业执照是由市场监管部门依据国家有关法律法规、按照统一标准规范核发的载有市场主体登记信息的法律电子证件。电子营业执照与纸质营业执照具有同等法律效力,是市场主体取得主体资格的合法凭证。市场主体设立登记后,即时生成电子营业执照并存储于电子营业执照库。电子营业执照通过手机等装载有电子营业执照应用程序的智能移动终端进行领取、下载和使用。
电子营业执照的主要用途:
身份认证
电子营业执照系统是全国统一的市场主体身份验证系统,支持全国通用验证和识别,具备防伪、防篡改、防抵赖的特性。
电子营业执照以国家市场监督管理总局为统一信任源点,记载了市场主体的身份信息,能够证明企业身份的合法合规性。
对比持照人
电子营业执照的下载、使用,采用真实身份信息登记制度,市场主体对其管理和授权办事人使用行为的合法性、真实性与合理性等负责。
社会公众、相关单位和机构使用电子营业执照应用程序或接入电子营业执照系统,可实时联网验证市场主体电子营业执照真伪、查询市场主体身份信息及状态,并可同步比对查验电子营业执照持照人相关信息。
电子签名
市场主体使用电子营业执照可以对数据电文进行电子签名,符合《电子签名法》第十三条规定条件的,电子签名与手写签名或者盖章具有同等法律效力。
办理电子营业执照的好处:为所有企业颁发载有市场主体身份信息的电子营业执照。电子营业执照是依据国家法律法规和全国统一标准颁发的法律电子证件,与纸质营业执照具有同等法律效力。电子营业执照采用密码技术,以国家市场监督管理总局为全国统一信任源点,在身份认证、防伪和电子签名等方面提供安全保障。
企业根据需要可随时自行下载使用,支持微信、支付宝等多种下载途径。电子营业执照可用于市场主体身份识别,企业可持电子营业执照办理相关业务,无需提供纸质营业执照。逐步提升统一社会信用代码的社会认知度,真正实现市场主体“一照一码走天下”。
电子印章模块
电子印章在使用时,需要先经过穗好办登录,打开企业链码进入企业链码启动页后,进行登录后进入合电子印章模块,可查看当前企业已申请成功的电子印章,在需要对电子信息进行签章时,可以已申请成功的电子印章对电子信息进行签章,保障电子信息的真实性和完整性,以及签名人的不可否认性。
首次使用电子印章的流程:
所述基于企业链码的企业电子印章管理方法,其申请电子印章的过程为:应用系统向可信认证平台发送申请请求,可信认证平台从政务区块链获取印章信息,返回申请的业务流水号给应用系统,政务区块链根据流水号查询申请印章业务数据,可信服务商制作印章并完成智能合约将印章信息保存到政务区块链上;应用系统向可信认证平台发送查询申请情况的请求后,可信认证平台从政务区块链获取印章信息并返回申请情况给引用系统,用户即可领取印章。
所述基于企业链码的企业电子印章管理方法,其申请电子签章的过程为:应用系统向可信认证平台发送申请电子签章交易请求,可信交易平台将改请求上到政务区块链中并返回交易流水号给引用系统;之后需要用户通过身份认证后确认或授权交易后,可信认证平台会将更新的交易意愿信息上到政务区块链,并将确认或授权结果返回给用户,之后可信服务商在政务区块链中获取已确认或已授权的交易记录;可信服务商对交易记录进行签章,并将签章信息提交至政务区块链,可信认证平台在政务区块链上获取交易结果并合并签章到PDF文件中;之后应用系统可查询交易结果,可信认证平台在政务区块链上获取交易结果并返回给应用系统;最后应用系统可通过可信认证平台获取已签章的PDF文件。
所述基于企业链码的企业电子印章管理方法,其接入统一电子印章平台的过程为:用章单位向管理部门和运营平台咨询对接沟通,明确需求;之后用章单位需提交申请资料给管理部门审查,审查通过后管理部门将结果通知用用章单位,若审查不通过则告知用章单位进行修改,若通过则告知运营平台进行业务办理;之后用章单位和运营平台进行系统对接,运营平台提供技术支持协助用章单位进行集成开发和测试;之后上线运行后运营平台提供运营保障。
所述基于企业链码的企业电子印章管理方法,其电子印章平台调用方式为:作为被调用方的电子印章平台在公共支撑平台注册应用并申请服务,作为调用方的客户业务在公共支撑平台注册应用并申请服务;之后公共支撑平台会审核被调用方的服务申请;之后调用方向公共支撑平台发起请求并带上签名信息(使用API网关签名算法),网关向业务请求,请求头带上签名信息(使用API网关签名算法),被调用方响应请求,带上签名(使用响应头、API网关签名算法),API网关收到响应将响应请求给调用方(使用响应头、API网关签名算法)。
电子印章模块,是指系统中既定生成的企业链码账户用户,将系统中交易的电子印章及相应的签章规则,对用户的印章进行管理,并将记录数据保存于联盟链上,同时,即已经保存的记录数据不可篡改,从而达到数据的透明,公正,不可篡改。电子印章在使用之前需要先申请印章,我们会对电子印章的申请记录进行上链处理,印章申请记录上链过程如下:
1、调用第三方服务平台的查询印章申请记录接口,查询申请动作是否成功,为否则不上链,为成功则对申请印章记录进行上链操作。
2、获取当前登录企业的企业链码账户的序列号。每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标志着一个该账户的交易。第一个步骤就是从联盟链上获取企业链码账户的序列号。
3、组装存储存证信息操作。这个步骤将利用合作方账户地址同时定义一个key和value进行存证操作。存证Key,方便检索存证信息,value保存存证内容,其中Key是由当前时间年月日加上甲乙双方的企业id组成。Value是空间资产的数据项,同时也是需要上链的数据项。
4、序列化交易以便网络传输。这个步骤需要序列化的内容包括存证交易,步骤1获取的序列化增加1后的值,本次交易费用的单价,交易费用。需要注意的是:本次交易的交易费用,存证内容越多,花费费用越多。序列化存证交易后会得到一个transactionBlob。
5、签名交易。交易序列化后,交易发起人需要对交易数据进行身份确权(用私钥对数据进行签名,即用私钥对步骤4的transactionBlob进行签名),通常称为数据的签名。签名结果包括签名数据和公钥。
6、提交交易。交易数据签名后,需要将交易元数据(transactionBlob)及签名(signatures)提交(交易广播)给区块链网络。
7、将上链成功后的数据更新到BCS系统里。
电子印章可以在服务中选择签章所需要的印章,在签章时会调用所选印章对需要签章的数据进行盖章,当签章动作完成时,会将签章后数据以及签章记录上链,签章记录上链过程如下:
1、调用第三方服务平台的查询签章记录接口,查询签章动作是否完成,为否则不上链,为完成则对签章记录进行上链操作。
2、获取当前登录企业的企业链码账户的序列号。每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标志着一个该账户的交易。第一个步骤就是从联盟链上获取企业链码账户的序列号。
3、组装存储存证信息操作。这个步骤将利用合作方账户地址同时定义一个key和value进行存证操作。存证Key,方便检索存证信息,value保存存证内容,其中Key是由当前时间年月日加上甲乙双方的企业id组成。Value是空间资产的数据项,同时也是需要上链的数据项。
4、序列化交易以便网络传输。这个步骤需要序列化的内容包括存证交易,步骤1获取的序列化增加1后的值,本次交易费用的单价,交易费用。需要注意的是:本次交易的交易费用,存证内容越多,花费费用越多。序列化存证交易后会得到一个transactionBlob。
5、签名交易。交易序列化后,交易发起人需要对交易数据进行身份确权(用私钥对数据进行签名,即用私钥对步骤4的transactionBlob进行签名),通常称为数据的签名。签名结果包括签名数据和公钥。
6、提交交易。交易数据签名后,需要将交易元数据(transactionBlob)及签名(signatures)提交(交易广播)给区块链网络。
7、将上链成功后的数据更新到BCS系统里。
至此,签章存证交易成功。
电子发票模块
企业用户企业链码登录成功后可以使用增值税发票管理功能。企业用户登录时首先经过人脸识别认证后,在法人验证登陆成功后,可以获取企业信息,根据当前企业的纳税人识别号,对企业增值税发票进行管理,支持查询增值税发票和开具增值税发票。
所述对企业增值税发票进行管理,管理功能包括发票授权委托书管理、企业授权信息管理、企业购买方抬头信息管理、企业商品信息管理、企业发票查询、企业增值税电子普通发票开具、增值税电子普通发票邮件发送功能、增值税发票数据上链;上述管理功能都需要与关系型数据库进行交互操作。
1.发票模块使用申请
企业用户在使用发票模块功能前需要填写授权委托书,允许企业链码获取企业的发票记录和开具发票的权力。在企业填写完授权委托书后,根据实际情况,还需要提供UKey硬件,在硬件在服务器上生效后才可以使用发票模块的功能。同时,如果企业用户希望可以查询到window端开具的发票,就需要安装我们提供的数据采集软件。该软件开机自启动,会定时收集本地的发票数据并上传到中央数据库中,使的本地开具的发票也可以在企业链码中查询的到。
增值税发票的查询和开具需要一些基础数据,如:销售方注册信息、企业纳税人识别号、购买方抬头信息、商品信息等。因此企业链码会对这些数据进行统一管理。下面将介绍各数据管理功能。
2.企业授权信息管理功能
在企业用户申请发票模块授权后,企业链码管理员会定期统一为申请企业进行发票模块授权;企业链码管理员将会为企业创建发票管理的第三方授权账户;在拥有第三方授权账户后,企业就通过企业链码使用授权账户调用第三方接口使用增值税发票查询和开具功能;同时,企业链码管理员将企业基本信息和授权信息保存到关系型数据库中,授权信息包括但不仅限于授权码、分机号、终端号;授权账户企业用户是不会直接进行管理,是托管给企业链码管理的;数据的存取涉及到关系型数据库。
3.企业购买方抬头信息管理功能
在企业用户开具发票时,除了开具发票,还会对于购买方数据进行管理;在开具发票成功后,将会把购买方信息存储或更新到关系型数据库中的企业购买方抬头信息表中;在下次开具发票时,企业用户只需要填入企业名称关键字,就能够模糊查询到包含该关键字的企业信息,选择正确的购买方信息后,企业链码会自动填入购买方信息;同时,购买方抬头数据是托管给企业链码的。
4.企业商品信息管理功能
企业在使用开具发票功能前,需要将商品信息添加到企业商品中。企业用户可以对自身企业商品信息进行增加、修改和删除操作。同时,企业用户需要保证商品信息真实可靠,如商品税收分类编码和商品税率,否则将会影响该商品增值税发票的开具。
5.企业发票查询功能
企业发票查询流程:
企业用户在登录成功后,点击’电子发票’,将默认显示本月开具的增值税发票列表。发票列表中显示的是部分发票内容,如果想查看发票完整内容,需要点击列表中对应的发票数据,直接查看发票图片,目前只有增值税普通电子发票支持在线查看发票PDF图片。如果需要查询指定时间段的发票数据,点击右上角’本月’,根据实际需求,选择时间端,其中的购买方属于选填项,填写完成后,点击查询,将显示时间段内该购买方的发票。
6.企业增值税发票开具功能
开具发票流程:
企业用户进入开票界面,根据开具发票种类填写开票数据,填写购买方抬头数据,选择销售商品与数量,提交发票数据后即可开具发票,需要注意的是增值税普通电子发票在开具发票后,不可以立即支持PDF文件在线查看,需要在开票时间5分钟后才可以查看。这个开票日期是金税盘的时间,自带时钟有可能会快或者慢几十分钟,开票时间以金税盘时间为准。
7.增值税普通电子发票邮件发送功能
增值税普通电子发票可以使用两种方式发送给收件人,1、在开具增值税普通电子发票的时候,填写购买方邮箱,在成功开具发票后将会将电子发票链接地址发送到购买方邮箱。2、在增值税发票列表中,点击’发送到邮箱’,填写收件人邮箱地址,点击发送按键后,就可以将该电子发票的链接地址发送到收件人邮件中,收件人可以使用链接将发票PDF文件下载到本地。
8.发票数据上链功能
增值税发票数据上链是指将发票数据存证保存到区块链联盟链中;企业链码将联盟链封装在里面,可以通过企业链码使用联盟链的一些功能,例如数据的存证上链等。企业用户的发票数据将会定时抽取部分数据存证到区块链联盟链中。发票数据在上链成功后会在发票列表中显示该发票hash值,企业用户长按即可复制该hash值,可以在联盟链浏览器中使用该hash值查询到发票的上链数据,确保发票数据的真实性和不可篡改。发票模块实现数据上链使用到了联盟链中间件BCS系统,将数据发送到BCS系统中,由BCS系统完成数据上链操作。同时,企业链码账户会跟企业链账户进行关联绑定,因此也可以说企业链码账户就是企业链码账户。
发票数据上链具体流程如下:
1、定时读取有效的发票记录,对未上链记录发送到BCS系统,进行上链处理。
2、获取当前登录企业的企业链码账户的序列号。每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标志着一个该账户的交易。第一个步骤就是从联盟链上获取企业链码账户的序列号。
3、组装存储存证信息操作。这个步骤将利用企业链码账户地址,同时定义一个key和value进行存证操作。存证Key,方便检索存证信息,value保存存证内容,如开票方纳税人识别号、开票日期、发票代码等。Key的值是由指定发票信息头INVO_、前时间年月日和发票记录id组成,如:INVO_2020121236。value的值是由enterpriseName(企业名称),socialCreditCode(统一社会信用代码),nsrsbh(开票方纳税人识别号),fpqqlsh(发票请求流水号),kprq(开票日期),fpzl(发票种类),fphm(发票号码),fpdm(发票代码),jshj(价税合计金额),hjje(合计不含税金额)和hjse(合计税额)组成。
4、序列化交易以便网络传输。这个步骤需要序列化的内容包括当不仅限于存证交易、步骤2获取的序列号增加1后的值、本次交易设置的费用单价、以及该交易允许的最大交易费用等。在序列化存证交易成功后会得到一个transactionBlob,本次交易的交易费用为transactionBlob的字节数x费用单价。因此,存证内容越多,花费费用越多。需要注意的是,当交易的实际费用大于设置的交易允许最大交易费用时,该交易在提交的时候会直接判定为失败。
5、签名交易。交易序列化后,交易发起人需要对交易数据进行身份确权(用私钥对数据进行签名,即用私钥对步骤4的transactionBlob进行签名),通常称为数据的签名。签名结果包括签名数据和公钥。
6、提交交易。交易数据签名后,需要将交易元数据(transactionBlob)及签名(signatures)提交(交易广播)给区块链网络。
7、将上链成功后的数据更新到联盟链中间件BCS系统里,BCS系统会将上链结果发送到系统。当发票数据上链成功后,发票模块查询发票的时候,在发票列表中可以查看的到该发票存证上链的hash值。
至此,发票记录数据存证交易成功。
电子合同模块
企业用户登录时经过人脸识别、法人验证登录后,获取企业信息,根据当前企业的信息进行合同的创建以及签订;用既定生成的企业链码账户将合同信息以及相应的签章申请规则记录并保存于联盟链上,已经保存的记录数据不可篡改,从而达到数据的透明、公正,且不可篡改。
所述基于企业链码的电子合同管理方法,还包括以下步骤:创建合同过程中,会生成合同生命周期,并将合同的每一个生命周期的信息保存到联盟链,保存到联盟链的生命周期不可篡改,从而达到合同生命周期信息的透明,公正,不可篡改;所述合同生命周期为:新建合同——一方已申请——双方已申请。
所述合同生命周期的上链过程为:
(1)获取生命周期为新建的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(接收者),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要)组成;其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;所述交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob(交易元数据);
(4)序列化之后,交易发起人需要对交易数据进行身份确权,该过程称为数据的签名,签名结果包括签名数据和公钥;该过程用私钥对数据进行签名,即用transactionBlob进行签名;所述交易发起人为发起交易的企业链码账户;
(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。
所述基于企业链码的电子合同管理方法,还包括以下步骤:创建合同时还会将申请完成状态下合同基本信息保存到联盟链(合同状态:待他人申请、待我申请、申请完成),保存到联盟链的合同基本信息不可篡改,从而达到合同信息的透明、公正、不可篡改。
所述合同基本信息的上链过程如下:
(1)获取申请完成状态下的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:CONTRACT_+当前时间(yyyyMMdd)+合同id,之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),title(合同标题),status(合同状态),createTime(合同创建时间),contractMD5(合同文件的加密摘要)组成;其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob(交易元数据);
(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权(用私钥对数据进行签名,即用transactionBlob进行签名),通常称为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。
所述基于企业链码的电子合同管理方法,还包括以下步骤:合同创建完成后,合同甲乙双方企业便可在电子合同待申请列表看到属于自己待申请的合同列表,找到待我申请的指定合同,便可进行申请盖章操作;申请盖章还需选择指定的印章类型;所述的印章需要接入统一电子印章平台,所述统一电子印章平台接入流程如下:
用章单位向管理部门和运营平台咨询对接沟通,明确需求;之后用章单位需提交申请资料给管理部门审查,审查通过后管理部门将结果通知用用章单位,若审查不通过则告知用章单位进行修改,若通过则告知运营平台进行业务办理;之后用章单位和运营平台进行系统对接,运营平台提供技术支持协助用章单位进行集成开发和测试;之后上线运行后运营平台提供运营保障。
所述统一电子印章平台的调用方式如下:
统一电子印章平台(被调用方)在公共支撑平台管理系统(公共支撑平台)注册应用并申请服务,客户业务(调用方)在公共支撑平台注册应用并申请服务之后公共支撑平台会审核被调用方的服务申请;之后调用方向公共支撑平台发起请求并带上签名信息(使用API网关签名算法),网关向业务请求,请求头带上签名信息(使用API网关签名算法),被调用方响应请求,带上签名(使用响应头、API网关签名算法),API网关收到响应将响应请求给调用方(使用响应头、API网关签名算法)。
所述基于企业链码的电子合同管理方法,还包括以下步骤,申请电子印章流程如下:
获取电子印章,会根据企业的统一社会信用代码来获取指定的印章信息,若之前的数据库中没有印章信息记录则将获取到的证件信息,印章列表进行新增保存;若有数据则要看是否增加了新得服务商,若有新增的服务商则删除原有的服务商信息保存现有的服务商信息;之后便是将印章信息进行遍历处理,反馈给用户进行选择。
所述基于企业链码的电子合同管理方法,还包括以下步骤:当甲方选择好指定的印章后,便可进行申请盖章操作,申请成功后,系统会将甲方的申请请求记录保存,并将合同状态进行修改,此时甲方的合同状态为待他人申请,乙方的合同状态则为待我申请;并生成合同的生命周期(一方已申请),以及生成申请盖章记录,并将生命周期和申请记录进行上链。
所述基于企业链码的电子合同管理方法,还包括以下步骤,一方已申请的合同信息上链步骤如下:
(1)获取生命周期为一方已申请的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value包括enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(接收者),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要);其中sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);
(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此一方已申请的合同的生命周期存证交易成功。
BCS是区块链服务系统,实现上层应用与区块链的对接的中间服务,BCS降低了接入区块链的业务复杂读,降低了区块链接入的开发难度和成本,丰富了区块链信息查询。
所述基于企业链码的电子合同管理方法,还包括以下步骤,申请签章记录的上链过程为:
(1)获取甲方申请签章记录数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易。因此这里合同的生命周期的key的生成格式为:SEAL_+当前时间(yyyyMMdd)+签章记录id,之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value包括sid(合同编号),title(合同标题),docType(文件类型0为pdf,1为ofd),sealsTotal(签章的数量),beforeMD5(合同签章前的MD5值),afterMD5(合同签章后的MD5值),beforeContractPosition(合同签章前保存的位置地址),afterContractPosition(合同签章后保存的位置地址)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);
(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此甲方申请签章记录信息存证交易成功。
BCS是区块链服务系统,实现上层应用与区块链的对接的中间服务,BCS降低了接入区块链的业务复杂读,降低了区块链接入的开发难度和成本,丰富了区块链信息查询。
所述基于企业链码的电子合同管理方法,还包括以下步骤:当乙方选择甲方申请过的合同进行签章申请时,系统会查找对应甲方的申请信息,将甲乙双方的申请信息共同打包发送;这时甲乙双方的合同状态会分别从待他人申请,待我申请统一变成申请完成;同时也会生成双方已申请的合同生命周期以及乙方的申请签章记录;双方已申请的生命周期的上链步骤如下:
(1)获取生命周期为双方已申请的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:LIFE_+当前时间(yyyyMMdd)+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由enterpriseId(企业id),enterpriseName(企业名称),sid(合同编号),movement(生命周期环节状态,新建合同——一方已申请——双方已申请),receiver(接收者),senderOpinion(发送人意见),createTime(环节发生时间),contractMD5(合同文件的加密摘要)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);
(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此双方已申请的合同的生命周期存证交易成功。
BCS是区块链服务系统,实现上层应用与区块链的对接的中间服务,BCS降低了接入区块链的业务复杂读,降低了区块链接入的开发难度和成本,丰富了区块链信息查询。
所述基于企业链码的电子合同管理方法,还包括以下步骤:乙方的申请签章信息上链过程为:
(1)获取乙方申请签章记录数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;因此这里合同的生命周期的key的生成格式为:SEAL_+当前时间(yyyyMMdd)+签章记录id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由sid(合同编号),title(合同标题),docType(文件类型0为pdf,1为ofd),sealsTotal(签章的数量),beforeMD5(合同签章前的MD5值),afterMD5(合同签章后的MD5值),beforeContractPosition(合同签章前保存的位置地址),afterContractPosition(合同签章后保存的位置地址)组成;其中,sid(合同编号)是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易(便于网络传输),该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用(交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多);序列化存证交易后会得到一个transactionBlob(交易元数据);
(4)序列化之后,交易发起人(发起交易的企业链码账户)需要对交易数据进行身份确权,用私钥对数据进行签名,即用transactionBlob进行签名,该过程称之为数据的签名,签名结果包括签名数据和公钥;
(5)交易数据签名后,需要将trancationBlob以及签名(signatures)提交(交易广播)给区块链网络,并将上链成功后的数据更新到我们的BCS系统里;至此申请乙方申请签章记录信息存证交易成功。
BCS是区块链服务系统,实现上层应用与区块链的对接的中间服务,BCS降低了接入区块链的业务复杂读,降低了区块链接入的开发难度和成本,丰富了区块链信息查询。
所述基于企业链码的电子合同管理方法,还包括以下步骤:当双方签章申请发送完成后就可以在电子卡包中看到属于自己的合同,找到对应的合同即可盖章签署,之后返回电子合同模块即可看到签署后的合同文件;至此一份完整的合同签署完成。这时用户便可为自己的信用积分累积5分,每个企业账户都拥有属于自己的企业链码账户,同时也都拥有对应得信息用积分。积分累计说明如下:每一条银行流水上联记录可积累1分,每一条电子证照使用上链记录可积累20分,每一条电子合同签约上链记录可积累5分,每一条电子发票上链记录可积累2分。此处涉及到区块链的资产发行交易,即每次记录申请记录时使用相应的企业链码账户发行对应的资产信用积分。系统发行了积分资产并将数据记录保存于联盟链上并可查证,便于将已经在联盟链上的数字资产实现快速,透明,可信,不可篡改的流转。实现数字资产的自由流通,数字资产一旦被登记到联盟链网络上以后,持有对应私钥的用户是资产拥有者,可以在整个区块链网络上自由地转移数字资产,因为流动过程中的资产权属记账是由区块链网络实现地,资产权属在流动过程中,既不能多也不能少,既不能伪造也不能篡改。所谓不可篡改就是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。系统管理员在管理后台系统收到积分资产发行后对发行请求进行资料审核,审核通过后,将资产发行数据上链,客户端向区块链服务系统发送存证请求,区块链服务系统响应请求并将数据记录于关系型数据库中,之后定时任务,存证任务调度中心进行定时调度,从关系型数据库中取指定的交易与链进行交互,将数据上链。审核不通过,则需用户重新申请资产发行。该技术方案让参与系统中的任意多个节点,把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(block),并且生成该数据块的唯一标识用于链接下个数据块和校验,系统所有参与节点来共同认定记录是否为真。从而来保证资产地可信。从而确保信誉积分的公正、透明、可信。资产发行主要的发行方式是基于账户的通证协议,通过少量接口实现Token发行,Token转移等操作,Token数据的变化会在账户状态中实时体现出来,用户若拥有多种资产类型,可以通过账号索引快速查询。Token的唯一标识为发行人账户地址(Issue),和资产代码(Code),同一个发行发可以发行多种Token,如果Code与已发行的相同,则Token会累加。通证发行本质上是给Token树增加一个节点。转移资产是对原账户和目标账户Token树状态的修改,当目标账户没有此Token时,相同与增加默克尔树叶子节点,否则其意义就是修改叶子节点状态。此方式适用于对于发行和流通需求比较固定的场景。这就是基于账户的通证协议。
企业链码管理模块的工作过程如下:
S1、当扫码用户请求扫描企业链码后,由企业链码用户向其出示企业链码,企业链码前端向后端请求企业链码的生成参数,后端根据企业链码用户的账户地址,去区块链查询其对应的公钥信息,并通过私钥对更新时间,然后通过公钥进行数字签名,企业链码后端以模块标识+UUID作为key值,以公钥、更新时间、数字签名作为value值存入redis数据库中,同时返回key值给企业链码前端,作为企业链码的生成参数,企业链码前端根据企业链码后端返回的参数拼接链接并生成企业链码;
S2、扫码用户在扫描企业链码后,企业链码前端向企业链码后端请求扫码结果,企业链码后端根据参数去redis数据库中查询,返回对应的公钥,更新时间和数字签名并返回给企业链码前端,企业链码前端根据返回的数据重新拼接新的链接并请求企业链码后端,企业链码后端根据请求参数向区块链验证数字签名是否被篡改,如果验证通过,返回企业链码的扫码结果,所述扫码结果包括企业名片,企业链码前端向扫码用户展示相关的企业信息。
具体说明如下:
1、时效性说明
企业链码的时效性一共分为三个阶段,分别为示码阶段、扫码阶段、执行阶段。在示码阶段,企业链码的有效期为一分钟,在这一分钟里,客户可以不限次数的扫码获取结果,一分钟后客户端更新令牌,生成新的企业链码;在扫码阶段,企业链码的有效期为十分钟,在这十分钟里,客户仅能扫码一次获取结果,同时该令牌会作废,再次扫码的结果为扫码失败,令牌已过期;在执行阶段,这是在进行扫码后执行结果,即展示企业链码的企业名片页面,在这个阶段,仅显示可公开内容,如营业执照、工商信息,不显示上链的数字资产。
2、时效性参考对比
3、设计说明
普通的二维码生成与扫描是一步走完的,即用户在扫码成功后即可获得扫码结果,而企业链码在原本二维码的基础增加了一步,为了保证二维码的安全性以及高效性,企业链码采用了双层的设计,分别为扫码层以及翻译层;而且企业链码的生成与扫码与普通的二维码都有一定的区别;
当扫码用户请求扫描二维码后,由企业链码用户向其出示企业链码,企业链码前端向后端请求企业链码的生成参数,后端根据企业链码用户的账户地址,去区块链查询其对应的公钥信息,并通过私钥对更新时间,公钥进行数字签名,后端以模块标识+UUID作为key值,公钥、更新时间、数字签名作为value值存入redis数据库中,同时返回key值给前端,作为二维码的生成参数,前端根据后端返回的参数拼接链接并生成企业链码;
扫码用户在扫描企业链码后,企业链码前端向后端请求扫码结果,后端根据参数去redis数据库中查询,返回对应的公钥,更新时间和数字签名并返回给前端,前端根据返回的数据重新拼接新的链接并请求后端,后端跟据请求参数向区块链验证数字签名是否被篡改,如果验证通过,返回企业链码的扫码结果,包括了企业名片等信息,企业链码前端向扫码用户展示相关的企业信息;
4、Token设计
Token作为二维码的生成的唯一标识,我们需要他满足以下要求:确保时效性,在规定的时间后会失效,且确保唯一,它应该是在整个系统里唯一的,确保不会跟其他模块的token重复,所以我们在对token进行设计时,将token存放于redis数据库,以token作为key,实际翻译后的地址作为value保存在redis数据库中,在token作为key存在redis中的时候,需要加上项目前缀,以防止不同项目的key重复。
5、翻译后地址设计
(1)参数说明
update_time、sign_data、request_user、request_address、public_key,这些参数均属于企业链码翻译后的参数,即在步骤S1中作为value存入的数据,而步骤S1中的key值是关联扫码层与翻译层的参数,其中request_user跟request_address这个两个参数,只有在用专用的扫码工具扫码时才会有这个两个数据返回。
(2)私钥、公钥、地址
生成私钥:
生成私钥需要使用随机算法、SHA256等多个算法才能实现。生成私钥包括以下步骤:
1.利用随机算法生成一个256位的随机数(数学意义上的私钥),得到字节数组即raw private key,如下所示:
[17,236,24,183,207,250,207,180,108,87,224,39,189,99,246,85,138,120,236,78,228,233,41,192,124,109,156,104,235,66,194,24]
2、在raw private key前面加上3个字节的前缀(Prefix),然后再加上1个字节的版本号(Version),并在后面添加1个字节的填充位(Fill),得到新的字节数组,如下所示:
[218,55,159,1,17,236,24,183,207,250,207,180,108,87,224,39,189,99,246,85,138,120,236,78,228,233,41,192,124,109,156,104,235,66,194,24,0]
3、对第2步中得到的字节数组进行两次SHA256计算,取运算结果的前4个字节,得到校验码(Checksum)的字节数组,如下所示:
[30,19,80,117]
4、将第2步中的字节数组和第3步中的校验码字节数组按照先后顺序连接在一起,得到新的字节数组,如下所示:
[218,55,159,1,17,236,24,183,207,250,207,180,108,87,224,39,189,99,246,85,138,120,236,78,228,233,41,192,124,109,156,104,235,66,194,24,0,30,19,80,117]
5、对第4步中产生的字节数组进行Base58编码,得到以priv开始的字符串,即私钥(private key),如下所示:
privbsGZFUoRv8aXZbSGd3bwzZWFn3L5QKq74RXAQYcmfXhhZ54CLr9z
至此就完成了私钥的生成。
生成公钥:
生成公钥需要在生成私钥之后才能实现,需要用到ED25519算法。生成公钥包含以下步骤:
1、通过ED25519算法对raw private key进行处理生成32位的字节数组,即rawpublickey。
例如私钥是:
privbsGZFUoRv8aXZbSGd3bwzZWFn3L5QKq74RXAQYcmfXhhZ54CLr9z,
其raw public key如下所示:
[21,118,76,208,23,224,218,117,50,113,250,38,205,82,148,81,162,27,130,83,208,1,240,212,54,18,225,158,198,50,87,10];
2、在raw public key前面加上1个字节的前缀(Prefix),然后再加上1个字节的版本号(Version),得到新的字节数组,如下所示:
[176,1,21,118,76,208,23,224,218,117,50,113,250,38,205,82,148,81,162,27,130,83,208,1,240,212,54,18,225,158,198,50,87,10];
3、对第2步中的字节数组进行两次SHA256计算,取运算结果的前4个字节,得到校验码(Checksum)的字节数组,如下所示:
[116,171,22,107];
4、将第2步中的字节数组和3步的校验码字节数组按照先后顺序连接在一起,得到新的字节数组,如下所示:
[176,1,21,118,76,208,23,224,218,117,50,113,250,38,205,82,148,81,162,27,130,83,208,1,240,212,54,18,225,158,198,50,87,10,116,171,22,107]
5、对第4步中的字节数组进行16进制编码,得到16进制字符串,即公钥(publickey),如下所示:
b00115764cd017e0da753271fa26cd529451a21b8253d001f0d43612e19ec632570a74ab166b;
至此就完成了公钥的生成。
生成地址:
在生成私钥和公钥后可以进一步通过算法生成地址。生成地址包含以下步骤:
1、通过ED25519算法对raw private key进行处理生成32位的字节数组,即rawpublickey。例如私钥为:
privbsGZFUoRv8aXZbSGd3bwzZWFn3L5QKq74RXAQYcmfXhhZ54CLr9z,
其raw public key如下所示:
[21,118,76,208,23,224,218,117,50,113,250,38,205,82,148,81,162,27,130,83,208,1,240,212,54,18,225,158,198,50,87,10];
2、对raw public key进行一次SHA256运算,并取运算结果的后20位字节,得到字节数组,如下所示:
[173,148,59,51,183,193,55,160,1,133,247,80,65,13,67,190,164,114,18,220];
3、在第2步产生的字节数组前面加上2个字节的前缀(Prefix),然后再加上1个字节的版本号(Version),得到新的字节数组,如下所示:
[5,53,1,173,148,59,51,183,193,55,160,1,133,247,80,65,13,67,190,164,114,18,220];
4、对第3步中的字节数组进行两次SHA256计算,取运算结果的前4个字节,得到校验码(Checksum)的字节数组,如下所示:
[167,127,34,35];
5、将第3步中的字节数组和第4步的校验码字节数组按照先后顺序连接在一起,得到新的字节数组,如下所示:
[1,86,1,173,148,59,51,183,193,55,160,1,133,247,80,65,13,67,190,164,114,18,220,167,127,34,35];
6、对第5步中产生的字节数组进行Base58编码,得到以hp开头的字符串,即地址(address),如下所示:
hpQmWJrdYJP5CPKTbkQUqscwvTGaU44dord8;
至此就完成了地址的生成。
(3)数字签名
数字签名的文件的完整性是很容易验证的(不需要骑缝章,骑缝签名,也不需要笔迹专家),而且数字签名具有不可抵赖性(不可否认性)。
简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS)。
(4)验签
发送方首先将原文用自己的私钥加密得到数字签名,然后将原文和数字签名一起发送给接收方。接收方用发送方的公钥对数字签名进行解密,最后与原文进行比较,使用数字签名技术能够验证文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。
6、链码展示
(1)展示方式
链码展示的内容包括企业名称、企业二维码、更新时间,用户通过出示该二维码,可以快速分享企业可信信息,扫码者在扫码成功后可以查看该企业的可信信息;二维码生成采用网址加令牌的生成的方式,令牌以项目前缀加UUID码组成,用以保证每个令牌都是唯一的。扫码者在扫码后,通过令牌可以获取被扫码者的公钥,更新时间和经过ED25519算法签名的签名数据,ED25519算法作为区块链的签名加密算法,签名跟验证性能都极高,安全性极高,签名数据小,非常适合作为二维码的签名验证算法,用户扫码后,后端确认签名数据正确后,会进入企业名片的页面,展示企业的可信信息。
(2)更新频率
该处的二维码展示的更新频率为一分钟一次
(3)时效性说明,同上。
7、链码管理
企业用户在使用企业二维码模块功能时可以对企业二维码进行管理,可以管理企业对外的具体展示信息,目前链码管理共有七个子模块,分别为企业名片,企业基本信息,企业画像,经营状况,商业数据,链码信息,信用信息;
企业用户可以在链码管理中对以上子模块进行管理,可以选择具体哪些对外展示,哪些不对外展示,所有企业对外展示信息均进行存证上链操作,帮助企业建立企业信誉,轻松分享企业可信信息。
(1)链码名片
企业名片的对外展示信息包括:企业名称,企业法人,联系电话,企业邮箱吗,企业网址,注册地址。
(2)链码画像
企业画像主要是展示企业的企业规模,企业类型,企业领域,企业产值,企业资质荣誉。
8、扫码
(1)第三方工具(微信)扫码
当用户使用第三方工具扫码的时。为了降低传播风险,也是因为微信无法保证用户安全性,所以通过微信扫码时,企业链码仅展示企业名片信息,链码用户可以在链码管理中管理企业名片的对外展示信息。
(2)专业工具(企业链码)扫码
当用户使用专业工具即企业链码扫码时,可以获取到当前扫码人的用户信息,所以安全性较高,扫码用户在扫码成功后可以获取到当前企业的信息,包括了企业名片,企业基本信息,企业画像,经营状况,商业数据,链码信息,信用信息。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种企业链码服务平台,其特征在于:包括用户模块、电子印章模块、电子发票模块、电子合同模块、企业链码管理模块;
所述用户模块用于获取企业信息,并将数据记录保存于联盟链上并可查证;所述电子印章模块用于法人验证登录后获取企业信息,再根据当前企业的可用电子印章,对需要盖章的电子信息文件进行电子签章操作,并将交易的电子印章及相应的签章规则作为记录数据保存于联盟链上;同时电子印章在使用之前需要先申请印章,对电子印章的申请记录进行上链处理;
所述电子发票模块用于法人验证登陆后,获取企业信息,根据当前企业的纳税人识别号,对企业增值税发票进行管理,支持查询增值税发票和开具增值税电子普通发票;所述对企业增值税发票进行管理,管理功能包括增值税发票授权委托书管理、企业授权信息管理、企业购买方抬头信息管理、企业商品信息管理、企业发票查询、企业增值税电子普通发票开具、增值税电子普通发票邮件发送功能、增值税发票数据上链;上述管理功能都需要与关系型数据库进行交互操作;
电子合同模块用于登录后获取企业信息,根据当前企业的信息进行合同的创建以及签订;用既定生成的企业链码账户将合同信息以及相应的签章申请规则记录并保存于联盟链上;
企业链码管理模块用于获取企业信息,根据当前企业的唯一标识,对企业链码进行管理,支持查询企业链码的扫码记录和出示企业链码;
所述企业链码管理模块,其工作过程为:
S1、当扫码用户请求扫描企业链码后,由企业链码用户向其出示企业链码,企业链码前端向后端请求企业链码的生成参数,后端根据企业链码用户的账户地址,去区块链查询其对应的公钥信息,并通过私钥对更新时间,然后通过公钥进行数字签名,企业链码后端以模块标识+UUID作为key值,以公钥、更新时间、数字签名作为value值存入redis数据库中,同时返回key值给企业链码前端,作为企业链码的生成参数,企业链码前端根据企业链码后端返回的参数拼接链接并生成企业链码;
S2、扫码用户在扫描企业链码后,企业链码前端向企业链码后端请求扫码结果,企业链码后端根据参数去redis数据库中查询,返回对应的公钥,更新时间和数字签名并返回给企业链码前端,企业链码前端根据返回的数据重新拼接新的链接并请求企业链码后端,企业链码后端根据请求参数向区块链验证数字签名是否被篡改,如果验证通过,返回企业链码的扫码结果企业链码前端向扫码用户展示相关的企业信息;
所述企业链码管理模块的企业链码采用双层设计,包括扫码层以及翻译层;其中,所述扫码层用于二维码的生成与解析过程,所述翻译层用于在二维码的解析的过程中,对其进行更深一步的加解密的过程;所述扫码层中的Key值作为关联扫码层与翻译层的关键参数,当扫码成功后,通过这个key作为翻译层的翻译钥匙,获取最后的翻译结果;
所述企业链码以区块链、二维码建立企业身份的唯一标识;所述用户模块、电子印章模块、电子发票模块、电子合同模块在使用的过程中,会产生相应的使用记录,这些数字资产与相应的使用记录都会自动成为企业链码的链码资产的一部分,企业链码用户可以对其进行管理与授权。
2.根据权利要求1所述企业链码服务平台,其特征在于:所述用户模块的法人验证登录,具体为:
用户通过设定方式登录后,打开企业链码进入企业链码启动页,进入企业链码分为首次登录和二次登录,三次登录三种情况;
首次登录:打开企业链码进入首次登录页面,前端会调用后端接口查证到该用户为首次登录,并提示用户添加办事企业需要下载营业执照,下载成功之后进入链码首页即可正常使用;
二次登录:打开企业链码进入二次登录页面,用户根据自己的情况选择两种登录方式,第一种手机号验证码登录:跳转到二次登录手机登录页面,用户输入好手机号之后点击下一步,进入手机验证码认证页面,前端会请求后端短信接口发送至用户手机验证码,用户输入验证码验证成功之后即可进入链码首页正常使用;第二种人脸识别登录,跳转到二次登录人脸识别页面,用户人脸识别之后,前端请求后端判断人脸识别结果,识别成功将提示用户点击返回按钮即刻登录,进入链码首页;
三次登录:如果用户在链码首页浏览时间过期,则会提示用户企业营业执照过期,请重新认证,用户点击前往认证跳转到重新认证页面,用户输入统一代码和执照密码之后,前端请求后端判断正确即刻重新返回链码首页继续使用。
3.根据权利要求1所述企业链码服务平台,其特征在于:所述用户模块的前端底层详细实现登录的具体过程如下:
用户首先进入到企业链码页面,调用接口获取登录用户信息,查询登录用户信息,并返回信息进行判断是否有用户信息,如果没有,则跳回登录注册页面提示用户先完成用户注册;如果有用户信息,则进入企业链码功能展示页面;通过点击任意地方跳转到登录页面,进行身份认证环节;
身份认证支持人脸识别登录、手机号登录两种方式进行身份认证:如果是选择人脸识别登录,则会唤起人脸识别微信小程序,然后进行人脸识别操作,并回调识别结果,再将识别结果回调给企业链码进行校验人脸识别信息和用户登录信息是否一致,是否校验通过;如果是选择手机号登录,会调用企业链码后端接口发送验证码短信,然后对验证码进行校验,并判断校验是否通过;
如果校验没有通过,则重新返回到企业链码功能展示页面,重新进行身份认证:如果校验通过进入到普通用户登录环节,企业链码前端会先调用企业链码后端接口,后端会根据前端传递的用户信息参数去数据库查询是否已存在该用户已注册的情况,如果该用户已经注册那么就直接登录生成ecbcToken值,然后再返回给前端去判断是否登录成功;如果该用户没有注册,那么后端会自动注册用户,如果注册成功那么也会登录生成ecbcToken值,然后也会返回给前端去判断是否登录成功;
如果企业链码前端判断登录不成功,则也会重新返回到企业链码功能展示页面,重新进行身份认证;如果判断是登录成功,就缓存当前的用户信息ecbcToken值;
缓存好之后进入到企业用户登录环节,企业链码前端会提供给后端企业用户的登录信息,去查询用户关联的所有企业信息,最后返回正确的状态码给前端用于提示用户登录成功。
4.根据权利要求1所述企业链码服务平台,其特征在于:所述用户模块的前端底层添加企业包括以下步骤:
用户登录状态下,未关联企业时提示用户关联企业;前端先调用接口获取电子营业执照认证token,后端获取电子营业执照认证token,电子营业执照生成token值,回调后端认证token,回调前端使用认证token调用接口获取认证流水号,查询电子营业执照认证流水号,回调前端调用电子营业执照接口,后端唤起电子营业执照微信小程序,电子营业执照进行登录操作,回调企业数据,回调前端调用接口保存企业数据,然后后端新增或者更新企业信息关联用户-企业关系:办事人或法人;企业用户登录之后,后端查询用户关联的所有企业信息,最后前端提示用户添加办事企业成功。
5.根据权利要求1所述企业链码服务平台,其特征在于:所述电子印章模块的申请记录上链处理的过程如下:
(1)调用第三方服务平台的查询印章申请记录接口,查询申请动作是否成功:若不成功则不上链,若成功则对申请印章记录进行上链操作;
(2)获取当前登录企业的企业链码账户的序列号;每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标志着一个该账户的交易;
(3)组装存储存证信息操作:这个步骤将利用合作方账户地址同时定义一个key和value进行存证操作;存证Key,方便检索存证信息,value保存存证内容,其中Key是由当前时间年月日加上甲乙双方的企业id组成;Value是空间资产的数据项,同时也是需要上链的数据项;
(4)序列化交易以便网络传输:这个步骤需要序列化的内容包括存证交易、获取的序列号增加1后的值、本次交易费用的单价、交易费用;本次交易的交易费用,存证内容越多,花费费用越多;序列化存证交易后会得到一个transactionBlob;
(5)签名交易:交易序列化后,交易发起人需要对交易数据进行身份确权,用私钥对数据进行签名,即用私钥对步骤(4)生成的transactionBlob进行签名,称之为数据的签名;签名结果包括签名数据和公钥;
(6)提交交易:交易数据签名后,需要将交易元数据及签名提交给区块链网络;
(7)将上链成功后的数据进行更新。
6.根据权利要求1所述企业链码服务平台,其特征在于:所述电子印章模块,其电子印章平台调用方式为:作为被调用方的电子印章平台在公共支撑平台注册应用并申请服务,作为调用方的客户业务在公共支撑平台注册应用并申请服务;之后公共支撑平台会审核被调用方的服务申请;之后调用方向公共支撑平台发起请求并带上签名信息,网关向业务请求,请求头带上签名信息,被调用方响应请求,带上签名,API网关收到响应将响应请求给调用方。
7.根据权利要求1所述企业链码服务平台,其特征在于:所述合同模块的合同生命周期上链过程为:
(1)获取生命周期为新建的合同数据,并且获取当前登录企业在联盟链上的企业链码账户地址以及该账户的序列号,每个账户都维护着自己的序列号,该序列号从1开始,依次递增,一个序列号标识着一笔该账户所进行的交易;
(2)对上链的数据进行组装存储;联盟链中每笔存证交易都会拥有一个唯一的key,一个key标识着一笔存证交易;若在联盟链进行存证交易时用到了同一个key,则最新发起的存证交易将覆盖之前使用这个key的存证交易;合同的生命周期的key的生成格式为:LIFE_+当前时间+生命周期id;之后要确定存证的value,也就是想要上链的合同的生命周期的数据;这里的value由企业id,企业名称,合同编号,生命周期环节状态,接收者,发送人意见,环节发生时间,合同文件的加密摘要组成;其中sid是由当前时间年月日加上甲乙双方的企业id组成;
(3)确定好存证的key-value后,需序列化该交易,该步骤需要序列化的内容包括存证交易、序列号增加1后的值、本次交易费用的单价、交易费用;所述交易费用与存证的内容有关,即存证的内容越多,所需花费费用越多;序列化存证交易后会得到一个transactionBlob;
(4)序列化之后,交易发起人需要对交易数据进行身份确权,该过程称为数据的签名,签名结果包括签名数据和公钥;该过程用私钥对数据进行签名,即用transactionBlob进行签名;所述交易发起人为发起交易的企业链码账户;
(5)交易数据签名后,需要将trancationBlob以及签名提交给区块链网络,并将上链成功后的数据更新到BCS系统里;至此合同的生命周期存证交易成功。
8.根据权利要求1所述企业链码服务平台,其特征在于:所述企业链码管理模块的企业链码的时效性分为三个阶段:示码阶段、扫码阶段、执行阶段;其中,在示码阶段的有效期内,客户不限次数的扫码获取结果,有效期过后客户端自动更新令牌,生成新的企业链码;在扫码阶段的有效期内,客户仅能扫码一次获取结果,同时该令牌会作废,再次扫码的结果为扫码失败,令牌已过期;在执行阶段,这是在进行扫码后执行结果,即展示企业链码的企业名片页面,在这个阶段,仅显示可公开内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110313841.8A CN113128950B (zh) | 2021-03-24 | 2021-03-24 | 一种企业链码服务平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110313841.8A CN113128950B (zh) | 2021-03-24 | 2021-03-24 | 一种企业链码服务平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113128950A CN113128950A (zh) | 2021-07-16 |
CN113128950B true CN113128950B (zh) | 2023-04-25 |
Family
ID=76774084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110313841.8A Active CN113128950B (zh) | 2021-03-24 | 2021-03-24 | 一种企业链码服务平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113128950B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114528957A (zh) * | 2022-02-11 | 2022-05-24 | 李政晖 | 一种基于物特征差异化标识的印章管理方法和系统 |
CN115564549B (zh) * | 2022-11-10 | 2023-04-25 | 深圳标普云科技有限公司 | 一种企业智能纳税计缴申报方法及系统 |
CN116051181B (zh) * | 2023-02-10 | 2024-01-26 | 成都纳宝科技有限公司 | 一种基于区块链和大数据的数字化营销方法 |
CN116821883A (zh) * | 2023-08-31 | 2023-09-29 | 成都智慧锦城大数据有限公司 | 一种个人电子身份证证照获取、验证、使用的方法及系统 |
CN118153924A (zh) * | 2024-05-11 | 2024-06-07 | 成都新津数字科技产业发展集团有限公司 | 全生命周期企业服务管理系统及其方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067378B (zh) * | 2012-12-26 | 2016-08-03 | 百度在线网络技术(北京)有限公司 | 基于二维码的登录控制方法和系统 |
US11057366B2 (en) * | 2018-08-21 | 2021-07-06 | HYPR Corp. | Federated identity management with decentralized computing platforms |
US10425230B1 (en) * | 2019-03-01 | 2019-09-24 | Capital One Services, Llc | Identity and electronic signature verification in blockchain |
CN110336797B (zh) * | 2019-06-18 | 2020-09-15 | 阿里巴巴集团控股有限公司 | 基于区块链的企业认证、认证追溯方法、装置及设备 |
CN110335051B (zh) * | 2019-07-03 | 2023-12-19 | 烟台市同翔网络科技有限责任公司 | 一种基于区块链主副链技术的食品标签唯一码发布与流通溯源方法 |
CN111027035B (zh) * | 2019-11-06 | 2022-04-08 | 香农数据有限公司 | 一种基于区块链的多重身份认证方法及系统 |
CN111028082A (zh) * | 2019-12-11 | 2020-04-17 | 杭州产链数字科技有限公司 | 一种基于区块链的电商平台应收款管理系统及方法 |
CN112328689A (zh) * | 2020-11-09 | 2021-02-05 | 广州点点办公科技有限公司 | 一种基于区块链的通用资产商业生态系统 |
CN112347190A (zh) * | 2020-11-13 | 2021-02-09 | 广州点点办公科技有限公司 | 一种基于区块链的共享办公加盟园区管理系统 |
-
2021
- 2021-03-24 CN CN202110313841.8A patent/CN113128950B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113128950A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3721578B1 (en) | Methods and systems for recovering data using dynamic passwords | |
CN113128950B (zh) | 一种企业链码服务平台 | |
US20240169457A1 (en) | Systems and methods for executing and delivering electronic documents | |
US11818265B2 (en) | Methods and systems for creating and recovering accounts using dynamic passwords | |
CN109417549B (zh) | 使用集中式或分布式分类账来提供信息证明的方法和设备 | |
WO2020108046A1 (zh) | 一种跨区块链的交互方法及系统、计算机设备及存储介质 | |
WO2020051365A1 (en) | Systems and methods for creating a digital id record and methods of using thereof | |
CN108881121B (zh) | 一种基于移动互联网的p2p信用互看系统及方法 | |
US11522719B2 (en) | Systems for producing and maintaining verified electronic signatures | |
CN110969531A (zh) | 借款存证、在线查证方法及其系统 | |
CN113128951B (zh) | 一种基于企业链码的电子合同管理方法及系统 | |
CN114266069B (zh) | 一种基于区块链技术的房屋交易电子数据共享系统及方法 | |
US20220222381A1 (en) | Method and system for verifying documents | |
US20230050280A1 (en) | Computer-implemented user identity verification method | |
CN110458730A (zh) | 一种基于区块链的个人电子签约系统及方法 | |
US11496316B1 (en) | System and method for identity verification for online dating | |
CN113129087B (zh) | 一种基于企业链码的电子发票管理方法及系统 | |
AU2020202543A1 (en) | Unauthenticated access to artifacts in commerce networks | |
Milovanovic et al. | Choosing authentication techniques in e-procurement system in Serbia | |
CN118300807A (zh) | 接入数字邮箱的电子印章系统及接入数字邮箱的方法 | |
CN117094723A (zh) | 数字资产交易管理方法、系统、设备和存储介质 |
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 |