Title: Protecting Applications with Transient Authentication
1Protecting Applications with Transient
Authentication
- Mark D.Corner and Brian D. Noble
- Presenter Jim Cai
2What is authentication?
- Traditional Authentication
- Password (Infrequent, persistent)
- Mobile devices are more fluid
- Usability vs. security
- Transient Authentication
- Token authenticate on users behalf
- Short-range wireless link
3What does TA promise us?
- defend
- Attacks involving physical possession of a device
(memory, authentication credentials) - Observation, modification, insertion of messages
- Wormhole attacks
- Does NOT defend
- Malicious, but trusted user
- Buffer overflow
- DOS
4Transient Authentication Principles
- Tie Capabilities to Users
- Only user (not the device) is capable to perform
sensitive operations - Decrypting capabilities must be destroyed when
user leaves
5Transient Authentication Principles
- Do not Harm
- Only Infrequent human tasks (password)
- Acceptable latencies (SSL)
- Secure and Restore on People Time
- encrypt rather than erase
6Transient Authentication Principles
- Ensure Explicit Consent
- User involvement
- Binding (many-to many relationships)
- User authenticate to token periodically (in case
of token lost)
7Application Transparent Protection
- Advantage
- Protect in-memory process state
- without help from applications
- without user interventions
8Application Transparent Protection
- Implementation
- Process hibernation
- Marked as hibernate
- Wait for interruption opportunity
- Virtual memory encryption
- Throw away decrypted key
- Free memory clearance
- Reverse the process as user returns
9Application Transparent Protection
- Performance issue
- Memory size / processing speed
- Securing application-aware
- Recovering prioritization
10Application Transparent Protection
- Tokens public key must be certified
- Use nonce to identify packet
- Proximity polling msg to notify user absence
(1sec)
11Application Transparent Protection
- Disadvantages
- Indiscriminate
- Non-sensitive process
- Occasionally sensitive process
- Processes that share memory
- process that depends on constant input or network
traffic
12Application-Aware Protection
- Provide interfaces for application to identify
its own secrets - Identify secrets
- No hard rule (users data, meta-data, network
data could all be secrets ) - Designers call
- When to encrypt secrets
- When user leaves
- Always encrypt, unless being used
- Choice depends on data size and frequency of use
13Application-Aware Protection
14Application-Aware Protection Overview
15Application-Aware Protection Applications
- Pretty Good Privacy
- How does it work?
- Private key (decryption, sign)
- Public key (encryption, verify sign)
16Protect PGP
- Generate a random password P
- P is used to encrypt the private key Kp (PKp)
- The Master key, stored in the token, is used to
encrypt P (KPGP) - Process exits when losing authentication
- Display reset
17Modified PGP diagram
18Application-Aware Protection OpenSSH
- Password for authentication, session key for
encryption - Decrypted session key remains in memory
- Decrypted password is throw away after
authentication
19Application-Aware Protection Mozilla
SDR for cookies and password protection, SSL keys
for session encryption Decrypted SSL session key
remains in memory. Cached password and cookies
are decrypted by Secret Decoder Ring every time
it is used SDR password is erased upon user
departure
20Application-aware Limitations
- Sensitive data may no longer be reachable
- in leaked memory
- in memory that has been freed (modify realloc,
free, delete) - Application must obscure readable info
- Identifying secrets info
21Evaluations
- Client
- IBM ThinkPad X24,256MB, 1.1GHZ
- Token
- Compaq iPAQ 3870, 64MB
- Bluetooth wireless
- 128 bit encryption
22Evaluations
- Transparent Protection (200MB memory)
- Secure
- 632 ms to freeze processes
- 8.92 s to encrypt 215.9M
- 6.00 ms to zero 2.25M free pages Recovery
- Recovery
- 7.72 s to decrypt
- 21.2 ms to unfreeze process
- Average 10 seconds for secure/recovery
23Evaluations
Initial authentication is the only overhead Large
and small files have the same overhead
24Evaluations
Login accounts for the largest overhead
25Evaluations
Cookie overhead
Protection and Recovery
26Discussion
- Why does the paper use Mozilla, SSH and PGP to
conduct the experiment? -
27Discussion
- User periodically authenticate the token to
prevent token lost. How often should this
authentication be? Does it also cause the tension
of usability and security?
28Discussion
- Are there further improvements that we can take
to speed up the securing / recovery process of
application-transparent approach?