OpenKeychain: An Architecture for Cryptography with Smart Cards and - - PowerPoint PPT Presentation

openkeychain an architecture for cryptography with smart
SMART_READER_LITE
LIVE PREVIEW

OpenKeychain: An Architecture for Cryptography with Smart Cards and - - PowerPoint PPT Presentation

Institute of Operating Systems and Computer Networks Operating System Email Crypto Provider binds to API key management secret key creation access control Security Token PIN/password caching per client operating system with IM NFC


slide-1
SLIDE 1

Operating System Crypto Provider Email IM

access control per client

Other Clients

access control by PIN key management secret key creation PIN/password caching NFC dispatcher API: high-level crypto operations PIN/password input common user interactions

Security Token

  • perating system with

cryptography applet holds secret key API: low-level operations binds to API binds to API potentially untrusted

  • perations

restricted to selected keys

OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings

  • n Android

Dominik Schürmann, Sergej Dechand, Lars Wolf, 2017-09-14 Institute of Operating Systems and Computer Networks

slide-2
SLIDE 2

Working Title: “One Ring to Sign Them All”

Dominik Schürmann, Sergej Dechand, Lars Wolf, 2017-09-14 Institute of Operating Systems and Computer Networks

slide-3
SLIDE 3

Introduction Architecture User Study Conclusion

End-to-End Encryption

But let’s start from the beginning...

2017-09-14 Dominik Schürmann Page 3 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-4
SLIDE 4

Introduction Architecture User Study Conclusion

End-to-End Encryption

But let’s start from the beginning...

End-to-End Encryption on Android

Messaging: Signal, WhatsApp, LINE, … Cloud Storage: SpiderOak, Boxcryptor, … Email: ?

2017-09-14 Dominik Schürmann Page 3 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-5
SLIDE 5

Introduction Architecture User Study Conclusion

End-to-End Encryption

But let’s start from the beginning...

End-to-End Encryption on Android

Messaging: Signal, WhatsApp, LINE, … Cloud Storage: SpiderOak, Boxcryptor, … Email: ?

Issues

Secret Key is stored on the device Android updates rolled out slowly Malware Bring Your Own Device (BYOD) Policies

2017-09-14 Dominik Schürmann Page 3 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-6
SLIDE 6

Introduction Architecture User Study Conclusion

Goals

Architecture for End-to-End Encryption

Easy API (no knowledge of public key crypto required) Support for secret keys on external NFC tokens Include UI components

2017-09-14 Dominik Schürmann Page 4 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-7
SLIDE 7

Introduction Architecture User Study Conclusion

Goals

Architecture for End-to-End Encryption

Easy API (no knowledge of public key crypto required) Support for secret keys on external NFC tokens Include UI components

Research Goals

API Design Comparison with existing APIs Try out new form factors (NFC Ring!) User study of UI components

2017-09-14 Dominik Schürmann Page 4 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-8
SLIDE 8

Introduction Architecture User Study Conclusion

Existing Work

Crypto API Misuse

Egele et al.: “An Empirical Study of Cryptographic Misuse in Android Applications.” (ACM CCS’11) Fahl et al.: “Why Eve and Mallory Love Android: An Analysis of Android SSL (in) Security” (ACM CCS’12)

Usability of Two Factor Authentication on Desktop Systems

Strouble et al.: “Productivity and Usability Effects of Using a Two-Factor Security System” (SAIS’09) Lang et al. (Google): “Security Keys: Practical Cryptographic Second Factors for the Modern Web” (Financial Crypto’16)

2017-09-14 Dominik Schürmann Page 5 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-9
SLIDE 9

Introduction Architecture User Study Conclusion

Existing Work

Conclusion

No App/Library/Architecture on Android for NFC Security Tokens for End-to-End Encryption Studies only about Authentication, not Encryption No studies on NFC Rings for Crypto

2017-09-14 Dominik Schürmann Page 6 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-10
SLIDE 10

Introduction Architecture User Study Conclusion

Architecture

Operating System Crypto Provider Email IM

access control per client

Other Clients

access control by PIN key management secret key creation PIN/password caching NFC dispatcher API: high-level crypto operations PIN/password input common user interactions

Security Token

  • perating system with

cryptography applet holds secret key API: low-level operations binds to API binds to API potentially untrusted

  • perations

restricted to selected keys

2017-09-14 Dominik Schürmann Page 7 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-11
SLIDE 11

Introduction Architecture User Study Conclusion

API Specificiation (Simple Version)

Action

  • Req. Extras

Description SIGN_AND_ENCRYPT USER_IDS Encrypt to email addresses and generate signature DECRYPT_VERIFY

  • Decrypt and verify signature

Typically, APIs only provide low level methods In our case it also provides UI components Includes secure password/PIN caching

2017-09-14 Dominik Schürmann Page 8 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-12
SLIDE 12

Introduction Architecture User Study Conclusion

Demo Videos

2017-09-14 Dominik Schürmann Page 9 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-13
SLIDE 13

Introduction Architecture User Study Conclusion

User Interface Engineering

2017-09-14 Dominik Schürmann Page 10 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-14
SLIDE 14

Introduction Architecture User Study Conclusion

NFC Performance

Table: Mean durations (w/ standard deviation) of cryptographic operations (10 experiments per operation).

Operation Duration σ Signature calculation 787.9 ms 3.18 Decrypt session key 830.9 ms 55.86 Transfer existing secret key 711.9 ms 32.66 Generate secret key on-tokena 9476.2 ms 2297.71

a Roughly, only every third key generation succeeded 2017-09-14 Dominik Schürmann Page 11 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-15
SLIDE 15

Introduction Architecture User Study Conclusion

User Study

Try new form factor in comparison to smart cards Forge the One Ring in the fires of Mount Doom.

2017-09-14 Dominik Schürmann Page 12 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-16
SLIDE 16

Introduction Architecture User Study Conclusion

User Study

Try new form factor in comparison to smart cards Forge the One Ring in the fires of Mount Doom.

(a) IC extracted from NXP J3D081. (b) Circular coil as new NFC antenna. (c) 3D printed ring prototype.

2017-09-14 Dominik Schürmann Page 12 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-17
SLIDE 17

Introduction Architecture User Study Conclusion

User Study

Study

40 participants from a large company in Germany Password vs NFC card vs NFC ring

2017-09-14 Dominik Schürmann Page 13 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-18
SLIDE 18

Introduction Architecture User Study Conclusion

User Study

Design

  • 1. Lab experiment observing setup time, decryption time
  • 2. User survey for analyzing perception

Within-group design No comparison with biometric features

2017-09-14 Dominik Schürmann Page 14 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-19
SLIDE 19

Introduction Architecture User Study Conclusion

Performance

Ring Card Password

50 100 150 200 250

(a) Setup time.

Ring Card Password

10 20 30 40 50 60 70

(b) Decryption time. Figure: Time measurements (in seconds, no outliers, lower is better).

2017-09-14 Dominik Schürmann Page 15 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-20
SLIDE 20

Introduction Architecture User Study Conclusion

User Perception

10% 15% 75% 60% 35% 5% Password Card Ring 100 50 50 100 Percentage Response 3 (Worst) 2 1 (Best)

Figure: Aggregated user perception showing the ranking choices in the interview.

2017-09-14 Dominik Schürmann Page 16 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-21
SLIDE 21

Introduction Architecture User Study Conclusion

Interview

favor of cards: “easily stored in the wallet” “rings are more secure than cards because they are more difficult to steal than wallets” “security purpose is not immediately obvious to an outsider” “rings can easily be forgotten on a bedside cabinet while not worn at night” “cards are easily misplaced as they are not constantly worn on the body”

2017-09-14 Dominik Schürmann Page 17 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-22
SLIDE 22

Introduction Architecture User Study Conclusion

Conclusion

Summary

First architecture for end-to-end encryption with NFC tokens Study showing the advantage of NFC in comparison to passwords Deployed to over 100,000 users on Google Play Sufficiently Secure Newsletter: https://www.sufficientlysecure.com

Hands-On Demo

Get a smart card and install OpenKeychain and K-9 Mail from Play Yesterday during demo reception Come to me after this talk to try out the ring

2017-09-14 Dominik Schürmann Page 18 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-23
SLIDE 23

Introduction Architecture User Study Conclusion

Conclusion

Summary

First architecture for end-to-end encryption with NFC tokens Study showing the advantage of NFC in comparison to passwords Deployed to over 100,000 users on Google Play Sufficiently Secure Newsletter: https://www.sufficientlysecure.com

Hands-On Demo

Get a smart card and install OpenKeychain and K-9 Mail from Play Yesterday during demo reception Come to me after this talk to try out the ring Any questions? Twitter: @domschuermann

2017-09-14 Dominik Schürmann Page 18 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-24
SLIDE 24

Backup Slides

2017-09-14 Dominik Schürmann Page 19 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-25
SLIDE 25

(a) Access control per app via user decision. (b) Missing public key. (c) Restriction of allowed keys per app.

2017-09-14 Dominik Schürmann Page 20 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-26
SLIDE 26

(a) Password input for password-protected keys. (b) PIN selection during key creation.

2017-09-14 Dominik Schürmann Page 21 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks

slide-27
SLIDE 27

H i g h

  • L

e v e l A P I w / S e c u r e D e f a u l t s S u p p

  • r

t s S e c u r i t y T

  • k

e n s S t a n d a r d i z e d F

  • r

m a t s C r

  • s

s

  • P

l a t f

  • r

m P I N / P a s s w

  • r

d C a c h e K e y M a n a g e m e n t G U I Low-Level APIs libcrypto

  • Bouncy Castle
  • OpenSC
  • High-Level APIs

NaCl/libsodium

  • Keyczar
  • Fully Integrated Systems

GnuPG

  • GNU Privacy Assistant (GPA)a
  • Kleopatraa
  • GNOME Keyringa
  • Our work
  • a uses GnuPG as its backend

2017-09-14 Dominik Schürmann Page 22 of 18 OpenKeychain: An Architecture for Cryptography with Smart Cards and NFC Rings on Android Institute of Operating Systems and Computer Networks