170 likes | 383 Views
A Public Key Infrastructure for Key Distribution in TinyOS Based on Elliptic Curve Cryptography. David J. Malan, Matt Welsh, Michael D. Smith Presented by James Balasalle. Overview. Introduction SKIPJACK and TinySEC Elliptic Curve Cryptography Implementation Results Conclusions.
E N D
A Public Key Infrastructure for Key Distribution in TinyOS Based on Elliptic Curve Cryptography David J. Malan, Matt Welsh, Michael D. Smith Presented by James Balasalle
Overview • Introduction • SKIPJACK and TinySEC • Elliptic Curve Cryptography • Implementation • Results • Conclusions
Introduction • Not much data to support claim that PKI is infeasible • ECC Solves key distribution problems • ECC and the Discrete Logarithmic Problem • Implemented • Results • Conclusions
SKIPJACK and TinySEC • Link layer security • Secret keys, possibly global • Re-keying is problematic Transmit time RTT time
SKIPJACK and TinySEC Cont’d. Tiny Sec Size Encryption Time
Elliptic Curve Cryptography • Like other PKI schemes based on DLP (discrete logarithmic problem) • y=(gx)mod p • “Easy” to find y, very difficult to find x • Based on finite fields • Elements in group are points (x,y)
Elliptic Curve Cryptography Cont’d. • y2 = x3 + ax + b Elliptic Curve
Elliptic Curve Cryptography Cont’d. • Point Addition
Elliptic Curve Cryptography Cont’d. • Point Multiplication
Elliptic Curve Cryptography Cont’d. • Q(x,y) = kP(x,y) • Q is public key • Field is set of points on curve up to P, which is large prime • Field can be of different types
Implementation • 1st attempt failed – based on code by Michael Rosing • Stack overflow • Memory consumption for multi-word arithmetic – exponential RAM usage for keys above 33 bits
Implementation Cont’d. • 2nd Attempt EccM 2.0 • Based on Dragongate Technologies Limited’s jBorZoi • Keys are broadcast in 2 22-byte messages • Different algorithms are used for multiplication of points, and addition of points • EccM 1.0 is subject to sub exponential attack via MOV reduction with indexed calculus. Eccm 2.0 is not.
Results TinySec Sizes EccM Sizes
Results Cont’d. • 148 times more expensive • 149 times slower
Conclusions • Feasible for infrequent re-keying • Significantly simplifies key distribution • Provides high level of security • Twice as big code size as TinySec • Larger BSS size
Conclusions Cont’d. • Significantly slower • PKI allows more ways for nodes to establish keys – reducing chance of network fragmentation