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
メールの安全性について(GPG) #TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
0
72
メールの安全性について(GPG) #TechLunch
メールの安全性について(GPG)
2013/04/17 (水) @ Livesense TechLunch
発表者:松永 一郎
Livesense Inc.
PRO
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
770
26新卒_総合職採用_会社説明資料
livesense
PRO
0
1.4k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
8.8k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
5k
中途セールス職_会社説明資料
livesense
PRO
0
140
EM候補者向け転職会議説明資料
livesense
PRO
0
58
コロナで失われたノベルティ作成ノウハウを復活させた話
livesense
PRO
0
180
転職会議でGPT-3を活用した企業口コミ要約機能をリリースした話
livesense
PRO
0
1.2k
株式会社リブセンス マッハバイト_プレイブック
livesense
PRO
0
720
Other Decks in Technology
See All in Technology
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
13k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
120
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
2
600
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
180
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
110
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
200
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
610
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
120
電話を切らさない技術 電話自動応答サービスを支える フロントエンド
barometrica
1
110
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
How GitHub (no longer) Works
holman
310
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Designing Experiences People Love
moore
138
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Faster Mobile Websites
deanohume
305
30k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Transcript
メールの安全性について 使ってみようよGPG
おなじみのいいわけから • 時間無くて資料がちゃちーです。 • でも中身はそれなりに面白い物を作ったつもり なんで許して下さい
もともとのemailのなりたち 初期のTSS時代、1台のpcにttyの端末を接続し、1 台のserverを複数人で利用していた。この利用者 間で、やりとりを始めたのが起源。 もともとnetworkが存在する前から存在しているの で、今で言うところのmdaのみでのやりとりだった。 時代が下ると、uucpによるバケツリーレーとか、あ るいはさらに下ると、ipが振られtcp通信などによ り、server間でのやりとりが可能になる。
おおざっぱな図
おおざっぱな解説 仕様は後方互換をとりながら拡張されて来た。 大元は1host内で完結していたため、file permissionもある(と思われる。知らんけど)し、そ もそもsecurityの概念の薄い時期の仕組み。 その為、headerなどの改変などが入るけど、基 本、すべて、fileのcopy / move的な事で行なって いた。
なにがおきたか メールの本文を平文で送る仕様のまま、今に至っ ている。
apopとかpops、smtpsとか これらは、muaと各server(msa/mra)間での暗号化であり、 サーバー間の暗号化では無い。 apopなんかは、popの認証の際にパスワードの認証方式のみ 暗号化され、送る内容は平文。
リスク • 盗聴 • 改竄
どうするか GPG(PGP)の出番 • 改竄 ◦ GPGの署名を付ける(署名とは、その内容が変更されて いない事を保証する物。内容が変更されると署名と一致 しなくなる為、改竄が発覚する) • 盗聴
◦ GPGで暗号化する
GPGってなに? Pgp(Pretty Good Privacy) のGnu実装(Gnu Privacy Guard) ssh / sslなどで有名な公開鍵暗号化方式の最も大
元の実装。 これに纏わる話は、サイモン・シンの「暗号解読」が 詳しく、また凄く面白いのでお薦め。
公開鍵の置き場 サーバー上に存在しており、メールアドレスやgpg のfinger pring等から検索し、取得する事が可能。 また、自分のweb page上に置いたりする場合もあ るし、これらの複合で行なう場合もある。 僕の場合は、gpgの公開鍵サーバーに置いてお り、mailのsignatureにfinger printを記載していま
す。
コマンドラインとしてのgpg gpg/pgpはあくまでファイルの署名/暗号化ソフト。 とりあえず、ファイルへの署名や暗号化をしてみ る。
鍵の一覧とか 鍵情報は ~/.gnupg/に入っている。 • $ gpg --list-keys # 持っている公開鍵一覧 •
$ gpg --list-secret-keys # 持っている秘密鍵一 覧 • $ gpg --search-keys #公開鍵サーバーから検 索して、マッチしたのを持っている公開鍵一覧に 追加 • $gpg --import 公開鍵ファイル #公開鍵のファイ ルから持っている公開鍵一覧に追加
署名 $ gpg -s -a file # 署名 どっかに転送。 $
gpg --verify file.asc # 誰が署名したか(fingerpring)を取得出来る $ gpg file.asc # 署名から戻す file.ascを編集すると戻せない。 ポイントは、fileを署名する時には、署名を行なう人間のgnupgの認証がいるけど、復 号の際にはいらない(署名者の公開鍵は必要)。 ようするにだれでも戻せる。 戻した後に、メール本文と比較しdifferが出なければ改竄されてない証拠になる。
暗号化 $ gpg -e -a file # 暗号化。この際、復号出来る人 の指定に公開鍵を求められる。 どっかに転送
$ gpg -d file.asc どっかに転送した場合、復号対象のgpgの秘密鍵 が無いと復号出来ない。
メーラーでは 本文の部分に対して、これらの処理を行なう。 gpgに対応しているmuaだと、ここらへんを自動化してくれる。 僕の場合だとmutt使ってるし、ThunderbirdやBecky!なども対 応している。 webmailとしてのgmailはfiregpgというのがfirefoxの拡張であっ たけど開発終了。メールの内容から広告をsuggetするgmailと は相入れないのか? まーgmailはsmtp/imap/pop対応しているので、それで繋げば いいんだけどね。
muttで実演 実演中
使い所 • 正直、メールでzipでやりとりする際の別メールでパスワード を送る方式とかださいし、あっという間にzip crack出来る時 代には無意味。 もちろん、間違った送り先に送った場合の保険にはなるかも しれんが、大抵はルーチン化しているので、無意識にパス ワードメールも送っちゃうんで意味無し。 •
署名により、お知らせメールの改竄チェックとか、契約メー ルのエヴィデンスとか。 • まー、署名が欲しいならs/mimeという方法もある。(最近の 銀行からのメールとかはs/mimeが多い)
他ちょっとした付録 • 公開鍵に信用度を付与したり (公開鍵をweb pageから取得した場合は、crackerによりそれが改竄されている 可能性があるので低い。 本人からusbに入ったファイルでもらったら高いとか。) • 秘密鍵漏洩の時にrevoke出来るとか。 (ちなみにrevokeするファイル(失効証明書)を作る時の理由付けに、
鍵がパクられました(原文ママ) という単語があるのが、なかなか面白い) なお、秘密鍵から生成し、revokeする以外に秘密鍵を失効させる方法が無いの で、失効証明書は秘密鍵を作った後にすぐに生成して、どっかに保管しておく運 用が一般化している。 • 有効期限付きの鍵が作れたり (日付指定によるexpireを事前に設定出来る)
fin. ちなみに fin.はフランス語であり、 ファン と読むのが正解。 フィンと読んでた人は猛省しましょう。 オワタ\(^o^)/