一种可信Web应用的实现方法及系统技术方案

技术编号:29024750 阅读:34 留言:0更新日期:2021-06-26 05:26
本发明专利技术提供了一种可信Web应用实现方法及系统。该实现系统针对中心化Web应用存在内容来源不可追溯、内容完整性和合规性不可验证等问题,通过在区块链上部署实体注册与认证合约、Web应用登记合约、Web应用调用合约,由公开的共识机制取代中心化Web应用服务,对内容有效性进行合规检查,从而保证了内容的来源真实性、内容完整性和合规性。此外,本发明专利技术还提供了与该实现系统相对应的方法,只需要在链上进行一次身份认证,有利于简化用户在多个Web应用的注册和认证操作,降低用户隐私信息的泄漏风险。险。险。

【技术实现步骤摘要】
一种可信Web应用的实现方法及系统


[0001]本申请涉及区块链技术应用领域,具体涉及一种可信Web应用的实现方法及系统。

技术介绍

[0002]传统Web应用一方面以Web页面形式向用户发布内容,另一方面以Web表单形式从用户端收集内容后,展示这些内容及其统计结果。Web应用的常见用户行为包括:发帖和跟贴、评论打分、投票等。由于传统Web应用采用中心化部署运维方式,运维方可从自身利益出发篡改数据(例如:删除差评、修改投票或问卷统计结果等),因此其内容难以取信于公众。另外由于各Web应用自成体系,用户不得不将身份信息多次提交,分别进行用户注册认证,增加了操作复杂度和用户隐私信息泄漏的风险。现有的将区块链技术应用于解决Web应用内容信任问题所采用的方案主要包括:1)将页面内容的Hash上链,对发布的页面内容进行内容完整性、时间存在性证明;2)采用群签名或同态加密等技术实现投票行为的匿名及投票结果的公正。
[0003]上述方案在解决Web内容的信任问题方面,仍然存在以下几方面的局限:1)信任覆盖不全面:仅仅在页面层面解决了内容的完整性证明,对于页面包含的图片等多媒体文件未提供完整性证明;对所有内容的来源真实性不可追溯;2)支持的用户行为模式单一:仅限于投票单一场景的行为溯源,无法对其他用户行为进行溯源;3)缺乏行为有效性检查:无法实现对用户行为的合规性进行复杂逻辑检查,例如,在投票的应用场景中,设定周期内T只允许每人最多/必须针对n个对象各投一张票;以发帖为例:设置允许文章附件的文件大小,设置发帖文字的字数限制等
[0004]如何克服上述缺陷,有效的解决Web内容信任问题已成为了亟需解决的技术问题。

技术实现思路

[0005]为了解决上述技术问题,本专利技术提供了一种可信Web应用的实现方法及系统,针对现有中心化Web应用的信任问题,采用区块链上的合约实现Web应用的服务方和用户方的身份认证、Web应用登记、Web应用调用等功能,使得上述行为的来源可追溯可验证,行为的结果真实可信。本专利技术所采用的技术方案如下:一种可信Web应用的实现方法,该实现方法包括系统建立、应用登记、应用调用以及调用结果展示与验证四个阶段,系统建立阶段包括如下步骤:步骤101、建立区块链组网,启动区块/状态数据服务;步骤102、在区块链上部署身份认证合约、Web应用登记合约、Web应用调用合约;步骤103、对认证方进行身份认证;步骤104、认证Web应用服务方和用户方;步骤105、订阅区块数据和状态数据;应用登记阶段包括如下步骤:
步骤201、登记Web应用,确定应用类型和规则;步骤202、建立Web应用实例;应用调用阶段包括如下步骤:步骤301、Web应用用户选择链上登记的Web应用;步骤302、输入数据,构造并提交签名交易;步骤303、验证交易有效性、实时统计结果;所述调用结果展示与验证包括如下步骤:步骤401、同步区块数据和状态数据,更新展示内容;步骤402、验证展示内容的来源真实性、内容完整性;步骤403、返回验证结果。
[0006]进一步的,所述建立区块链组网,启动区块/状态数据服务,具体包括:区块链组网节点加载创世区块,建立或加入区块链组网;各节点的区块/状态数据服务向区块链组网节点请求区块数据实时同步,并对同步获得的区块/状态数据进行解析,并将解析后的数据存储到关系型数据库,所述关系型数据库用于提供区块数据的复杂检索以及对外提供区块/状态数据订阅服务;所述区块数据订阅服务采用中间件实现或者通过编程实现。
[0007]进一步的,在步骤102中,所述身份认证合约ContractCert包括账户认证方法signUpSigner和为账户绑定证书的方法signUpCert。
[0008]进一步的,所述步骤103、对认证方进行身份认证,具体包括:区块链服务方通过签名交易调用合约方法ContractCert. signUpSigner,对认证方进行身份认证,然后通过签名交易调用合约方法ContractCert. signUpCert,为其绑定数字证书,数字证书与认证方持有的密钥对应;所述步骤104、认证Web应用服务方和用户方,具体包括:通过签名交易调用合约方法ContractCert. signUpSigner,对Web应用服务方、Web应用用户方进行身份认证,通过签名交易调用合约方法ContractCert. signUpCert为其绑定数字证书,数字证书与其持有的密钥对应;所述步骤105、订阅区块数据和状态数据,具体包括:Web应用服务方完成链上的身份认证之后,向区块链服务请求区块/状态数据订阅推送,实时获取与本账户相关的区块/状态数据。
[0009]进一步的,所述步骤201、登记Web应用,确定应用类型和规则,具体包括:Web应用服务方通过签名交易,调用合约方法ContractWeb. registerApp登记Web应用实例,该合约方法的参数已预设了该Web应用的类型、有效性检查规则、结果统计逻辑;在进行时间区间检查时,采用区块高度代替区块链组网节点本地时间,以避免由于组网节点本地时间不一致无法对有效性达成共识;所述步骤202、建立Web应用实例,具体包括:区块链服务子系统根据登记信息,为该Web应用生成录入界面,并调用ShimAPI.setStateTx方法将生成的录入界面写入账本状态数据,Web服务方从状态订阅获得的APP_UI_HTML状态获得界面定义,从状态订阅获得的APP_UI_DESC状态获得界面描述,提供给下一步Web用户界面访问。
[0010]进一步的,所述步骤302、输入数据,构造并提交签名交易,具体包括:
访问Web应用服务的录入界面,Web应用服务根据步骤202中获得的界面定义和界面描述构造录入界面,用户录入数据之后,构造签名交易调用合约方法ContractWeb. callApp,向区块链提交签名交易;所述步骤303、验证交易有效性、实时统计结果,具体包括:区块链组网接收到调用Web应用的签名交易之后,各共识节点首先调用对应的有效性检查合约逻辑,验证有效性;通过有效性检查之后,调用callApp方法中的统计结果更新合约逻辑,调用ShimAPI.setStateTx方法将统计结果实时写入状态数据。
[0011]进一步的,所述步骤401、同步区块数据和状态数据,更新展示内容,具体包括:Web应用服务方通过区块/状态数据服务获取订阅数据,获得调用所登记的Web应用的签名交易及其写入的状态数据,更新内容和统计结果的展示界面;根据ShimAPI.setStateTx方法在写入状态数据的同时,通过前缀"TX_"写入对应的签名交易Id,展示界面中包含了与展示内容对应的签名交易链接;所述步骤402、验证展示内容的来源真实性、内容完整性,具体包括:Web用户方访问与展示内容相关的签名交易链接;从区块链服务获得交易内容,根据交易内容中的签名信息,对内容来源的真实性进行验证;根据交易内容与展示内容的比对,对内容的完整性进行验证。
[0012]一种可信Web应用的实现系统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可信Web应用的实现方法,该实现方法包括系统建立、应用登记、应用调用以及调用结果展示与验证四个阶段,其特征在于:系统建立阶段包括如下步骤:步骤101、建立区块链组网,启动区块/状态数据服务;步骤102、在区块链上部署身份认证合约、Web应用登记合约、Web应用调用合约;步骤103、对认证方进行身份认证;步骤104、认证Web应用服务方和用户方;步骤105、订阅区块数据和状态数据;应用登记阶段包括如下步骤:步骤201、登记Web应用,确定应用类型和规则;步骤202、建立Web应用实例;应用调用阶段包括如下步骤:步骤301、Web应用用户选择链上登记的Web应用;步骤302、输入数据,构造并提交签名交易;步骤303、验证交易有效性、实时统计结果;所述调用结果展示与验证包括如下步骤:步骤401、同步区块数据和状态数据,更新展示内容;步骤402、验证展示内容的来源真实性、内容完整性;步骤403、返回验证结果。2.根据权利要求1所述的实现方法,其特征在于,所述建立区块链组网,启动区块/状态数据服务,具体包括:区块链组网节点加载创世区块,建立或加入区块链组网;各节点的区块/状态数据服务向区块链组网节点请求区块数据实时同步,并对同步获得的区块/状态数据进行解析,并将解析后的数据存储到关系型数据库,所述关系型数据库用于提供区块数据的复杂检索以及对外提供区块/状态数据订阅服务;所述区块/状态数据订阅服务采用中间件实现或者通过编程实现。3.根据权利要求1所述的实现方法,其特征在于,在步骤102中,所述身份认证合约ContractCert包括账户认证方法signUpSigner和为账户绑定证书的方法signUpCert。4.根据权利要求1所述的实现方法,其特征在于,所述步骤103、对认证方进行身份认证,具体包括:区块链服务方通过签名交易调用合约方法ContractCert. signUpSigner,对认证方进行身份认证,然后通过签名交易调用合约方法ContractCert. signUpCert,为其绑定数字证书,数字证书与认证方持有的密钥对应;所述步骤104、认证Web应用服务方和用户方,具体包括:认证方通过签名交易调用合约方法ContractCert. signUpSigner,对Web应用服务方、Web应用用户方进行身份认证,通过签名交易调用合约方法ContractCert. signUpCert为其绑定数字证书,数字证书与其持有的密钥对应;所述步骤105、订阅区块数据和状态数据,具体包括:Web应用服务方完成链上的身份认证之后,向区块链服务请求区块/状态数据订阅推送,实时获取与本账户相关的区块/状态数据。5.根据权利要求1所述的实现方法,其特征在于,所述步骤201、登记Web应用,确定应用
类型和规则,具体包括:Web应用服务方通过签名交易,调用合约方法ContractWeb. registerApp登记Web应用实例,该合约方法的参数已预设了该Web应用的类型、有效性检查规则、结果统计逻辑;在进行时间区间检查时,采用区块高度代替区块链组网节点的本地时间,以避免由于组网节点本地时间不一致无法对有效性达成共识;所述步骤202、建立Web应用实例,具体包括:区块链服务子系统根据登记信息,为该Web应用生成录入界面,并调用ShimAPI.setStateTx方法将生成的录入界面写入账本状态数据,Web服务方从状态订阅获得的APP_UI_HTML状态获得界面定义,从状态订阅获得的APP_UI_DESC状态获得界面描述,提供给下一步Web用户界面访问。6.根据权利要求1所述的实现方法,其特征在于,所述步骤302、输入数据,构造并提交签...

【专利技术属性】
技术研发人员:陈胜蒋步云
申请(专利权)人:北京连琪科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1