HyperLedger Fabric 的隐私和安全.pdf

返回 相似 举报
HyperLedger Fabric 的隐私和安全.pdf_第1页
第1页 / 共20页
HyperLedger Fabric 的隐私和安全.pdf_第2页
第2页 / 共20页
HyperLedger Fabric 的隐私和安全.pdf_第3页
第3页 / 共20页
HyperLedger Fabric 的隐私和安全.pdf_第4页
第4页 / 共20页
HyperLedger Fabric 的隐私和安全.pdf_第5页
第5页 / 共20页
点击查看更多>>
资源描述:
IBM开 源 技 术 微 讲 堂区 块 链 和 HyperLedger系 列第 七 讲HyperLedger中的隐私与安全更多信息,请访问http//ibm.biz/opentech-ma每 周 四 晚 8点 档区 块 链 商 用 之 道HyperLedgerreviewHyperLedger架 构 解 读HyperLedger中 的 共 享 账 本HyperLedger中 的 共 识 管 理HyperLedger中 的 隐 私 与 安 全HyperLedger应 用 案 例 赏 析2“ 区 块 链 和 HyperLedger” 系 列 公 开 课讲 师 介 绍 赵 冬 路IBM中国实验室服务团队Hyperledger开源社区爱好者CDLBlockchainCommunity负责人信息安全资深专家参与国内金融保险行业Blockchain技术实施3PKI等 密 码 学 技 术 基 础区 块 链 的 基 本 数 据 模 型如 何 保 障 交 易 数 据 的 不 可 更 改如 何 保 障 交 易 的 私 密 性如 何 保 障 交 易 的 可 监 管 能 力如 何 保 护 隐 私4议 程5textPKI( Public Key Infrastructure) 公 钥 体 系 的 一 些 基 本 概 念–对 称 密 码 算 法 , 典 型 算 法 DES, AES, 加 解 密 方 共 用 一 个 密 钥加 /解 密 速 度 快 , 但 密 钥 分 发 比 较 困 难–哈 希 或 散 列 函 数 ( Hash) ,典 型 算 法 SHA,MD5如 果 两 个 散 列 值 是 不 相 同 的 , 那 么 这 两 个 散 列 值 的 原 始 输 入也 是 不 相 同 的用 于 信 息 压 缩 , 并 发 现 信 息 是 否 发 生 变 化计 算 速 度 快 , 特 定 算 法 其 结 果 长 度 统 一目 前 至 少 使 用 SHA256–公 钥 体 系 与 对 称 密 钥 相 结 合 的 加 密 方 式公 钥 体 系 通 常 运 算 性 能 低 , 做 大 量 数 据 加 解 密 力 不 从 心通 常 利 用 公 钥 体 系 实 现 对 称 密 钥 的 安 全 交 换–非 对 称 密 码 算 法 ( 公 钥 体 系 ) , 典 型 算 法 RSA, ECC加 解 密 时 , 通 讯 一 方 有 一 对 密 钥 ( 公 钥 和 私 钥 )公 钥 可 以 公 开 , 分 发 给 任 何 人私 钥 不 可 以 公 开 , 严 格 持 有 , 例 如 U盾 中 存 放 私 钥 等公 钥 加 密 , 只 能 用 私 钥 解 密 , 反 之 亦 然加 /解 密 速 度 较 慢 , 但 无 密 钥 分 发 问 题区 块 链 主 要 使 用 ECC椭 圆 曲 线 算 法BA6textPKI---基 于 公 钥 体 系 的 签 名 和 验 签 机 制–数 字 签 名 的 目 的 检 测 数 据 未 经 授 权 的 修 改 , 签 名 者 的 身 份 识 别 和 抗 抵 赖 。AHash运算,获得原文的摘要加密摘要信息发送信息Hash运算,获得原文摘要信息解密比对摘要–Hash的 意 义 缩 小 存 储 或 传 输 的 数 据 量规 避 公 钥 体 系 加 解 密 性 能 低 下 的 问题–如 果 发 送 的 信 息 没 有 篡 改 , 那 么也 只 有 使 用 A的 公 钥 才 可 以 通 过相 应 的 验 签–此 验 签 过 程 , 若 通 过 , 则 表 示 信息 一 定 是 “ 公 钥 A” 的 持 有 者 制作–数 字 证 书 体 系 也 是 以 此 为 核 心 ;–如 果 “ 张 三 有 数 字 身 份 ” , 则 张 三 有 自 己 的 一 对 公 钥 和 私 钥数 字 身 份 的 发 证 机 关 , 证 明 了 这 个公 钥 对 应 的 持 有 人 是 张 三 ;7textPKI ---数 字 证 书 Certificate和 CA( 认 证 中 心 , 数 字 证 书 发 证 系 统 )–数 字 证 书 ( Digital Certificate) , 又 叫 “ 数 字 身 份 证 ” 、 “ 网 络 身 份 证 ” , 是 由 认 证 中 心 发 放 并 经 认 证 中 心 数 字 签 名 的 , 包 含 公 开 密 钥 拥有 者 以 及 公 开 密 钥 相 关 信 息 的 一 种 电 子 文 件 , 可 以 用 来 证 明 数 字 证 书 持 有 者 的 真 实 身 份–数 字 证 书 采 用 公 钥 体 制 数 字 证 书 是 ” 公 钥 证 书 名 称 信 息 签 发 机 构 对 证 书 的 数 字 签 名 ” 、 匹 配 的 私 钥数 字 证 书 遵 从 X.509国 际 标 准–每 一 个 用 户 有 一 个 各 不 相 同 的 名 称 , 一 个 可 信 的 认 证 中 心 CA( Certificate Authority) 给 每 个 用 户 分 配 一 个 唯 一 的 名 称 并 签 发 一 个 包 含 用户 名 称 和 公 钥 的 证 书 。–证 书 可 以 存 储 在 网 络 中 的 数 据 库 中 。 用 户 可 以 利 用 网 络 彼 此 交 换 证 书 。 当 证 书 撤 销 后 , 签 发 此 证 书 的 CA仍 保 留 此 证 书 的 副 本 , 以 备 日 后 解决 可 能 引 起 的 纠 纷 。8text区 块 链 的 业 务 安 全 需 求–不 可 更 改 的 加 密 交 易 数 据 ( 分 布 式 账 本 )–可 追 责 、 不 可 陷 害–隐 私 保 护 交 易 匿 名 、 交 易 不 可 关 联–监 管 和 审 计 支 持–Accountabilityand non-frameabilityare two reasons that identity management is a critical component –Transaction PrivacyTransaction anonymity, where the owner of a transaction is hiden among the so caled anonymity set, which in the fabric, is the set of users. Transaction unlinkability, where two or more transactions of the same user should not be linked as such. –Audit support Business Security Requirements9textHyperLedgeFabric的 CA支 撑 环 境–CA是 Membership的 重 要 组 件 之 一–满 足 于 Fabric的 安 全 需 求 , 为 参 与 各 方 实 现 用 户 注 册证 书 签 发证 书 吊 销发 布 证 书 链–基 于 RESTful/CLI等 多 种 接 口 方 式 , 服 务 于Blockchain的 各 个 环 节 , 包 括 T-Cert–Transaction Certificate 交 易 证 书 证 书 ,执 行 交 易 时 使 用E-Cert –Enrolment Certificate 注 册 证 书 , 携 带实 体 信 息 的 证 书CSR–证 书 吊 销 列 表–Enroling a bootstrap user–Registering an identity–Re-enroling–Revoking–Get Cert Chain10text区 块 数 据 的 结 构 ---区 块 链–把 一 段 时 间 内 生 成 的 信 息 ( 包 括 数 据 或 代 码 ) 打 包 成 一 个 区 块 , 盖 上 时 间 戳 , 与 上 一 个 区 块 衔 接 在 一 起 , 每 下 一 个 区 块 的 页首 都 包 含 了 上 一 个 区 块 的 索 引 数 据 , 然 后 再 在 本 页 中 写 入 新 的 信 息 , 从 而 形 成 新 的 区 块 , 首 尾 相 连 , 最 终 形 成 了 区 块 链 。区块主体此区块中的所有交易信息父区块的哈希909090890时间戳2016-09-03StateHash 23792321323.TransactionHash . .区块主体此区块中的所有交易信息父区块的哈希324090890时间戳2016-09-02StateHash 2379232132.TransactionHash . .区块主体此区块中的所有交易信息父区块的哈希664490890时间戳2016-09-01StateHash 23792321321.TransactionHash . .–MerkleHash可 以 避 免 添 加 交 易 时 , 需 要 重新 计 算 本 区 块 内 的 所 有 交 易 的 Hash–降 低 交 易 验 证 Hash计 算 量–例 如 HK数 据 的 改 变 后 , 仅 需 要 重 新 计 算 “蓝 色 虚 线 ” 部 分 的 Hash数 据Block DataWorld StateLedgeWorld State -MerkleRoot Hash11text区 块 数 据 的 构 成 ---事 务 ( 交 易 ) 数 据–每 个 区 块 中 包 含 一 系 列 的 事 务 数 据–事 务 中 包 含 事 务 发 起 方 的 数 字 签 名 ( TCert–交 易 证 书 )–每 个 Block中 包 含 所 有 事 务 的 Hash, 用 于 共 识 时 检 查 事 务 信 息 是 否 与 其 它 节 点 一 致–每 个 Block中 包 含 World State的 Hash, 用 于 共 识 时 检 查 State信 息 是 否 与 其 它 节 点 一 致Block NTransaction N–PKI相 关 的 密 码 学 在 BlockChain中 的 应用 保 障 单 个 Peer上 数 据 的 完 整 性数 字 签 名–不 可 抵 赖 , 防 篡 改Hash加 密–事 务 隐 私 保 护–数 据 访 问 控 制–共 识 机 制 及 BlockChain数 据 分 布 化 ,可 以 防 止 某 个 Peer造 假 , 达 到 高 度 自治Transaction NTransaction N12text区 块 数 据 的 构 成 ---如 何 做 到 交 易 抗 抵 赖–由 交 易 “ 提 交 方 ” 使 用 自 己 的 “ 数 字 证 书 ” 对 每 个 交 易 做 “ 数 字 签 名 ” 来 确 保 交 易 无 法 伪 造–这 笔 交 易 确 实 是 你 提 交 的 , 别 人 无 法 伪 造 你 的 交 易 –既 然 无 法 伪 造 一 个 交 易 , 所 以 如 果 存 在 一 个 你 的 “ 交 易 ” , 那 么 你 也 无 法 抵 赖–这 里 的 “ 你 ” 是 指 用 户 的 数 字 身 份 , 数 字 身 份 就 是 “ 某 个 数 字 证 书 的 持 有 者 ”交易信息数据Hash数据(SHA256)256bits数据382918392193892921321数字签名(加密结果)09128309eaf3182a7e9f9d交易信息数据数字签名(加密结果)09128309eaf3182a7e9f9d交易数据无签名信息带签名的交易数据计 算 Hash加 密 数 据交 易 创 建 者TCert-Private KeyB0B1B2B3BNT0T1TN区 块 数 据交 易 数 据在 PKI/CA体 系 完 备 性 保 障 的 情 况 下 , 数 字 签 名 保 障 了 我 们 无 法 伪 造 他 人 的 交 易 。既 然 无 法 伪 造 他 人 的 交 易 , 因 此 交 易 的 数 字 签 名 显 示 是 你 做 的 , 那 么 必 定 是 你 做 的 。13text如 何 防 止 分 布 式 账 本 的 伪 造–利 用 数 字 签 名 , 伪 造 一 个 他 人 的 单 个 交 易 非 常 困 难 , 除 非 能 够 获 得 他 人 数 字 证 书 的 私 钥–另 外 分 布 式 账 本 可 以 防 止 如 下 类 型 的 篡 改 删 除 历 史 交 易伪 造 自 己 的 历 史 交 易B0B1T0T1TN区 块 数 据交 易 数 据HashHashHashB3HashB4Hash篡改删除区块B1的T1交易某个PeerB0B1T0T1TN区 块 数 据交 易 数 据HashHashHashB3HashB4Hash篡改前的正常区块数据(某个Peer)重新计算篡改数据造成的所有Hash;并重新组装影响的区块数据在整个区块链网络中生效篡改需要将篡改后的区块数据传播到足够影响共识的Peer节点背书、时间戳等的伪造也非常困难注 上 述 举 例 为 逻 辑 层 面 的 示 意 , 交 易 伪 造 除 了 需 要 篡 改 交 易 , 可 能 还 需 要 伪 造 与 之 对 应 的 StateLedgeWorld state, 并 解 决 相 关 篡 改 在 整 个 区 块 链 网 络 中 的 生 效 , 基 本 原 理 类 似14text授权群体的解密数据过程如 何 保 障 私 密–确 保 交 易 仅 仅 向 有 限 的 全 体 可 见 , 不 对 非 授 权 的 全 体 公 开–简 单 来 看 , 分 别 使 用 授 权 用 户 的 “ 公 钥 ” 加 密 “ 数 据 ” , 只 有 授 权 用 户 能 够 用 自 己 的 “ 私 钥 ” 解 密 数 据–实 际 实 现 , 则 通 过 “ 对 称 加 密 和 公 钥 加 密 ” 相 结 合 的 方 式交易信息数据加密的交易数据交易数据带签名的交易数据使 用 对 称 密 钥 加 密 数 据授 权 访 问 交 易 数 据 的 用 户 ATCert-Public Key为交易生成的对称加密密钥(AES-GMN)加密的对称密钥Encrypted By UserAPubKey加密的对称密钥Encrypted By UserBPubKey授 权 访 问 交 易 数 据 的 用 户 BTCert-Public Key加 密 对 称 密 钥解密对称加密密钥(AES-GMN)授 权 访 问 交 易 数 据 的 用 户 ATCert-Private Key交易信息数据交易数据使 用 对 称 密 钥 解 密 数 据231312加密数据过程15text如 何 既 保 障 交 易 私 密 , 又 可 以 实 现 监 管–“ 监 管 ” 是 指 无 需 交 易 方 授 权 , 监 管 者 可 以 解 密 交 易–但 监 管 不 能 侵 犯 “ 不 可 抵 赖 性 ” , 即 , 监 管 者 不 可 以 伪 造 别 人 的 交 易–采 用 PKI体 系 的 “ 双 密 钥 对 ---签 名 密 钥 对 和 加 密 密 钥 对 ” 模 式 来 实 现 证 书 持 有 者 有 一 对 签 名 用 途 的 密 钥 对证 书 持 有 者 有 一 对 加 密 用 途 的 密 钥 对CA签 发 证 书 时 , 对 加 密 用 途 的 密 钥 对 进 行 备 案 , 交 由 密 钥 管 理 中 心 存 放–特 定 的 情 况 下 , 提 取 某 用 户 的 解 密 私 钥 , 解 密 相 关 的 交 易 数 据签 名 用 途 的 密 钥 对 仍 然 在 用 户 端 产 生 , 不 做 备 案–无 私 钥 的 情 况 下 , 无 法 伪 造 签 名 , 因 此 无 法 伪 造 别 人 的 交 易–从 证 书 申 请 , 到 证 书 生 成 , 常 规 意 义 的 CA/RA体 系 都 可 以 保 障 签 名 密 钥 的 用 户 私 密 性身份信息用户数字证书加密用途公钥签名用途公钥颁发机构签名信息加密用途私钥签名用途私钥–签 名 密 钥 对 的 管 理签 名 密 钥 对 由 签 名 私 钥 和 验 证 公 钥 组 成 ;签 名 私 钥 是 发 送 方 身 份 的 证 明 ,具 有 日 常 生 活 中 公章 、私 章 的 效 力 ;签 名 私 钥 绝 对 不 能 够 做 备 份 和 存 档 ,丢 失 后 只 需 重新 生 成 新 的 密 钥 对 ;验 证 公 钥 需 要 存 档 , 用 于 验 证 旧 的 数 字 签 名 。–加 密 密 钥 对 的 管 理加 密 密 钥 对 由 加 密 公 钥 和 解 密 私 钥 组 成 ;为 防 止 密 钥 丢 失 时 数 据 无 法 恢 复 , 解 密 私 钥 应 该 进行 备 份 , 同 时 还 可 能 需 要 进 行 存 档 , 以 便 能 在 任 何时 候 解 密 历 史 密 文 数 据 ;加 密 公 钥 则 无 需 备 份 和 存 档 ,加 密 公 钥 丢 失 时 , 只需重 新 生 成 密 钥 对 即 可 。备案存档,供监管方使用不做备案16text如 何 保 护 隐 私 –确 保 从 交 易 中 无 法 追 溯 交 易 创 建 者 的 信 息–问 题由 于 交 易 中 存 在 签 名 信 息 , 而 签 名 信 息 携 带 可 以关 联 交 易 创 建 者 证 书 的 信 息证 书 中 包 含 交 易 创 建 者 的 识 别 信 息如 果 不 做 实 现 特 定 的 机 制 , 交 易 中 将 可 以 追 溯 交易 创 建 这 的 信 息–交 易 方 持 有 多 种 类 型 的 证 书 , 交 易 不 同 环 节将 使 用 如 下 这 些 类 型 的 证 书 E-Cert( Enrollment Cert)–长 期 持 有 , 携 带 或 可 以 追 溯 使 用 者 信 息–用 于 身 份 认 证T-Cert( Transaction Cert)–每 个 交 易 时 生 成 , 用 于 交 易 的 签 名TLS-Cert, 长 期 持 有 , 主 要 用 于 SSL/TLS通 讯17textReconciling transactional privacy with identity management–Add certificates to transactions to implement a “permissioned” blockchainutilize –A two-level systemRelatively static enrollment certificates ECerts, acquired via registration with an enrollment certificate authority CA.Transaction certificates TCerts that faithfully but pseudonymously represent enrolled users, acquired via a transaction CA.–Offer mechanisms to conceal the content of transactions to unauthorized members of the system.User Enrollment Proces–每 个 交 易 使 用 一 个 新 的 TCert–TCert中 不 显 式 携 带 交 易 创 建 者 的 信 息–TCert和 ECert的 关 系 被 隐 秘 保 护18主 要 加 密 算 法 对 比非 对 称 加 密 算 法 ( 公 钥 算 法 ) ECC/国 密 SM2 RSA计 算 结 构 基 于 椭 圆 曲 线 基 于 特 殊 的 可 逆 模 幂 运 算计 算 复 杂 度 完 全 指 数 级 亚 指 数 级相 同 的 安 全 性 能 下 所 需 的 公 钥 位 数 较 少 , ( 160位 的 ECC与 1024位 的 RSA具 有 相 同 的 安 全 等 级 ) 较 多密 钥 生 成 速 度 较 RSA算 法 快 百 倍 以 上 慢解 密 加 密 速 度 较 快 一 般安 全 性 难 度 基 于 离 散 对 数 问 题 ECDLP数 学 难 题 基 于 分 解 大 整 数 的 难 度对 称 加 密 算 法 AES 国 密 SM4 3DES计 算 结 构 数 据 块 长 度 和 密 钥 长 度 都 可 变 的 分 组 加 密RIJNDAEL算 法基 本 轮 函 数 加 迭 代 , 含 非 线 性 变 换 使 用 标 准 的 算 法 和 逻 辑 运 算 , 先替 换 后 置 换 , 不 含 非 线 性 变 换计 算 轮 数 10/12/14轮 32轮 16*3轮分 组 长 度 128/192/256位 128位 64位密 钥 长 度 /有 效 密 钥 长 度 128位 /112位 128位 /128位 128位 /112位实 现 性 能 软 件 、 硬 件 实 现 都 较 快 软 件 、 硬 件 实 现 都 较 快 软 件 慢 、 硬 件 快安 全 性 较 高 较 高 较 高ECC(Elliptic Curves Cryptography)3DESAES Advanced Encryption Standard19text参 考 资 料–HyperLedgeFabric Protocol Specification Securityhttp//openblockchain.readthedocs.io/en/latest/protocol-spec/4-security_1https// 源 技 术 微 讲 堂区 块 链 和 HyperLedger系 列QA更多信息,请访问http//ibm.biz/opentech-ma扫码入群,与讲师互动
展开阅读全文

最新标签

网站客服QQ:123120571
环境100文库手机站版权所有
经营许可证编号:京ICP备16041442号-6