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
Implementing a Fast, Memory–safe Axolotl Ratche...
Search
Jihyeok Seo
December 05, 2015
Research
0
110
Implementing a Fast, Memory–safe Axolotl Ratchet Protocol
2015 한국정보보호학회 동계학술대회 (CISC-W'15)
Jihyeok Seo
December 05, 2015
Tweet
Share
More Decks by Jihyeok Seo
See All by Jihyeok Seo
네이버 블로그를 백업해주는 exitnaver와 그 이야기
limeburst
0
130
Other Decks in Research
See All in Research
【緊急警告】日本の未来設計図 ~沈没か、再生か。国民と断行するラストチャンス~
yuutakasan
0
130
業界横断 副業・兼業者の実態調査
fkske
0
180
A multimodal data fusion model for accurate and interpretable urban land use mapping with uncertainty analysis
satai
3
220
3D Gaussian Splattingによる高効率な新規視点合成技術とその応用
muskie82
5
2.7k
LLM-as-a-Judge: 文章をLLMで評価する@教育機関DXシンポ
k141303
3
820
データxデジタルマップで拓く ミラノ発・地域共創最前線
mapconcierge4agu
0
180
EOGS: Gaussian Splatting for Efficient Satellite Image Photogrammetry
satai
4
280
CSP: Self-Supervised Contrastive Spatial Pre-Training for Geospatial-Visual Representations
satai
3
210
問いを起点に、社会と共鳴する知を育む場へ
matsumoto_r
PRO
0
330
「エージェントって何?」から「実際の開発現場で役立つ考え方やベストプラクティス」まで
mickey_kubo
0
120
線形判別分析のPU学習による朝日歌壇短歌の分析
masakat0
0
130
引力・斥力を制御可能なランダム部分集合の確率分布
wasyro
0
170
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Adopting Sorbet at Scale
ufuk
77
9.4k
KATA
mclloyd
30
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Transcript
ࡅܰҊ ݫݽܻ–উೠ ইഓ۽ౣ ېஞ ۽ష ҳഅ ࢲഄ*, ട࠼** ѤҴҮ ࢤݺҗҗ*,
ࢲৈҮ ࠁࠁഐҗ**
Implementing a Fast, Memory–safe Axolotl Ratchet Protocol Jihyeok Seo*, Dabin
Hwang** Konkuk University*, Seoul Women’s University**
Motivation • 20150730, Yonhap, “NIS, Requested ‘Hacking Team’ Provide KakaoTalk
Wiretapping” • 20151006, Yonhap, “Kakao, Starts Producing Data For Wiretapping Warrants” • We need secure, end–to–end encrypted mobile communication methods
How? • Suitable protocols for the mobile environment • Secure
cryptographic primitives • Safe implementations
Ratcheting Protocol
Ratcheting • Sharing a secret is trivial (Diffie–Hellman) • How
do we reduce risk of a compromised shared secret key? • Constantly change the shared secret • Ratcheting Protocols (OTR, SCIMP, Axolotl, etc.)
OTR • https://otr.cypherpunks.ca • Diffie–Hellman key exchange on every message
• Assumptions: communicating parties are always online • In mobile environments, not always so
SCIMP • https://silentcircle.com/products-and-solutions/ technology/scimp/ • Hash–based iteration ratchet • Can
ratchet even when offline • Past keys can be used to derive future keys
Axolotl • https://github.com/trevp/axolotl/wiki • Trevor Perrin • State-of-the-art key ratcheting
protocol • OTR (DH ratchet) + SCIMP (hash ratchet) • Opportunistic
Cryptographic Primitives
Message Encryption: ChaCha20 • D. J. Bernstein. 2008. • http://cr.yp.to/papers.html#chacha
• Faster, more energy-efficient in mobile devices • Immune to timing, padding oracle attacks
Message Authentication: Poly1305 • D. J. Bernstein. 2005. • http://cr.yp.to/papers.html#poly1305
• Faster, more energy-efficient in mobile devices • Smaller MAC size compared to HMAC–SHA256
ChaCha20–Poly1305 • Accepted TLS cipher suite • Used for communication
between Android devices and Google services • Used for Cloudflare CDN network • Industry tested cipher suite
Comparison Signal Lumi Key Derivation HKDF (HMAC–SHA256) Key Exchange X25519
(Curve25519) Encryption AES–256 (CTR) ChaCha20 MAC HMAC–SHA256 Poly1305–AES
Safe Implementation
Rust • https://www.rust-lang.org • Guaranteed memory safety • Prevents security
vulnerabilities • Buffer overflows, dangling pointers, data race…
None
None
None
Conclusion • Memory–safe implementation of the state–of–the– art ratcheting protocol
• Better, faster, more secure cryptographic primitives • Proof of concept of an end–to–end encrypted messaging application
Future Work • Adopt post-quantum cryptography (Ring-LWE, SPHINCS, etc.) •
Reduce metadata leak (I2P, Tor, Router Federation, etc.) • Formal verification of Rust code (Coq, Isabelle, etc.)
Acknowledgements • KITRI Best of the Best • NAVER, Sanghyun
Cho, Heo Gyu