DID系列1--去中心化数字身份DID简介

14 篇文章 23 订阅
订阅专栏
资料来源:
https://www.jianshu.com/p/5d46dccc1f2e
去中心化数字身份(Decentralized Identity,DID)是基于区块链技术建立起来的一种数字身份系统。它可以保证身份数据真实可信,同时也能保护身份用户相关的隐私,确保跟个人身份相关的数据归属于个人所有。很吻合2021年11月开始实施的《中国个人信息保护法》。

1 身份认证的演进过程

V1.0 传统的身份认证:用户在每个网站上都重复注册账号,使用账号+密码的方式登录,每个网站各自掌握着用户的身份信息,如图1(a)所示。
缺点:重复注册账号,用户会时常不记得账号密码;而且多个网站都有用户的信息,也导致信息泄露。
V2.0 以单点登录代表的身份认证:用户在一个网站上注册的账号,可以授权登录到其他网站,比如在支付宝、微信、facebook、google等网站注册号账号后,授权登录到其他网站,如图1(b)所示。
缺点:用户的信息都掌握在几个大网站内,会有”店大欺客“的成分存在,也容易出现信息泄露的情况,如facebook的用户信息泄露问题。
V3.0 去中心化的身份认证:用户保管自己的身份信息,在必要的时候,以最小化的方式出示给各个网站确认即可,如图1(c)所示。
算缺点么?需要区块链作为底层技术支撑,将区块链作为一个可信任的第三方,来保证身份信息的完整性和正确性。

图1.身份认证的演进过程

2 DID 身份认证的原理

Decentralized IDentity去中心化身份,简称DID,相对于传统的基于PKI的身份体系,基于区块链建立的DID数字身份系统具有保证数据真实可信、保护用户隐私安全、可移植性强等特征,其优势在于:
去中心化:基于区块链,避免了身份数据被单一的中心化权威机构所控制。
身份自主可控:基于DPKI (分布式公钥基础设施),每个用户的身份不是由可信第三方控制,而是由其所有者控制,个人能自主管理自己的身份。
可信的数据交换:身份相关数据锚定在区块链上,认证的过程不需要依赖于提供身份的应用方。

2.1 DID长什么样?

                            图2.DID标识
前缀did: 固定的,表示它是一个did标识。 
中间的example:被称为DID方法,用来表示是用哪一套方案(方法)来进行定义和操作的。可以自定义,比如腾讯旗下FISCO BCOS的DID标识为 tdid,Hyperledger Indy的标识为 indy,更多的请参考W3C的网站( https://w3c.github.io/did-spec-registries/#did-methods)。
后面的字符串:是在该DID方法下的唯一标识字符串。
比如我们做了一个DID系统,我们把方法就起名叫cid吧,想把中国公民的身份证信息都DID化,那么我的DID标识就是: did:cid:5111**************5 这里我们就使用身份证号码作为cid这个DID方法下的唯一标识。

2.2 DID document --> DID的详细说明

    DID 文档是对DID的详细说明,是一对一的关系,可以看作由两部分组成:DID metadata,以及 DID public key,如图4(a),其中public key是关键,用于数字签名或加密操作等。
    一般 DID 由用户自己保存,而将DID document 保存在区块链上(可以DID为 key 做索引),以保证DID document 的正确性。
    当用户在区块链上注册 DID 时,可以根据智能合约生成DID 及相关的document,并由智能合约负责 DID在链上的读取和更新等。

  图4. DID文档, VC, VP 的格式

个人觉得DID文档中最重要的就是公钥信息。
2.3 可验证声明 VC(Verifiable Claims)
      可验证凭据  VC(Verifiable Credential)
VC是一个 DID 给另一个 DID 的某些属性做背书而发出的描述性声明,并附加自己的数字签名,用以证明这些属性的真实性,可以认为是一种数字证书。 传统的PKI数字证书体系需要CA来颁发,而在DID中也是分为颁发者、持有者、验证者、DID注册系统(也就是区块链),具体关系如图:

  • 颁发者Issuer就是证书的颁发机构,比如身份证就是公安机关作为颁发者,毕业证书就是大学作为颁发者。
  • 持有者Holder就是证书的持有人,就是我们这些普通人。
  • 验证者Verifier就是在我们使用证书时查看我们证书的人或者机构。比如我们入住酒店,前台要验证我们的身份证,那么酒店前台就是验证者;再比如我们入职新公司时需要提供大学毕业证书,新公司HR就是验证者。
  • DID注册系统Verifiable Data Registry就是我们存储了DID标识和DID文档的地方,通过DID标识可以查询到对应的DID文档。
当公安机关给我颁发了身份证,在DID中,这个身份证就是VC。一个VC也是一个JSON字符串,里面包含如下信息:
  • VC元数据,主要就是发行人、发行日期、声明的类型等信息。
  • 声明,一个或者多个关于主体的说明。比如身份证作为公安机关颁发给我的VC,在声明中会包含:姓名、性别、出生日期、民族、住址等信息。
  • 证明,通常就是颁发者的数字签名,保证了本VC能够被验证,防止VC内容被篡改以及验证VC的颁发者。
下面是官方给出的一个VC的具体样例:
​
{
// VC内容所遵循的JSON-LD标准
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
// 本VC的唯一标识,也就是证书ID
"id": "http://example.edu/credentials/1872",
// VC内容的格式
"type": ["VerifiableCredential", "AlumniCredential"],
// 本VC的发行人
"issuer": "https://example.edu/issuers/565049",
// 本VC的发行时间
"issuanceDate": "2010-01-01T19:73:24Z",
// VC声明的具体内容
"credentialSubject": {
// 被声明的人的DID
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
// 声明的断言内容
"alumniOf": {
"id": "did:example:c276e12ec21ebfeb1f712ebc6f1",
"name": [{
"value": "Example University",
"lang": "en"
}, {
"value": "Exemple d'Université",
"lang": "fr"
}]
}
},
// 对本VC的证明
"proof": {
// 签名算法
"type": "RsaSignature2018",
// 签名创建时间
"created": "2017-06-18T21:19:10Z",
// 本证明的目的
"proofPurpose": "assertionMethod",
// 验证本签名的公钥的ID
"verificationMethod": "https://example.edu/issuers/keys/1",
// 数字签名的内容
"jws": "eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..TCYt5X
sITJX1CxPCT8yAV-TVkIEq_PbChOMqsLfRoPsnsgw5WEuts01mq-pQy7UJiN5mgRxD-WUc
X16dUEMGlv50aqzpqh4Qktb3rk-BuQy72IFLOqV0G_zS245-kronKb78cPN25DGlcTwLtj
PAYuNzVBAh4vGHSrQyHUdBBPM"
}}
​
因为VC中具有用户的隐私信息,所以VC一般保存在私有的存储中,比如用户自己的手机中,或者需要授权的网络地址中。除了前面示例中给出的数据外,我们的VC还可以有失效日期,比如我们的身份证一般10年有效,过期后就需要重新向颁发者申请新的VC。
2.4 可验证表达 VP(Verifiable presentation)
可验证表达是VC持有者向验证者表明自己身份的数据。一般情况下,我们直接出示VC全文即可,但是在某些情况下,出于隐私保护的需要,我们并不需要出示完整的VC内容,只希望选择性披露某些属性,或者不披露任何属性,只需要证明某个断言即可。
比如一个求职者要进入某写字楼面试,写字楼的保安要求登记身份证号码和姓名,但是我们的VC中还包含了民族、住址等信息,我们的求职者不希望将自己的住址暴露给保安,所以他提供给保安的VP中应该只选择性的披露身份证号码和姓名,其他信息都不披露。 
再比如我们规定必须年满18岁才有资格购买香烟,所以一个消费者在购买香烟时必须证明自己已经年满18岁,但是直接出示身份证给收银员又会暴露太多隐私信息,就算选择性披露生日属性,也会让收银员知道了消费者具体的年龄和生日日期,这种情况下消费者只希望在VP中证明自己大于18岁,其他什么信息都不能暴露。
  • VP元数据,主要包含了版本,本JSON对象的类型等信息
  • VC列表,要对外展示的VC的内容,如果是选择性披露或者隐私保护的情形,可能就不包含任何VC。
  • 证明,主要就是持有者对本VP的签名信息
下面是官方给出的一个具体的VP的样例:
​
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
"type": "VerifiablePresentation",
// 本VP包含的VC的内容
"verifiableCredential": [{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
"id": "http://example.edu/credentials/1872",
"type": ["VerifiableCredential", "AlumniCredential"],
"issuer": "https://example.edu/issuers/565049",
"issuanceDate": "2010-01-01T19:73:24Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"alumniOf": {
"id": "did:example:c276e12ec21ebfeb1f712ebc6f1",
"name": [{
"value": "Example University",
"lang": "en"
}, {
"value": "Exemple d'Université",
"lang": "fr"
}]
}
},
"proof": {
"type": "RsaSignature2018",
"created": "2017-06-18T21:19:10Z",
"proofPurpose": "assertionMethod",
"verificationMethod": "https://example.edu/issuers/keys/1",
"jws": "eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..TCYt5X
sITJX1CxPCT8yAV-TVkIEq_PbChOMqsLfRoPsnsgw5WEuts01mq-pQy7UJiN5mgRxD-WUc
X16dUEMGlv50aqzpqh4Qktb3rk-BuQy72IFLOqV0G_zS245-kronKb78cPN25DGlcTwLtj
PAYuNzVBAh4vGHSrQyHUdBBPM"
}
}],
// Holder对本VP的签名信息
"proof": {
"type": "RsaSignature2018",
"created": "2018-09-14T21:19:10Z",
"proofPurpose": "authentication",
"verificationMethod": "did:example:ebfeb1f712ebc6f1c276e12ec21#keys-1",
// challenge和domain是为了防止重放攻击而设计的
"challenge": "1f44d55f-f161-4938-a659-f8026467f126",
"domain": "4jt78h47fh47",
"jws": "eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..kTCYt5
XsITJX1CxPCT8yAV-TVIw5WEuts01mq-pQy7UJiN5mgREEMGlv50aqzpqh4Qq_PbChOMqs
LfRoPsnsgxD-WUcX16dUOqV0G_zS245-kronKb78cPktb3rk-BuQy72IFLN25DYuNzVBAh
4vGHSrQyHUGlcTwLtjPAnKb78"
}}
​
以上都是一些基本概念。

3. 如何支持多种类型的claim

    VC中的claim五花八门,可能是大学毕业证书、身份证、驾驶证、结婚证等,为了能正确地解析,就需要提前在区块链中注册其解析方式, 这就是 证书模板
    这种事情一般由Authority来完成,按照业务场景分类,定义不同类型数据结构的Claim结构,并注册在区块链上,以保证全网通用。

4. 如何支持选择性披露

     以身份证为例,其完整的VC凭据包括姓名、性别、出生日期、民族、住址、照片等。在买火车票时,可能只需要姓名和身份证号码;上学报名时,可能仅需要姓名、出生日期等;确认少数民族身份时,必须要明确民族信息。所以很多场景下,不是全部选项都需要,可能只需要其中的一两项,可以仅仅披露必须项。
    但如何确认披露的这几项是正确的,没有被修改过呢?这里用到了经典的Merkle Tree结构,如图5所示。比如在只需要披露生日的场景下,就可以借用”生日“的兄弟选项”民族“,以其到树根的路径<Hash1, Hash34> + MerkleRoot 来验证”生日“的正确性。

                             图5.Merkle Tree用于验证选择性披露项的正确性

6. 采用零知识证明ZKP方式保护隐私

    用户拥有的凭据中涉及很多私密信息,比如年龄(女生最不愿意让别人知道的)、收入等,这些都不能直接给别人看,但很多情况下又必须要验证这些信息,比如下图中的年龄范围(ageOver 18)、在学校是否获得过奖学金(degree),这些都是从原始VC中推导出来的,但为了保证推导过程的正确性,就必须附带零知识证明ZKP proof一同存放在VP中。

                                            图6.用ZKP保护隐私

7. DID的认证流程

    DID的认证过程涉及四方的交互:证书颁发者,证书持有者(可以拥有一个app保存多张证书凭据VC),验证方,以及DID注册系统(比如区块链)。
    证书颁发者是一个权威机构,比如某大学、公安机关等;持有者会保存权威机构发布的凭据VC(比如从大学拿到的毕业证,公安机关拿到的身份证等);验证者会对这些凭据的表示(VP),并结合区块链上的信息进行验证。
      DID认证的前提是权威机构、VC持有者、验证者都已经在区块链上注册了各自的ID。

8 W3C标准

Decentralized Identifiers (DIDs) v1.0

Decentralized Identifiers (DIDs) v1.0

DID Specification Registries

DID Specification Registries
代码库
GitHub - w3c/did-core: W3C Decentralized Identifier Specification v1.0
去中心化身份(Decentralized ID, DID)介绍
treaser的博客
08-09 1万+
去中心化身份(Decentralized ID, DID)介绍 DID可以说是区块链领域一个偏冷门的方向,但是其实它看上去有不小的价值的。 1 背景与现状 1.1 数字身份认证背景 中心化身份 => 联盟身份 => 中心化身份(DID) 一开始的数字认证始是中心化的,比如ICANN管理的域名与IP地址分配,以及PKI(Public Key Infrastructure)系统中的...
基于区块链去中心化数字身份研究及验证.docx
05-25
基于区块链去中心化数字身份研究及验证.docx
DID系列2--去中心化数字身份DID应用场景
快活林高老大--编码30年
10-02 2591
无密码安全登录:DID APP收到认证请求后,查询本DID是否有满足要求的VC,是否有对应的字段等,如果满足要求,显示认证的内容,并请求用户签名。
DID、DID文档、VC、VP分别是什么 有什么关系
最新发布
软件工程小施同学 的专栏
08-12 1193
DID提供了去中心化身份的唯一标识。DID 文档是与该 DID 相关的结构化信息,包含公钥、服务端点等元数据,用于支持身份验证和信息交换。VC提供完整的、可信的身份或属性声明,包含详细信息。VP则是从 VC 提取的、针对特定需求的简化声明,用于验证而不暴露过多信息。VC(验证凭证)和 VP(验证声明)的生成通常是依赖于 DID(去中心化身份)的。DID 是基础:VC 和 VP 的生成过程都依赖于 DID。DID 提供了去中心化身份体系的基础,使得 VC 和 VP 的颁发和验证变得可靠且安全。工作流。
DID 去中心化数字身份
lk2684753的博客
08-31 1万+
DID 去中心化数字身份 身份 国际电子技术委员会将“身份”定义为“一组与实体关联的属性”。这里的实体不仅仅是人,对于机器或者物体都可以是实体,甚至网络中虚拟的东西也可以是实体并拥有身份数字身份 随着互联网的出现和普及,传统的身份有了另外一种表现形式,即数字身份。一般认为,数字身份的演进经历了四个阶段,分别是:中心化身份、联盟身份、以用户为中心的身份以及自 我主权身份。 中心化身份是由单一的权威机构进行管理和控制的,现在互联网上的大多数身份还是中心化身份。 联盟身份的出现解决了中心化身份身份数据零碎
去中心化身份 DID( Decentralized Identifiers)
热门推荐
susuate的博客
11-16 1万+
目 录W3C DID标准一、背景1、DID的动机2、人类友好标识符的作用二、DID与其他全球唯一标识符的区别三、DID的格式四、DID文件(DID Document)五、DID算法六、DID和隐私设计七、DID和可验证证书(VC) W3C DID标准 去中心化身份标识(Decentralized Identifier,DID)是一种新类型的标识符,具有全局唯一性、高可用性可解析性和加密可验证性。DIDs通常与加密材料(如公钥)和服务端点相关联,以建立安全的通信信道。DIDs对于任何受益于自管理、加密可
Decentralized Identifiers (DIDs)
持续学习的JielongZ
01-08 1827
1、介绍 传统的身份管理系统(Identity Management System)是基于中心化授权认证的,如企业的目录服务平台、证书授权或者域名注册等。基于密码信任验证的观点,这些中心化授权的每一个实体都视自己为信任的根源(信任锚,如X.509体系)。如果想要让身份管理跨系统服务就需要执行联邦(亦有说“联盟”)身份管理。 分布式账本技术(Distributed Ledger Technolo...
DID数字身份
yzpbright的博客
07-01 3852
国内DID项目: 百度智能云CloudDID eID数字身份链:华为手机自带的华为钱包,在卡证专区有一个选项是「eID」 国外DID项目: 微软DID Hyperledger Indy Uport Thekey Civic ISelfKey IDHub 等等 去中心化身份基金会(DIF) 去中心化身份基金会(DIF),这是一个致力于提高基于区块链建立的身份系统互操作性和标准的联盟,微软、埃森哲、IBM、超级账本,比原链、亦来云也都加入了其中。 微软 2018年2月,微软宣布将DID作为公司的区块链战略切入点
去中心化身份(Decentralized Identity)
Antrn
09-08 2800
去中心化身份执行概要为什么我们需要去中心化身份去中心化认证如何运作?一个示例场景DIDs入门获取DID使用个人数据存储进行DIDs交互初级和成对DID查找和发现DID在DID之间建立信任DIDs的公开和认证使用个人数据存储进行DIDs交互管理数据访问权限Synchronization and replication of data构建去中心化的应用程序和服务恢复受损的DID微软的分散式身份认证进展关键理解 拥有并控制你的身份。 Decentralized Identity Own and control
did-primer:去中心化标识符入门
05-31
去中心化标识符(DID)是Web3.0领域中的一个重要概念,它为数字世界中的实体提供了一种去中心化身份解决方案。这篇名为“did-primer”的文章旨在引导初学者进入DID的世界,理解其核心原理和应用场景。 去中心化...
github-did:使用Github的去中心化身份
02-03
分散标识符(DID)是用于可验证的“自我主权”数字身份的新型标识符。 DID完全在DID主题的控制之下,独立于任何集中式注册表,身份提供者或证书颁发机构。 DID是将DID主题与与该主题进行可信交互的方式相关的URL。 ...
did-wg-charter:W3C 去中心化标识符工作组的实验章程
05-31
这种去中心化的特性使得用户能够更自由地控制自己的数字身份,同时提高了数据的安全性和隐私保护。DIDs通常与分布式账本技术(如区块链)结合,实现身份信息的存储和验证,确保其不可篡改和可验证。 二、W3C去中心...
did-cli:管理去中心化标识符的客户端
05-29
去中心化标识符客户端 CLI (did-cli) 用于管理去中心化标识符的命令行客户端。 快速开始 当前客户端支持在 Veres One 账本上创建测试网 DID 以及从测试网检索这些 DID。 您可以通过在安装了 node.js 的系统上执行...
去中心化数字身份DID简介——四、用户属性的零知识证明
CSDN深蓝居
03-27 2871
在上一篇文章中,我们介绍了用户具有多个身份属性时,选择性的把其中的一个属性暴露出来,而不会造成其他信息的暴露。更进一步的情况,某些时候我们只需要验证用户的年龄达到多少岁,或者小于多少岁,但是并不关心用户的具体年龄和出生日期,比如在购买烟酒时,商家需要验证用户的年龄大于18岁。除了年龄,住址、民族等都可能会有对某个断言进行验证的情况。比如某旅游景点,对本市所有居民免费,所以居民只需要证明自己身份证上的住址在某市,而不需要暴露具体的居住地址。这些只给出证明的答案,而不暴露其他任何身份信息的情况,都是零知识证明的
分布式数字身份DID简介(一)基本概念
BSN_yanxishe的博客
10-26 1381
Public Key Infrastructure的缩写,翻译过来就是公钥基础设施,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。主要载体是X509格式的证书文件。因为VC中具有用户的隐私信息,所以VC一般保存在私有的存储中,比如用户自己的手机中,或者需要授权的网络地址中。
节点身份认证(1)DID(Decentralized Identity)系统
thefist的专栏
03-05 2091
1. 定义 DID是一种去中心化的可验证的数字标识符。它独立于任何中心化的权威机构,可自主完成注册、解析、更新或者撤销操作,无需中心化的登记和授权。 区块链的任何实体可自主创建和管理他们自己的身份标识。一个实体可对应多个DID。 2. 实体分配多个DID身份信息上链 3. 主体身份验证 "加密材料"和"属性"结合起来提供身份验证 加密材料(如公钥、匿名身份识别协议等) 属性( 包括用于身份验证的信息以及服务端点, 服务端点支持与DID主体的可信交互) ...
去中心化身份(DID)带来的数据安全感,下一代数字身份正在到来
xfilesystem的博客
07-14 248
去中心化网络还提供了可信的身份验证,利用独特的加密和共识机制,实现了数据内容即使是在不可见的情况下,也可以完成真实性验证,增强去中心化身份的安全性和可信度。
区块链 | DID】白话数字身份
09-25 2778
身份体系重复建设,在浪费资源的同时,也存在诸多数据共享和使用上的障碍,不同身份系统形成“身份孤岛”,阻碍了数字身份的发展。(2) 学校颁发毕业证给小明:学校本身也有自己的DID标识,学校是教育系统里面颁发的DID标识,所以DID Method和小明作为中国公民的DID Method不一样,所有认证过的高校的DID标识都是由高校认证管理DID创建的,所以这相当于传统的根CA,获得认证的正规学校根据小明的学习情况(入学时间、毕业时间、专业、是否结业等信息)以及小明的DID,为小明颁发毕业证,即VC;
写文章

热门文章

  • EIP-1559升级后的Web3j使用方法 16862
  • Onvif鉴权实现方式 15070
  • 开启功放安桥TX-NR515的ARC(音频回传通道)功能 14366
  • linux设备上的Onvif 实现6:获取摄像头的流媒体地址完整流程 11984
  • Linux设备上的Onvif实现16:实现Onvif鉴权 9558

分类专栏

  • EXIP研究 1篇
  • Fiscobcos 16篇
  • Java学习 1篇
  • DID-去中心化数字身份 14篇
  • 智能合约 16篇
  • 快活林 9篇
  • BSN-DID代码研究 8篇
  • BSN-DDC数藏合约研究 8篇
  • 影音天地 1篇
  • BTC 1篇
  • onvif 23篇
  • 机器学习 5篇
  • 区块链 15篇

最新评论

  • 在WSL(Ubuntu)上运行eclipse,调试C语言的makefile项目

    快活林高老大: 没有优化啊,安装好后就这样啦

  • 在WSL(Ubuntu)上运行eclipse,调试C语言的makefile项目

    狗啃雪: 想问问 那个巨丑的边框你是怎么美化的 表情包

  • 32周岁,蒸蒸日上

    SuperheroSpiderman: 看你的博客,很振奋。加油老哥,越来越好,永远幸福

  • linux设备上的Onvif 实现8:编写媒体信息获取程序

    Chuuya_: 请问为什么我服务端GetProfiles接口抓包返回200OK,但是我的result=-1呢?

  • WTF Solidity极简入门: 35. 荷兰拍卖

    qq_34750145: 编译的时候报错: DeclarationError: Undeclared identifier. --> contracts/test.sol:51:9: | 51 | totalSupply() + quantity <= COLLECTOIN_SIZE, | ^^^^^^^^^^^

最新文章

  • 在WSL(Ubuntu)上运行eclipse,调试C语言的makefile项目
  • 预言机Truora学习笔记5--Truora-Service服务端代码分析
  • 预言机Truora学习笔记4--预言机合约分析
2023年18篇
2022年52篇
2021年4篇
2019年6篇
2015年2篇
2014年4篇
2013年17篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家饶阳玻璃钢海洋雕塑奥体商场周年美陈安徽多彩玻璃钢雕塑批发精巧形象卡通游乐园玻璃钢雕塑商场向日葵美陈图片上海周年庆典商场美陈订购宁夏玻璃钢卡通雕塑大白兔供应大型玻璃钢雕塑驻马店附近玻璃钢人物雕塑厂家邢台商场美陈包装公司四川玻璃钢卡通雕塑厂家供应玻璃钢雕塑浮雕厂玻璃钢海洋雕塑哪家不错新型玻璃钢造型雕塑江西步行街玻璃钢雕塑方法福州户外玻璃钢雕塑批发玻璃钢铜鼓雕塑图片大全彩色玻璃钢花盆哪家好玻璃钢人物雕塑哪个好西安玻璃钢雕塑哪里有上海大型商场美陈广州玻璃钢雕塑摆件订购高要玻璃钢浮雕雕塑临沧市玻璃钢雕塑定制温州玻璃钢仿铜雕塑商家文昌玻璃钢雕塑厂家优选企业日照玻璃钢牛雕塑武汉公园玻璃钢雕塑销售厂家滁州景观玻璃钢雕塑定做玻璃钢李时珍人像雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化