Authentication Security Attack & Defenses


 

 

Authentication

Reusable Passwords

People

Design Pattern

Local Authentication

PINs & Passwords

Biometrics

Authentication By Address

Authentication Token

Response passwords

 

Indirect Authentication

Kerberos & Windows 2000

Public Keys & Off-Line Authentication

Public Key Certificates

Public Key Security

Authentication

Attack Security Problem Prevalence Defense
Keystroke confusion
A bug found in the timesharing software allowed a peculiar sequence of characters to skip password checking
Masquerade as someone else Obsolete Good software design
Design software in an organized way to reuse existing functions; keep procedures simple and comprehensible
Password file theft
Weak protection of password file allowed its contents to be stolen
Recover all other user's password Obsolete Password file theft 
Store passwords in a one-way hashed format. Avoid storing or handling the password in its readable, unhashed form
.

Change password
The password's owner can change the password to something new when there is a risk that it has been intercepted by an attacker.

Trojan Horse
Attacker writes a program that gets used by the victim. Unknown to the victim, the program copies or modifies the victim's data. A common form of virus.
Recover hidden information, like a password file or personal information Common, Sophisticated, or innovative Virus Scanning Software
Keep the detection software up to date to detect the newest viruses.

Education of Users
Teach users not to open suspicious email and attachments.

On-line password guessing
Interactive trial-and-error attack to try to guess a user's password
Recover a user's password Trivial Password Audit Trail
Keep an audit trail of all attempts to log on, and use the trail to detect password guessing attacks.

Limit Password Attempts
Track the number of incorrect attempts, and respond to excessive attempts as indicating an attack.

Password Audit Review
Review audit records of a user's mistakes while logging on to make guesses of the user's password.
Recover a user's password Common Limit Password Attempts
Track the number of incorrect attempts, and respond to excessive guesses as indicating an attack.
Helpful Disclosure
Attacker convinces a victim to reveal a password in support of an apparently important task
Recover a user's password Trivial Password Change Policy
Establish a policy to change user passwords frequently, and only change the password under verified administrator approval.

Password Nondisclosure Policy
Establish a policy that nobody should disclose a password to another person under any circumstances.

Bogus password change
Attacker convinces victims to change their passwords to a word selected by the attacker
Recover a user's password Trivial Same as above.
Rubber Hose Disclosure
Attacker uses threats or physical coercion to recover secret information from the victim.
Recover hidden information, like a user's password Trivial Duress Signal
Establish a procedure for users to secretly signal that the login process is taking place under duress.

Honey Pot
Allows attackers to enter the system, presents them with a legitimate-appearing target, while restricting their access to truly valuable resources and keeping them under surveillance.

Shoulder Surfing
Attacker watches a user type his password, then uses it himself.
Recover a user's password Trivial Password Blinding
Do not print or display the keys typed when the user types a password.

Education of Users
Establish a procedure of common-sense user awareness when handling confidential data.

Key-stroke Sniffing
Software watches keystrokes transmitted from the user to the system for typed-in user names and passwords, saves for later use
Recover a user's password Common Memory Protection
Use the CPU's memory protection feature to protect the keyboard input buffer from reading by any software except the OS
.

Encrypt Transmitted Passwords
Passwords sent across a network should be encrypted.

Encryption Incorporates Nonce
Encryption and decryption of data in a transaction incorporates a nonce so that encrypted data can't be replayed in other, forged transactions
.

Trojan Login
Run a program that mimics the standard login program, but collects user names and passwords when people try to log on.
Recover a user's password Common Secure attention
System assigns a special keystroke to security-related user requests like logging on
.
van Eck Radiation
Use a device to intercept van Eck radiation from the victim's video monitor, and retrieve any secrets the victim displays
Recover hidden information, like a user's password Physical Safe Rooms
Use of metallic shielding block the EMR from emanating out of the room or by grounding the signals so that they cannot be intercepted.

New Products
Some new products are manufactured safe from van Eck phreaking.

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Reusable Passwords

Attack Security Problem Prevalence Defense
Off-line Password Search
Trial-and-error attack that generates a legal password, hashes it, and compares it against the hash of the victim's password
Recover a user's password Physical, Sophisticated

Force lengthy trials
Build the system so that each attempt in a trial-and-error attack takes as long as possible

Nonstandard algorithms
Carefully modify standard algorithms so that standard products can't be used to attack the system. This can also introduce vulnerabilities.

Increase base secret's entropy
Implement procedures to help maximize the amount of entropy in base secrets used for authentication. Examples: make the base secret larger, establish rules to discourage the choice of secrets from low entropy categories (passwords from dictionaries.

Shadow password file
Store the actual password hashes in a file that is protected from reading by normal system users. Grant access only to privileged programs that need it, like login and user administration program.

 

Structured Password Search
Ordered trial-and-error search that tries short, lowercase passwords, then capitalized ones, then longer ones, etc.
 

Recover a user's password

 

Common Same as above
Weak Encryption Procedure
Find or build a procedure that uses a shortcut to crack a weak encryption procedure.
Recover hidden information Common, Sophisticated N/A
Precompiled Dictionary Attack
Compute hashes for all words in a dictionary. Search the password file for hashes that match any in the dictionary list.
Recover a user's password Common

 

Salted password entries
Add salt (random data) to each password during hashing and save the salt value in the corresponding password entry.

Force good password selection
Implement procedures that prevent users from choosing easy-to-crack passwords and that force users to change passwords periodically

Back Door
Execute "secret" command in the server that permits remote command execution.
Bypass host security and run selected programs  

Trivial

 

Eliminate back doors
Disable known back doors, and avoid products with back doors that can't be disabled
Buffer Over-run
Exploit a bug in an existing server to trick it into executing some downloaded code
Bypass host security and run selected programs Common, Sophisticated Service firewalling
Block network services so that outsiders can only reach those that are essential to provide

Server encapsulation
Run the server software in a special environment that restricts its access to the rest of the system. If an attacker penetrates the server, his access to the rest of the system is limited.

 

Mutual Trust Attack
After penetrating the first host, find another host that trusts it and allows unauthenticated access by the first host's users
Masquerade as someone else  

Trivial

 

Service firewalling
Block network services so that outsiders can only reach those that are essential to provide
Dynamic Dictionary Attack
Trial-and-error attack that chooses a dictionary word, hashes it with the salt of the targeted victim's password, and compares the result with the victim's password has
Recover a user's password Common Increase base secret's entropy
Implement procedures to help maximize the amount of entropy in base secrets used for authentication. Examples: make the base secret larger, establish rules to discourage the choice of secrets from low entropy categories (passwords from dictionaries.

Shadow password file
Store the actual password hashes in a file that is protected from reading by normal system users. Grant access only to privileged programs that need it, like login and user administration program.

Force good password selection
Implement procedures that prevent users from choosing easy-to-crack passwords and that force users to change passwords periodically

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

People

Attack Security Problem Prevalence Defense
Abuse by Insider
Authorized user uses privileges to access unauthorized resources

 

Bypass host security and run selected programs Common Separation of duty
Divide critical activities into two or more steps that cannot be performed by a single person

Least privilege
Restrict users' access so that they can only use the resources they really require to do their jobs, no more and no less

Log all critical events
Ensure that all business application programs and systems software will write entries to the audit log whenever a critical activity takes place that identify the person performing the activity

Abuse by Administrator
Administrator uses privileges to perform unauthorized activities
Bypass host security and run selected programs Common Same as above
Divided Loyalty
Administrator uses privileges to optimize other business duties, to the detriment of overall system operation.
Bypass host security and run selected programs Trivial Log all critical events
Ensure that all business application programs and systems software will write entries to the audit log whenever a critical activity takes place that identify the person performing the activity
Account Abuse
Attacker exploits the lack of password protection on the victim's account
Masquerade as legitimate user Trivial Default passwords
Define a default password for all accounts to reduce the risk of outsiders stealing or abusing accounts

Enrollment in person
Require new users to enroll in person and provide their distinguishing characteristics directly to the authentication system.

Assign initial secret
Proprietor chooses the initial secret and delivers the chosen secret to the user

Account Theft
Attacker defines a new password for an account that the legitimate owner doesn't know
Masquerade as legitimate user Trivial Same as above
Default Password
Attacker uses a well-known default password to gain access to an account
Masquerade as legitimate user Trivial Enrollment in person
Require new users to enroll in person and provide their distinguishing characteristics directly to the authentication system.

Assign initial secret
Proprietor chooses the initial secret and delivers the chosen secret to the user

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Design Patterns

Attack Security Problem Prevalence Defense
OS substitution
Boot a different OS on the workstation that ignores access restrictions instead of the OS installed on the hard disk. Use this OS to access protected files
Recover or modify hidden information Physical BIOS password
Requires a password to change the disk drive from which the workstation boots its OS

Lock up workstations
Install workstations in areas that limit access to a very small number of people including the people authorized to use those workstations

Default password guessing
Perform trial-and-error guessing based on a list of the passwords usually installed by the vendor during manufacturer
Recover a user's password Trivial Reset vendor password
Change the initial password installed in the system during its manufacture to a hard-to-guess password
Erase the password
Either run software that erases the password memory or interrupt the power supply that maintains password memory
Recover a device's password Common or Physical Lock up workstations
Install workstations in areas that limit access to a very small number of people including the people authorized to use those workstations
I/O bus
Connect the workstation's hard drive to a different system that can copy its contents for later analysis
Recover hidden information Physical Special computer enclosures
Install the computer inside a tamper-resistant enclosure so that attackers can't easily open the case and attack the peripherals

Seals
Makes on intrusion inside the computer's cover detectable by putting hard-to-forge seals over the case edges

Integrated circuit
Embed all sensitive functions in a single integrated circuit

Lock up workstations
Install workstations in areas that limit access to a very small number of people including the people authorized to use those workstations

Token hardware penetration
Remove encapsulation from the token module and probe its electronics to extract secret data
Recover hidden information, like a base secret Sophisticated or Innovative Lock up workstations
Install workstations in areas that limit access to a very small number of people including the people authorized to use those workstations
Non-destructive analysis
Measure variations in the token's power consumption or the timing of cryptographic functions in order to deduce the base secret
Recover hidden information, like a base secret Innovative N/A

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Local Authentication

Attack Security Problem Prevalence Defense
Retrieve original plain text
Retrieves the plaintext file used to produce an encrypted file
Recover hidden information Trivial Overwrite original plaintext
Write other data over the data in the plaintext file that is to be protected by encryption
Magnetic data retrieval
Uses laboratory techniques to retrieve overwritten data from a magnetic surface
Recover hidden information Sophisticated Three-step overwriting
Use a three-step process to overwrite the data in a plaintext file to make it harder to recover
Disk scavenging
Uses "undelete" software or browser to locate sensitive data in plaintext form
Recover hidden information Trivial Volume encryption
Encrypts all information on a disk volume so that nothing is left in plaintext
Home grown encryption algorithm
Find and exploit a weakness in the encryption algorithm to decrypt the data in a practical amount of time
Recover hidden information Sophisticated Open review of encryption algorithms
Use encryption algorithms whose capabilities have been thoroughly analyzed and discussed by the open cryptography community

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

PINs & Passwords

Attack Security Problem Prevalence Defense
Forgotten password
Not really an attack, but has the effect of one
Denial of service Trivial Written password
Write down a copy of the secret password and store it in a safe place
Mouse pad search
Attacker searches the vicinity of workstations for passwords written down on paper
Masquerade as someone else Trivial N/A
Multiple password exploitation
Attacker finds victim's password from one system, uses same password on others
Masquerade as someone else Trivial Password risk grouping
Share a password among sites if sites' usage carries similar risks

Forward secrecy
Choose groups of passwords so that attackers get no obvious hints of other passwords

Transitive delegation
A shared password is inappropriately shared with someone who uses it in an attack
Masquerade as someone else Trivial N/A

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Biometrics

Attack Security Problem Prevalence Defense
Forged biometric trait
Attacker makes a copy of the user's physical trait and presents the copy to the biometric sensor
Masquerade as someone else Physical Detailed sensing
Collect additional biometric measurements from the person since a simple copy of the biometric will not have all of the properties of a live person

Varied behavior
The system requests a different action from the person for each authentication attempt so that a simple recording and replay won't be accepted

Replay user behavior
Attacker records the user's behavioral trait and replays it for the biometric sensor
Masquerade as someone else Physical Varied behavior
The system requests a different action from the person for each authentication attempt so that a simple recording and replay won't be accepted
Biometric interception
Attacker sniffs a victim's biometric sensor reading or signature while being transmitted between devices, invading the user's privacy
Masquerade as someone else Common Biometric data encryption
Encrypt biometric data when it is transmitted between different devices
Biometric signature replay
Attacker replays a biometric sensor reading or signature so that it is treated as having been collected from the actual person
Masquerade as someone else Common Biometric signature authentication
Apply authentication measures to biometric data to ensure that it came from a trustworthy source

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Authentication By Address

Attack Security Problem Prevalence Defense
Wardialing
Software uses an autodial modem to test all phone numbers within a chosen range to locate modem connection
Recover hidden information (telephone numbers) Common Dial-back modem
Special device that establishes a remote connection by calling the remote user back with a preestablished phone number

Caller ID
Use the "Caller ID" feature of modern phone systems to determine if an incoming connection comes from an authorized location

Dial-back back door
Attacker uses built-in back door to bypass the dialback
Masquerade as a different host computer Physical Caller ID
Use the "Caller ID" feature of modern phone systems to determine if an incoming connection comes from an authorized location
Phone line redirection
Attacker uses special knowledge to penetrate the carrier's telephone switch, and redirects the line from within the switching system itself

 

Masquerade as a different host computer Sophisticated Message authentication
Use a cryptographic protocol like IPSEC's authentication mechanism to validate the source address and contents of messages exchanged on an untrustworthy network.

Secure RPC
Deploy Secure RPC service with NFS to provide cryptographic protection to its traffic

Packet address forgery
Construct a message with the forged address instead of the correct one
Masquerade as a different host computer Common TCP synchronization
TCP uses a three-way handshake to establish a connection, and the handshake won't generally work unless both hosts successfully exchange the three messages

Site forgery filtering
Discard all messages that obviously contain forged addresses. Examine messages entering a site and discard any containing a source address belonging to the receiving site. Examine messages leaving the site and discard any containing a source address that doesn't belong to that site.

Message authentication
Use a cryptographic protocol like IPSEC's authentication mechanism to validate the source address and contents of messages exchanged on an untrustworthy network.

Secure RPC
Deploy Secure RPC service with NFS to provide cryptographic protection to its traffic

GPS location authentication
Transmit mingled GPS signals to authenticate one' location at a given moment in time

IP address theft
Attacker takes over the victim's IP address and masquerades as the victim's host
Masquerade as a different host computer Common GPS location authentication
Transmit mingled GPS signals to authenticate one' location at a given moment in time
TCP splicing
Intercept an authenticated TCP connection and redirect it to talk to the attacker's session
Masquerade as someone else Common or Sophisticated Message authentication
Use a cryptographic protocol like IPSEC's authentication mechanism to validate the source address and contents of messages exchanged on an untrustworthy network.

Secure RPC
Deploy Secure RPC service with NFS to provide cryptographic protection to its traffic

SYN flooding
Send messages to start opening different connections but don't complete the process
Denial of service Common Connection resource management
Manage TCP connection resources so that service is still provided even in the face of a SYN flood
Distributed denial of service
Penetrate multiple hosts and use them to transmit a flood of traffic at the victim host
Denial of service Common Site forgery filtering
Discard all messages that obviously contain forged addresses. Examine messages entering a site and discard any containing a source address belonging to the receiving site. Examine messages leaving the site and discard any containing a source address that doesn't belong to that site.

Message authentication
Use a cryptographic protocol like IPSEC's authentication mechanism to validate the source address and contents of messages exchanged on an untrustworthy network.

IP spoofing
Trick the receiving host into believing the incoming message comes from a trusted host
Masquerade as a different host computer Common Site forgery filtering
Discard all messages that obviously contain forged addresses. Examine messages entering a site and discard any containing a source address belonging to the receiving site. Examine messages leaving the site and discard any containing a source address that doesn't belong to that site.

Message authentication
Use a cryptographic protocol like IPSEC's authentication mechanism to validate the source address and contents of messages exchanged on an untrustworthy network.

Secure RPC
Deploy Secure RPC service with NFS to provide cryptographic protection to its traffic

Random TCP sequencing
Ensure that TCP software generates truly unpredictable sequence numbers

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Authentication Token

Attack Security Problem Prevalence Defense
Network password sniffing
Monitor traffic on a network link, intercept any plaintext passwords seen, and exploit them
Masquerade as someone else Common Encoded password
Encrypt or hash a password when it must traverse a public or other untrustworthy network

One-time password token
Generates a new password for each attempt to log on. An attacker cannot log on by trying to intercept and reuse a password, since passwords only work once.

Exploit password equivalent
Intercept a hashed or otherwise encoded password and use in forged network messages where hashed, not typed, passwords are expected
Masquerade as someone else Common One-time password token
Generates a new password for each attempt to log on. An attacker cannot log on by trying to intercept and reuse a password, since passwords only work once.
Interception and replay
Intercept a one-time password and replay it while blocking the legitimate user from successfully logging on
Masquerade as someone else Sophisticated challenge-response one-time passwords
Use challenge-response one-time passwords instead of synchronous one-time passwords
IP hijacking
Intercept an established connection and reattach it to a program controlled by the attacker
Masquerade as someone else Common or Sophisticated Check the host OS integrity
Check the software components of the host OS to see if they have been modified to insert subverted software
Token theft
Steal the token belonging to an authorized user
Masquerade as someone else Physical PINs on tokens
Require the owner to enter a PIN before the token will generate a valid one-time password
PIN guessing
Steal a token and manually try every possible value for the token's PIN
Masquerade as someone else Trivial Lock-up after incorrect PINs entered
Disable the token after the user enters too many incorrect PINs, so that attackers can't find the PIN through exhaustive trial and error

Increasing delay for incorrect PINs
If the wrong PIN is entered, delay before accepting another attempt. Increase the length of delay with each incorrect PIN entered

PIN forms part of the token's base secret
Incorporate the PIN into the base secret so that the token will not contain the correct base secret unless the correct PIN is entered. Do not detect the wrong PIN at the token

Extract PIN from software token
Copy the victim's software token, analyze its contents to identify the encoded PIN, do brute force attack to determine the PIN value, then use it with the software token.
Masquerade as someone else Sophisticated PIN forms part of the token's base secret
Incorporate the PIN into the base secret so that the token will not contain the correct base secret unless the correct PIN is entered. Do not detect the wrong PIN at the token
Test PIN against intercepted passwords
Intercept several of the victim's one-time passwords, copy the victim's software token, extract the partial base secret encoded with the PIN, do brute force analysis to find a PIN that matches the generated passwords, then use the PIN
Masquerade as someone else Sophisticated One-time password token
Generates a new password for each attempt to log on. An attacker cannot log on by trying to intercept and reuse a password, since passwords only work once.

 

Subverted token administrator
Trusted person who programs tokens also programs extra tokens used for penetrating legitimate accounts
Masquerade as someone else Trivial Separation of duty in token programming procedure
Require the participation of two or more people in the process of programming and enabling tokens for authentication

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Response Passwords

Attack Security Problem Prevalence Defense
Trial-and-error attack on X9.9
Intercept several one-time passwords from an X9.9 user, crack the base secret using a DES cracker
Masquerade as someone else Physical and Sophisticated Use longer cryptographic keys
Replace existing technical measures with mechanism that use longer cryptographic keys so that they better resist trial-and0error attacks
Crack passwords in sections
Cracks the password in independent parts, so attack is linear by parts instead of geometric
Recover a user's password Common Interdependent hash computation
Every part of the password hash value depends on the value of every part of the password. There is no way to crack part of the password
Force use of plaintext password
Forces server to ask the user for a plaintext password so that it can be sniffed on the network
Recover a user's password Common Disable weaker authentication
Configure the system to forbid the use of weaker mechanisms provided for backward compatibility
Logged in hash substitution
Embed a stolen hash in the SAM database and subvert NT so that the user appears logged in
Masquerade as someone else Sophisticated N/A
Use LAN-MAIN hash to crack NT hash
Use password cracking software that exploits weaknesses of LAN-MAN hash to crack NT hashes
Recover a user's password Common Database encryption
Encrypt the entire password database so that attackers cannot attack the hashes
Copy hashes from NT recovery files
Extract password hashes from the NT recovery disk files and use a cracking program on them
Recover a user's password Trivial Same as above

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Indirect Authentication

Attack Security Problem Prevalence Defense
Forge access acceptance
Forge a message that accepts a bogus access request, masquerading as the authentication server
Masquerade as someone else Sophisticated Keyed hash incorporating nonce
Include a nonce when sending a message that needs a reply. After constructing the reply, computer a hash that combines the reply's text, the shared secret, and the nonce from the original message

Encrypted connection
Agent and authentication server establish a fully encrypted connection between themselves to protect access control messages

Convert reject into acceptance
Modify an access-rejection message from the authentication server to say access-accept
Masquerade as someone else Sophisticated Keyed hash incorporating nonce
Include a nonce when sending a message that needs a reply. After constructing the reply, computer a hash that combines the reply's text, the shared secret, and the nonce from the original message
Replay attack
Retrasmit a legitimate message to trick an agent into repeating its previous response
Forge a message Sophisticated Nonce in messages
Requests contain a random nonce, and legitimate messages incorporate the nonce into the response in a hard-to-forge way

Encryption incorporates nonce
Encryption and decryption of data in a transaction incorporates a nonce so that encrypted data can't be replayed in other, forged transactions

Keyed hash incorporating nonce
Include a nonce when sending a message that needs a reply. After constructing the reply, computer a hash that combines the reply's text, the shared secret, and the nonce from the original message

Sequence numbers for anti-replay
Insert a sequence number into every message and apply integrity protection. If two messages have the same sequence number, they are duplicates

Rewrite attack
Modify an encrypted message to approve an authentication query sent to a domain controller
Forge a message Sophisticated Keyed hash incorporating nonce
Include a nonce when sending a message that needs a reply. After constructing the reply, computer a hash that combines the reply's text, the shared secret, and the nonce from the original message
Duplicated streamcipher key-stream
Combine the encrypted data streams that used the some key and decode the result
Recover hidden information Sophisticated Generate unique encryption keys
Incorporate predefined constraints into the key-generation process to yield different secret keys for different purposes from the same initial secrets and nonces
Find keys in high entropy regions
Use entropy-measuring techniques to look for likely places in a computer where base secrets have been stored
Recover hidden information, like base secrets Sophisticated Steganography for keys
Encode random secrets so that there are no concentrated storage areas with high entropy

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Kerberos & Windows 2000

Attack Security Problem Prevalence Defense
KDC request spoof
Attacker intercepts a client's KDC request and returns a different set of shared keys whose value is known by the attacker
Recover or modify hidden information Common Nonce shared with KDC
A nonce is included in requests sent to the KDC and included in responses
Rekey replay
Attacker sends an earlier ticket to a server and then replays messages sent earlier by the client encrypted with that key
Masquerade as someone else Common Challenge response by server in KDC protocol
Server sends a use a challenge, which requires a response that depends on the user's encrypting data with the session key
Off-line cracking and replay
Attacker cracks a session key off-line and uses this knowledge to reuse that key's ticket
Masquerade as someone else Common Time stamps in KDC protocol
KDC messages include time-of-day information to detect attempts to reuse tickets later
Off-line master key crocking
Attacker requests tickets in the victim's name and uses them to brute force crack the victim's master key
Masquerade as someone else Sophisticated KDC preauthentication
User must provide personal authentication information when requesting a TGT
Forged time change
Attacker sends forged time of day messages to a sever so that expired tickets are valid
Masquerade as someone else Sophisticated Authenticated time messages
Messages that change a server's time of day must be authenticated

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Public Keys & Off-Line Authentication

Attack Security Problem Prevalence Defense
Shared key misuse for forgery
Secret key that was shared with a trusted party is used to forge a message
Masquerade as someone else Trivial Public key encryption
Use public key encryption that anyone can verify and associate with the owner of a specific private key
Factoring an RSA key
Factor the RSA composite and deduce the private key
Recover hidden information (RSA key) Sophisticated Significantly larger RSA key sizes
Generates RSA keys containing thousands of bits; certainly more than 1000 bits
Chosen message attack
Construct a message with a special mathematical structure. Victim signs it, and result can be transformed into one for a different message
Recover hidden information (RSA key) Common Hashed digital signature
Construct digital signatures by encrypting the result of a one-way hash.
Duress logon with private key
Attacker forces the owner of a private key to log on, then uses the established session.
Masquerade as someone else Physical and Sophisticated Duress signature
Construct a special form digital signature indicating that user is under duress

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Public Key Certificates

Attack Security Problem Prevalence Defense
Public key forgery
If a recipient accepts an unauthenticated public key, the attacker simply substitutes his own key for the right one.
Recover or modify hidden information Trivial Public key certificates
Publish the assignment of a given public key to a given owner, and sign this publication with a trustworthy digital signature
Man in the middle
Attacker substitutes own public key for another, and reencrypts messages between two entities.
Recover or modify hidden information Sophisticated Public key certificates
Publish the assignment of a given public key to a given owner, and sign this publication with a trustworthy digital signature
Bogus name on certificate
Attacker puts the victim's name on the application for a public key certificate
Masquerade as someone else Trivial Key ownership requirement
Issue certificates only to the person who owns the requested name
Substitute certificate
Attacker uses a legitimate certificate to implement SSL on a bogus site that is masquerading as a different site.
Masquerade as someone else Trivial Validate certificate's host name
Compare the name on the certificate against the name of the host computer on the SSL connection
Bogus certificate authority
Attacker uses a bogus certificate authority to create bogus certificates, and induces browsers to accept his authority key
Masquerade as someone else Common N/A
Exploit private key
Attacker relies on off-line authentication to exploit a stolen private key
Masquerade as someone else Software Certificate revocation list
Issue a periodic list of all certificates that have been revoked

On-line certificate revocation
Provide a mechanism to query an authority to verify that a given certificate has not been revoked.

Timely certification
Require that all certificates be issued recently, and provide a mechanism so that authorities can issue such certificates if the certificate has not been revoked.

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley

 

Private Key Security

Attack Security Problem Prevalence Defense
PGP passphrase cracking
Attacker uses a cracking program designed to attack PGP passphrases
Masquerade as someone else Common Private key on smart card
Store the private key on a smart card instead of in an encrypted file
Sniff a private key
Attacker inserts a sniffer program in the victim's system and sniffs the private key while in use
Masquerade as someone else Common Public key crypto functions on smart card
Store the private key on a smart card that provides crypto functions so that the private key never needs to leave the card
Steal a private key backup
Attacker steals a copy of the private key stored on a back-up diskette or other device
Masquerade as someone else Physical Private key created on smart card
Generate the private key on the smart card so that the key never exists outside of the smart card

Source "Authentication, from Passwords to Public keys" by Richard E Smith, Addison Wesley