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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Livesense Inc.
PRO
April 21, 2014
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
メールの安全性について(GPG) #TechLunch
メールの安全性について(GPG)
2013/04/17 (水) @ Livesense TechLunch
発表者:松永 一郎
Livesense Inc.
PRO
April 21, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
Rubyはただの⾔語に⾮ず
livesense
PRO
0
360
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
97
27新卒_総合職採用_会社説明資料
livesense
PRO
0
5.5k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
10k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
480
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
630
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
68k
Other Decks in Technology
See All in Technology
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
380
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
820
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
210
JSAI2026 オーガナイズドセッションOS-27「不動産とAI」趣旨説明 / JSAI2026 Organized Session OS-27 “Real Estate and AI”: Statement of Purpose
ykiyota
0
180
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
3.9k
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
1.1k
MCP Appsを作ってみよう
iwamot
PRO
4
430
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
200
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
3
2.1k
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
3
590
チームで実践する AI-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
3.2k
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
Utilizing Notion as your number one productivity tool
mfonobong
4
320
For a Future-Friendly Web
brad_frost
183
10k
The Spectacular Lies of Maps
axbom
PRO
1
800
The Cult of Friendly URLs
andyhume
79
6.9k
Speed Design
sergeychernyshev
33
1.8k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
KATA
mclloyd
PRO
35
15k
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^)/