云服务器内容精选

  • 使用方式 根据持有者申请可验证凭证的方式,将可信分布式身份服务的使用分为链外申请模式和链上申请模式。 链外申请模式中,持有者将申请可验证凭证的身份/凭证数据直接发送给签发者。 链上申请模式中,持有者将申请可验证凭证的身份/凭证 数据加密 存储于 区块链 。 图2 可信分布式身份使用时序图(链外申请模式) 链上申请模式中,根据持有者与签发者之间是否需要通信信道,分为在线申请和离线申请。 图3 可信分布式身份使用时序图(链上申请-在线申请模式) 图4 可信分布式身份使用时序图(链上申请-离线申请模式)
  • 方案优势 完备的身份和认证管理 随着数字社会的发展,数字身份得到越来越多的使用。传统的身份管理中,身份颁发和获取依赖中心化的第三方,无法实现身份的自主可控、自解释。同时身份的可移植性差。TDIS服务可提供完备的身份管理和认证凭证管理。 强数据隐私保护 分布式场景下用户通过出示凭证获得相应的权限和权益。但凭证出示粒度较粗,隐私保护能力较差,在出示验签的过程中导致用户无关属性暴露。TDIS服务提供强数据隐私保护能力,保障证照应用中的证照数据可用不可见。 丰富易用的扩展组件 证照应用中凭证多种多样,难于管理和维护。凭证模板管理组件可以提将证照统一化、标准化。屏蔽底层区块链用户接入门槛,可快速集成分布式身份构建业务。
  • 区块链服务BCS 的关系 区块链服务(Blockchain Service简称 BCS )是面向企业及开发者提供的区块链技术服务平台,它可以帮助您快速部署、管理、维护区块链网络,降低您使用区块链的门槛,让您专注于自身业务的开发与创新,实现业务快速上链。 分布式身份服务TDIS依赖区块链服务B CS 。用户无需在区块链服务BCS购买区块链,可直接开通TDIS服务使用基于BCS服务构建的可信分布式身份服务。实现分布式身份和可验证凭证的生成、申请、签发等管理能力,以及数据的发布、授权、分享、解密等能力。
  • 产品优势 分布式身份系统 遵循W3C的 Decentralized Identifiers(DIDs)v1.0 和 Verifiable Credentials(VC)v1.0 标准规范实现。系统扩展性强,支持身份和可验证凭证的全流程链上管理能力。 强数据隐私保护 可验证凭证支持基于属性级别的细粒度出示,凭证使用者可根据隐私保护需要,任意组合出示凭证中的属性给验证者完成验证,最大程度保护用户隐私,同时解除了已签发凭证对应用业务场景的限制。 凭证申请和签发的相关材料全链路加密存储,使数据可用不可见。 丰富的扩展组件 提供凭证模板管理、链下凭证签发、密钥托管等扩展功能组件,帮助用户基于分布式身份快速构建应用,无须购买和管理区块链资源。
  • 基本概念 分布式身份(Decentralized Identity, DID):一种新型的标识符,可实现可验证的、去中心化的数字身份。 可验证凭证(Verifiable Credential, VC): 一种可验证具备防篡改能力的数字化凭证。包含物理凭证可代表的所有信息,签发机构(者)相关信息、凭证类型信息(驾照、保险卡)、凭证声明属性信息(出生日期、国籍)、凭证限制相关信息(过期时间、使用条款)、凭证所有者信息(身份证号、did标识、姓名)等等。 签发者(Issuer): 分布式身份系统中的角色之一,根据业务逻辑验证后,负责签发可验证凭证。 持有者(Holder): 分布式身份系统中的角色之一,根据业务需要可向签发者申请可验证凭证,向验证者出示已持有的可验证凭证。 验证者(Verifier): 分布式身份系统的角色之一,可校验持有者出示的可验证凭证,用于支撑后续业务决策。 每个did可以是设备、应用、组织或者个人。每个did身份可以同时是签发者、持有者或者验证者角色。
  • TDIS权限 默认情况下,新建的 IAM 用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 TDIS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京4)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问TDIS时,需要先切换至授权区域。 如下表所示,包括了TDIS的所有系统权限。 表1 TDIS系统权限 系统权限 权限描述 权限类别 说明 Tenant Administrator 全部云服务管理员(除IAM权限) 系统角色 详情请参考系统权限。 Tenant Guest 全部云服务只读权限(除IAM管理权限) 系统角色
  • 操作步骤 在“套餐包管理”页面,单击“申请免费套餐包”。 在“申请免费套餐包”页面,选择默认区域,单击“确认”。 表1 参数说明表 参数 说明 区域 不同区域云服务产品之间内网互不相通;请就近选择靠近您业务的区域,可减少网络延迟,提高访问速度。 服务类型 服务类型为可信分布式身份服务套餐包。 套餐包规格 套餐包的规格默认为2千次。 有效期(年) 有效期为1年。 勾选我已阅读并同意《华为云用户协议》和《免责声明》 ,单击“立即申请”。 在“套餐包管理”页面生成一条套餐包信息。 套餐包默认有效期为1年,到期后,需要您重新申请套餐包。
  • 入门指引 可信分布式身份服务(Trusted Decentralized Identity Service,简称TDIS)为个人和企业用户提供统一的、可自解释的、移植性强的分布式身份标识。以下为TDIS服务使用流程,希望对您的使用有所引导及帮助。 当前仅“华北-北京四”区域支持可信分布式身份服务。 开通服务 开通可信分布式身份服务。 申请套餐包 申请免费套餐包,即可注册基于区块链的分布式身份,包含2000次调用。 业务调用 通过RESTful接口完成分布式身份和可验证凭证的业务调用。 查看服务监控 查看API调用的统计监控。
  • 响应消息体 响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-Type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 1 2 3 4 5 6 7 8 9101112 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "az-01",...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_code": "AS.0001" "error_msg": "The format of message is error", } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • 响应示例 状态码: 400 请求错误 { "error_code" : "APAAS.40000002", "error_msg" : "Unexpected end of JSON input."} 状态码: 500 内部错误 { "error_code" : "TDIS.50000000", "error_msg" : "Internal error. Please contact the service provider."}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 context String context 最小长度:1 最大长度:10240 id String 分布式身份标识 最小长度:20 最大长度:100 public_key Array of DocPublicKey objects 公钥列表 authentication Array of strings did主公钥标识 最小长度:20 最大长度:100 recovery String 备用公钥标识,可用于修改主密钥 最小长度:37 最大长度:100 service Array of Service objects 服务列表 proof Proof object created String 创建时间 最小长度:10 最大长度:10 updated String 更新时间 最小长度:10 最大长度:10 status String 状态 最小长度:1 最大长度:20 表4 DocPublicKey 参数 参数类型 描述 id String 公钥标识 最小长度:1 最大长度:8192 type String 公钥类型 最小长度:1 最大长度:128 controller String 公钥的控制者标识 最小长度:1 最大长度:8192 public_key_pem String 公钥证书 最小长度:1 最大长度:8192 表5 Service 参数 参数类型 描述 id String 服务标识 最小长度:33 最大长度:82 type String 服务类型 最小长度:1 最大长度:100 service_endpoint String 服务介绍网址 最小长度:10 最大长度:1000 credential_apply_schema CredentialApplySchema object 申请凭证所需数据的Schema 表6 CredentialApplySchema 参数 参数类型 描述 type String 类型 最小长度:0 最大长度:100 name String 名称 最小长度:0 最大长度:100 description String 描述信息 最小长度:0 最大长度:200 attributes Array of Attribute objects 属性列表 表7 Attribute 参数 参数类型 描述 name String 名称 最小长度:0 最大长度:100 type String 类型 最小长度:0 最大长度:100 description String 描述信息 最小长度:0 最大长度:200 表8 Proof 参数 参数类型 描述 creator String 创建者身份标识 最小长度:20 最大长度:100 type String 签名类型 最小长度:1 最大长度:100 created String 签名创建时间 最小长度:10 最大长度:10 signature_value String 签名值 最小长度:1 最大长度:10240 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 did String 分布式身份标识 最小长度:20 最大长度:100 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535 状态码: 500 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535
  • 响应示例 状态码: 200 分布式身份标识 { "did" : "did:hwid:KqCp8aSgMHW8vmsjeKQ1yz"} 状态码: 400 请求错误 { "error_code" : "APAAS.40000002", "error_msg" : "Unexpected end of JSON input."} 状态码: 500 内部错误 { "error_code" : "TDIS.50000000", "error_msg" : "Internal error. Please contact the service provider."}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 creator String 创建者身份标识 最小长度:20 最大长度:100 title String 名称 最小长度:1 最大长度:50 identifier String 凭证模板标识 最小长度:1 最大长度:50 attributes Array of Attribute objects 属性信息 version Integer 版本 最小值:1 最大值:2147483647 表4 Attribute 参数 参数类型 描述 name String 名称 最小长度:0 最大长度:100 type String 类型 最小长度:0 最大长度:100 description String 描述信息 最小长度:0 最大长度:200 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535
  • 响应示例 状态码: 400 请求错误 { "error_code" : "APAAS.40000002", "error_msg" : "Unexpected end of JSON input."} 状态码: 500 内部错误 { "error_code" : "TDIS.50000000", "error_msg" : "Internal error. Please contact the service provider."}