NYCU-LYX

3-User Authentication

https://www.youtube.com/watch?v=Vk3M4mbaTjY&t=553s

3.1  Digital User Authentication Principles

A Model for Digital User Authentication

registration authority (RA) : 註冊機構 (trusted entity)

負責建立(establishes )和驗證(vouch保證)申請人對 CSP 的身份

credential service provider (CSP): 憑證服務提供商

與訂閱者進行交流

credential :

(憑證是一種數據結構,它將身份(identity)和其他屬性(additional attribute)與訂閱者(subscriber)擁有的 token 綁定在一起,並且可以在身份驗證交易(authentication transaction)中呈現給驗證者時進行驗證。)

Defined by NIST SP 800-63-2 (Electronic Authentication Guideline, August 2013)

註冊過程

  1. 申請人(applicant)向 RA 申請成為subscriber。

申請人向 RA 提交申請,包括個人信息、聯繫信息和其他相關信息。RA 驗證申請人的身份,並確保申請人符合 CSP 的註冊要求。

  1. RA 驗證申請人(applicant)的身份。

RA 可以通過多種方式驗證 applicant 的身份,例如要求申請人提供身份證明、進行面談或進行生物識別掃描。

  1. CSP 向 subscriber 發布電子憑證。

CSP 根據 RA 的驗證結果,向申請人發布電子憑證。憑證包含訂閱者的身份信息和其他屬性。

  1. 訂閱者使用憑證進行身份驗證。

訂閱者在需要身份驗證時,可以使用憑證向驗證者進行身份驗證。驗證者可以通過檢查憑證的有效性來驗證訂閱者的身份。

驗證過程:

  1. claimant 向verifier 提供身份驗證信息。

claimant可以通過多種方式提供身份驗證信息,例如輸入密碼、提供生物識別信息或使用令牌。

  1. verifier驗證claimant提供的身份驗證信息。
    1. claimant successfully demonstrates possession and control of a token to a verifier through an authentication protocol

verifier可以通過多種方式驗證claimant提供的身份驗證信息,例如檢查密碼是否匹配、驗證生物識別信息是否正確或檢查token是否有效。

  1. verifier向 Replying party 提供關於claimant身份的斷言(assertion)。

verifierReplying party提供關於claimant身份的assertion,包括claimant的身份信息和其他屬性。Replying party可以使用這些信息做出訪問控制(access control)或授權決定(authorization decision)。

Cornerstone: Credential and Token

Digital Identity Model

Means of Authentication

身份驗證可以用來驗證用戶的身份。有四種通用的身份驗證方法,可以單獨使用或組合使用:

Problem:

Solution: Multifactor authentication(多因子驗證)

Risk Assessment for User Authentication

Teacher doesn’t teach this section

3.2  Password-Based Authentication

The Vulnerability of Passwords

The Use of Hashed Passwords

login procedure__:

  1. user provides an ID and a password (see Figure 3.3b)
  2. OS uses the ID to index into the password file and retrieve the plaintext salt and the encrypted password.
  3. salt and user-supplied password are used as input to the encryption routine.
  4. If the result matches the stored value, the password is accepted.

Why Salt?

Two Threats to UNIX password scheme

UNIX Implementation

Old Implementation of UNIX Password Scheme

Improved Implementation of UNIX Password Scheme

Password Cracking of User-Chosen Passwords

Traditional Approach

Modern Approach

→ a data breach resulting in the exposure of over 32M plaintext passwords in 2009

Password File Access Control

Vulnerabilities

Password Selection Strategies

Proactive Password Checking

Can we use a hash function to address the issues?

A Bloom filter of order k consists of a set of k independent hash functions H_1(_x), H_2(_x), c , Hk(x)(k階Bloom filter由一組k個獨立的hash functions), where each function maps a password into a hash value in the range 0 to N - 1(其中每個函數將密碼映射到範圍為0到N- 1的哈希值).That is,

  1. A hash table of N bits is defined, with all bits initially set to 0. (定義一個N位哈希表,其中所有位最初都設置為0)
  2. For each password, its k hash values are calculated, and the corresponding bits in the hash table are set to 1. Thus, if Hi (Xj) = 67 for some (i, j), then the sixty-seventh bit of the hash table is set to 1; if the bit already has the value 1, it remains at 1.(對於每個密碼,計算其k個哈希值,並將哈希表中相應的位設置為1。因此,如果Hi(Xj) = 67對於某些(i, j),則哈希表的第六十七位設置為1;如果該位已經有值1,它將保持為1)

當向檢查器呈現新密碼時,會計算其k個哈希值。 如果哈希表的所有相應位都等於1,則密碼將被拒絕。字典中的所有密碼都將被拒絕。但是還有一些“誤報”(即,字典中不存在但會在哈希表中產生匹配的密碼)

用array記Hash value,hash rable越大 false positive機率越小

reference:

https://www.evanlin.com/BloomFilter/

https://medium.com/@Kadai/%E8%B3%87%E6%96%99%E7%B5%90%E6%A7%8B%E5%A4%A7%E4%BE%BF%E7%95%B6-bloom-filter-58b0320a346d

3.3  Token-Based Authentication

tokens : Objects that a user possesses for the purpose of user authentication

Memory Cards

Smart Cards

Smart Tokens

Smart Cards

typical interaction between a smart card and a reader or computer system.

Electronic Identify Cards

User Authentication with eID

  1. eID user visits a website and requests a service that requires authentication (1,2)
  2. Web site sends back a redirect message that forward an authentication request to an eID server (3,4)
  3. eID server requests that the user enter the PIN number for the eID card (5)
  4. correctly entered the PIN (6)
  5. authentication protocol exchange with the microprocessor on the eID card (7)
  6. Authentication results are sent back to the user system to be redirected to the Web server application (8,9,10)

Password Authenticated Connection Establishment (PACE)

3.4  Biometric Authentication

Physical Characteristics Used in Biometric Applications

Operation of a Biometric Authentication System

Biometric Accuracy

s>=t a match is assumed, and for s < t , a mismatch is assumed

Ideal Biometric Measurement operating characteristic curve.

Actual Biometric Measurement Operating Characteristic Curves

3.5  Remote User Authentication

Password Protocol

example :

  1. transmits his or her identity to the remote host
  2. host generates a random number r__, called a nonce
  3. returns (r, h(), f()) to user to be used in the response ➝ (h(), f() are host specifies)
  4. user’s response is the quantity f(r′, h(P′))r′ = r and P′ is the user’s password
  5. h(P(U)) ➝ host stores the hash function of each registered user’s password
  6. host compares the incoming f(r′, h(P′)) to the calculated f(r, h(P(U)))

Against:

  1. hash code of the password
  2. No hash of the password is transmitted directly ➝ function in which the password hash is one of the arguments.
  3. function f, the password hash cannot be captured during transmission.
  4. replay attack: the use of a random number as one of the arguments of f defends

Token Protocol

example :

  1. transmits his or her identity to the remote host
  2. host generates a random number r
  3. returns (r, h(), f()) to user to be used in the response ➝ (h(), f() are host specifies)
  4. user’s response is the quantity f(r′, h(W′))r′ = r and P' ➝ W' password to passcode via token
  5. hash registered user’s passcode
    1. static passcode : host stores the hash value Uh(W(U))
    2. dynamic passcode : host generates a one-time passcode Uh(W(U))
  6. host compares the incoming f(r′, h(W′)) to the calculated f(r, h(W(U)))

Static Biometric Protocol

Figure 3.13c is an example of a user authentication protocol using a static biometric. As before, the user transmits an ID to the host, which responds with a random num- ber r and, in this case, the identifier for an encryption E(). On the user side is a client system that controls a biometric device. The system generates a biometric template BT′ from the user’s biometric B′ and returns the ciphertext E(r′, D′, BT′), where D′ identifies this particular biometric device. The host decrypts the incoming message to recover the three transmitted parameters and compares these to locally stored values. For a match, the host must find r′ = r. Also, the matching score between BT′ and the stored template must exceed a predefined threshold. Finally, the host provides a simple authentication of the biometric capture device by comparing the incoming device ID to a list of registered devices at the host database.

Dynamic Biometric Protocol

Figure 3.13d is an example of a user authentication protocol using a dynamic biometric. The principal difference from the case of a stable biometric is that the host pro- vides a random sequence as well as a random number as a challenge. The sequence challenge is a sequence of numbers, characters, or words. The human user at the client end must then vocalize (speaker verification), type (keyboard dynamics verification), or write (handwriting verification) the sequence to generate a biometric signal BS′(x′). The client side encrypts the biometric signal and the random number. At the host side, the incoming message is decrypted. The incoming random number r′ must be an exact match to the random number that was originally used as a challenge (r). In addition, the host generates a comparison based on the incoming biometric signal BS′(x′), the stored template BT(U) for this user and the original signal x. If the comparison value exceeds a predefined threshold, the user is authenticated.

Figure 3.13d is an example of a user authentication protocol using a dynamic biometric. The principal difference from the case of a stable biometric is that the host pro- vides a random sequence as well as a random number as a challenge. The sequence challenge is a sequence of numbers, characters, or words. The human user at the client end must then vocalize (speaker verification), type (keyboard dynamics verification), or write (handwriting verification) the sequence to generate a biometric signal BS′(x′). The client side encrypts the biometric signal and the random number. At the host side, the incoming message is decrypted. The incoming random number r′ must be an exact match to the random number that was originally used as a challenge (r). In addition, the host generates a comparison based on the incoming biometric signal BS′(x′), the stored template BT(U) for this user and the original signal x. If the comparison value exceeds a predefined threshold, the user is authenticated.

3.6  Security Issues for User Authentication


3.7  Practical Application: An Iris Biometric System

Teacher doesn’t teach this section

3.8  Case Study: Security Problems for ATM Systems

Teacher doesn’t teach this section

3.9  Key Terms, Review Questions, and Problems

Here are the answers to your questions:

3.1 In general terms, what are four means of authenticating a user’s identity?

The four means of authenticating a user’s identity are:

3.2 List and briefly describe the principal threats to the secrecy of passwords.

The principal threats to the secrecy of passwords are:

3.3 What is the significance of a shadow password file?

A shadow password file is a file that stores the encrypted passwords of users. The shadow password file is not accessible to users, which makes it more difficult for attackers to steal passwords.

3.4 Explain how the proactive password checker approach can improve password security.

A proactive password checker is a tool that can be used to check passwords for strength and complexity. Proactive password checkers can help users to choose strong passwords and can also be used to identify and block weak passwords.

3.5 How can we classify the authentication protocols used with smart tokens?

Authentication protocols used with smart tokens can be classified into two main categories:

3.6 List and briefly describe the principal physical characteristics used for biometric identification.

The principal physical characteristics used for biometric identification are:

3.7 In the context of biometric user authentication, explain the terms, enrollment, verification, and identification.

3.8 How does remote user authentication differ from local authentication? Which one raised more security threats?

Remote user authentication is the process of authenticating a user over a network, such as the Internet. Local authentication is the process of authenticating a user on a local device, such as a computer or smartphone.

Remote user authentication raises more security threats than local authentication. This is because remote user authentication is more susceptible to attacks such as phishing and man-in-the-middle attacks.

3.9 What is a Trojan horse attack?

A Trojan horse attack is a type of malware that disguises itself as a legitimate program in order to trick users into installing it. Once installed, the Trojan horse can steal data, install other malware, or damage the user’s computer.

I hope this answers your questions. Please let me know if you have any other questions.