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
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
470
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
120
27新卒_総合職採用_会社説明資料
livesense
PRO
0
6.6k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
11k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
520
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.8k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
660
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
72k
Other Decks in Technology
See All in Technology
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
790
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
240
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
290
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
380
ガバメントクラウドでのランサムウェア対策
techniczna
2
1.1k
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
220
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
110
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
ホームラボ紹介
y_sera15
0
150
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
250
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.1k
Embracing the Ebb and Flow
colly
88
5.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
290
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
The Invisible Side of Design
smashingmag
301
52k
Designing for Timeless Needs
cassininazir
1
440
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Writing Fast Ruby
sferik
630
63k
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^)/