Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Network Bound Disk Encryptionとは
Search
Kazuo Moriwaka
September 14, 2018
Technology
0
890
Network Bound Disk Encryptionとは
RHEL 7.4から提供が始まったNetwork Bound Disk Encryption(NBDE)の概要を紹介します
Kazuo Moriwaka
September 14, 2018
Tweet
Share
More Decks by Kazuo Moriwaka
See All by Kazuo Moriwaka
システム全体の暗号化ポリシーをカスタマイズ
moriwaka
0
2k
Red Hat Enterprise Linux 9のリリースノートを読む前に知りたい最近のキーワードをまとめて復習
moriwaka
0
1.5k
odpからmp4を作る / odp2mp4
moriwaka
0
280
Red Hat Enterprise Linux Web Console を使う / cockpit-rhel8
moriwaka
0
750
systemdエッセンシャル / systemd-intro
moriwaka
46
12k
flatpak
moriwaka
0
2.5k
Red Hat Enterprise Linux 8 の セキュリティトピック
moriwaka
2
1.3k
システム全体の暗号化ポリシー設定
moriwaka
0
1.1k
端末のセッション記録
moriwaka
0
5.4k
Other Decks in Technology
See All in Technology
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
330
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
650
The Role of Developer Relations in AI Product Success.
giftojabu1
1
130
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
160
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
240
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.2k
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
130
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Gamification - CAS2011
davidbonilla
80
5k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Building Applications with DynamoDB
mza
90
6.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fireside Chat
paigeccino
34
3k
Transcript
Network Bound Disk Encryptionとは レッドハット株式会社株式会社 2018-09-25 森若 和雄 <
[email protected]
>
2 Copyright Red Hat K.K. All rights reserved. このスライドの位置スライドの位置付けと目のスライドの位置位置付けと目的けと目的 •
対象 • セキュリティ向上のためスト向上のためストレーのためストレージ暗号ストレージ暗号化と、自動暗号化と、自動的に暗と、自動的に暗号自動的に暗号に暗号暗号 化と、自動的に暗解除するするNBDEを活用したい人活用したい人したい人人 • 目的に暗号 • RHEL 7.4から提供が始まった提供が始まったが始まった始まったまったNetwork Bound Disk Encryption(NBDE)の概要紹介 • NBDEが始まった解決するストレージするストレージ暗号化と、自動暗号化と、自動的に暗の問題と、解決しないと、自動的に暗号解決するストレージしない人問 題と、解決しないを活用したい人把握するする
3 Copyright Red Hat K.K. All rights reserved. 概要 •
通常のストレージ暗のストレージ暗号化と、自動暗号化と、自動的に暗 • Network Bound Disk Encryption(NBDE)とは • tangサーバとはとは? • clevisとは? • tangサーバとはを活用したい人どこに暗号置くかくか? • RHELでNBDEを活用したい人利用したい人する
4 Copyright Red Hat K.K. All rights reserved. 通常のストレージ暗のスライドの位置ストレージ暗号化暗号化 •
LUKSストレージ暗号化と、自動暗号化と、自動的に暗 • ストレージ暗号化と、自動に暗号暗号化と、自動的に暗された鍵を保存を活用したい人保存 • ユーザーが始まったパスフレーズを入力を活用したい人入力 • パスフレーズを入力で鍵を保存を活用したい人復号 • 暗号化と、自動的に暗/復号化と、自動的に暗を活用したい人しなが始まったら提供が始まったストレージ暗号化と、自動を活用したい人読み書きみ書き書きき アプリケーション プログラム 暗号化/復号化 ファイルシステム I/O 鍵 ストレージ パス フレーズ #%&*?! linux kernel 人が入力が入力入力
5 Copyright Red Hat K.K. All rights reserved. ストレージ暗号化暗号化のスライドの位置目的 •
ストレージ暗号化と、自動を活用したい人紛失しても情報が漏しても情報が漏れない情報が漏れないようが始まった漏れないようにすれない人ように暗号する • 想定している問題してい人る問題と、解決しない: 物理的に暗号盗難、自動的に暗号移動中の紛失、不適切の紛失しても情報が漏、自動的に暗号不適切 な廃棄 etc. ※目的に暗号ではない人(実現されないされない人)こと: • システムに侵入されてデに暗号侵入されてデータを盗まれることを活用したい人盗まれることの予防 • 特定している問題のアプリケーション以外からはデー以外からはデータをから提供が始まったはデータを盗まれることを活用したい人参照できでき ない人ように暗号制限するする
6 Copyright Red Hat K.K. All rights reserved. ストレージ暗号化暗号化のスライドの位置課題 •
「ストレージ暗号化と、自動を活用したい人紛失しても情報が漏しても情報が漏れない情報が漏れないようが始まった漏れないようにすれない人」ようにすように暗号す るためストレージ暗号、自動的に暗号ストレージ暗号化と、自動の中の紛失、不適切に暗号鍵を保存そのも情報が漏れないのは置くかけない人 → 最初に人間がパスフに暗号人間がパスフレーズが始まったパスフレーズを入力を活用したい人入力する • 問題と、解決しないに暗号なるケース • システムに侵入されてデ台数が多い場合が始まった多い場合い人場合 • 負荷に応じてシステに暗号応じてシステムをじてシステムに侵入されてデを活用したい人増減させたい場合させたい人場合 • その他短い時間でストレい人時間がパスフレーズでストレージ暗号化と、自動を活用したい人使いはじめたい場い人はじめストレージ暗号たい人場合
7 Copyright Red Hat K.K. All rights reserved. Network Bound
Disk Encryptionとは • ストレージ暗号化と、自動のパスフレーズを入力を活用したい人自動的に暗号に暗号生成するする • 「特定している問題のサーバとは(tang サーバとは)群」ようにすに暗号アクセスできる =パスフレーズを入力を活用したい人生成するできる =自動的に暗号に暗号暗号化と、自動的に暗を活用したい人解除するできる • 冗長化と、自動的に暗のためストレージ暗号複数が多い場合のtangサーバとはを活用したい人利用したい人して、自動的に暗号あら提供が始まったかじめストレージ暗号 決するストレージめストレージ暗号た台数が多い場合以上のためストレーに暗号アクセスできた場合に暗号鍵を保存を活用したい人生成する • それぞれのtangサーバとはは独自の鍵を保存を活用したい人持ち共有しないち共有しない共有しないしない人 ※ストレージ暗号化と、自動とtangサーバとは秘密鍵を保存の両方が漏洩すると暗が始まった漏れないようにす洩すると暗号化解すると暗号化と、自動的に暗解除するされる
8 Copyright Red Hat K.K. All rights reserved. tangサーバとはとは? •
何か文字列を送るか文字列を送ると秘密鍵を活用したい人送ると秘密鍵で変ると秘密鍵を保存で変換してから返信すしてから提供が始まった返信するだけするだけ • クライアン以外からはデートでさら提供が始まったに暗号変換してから返信すしてパスフレーズを入力を活用したい人生成する 使い捨てランダムい捨てランダム文捨てランダム文字てランダム文字列ランダム文字列 変換された文字列された文字列文字列 クライアント株式会社 tangサーバ 通信内容を見てもを見ても見てもてランダム文字列も ストレージの鍵は鍵は わからない捨てランダム文 秘密鍵で変換変換された文字列 秘密鍵、使い捨てランダムい捨てランダム文捨てランダム文字てランダム文字列文字 列、tangサーバ応答から応答からから パスフレーズを見ても生成 ストレージを見ても 見てもてランダム文字列も、 クライアントの鍵は 秘密鍵だけで変換 パスフレーズは わからない捨てランダム文 tangサーバ応答からの鍵は秘密鍵は 漏洩しても更新できしてランダム文字列も更新できるで変換きる (定期的な更新を推奨な更新できるを見ても推奨)
9 Copyright Red Hat K.K. All rights reserved. clevisとは? •
複数が多い場合のtangサーバとは、自動的に暗号TPMなどを活用したい人組み合わせて利用み書き合わせて利用したい人する 仕組み合わせて利用み書き • 例: • tangサーバとは2台以上のためストレーに暗号接続できると自動的できると自動的に暗号に暗号パスフレー ズを入力を活用したい人生成するできる • tangサーバとは2台以上のためストレーに暗号接続できると自動的できるかTPM2.0で保存され た鍵を保存が始まったあれば自動的に自動的に暗号に暗号パスフレーズを入力を活用したい人生成するできる
10 Copyright Red Hat K.K. All rights reserved. NBDEイメージ暗号化図 tang
サーバ応答から tang サーバ応答から tang サーバ応答から クライアント クライアント クライアント クライアント 暗号化 ストレージ 暗号化 ストレージ 暗号化 ストレージ 暗号化 ストレージ たとえば自動的に2台以上のためストレーのtangサーバとはに暗号アクセスできると復号できる
11 Copyright Red Hat K.K. All rights reserved. tangサーバとははどこに置くか置くか? •
tangサーバとはの秘密鍵を保存と、自動的に暗号clevisが始まった管理するメタを盗まれることデータを盗まれることの 両方が漏洩すると暗が始まった揃うとストレージうとストレージ暗号化と、自動の暗号化と、自動的に暗を活用したい人解除するできる • 仮想化と、自動的に暗を活用したい人利用したい人する場合に暗号tangサーバとはの鍵を保存と暗号化と、自動的に暗スト レージ暗号化と、自動が始まった同一のストレージにのストレージ暗号化と、自動に暗号配置くかされない人ように暗号する • そも情報が漏れないそも情報が漏れない暗号化と、自動的に暗した目的に暗号は「ストレージ暗号化と、自動を活用したい人紛失しても情報が漏しても情報が漏れない情 報が漏れないようが始まった漏れないようにすれない人ように暗号する」ようにすこと • 別のデータセンタのデータを盗まれることセン以外からはデータを盗まれることに暗号置くかい人てVPNで接続できると自動的する等
12 Copyright Red Hat K.K. All rights reserved. RHELでNBDEを利用するする •
tangサーバとは側 # yum install tang # systemctl enable --now tangd.socket • 暗号化と、自動的に暗ストレージ暗号化と、自動利用したい人側 # yum install clevis-luks clevis-dracut clevis-systemd # clevis luks bind -d /dev/sdX tang \ '{“url”:”http://tang.example.com”}' → tangサーバとはのキーを活用したい人確認し、既存のパスし、自動的に暗号既存のパスフレーズを入力を活用したい人入力 # dracut -f ※ root fsを活用したい人暗号化と、自動的に暗する場合DHCPではなく固定している問題のネットワーク設定している問題が始まったdracutで必要。 ※ root fs以外からはデータをを活用したい人暗号化と、自動的に暗する場合 /etc/cryetc/etc/crycrypttab で _netdev netdev 指定している問題を活用したい人おこなう。
13 Copyright Red Hat K.K. All rights reserved. Thank You
14 Copyright Red Hat K.K. All rights reserved. 関連資料 •
RHEL 7ドキュメン以外からはデート「Security Guide」ようにす内「Network Bound Disk Encryption」ようにす • https://access.redhat.com/documentation/en-us/ red_hat_enterprise_linux/7/html/security_guide/sec- using_network-bound_disk_encryption • clevis • https://github.com/latchset/clevis • tang • https://github.com/latchset/tang • 理論的に暗号な背景であるであるMcCallum-Relyea exchangeの説明
15 Copyright Red Hat K.K. All rights reserved. 想定Q&A(1/2) •
今はストレージをはストレージ暗号化と、自動を活用したい人暗号化と、自動的に暗してい人ない人けど後からから提供が始まったin-placeで暗号化と、自動的に暗 するように暗号変更できるできる? • できません • 既存パスフレーズを入力は使いはじめたい場えなくなるの? • clevisの既存のパスフレーズを入力の他に暗号自動暗号化と、自動的に暗解除するを活用したい人使いはじめたい場えるように暗号 します • 暗号化と、自動的に暗するとパフォーマン以外からはデースは落ちるち共有しないる? • はい人。暗号/復号のためストレージ暗号CPUが始まった消費されます。ストされます。ストレージ暗号化と、自動I/Oが始まった多い場合い人 場合は事前に影響を確認しに暗号影響を確認してくだを活用したい人確認し、既存のパスしてください人。
16 Copyright Red Hat K.K. All rights reserved. 想定Q&A(2/2) •
tangの鍵を保存の更できる新ってどうするのってどうするの? • tangサーバとはで新ってどうするのしい人鍵を保存を活用したい人作成する • クライアン以外からはデートでclevis bind luksを活用したい人再度実行 • 古い鍵を使うクラい人鍵を保存を活用したい人使いはじめたい場うクライアン以外からはデートが始まったなくなったあとtangサーバとはから提供が始まった古い鍵を使うクラい人 鍵を保存を活用したい人削除する
17 Copyright Red Hat K.K. All rights reserved. (おまけ)tangサーバとはのスライドの位置仕組みみ •
登録 クライアン以外からはデート側 クライアン以外からはデートの秘密A ラン以外からはデーダムに侵入されてデなパスフレーズを入力Kを活用したい人生成する Kを活用したい人使いはじめたい場い人ストレージ暗号化と、自動暗号化と、自動的に暗 a=gA, b, k=KbAを活用したい人保存 AとKは破棄 • 回復 使いはじめたい場い人捨てのてのXを活用したい人作り x = agX を活用したい人送ると秘密鍵で変信するだけ → • k÷(xB ÷bX) するとKが始まった回復 tangサーバとは側 サーバとはの秘密B ← b = gB を活用したい人送ると秘密鍵で変信するだけ ← xBを活用したい人送ると秘密鍵で変信するだけ
18 Copyright Red Hat K.K. All rights reserved. (おまけ)複数tangサーバとはに置くかよる回復 •
「シャミアの秘密分散法」を利用」ようにすを活用したい人利用したい人 • パスフレーズを入力を活用したい人回復するためストレージ暗号に暗号必要なサーバとは数が多い場合を活用したい人k台 とする • 関数が多い場合 f(x)=a 0 +a 1 x+a 2 x2+...+a k-1 xk-1 として、自動的に暗号パスフレー ズを入力回復に暗号使いはじめたい場う秘密を活用したい人a 0 とする。a 1 から提供が始まったa k-1 は乱数が多い場合 • tangサーバとはから提供が始まった回復した鍵を保存が始まったそれぞれf(x)上のためストレーの異なるなる 点(ただしx!=0)を活用したい人示すよう構成するすよう構成するする • k-1次関数が多い場合上のためストレーのk個の点が確定するの点が始まった確定している問題するとf(x)が始まった確定している問題 し、自動的に暗号f(0)=a 0 を活用したい人求めることができめストレージ暗号ることが始まったできるので秘密が始まった回復で きる 3点を通るを見ても通る2次関数はは 一意に定まるが、に定まるが、定まるが入力、 2点を通るしかわからない捨てランダム文と 関数はは定まらない捨てランダム文