Hyperledger Projectのセキュリティと⽅向性
平成28年8⽉23⽇
⽇本アイ・ビー・エム株式会社
グローバル・ビジネス・サービス事業
アソシエイトパートナー⾼⽊ 隆© 2016 IBM Corporation

ブロックチェーンのセキュリティインシデント• ハッキング等により相応の仮想通貨資産が流出
情報セキュリティの3要素

機密性•許可されていない個⼈、エンティティ⼜はプロセスに対して 情報を使⽤させず対して、情報を使⽤させず、また開⽰しない特性•Mt. Gox：$450m相当のビットコイン預かり資産を喪失（2014年）
Bitfinex：Multisig対策を施していたにも関•Bitfinex：Multisig対策を施していたにも関わらず、$60m相当のビットコイン預かり資産を喪失（2016年7⽉）

完全性•正確さ及び完全さの特性•The DAO：$50m相当の仮想通貨イーサリ
ウムが流出（2016年6⽉）

可⽤性•許可されたエンティティが要求したときに、アクセス及び使⽤が可能である特性­課題
1関連インシデント① ブロックチェーンの⼊⼝・出⼝（鍵管理）ブロ クチンの⼊⼝ 出⼝（鍵管理）② 取引の正確さ及び完全さの検証（コンセンサス）© 2016 IBM Corporation

Hyperledger Project• Linux Foundationのもと、業界横断でブロックチェーンのオープンスタンダードを検討
Foundationのもと、業界横断でブロックチェ ンのオ プンスタンダ ドを検討
IBMの取組み
 プライバシー要件にも対応したブロックチェーン基盤OBC (Open BlockCh i )をコ ド提供
Chain)をコード提供
 IBM OBCをDAH社のブ
ロックチェーン基盤と統合（HyperledgerFabric）
 Hyperledger Fabric
v.1に向けて対応中 DTCCと共同でスマートコントラクトのJAVA⾔語対応を実施

2© 2016 IBM Corporation

Hyperledger Fabric• 機密性を確保する為の仕組みとしてMembership Services（認証局）を導⼊
コンポーネント

ノード
A

ノード
C

コンポーネント概要• 参加者のidentity確認①MembershipServices②Chaincode
Services

ノード
B• ユーザ・権限管理（許可制）

認証局• Trusted Third Partyに依存しないidentity管理も検討中• 取引のデータ構造やロジックを⾃由に定義できる仕組み
例：送⾦（仕向、被仕、⾦額、備考）{⼆重⽀払いがないかチェック }送⾦• GO⾔語に加え、JAVAにも対応（DTCC
GO⾔語に加え、JAVAにも対応（DTCC-IBM
IBM Joint Proposal）*取引要求③Blockc
chain Servicees

送⾦

送⾦

送⾦

*取引承認

Consensus
Manager• PBFT(Batch)、PoW（マイニング）等、ユースケースに応じて様々なコンセPBFT(Batch) PoW（マイニング）等 ユースケースに応じて様々なコンセンサスアルゴリズムに対応可能

検証
*取引実⾏

送⾦

送⾦

• 取引を相互検証する仕組み

送⾦• Next Generation Consensusも対応中*1*取引確定

Distributed
LedgerStorage

ブロックチェーン

ブロックチェーン

ブロックチェーンKVS

KVS

KVS• ユースケースに応じてデータ構造を⾃由に定義• ブロックチェーンに加え、より多くのデータを管理できるKVS (Key ValueStore)も⽤意• ビットコインのUTXO構造にも対応可能*2Hyperledger Fabricコンポーネントアーキテクチャー*1 https://github.com/hyperledger/fabric/wiki/Next-Consensus-Architecture-Proposal

3*2 https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go/utxo© 2016 IBM Corporation

Membership Servicesの仕組み

Membership0
Management0

4

P
Peer+
registraAon+
it A+Nominal++
credenAal+

Peer

Peer

Leddger

Peer++

Validating Entities

Peer++
Ledge
erU
User
registrationi t tiAnonymous
Nominalcredentials
credential

Peer++L
LedgerEnd-userPeer++L
Ledger++LedgerClient++Ledger

Membershipauditors++Ledger• Ecertとは別に、期限が設定可能なワンタイム証明書Tcertを導⼊することで、鍵漏洩・紛Ecertとは別に、期限が設定可能なワンタイム証明書Tcertを導⼊することで、鍵漏洩 紛失に伴うセキュリティリスクを低減

Users prove identity and credentials are issued to them:• Enrollment certificates (nominal)• Transaction certificates (anonymous)
Peers only issued enrollment certificatesNominal credentials contain encryption & signing keys
Auditors can audit certificates and ownership© 2016 IBM Corporation

Membership Servicesの前提

Validating Entities

Peer++Ledgerr

Cli t
ClientPeer

End-user
Bob
Audit of Bob’scontracts

Contracts can be encrypted such thatdecryption is possible only by the validating
entities and potentially authorized users

5

Peer

Contract & system
auditors

Peer

Peer

Leddger

Anonymous,++visible+only++
to+validaAng++
enAAes+&+Bob0

End-user
Alice++
Ledgerr

ClientPeer++
Ledger++Nominal,++visible+only+to++
validaAng+enAAes+++
Ledger++LedgerTransacAons+++
Ledger• 検証ノードは検証⽤の鍵を保有する為、既存の⾦融システムと同等のセキュリティ対策が検証ノ ドは検証⽤の鍵を保有する為、既存の⾦融システムと同等のセキュリティ対策が⾏なわれていることを前提とする

Audit of ledger’s
contracts

Audi5ng0through0proper0key0distribu5on0at:00
+system+level,+i.e.,+all+system+transacAons++
+user+level,+i.e.,+a+user’s+transacAons+
+contract+level,+i.e.,+contracts+messages+© 2016 IBM Corporation

Next Generation Consensus• 機密性
機密性・完全性・可⽤性を⾼めた新コンセンサスアルゴリズムをHyperledger
完全性 可⽤性を⾼めた新コンセンサスアルゴリズムをHyperledger Project内で検討中• 取引の正確さ及び完全さを検証する仕組みを整備することも検討（The DAO事件のようなスマートコントラクトの不正検知含め）
DAO事件のようなスマ トコントラクトの不正検知含め）
⼀次検証

⼆次検証

取引確定

• Submitting Peer S1がEndorsement Peer E1/E2に次検証を依頼
⼀次検証を依頼• Endorsement Peer E1/E2が⼀次検証を実施• Submitting Peer S1が取引をハッシュ化の上、Concentorに⼆次検証を依頼• Concentorが⼆次検証を実施• Concentorがブロックを配布

https://github.com/hyperledger/fabric/wiki/Next-Consensus-Architecture-Proposal参照
6© 2016 IBM Corporation

High Security business network for IBM Blockchain• IBMからはハードウェアによる鍵管理も提供
IBMからはハ ドウェアによる鍵管理も提供
サービスの特徴
 セキュリティ機能が充実したIBM LinuxOne
Emperorサーバーを活⽤したブロックチェーンサービス
 ブロックチェ
ブロックチェーンを活⽤してダイヤモンドなどのンを活⽤してダイヤモンドなどの⾼価な品物の追跡と保護を⾏うEverledgerがセキ
ュアなインフラストラクチャーに⽀えられたIBM
Blockchainでソリューションを構築

LinuxOne Emperorの特徴
 Hardware
H dencryption
tiwithith built-inb ilt i acceleratorslt
for blockchain hashing, signing and security
 Faster responses with hipersockets
 Global Security Standards compliant Tamper proof crypto keys infirmware/crypto cards
y to encode transactions
 Unlimited random keys

7

© 2016 IBM Corporation

uPort• Hyperledger Project Identity WGではuPortの鍵管理も調査『Ethereum & uPort』（ConsenSys Christian Lundkvist）より抜粋
8© 2016 IBM Corporation

安全性を踏まえたフェージング戦略例• 安全性の観点から、プライベートブロックチェーン+既存システムから取り組むことを検討
安全性の観点から、プライベ トブロックチェ ン+既存システムから取り組むことを検討されている欧⽶⾦融機関も存在
Phase 2Phase 1

Phase nノード

他
社

ノード

同期ノード

コンーシアムブロックチェーン

ノード

⾃社

9

同期ノード

ノード

プライベートブロックチェーン

コンソーシアムブロックチェーン

同期（ブロックチェーン⇄既存DB）

同期（ブロックチェーン⇄既存DB）

HAデータベース
アーキテクチャー（⾼可⽤性）

HAデータベース
アーキテクチャー（⾼可⽤性）© 2016 IBM Corporation

10© 2016 IBM Corporation