InterMAClib: ¡Beyond ¡Confidentiality ¡ and ¡Integrity ¡in ¡Practice Torben ¡B. ¡Hansen ¡@n_tbh Joint ¡work ¡with ¡ Martin ¡R. ¡Albrecht ¡@martinralbrecht Kenneth ¡G. ¡Paterson ¡@kennyog Information ¡Security ¡Group Centre ¡for ¡Doctoral ¡Training ¡in ¡Cyber ¡Security Real ¡World ¡Crypto ¡2018 ¡January ¡12 th
The ¡next ¡~25 ¡mins OpenSSH InterMAC cipher ¡modes Motivation Performance We ¡are ¡here InterMAC(lib)
Symmetric ¡encryption ¡ Modelling ¡security AE C C ¡ ← Enc k (M) M ¡ ← Dec k (C) Good ¡approximation? [BKN02] [APW09] SSH ¡CBC-‑mode ¡is ¡secure! SSH ¡CBC-‑mode ¡is ¡ not secure!
C 1 C M 1 ← Dec k (C 1 ) C 2 C ¡ ← Enc k (M) M 2 ← Dec k (C 2 ) M ¡= ¡M 1 || ¡M 2 [BDPS12] SSH ¡packets ¡contains ¡a ¡length ¡field
Security ¡notions C 1 C M 1 ← Dec k (C 1 ) C 2 C ¡ ← Enc k (M) M 2 ← Dec k (C 2 ) M ¡= ¡M 1 || ¡M 2 IND-‑CCA IND-‑sfCFA IND-‑sfCTF IND-‑CTXT
Security ¡notions C ¡= C 1 DJ@)%&6h C 2 C’ ¡= *s&FQOm”F C 3 DJ@)%&6h*s&FQOm”F C’ C SSH: IND-‑CCA IND-‑sfCFA -‑ Length ¡field ¡encrypted BH-‑sfCFA -‑ Random ¡amount ¡of ¡ IND-‑sfCTF IND-‑CTXT padding
Security ¡notions (Open)SSH ¡EtM cryptographic ¡processing Sequence Packet Pad Payload Padding ≥4 Number Length Len 1 4 4 Enc Packet MAC ¡tag Ciphertext Length Mac [BDPS12] ¡/ ¡ [BDPS12] [AD H P16 ¡] IND-‑CCA IND-‑sfCFA BH-‑sfCFA n-‑DOS-‑sfCFA [AD H P16] IND-‑sfCTF IND-‑CTXT
InterMAC [BDPS12] Achieve ¡all ¡4 security ¡ notions N ¡-‑ 1 N ¡-‑ 1 N ¡-‑ 1 0 0 1 IND$-‑CPA Enc Enc Enc Chunk ¡counter: 0 1 2 Mac Mac Mac c c c Message ¡counter: PRF
InterMAC in ¡practice … 1 0 1 N ¡-‑ 1 N ¡-‑ 1 N ¡-‑ 1 t=1 : no padding 0 0 1 1 t t=2 : padding Enc Enc Enc Chunk ¡counter: 0 1 2 Mac Mac Mac c c c Message ¡counter:
InterMAC in ¡practice … 1 0 1 N ¡-‑ 1 N ¡-‑ 1 N ¡-‑ 1 t=1 : no padding 0 0 t t=2 : padding Chunk ¡counter: 2 0 1 Enc Enc Enc c c c Message ¡counter: Nonce-‑based AE
InterMAClib C-‑implementation Aims ¡to ¡be ¡”safe” ¡to ¡use Small ¡API User-‑oblivious ¡nonce-‑management Algorithm ¡agility AES-‑GCM Chacha20-‑Poly1305
Nonce ¡management chunk ¡counter ¡= ¡0 im_init (… ¡, ¡ae_cipher) ¡: message ¡counter ¡= ¡0 32 64 nonce ¡= ¡ InterMAC with ¡ChaCha20-‑Poly1305 K mac <-‑ ChaCha20( 0 , ¡K, ¡nonce, ¡block_counter = ¡0) C <-‑ ChaCha20(M, ¡K, ¡nonce, ¡block_counter = ¡1) Tag ¡<-‑ Poly1305(K mac , ¡C) InterMAC with ¡AES-‑GCM Initialise aes-‑gcm with ¡nonce ¡for ¡each ¡chunk
Want ¡cipher ¡modes ¡with ¡all ¡4 ¡security ¡ We ¡implemented ¡InterMAC-‑based ¡ properties cipher ¡modes ¡in ¡OpenSSH (v7.4) No ¡current ¡cipher ¡mode ¡satisfy ¡that… [AD H P16] im-‑aes128-‑gcm-‑N im-‑chacha-‑poly-‑N Packet Pad Payload Padding Length Len 1 4 ≥4 OpenSSH packet ¡ Standalone ¡code-‑path ¡ [APW09] [AD H P16] processing ¡code: in ¡the ¡OpenSSH packet ¡ [PW10] complex ¡and ¡buggy processing ¡code Throughput Total ¡bytes ¡transmitted Performance ¡of ¡InterMAC-‑based ¡ cipher ¡modes ¡compared ¡to ¡existing ¡ Behavior ¡relating ¡to ¡chunk ¡ cipher ¡modes length ¡N
SCP AWS AWS London US-‑Oregon [AD H P16]
SCP AWS AWS London US-‑Oregon
N ¡-‑ 1 N ¡-‑ 1 N ¡-‑ 1
Finish ¡line ¡is ¡in ¡sight… Implementations ¡must ¡cater ¡for ¡ ciphertext fragmentation [BDPS12] ¡provides ¡a ¡security ¡ model ¡for ¡studying ¡symmetric ¡ We ¡believe ¡this ¡feature ¡should ¡be ¡ reflected ¡in ¡the ¡security ¡models encryption ¡schemes ¡supporting ¡ ciphertext fragmentation We ¡modify ¡InterMAC to ¡make ¡it ¡ InterMAC satisfies ¡all ¡security ¡ usable ¡in ¡practice ¡and ¡create ¡ notions ¡from ¡[BDPS12] InterMAClib OpenSSH want ¡cipher ¡modes ¡ We ¡implement ¡InterMAC-‑based ¡ that ¡meets ¡all ¡security ¡notions ¡ cipher ¡modes ¡in ¡OpenSSH using ¡ from ¡[BDPS12] InterMAClib We ¡measured ¡performance; ¡ InterMAC: ¡SSH ¡binary ¡packet ¡ indicates ¡that ¡greater ¡security ¡can ¡ protocol ¡done ¡right, ¡using ¡ be ¡traded ¡for ¡only ¡a ¡minor ¡ modern ¡primitives performance ¡hit
Hi ¡Bob, ¡ I ¡believe ¡we ¡ can ¡beat ¡Eve! RealWorld Class ¡Alice! Torben ¡Hansen ¡@n_tbh Martin ¡Albrecht ¡@martinralbrecht Kenny ¡Paterson ¡@kennyog
Recommend
More recommend