4학년 1학기 Information Security 수업을 듣고, User Authentication 이론에 대해 정리한 내용이다.
Electronic user authentication principles
RFC 4949
- user authentication in physical world → token based
- 주민등록증, 운전면허증
- difficult to make false → user authenticaiton in physical world is guranteed
- In digital world
- digital data → can be easily copied, invisible to be used because verification is very easily
- user authenticaiton 아주 필요함
- user authenticaiton is divided into 2 part
- “The process of verifying an identity claimed by or for a system entity”
- 1) claimed identity
- 2) verification of claimed id
- 2 부분으로 나뉨으로써, claimed id가 copy 되더라도 proof method를 어렵게 만들어 보안을 유지함
Authentication Process
- Identification step
- Presenting an identifier to the security system
- Verification step
- Presenting or generating authentication information that corroborates the binding between the entity and the identifier
- Fundamental building block and primary line of defense
- user가 server/service에 access하려면 authentication을 거쳐야 함
- Basis for access control and user accountability
- user가 authentication 하고 나면, user와 id가 mapped 됨
- every action performed by user can trace by using user id
- user accountability can be provided after user authentication
NIST SP 800-171: Identification and Authentication Security Requirements
- Basic Security Requirements
- Identify information system users, processes acting on behalf of users or devices
- 사용자, 사용자의 대리로 작동하는 프로세스, 또는 장치를 식별하여 조직의 정보 시스템에 접근하기 전에 이들의 신원을 확인할 수 있어야 함
- Authenticate the identities of those users, processes, or devices, as a prerequisite to allowing to organizational information systems
- 조직 정보 시스템에 접근을 허용하기 전에 그 사용자, 프로세스 또는 장치의 신원을 검증하기
- Derived Security Requirements
- User multifactor authentication for local and network access to privileged accounts and for network access to non-privileged accounts
- 보다 높은 보안 수준을 위해 다중 인증 방식을 도입
- Employ replay-resistant authentication mechanisms for network access to privileged and non-privileged accounts
- Prevent reuse of identifiers for a defined period
- Disable identifiers after a defined period of inactivity
- 일정 기간 동안 사용되지 않은 식별자는 자동으로 비활성화됨
- Enforce a minimum password complexity and change of characters when new passwords are created
- 새로운 비밀번호를 생성할 때 최소 비밀번호 복잡성 및 문자 변경 강제하기
- Prohibit password reuse for a specified number of generations
- Allow temporary password use for system logons with an immediate change to a permanent password
- 시스템 로그온에 임시 비밀번호 사용을 허용하되, 즉시 영구 비밀번호로 변경하기
- Store and transmit only cryptographicaaly-protected passwords
- Obscure feedback of authenticaiton information
- 인증 과정에서 정보 노출을 최소화하여 보안을 강화
A Model for Electronic User Authentication
보안이 중요한 온라인 서비스에서 사용자의 신원을 확인하고, 인증하는데 필요한 절차와 역할을 명확하게 설명함
1. Registration, credential issuance, and maintenance
- Subscriber/claimant: 서비스에 가입하고자 하는 사용자이자, 인증 과정 중 자신의 신원을 주장하는 사용자
- First, Registration authority(RA) need Identity proofing for user registration
- RA: 사용자 등록을 승인하고 관리하는 역할을 담당하는 기관
- After that, Registration confirmation is performed between RA and CSP
- CSP : 사용자의 자격 증명을 생성, 관리, 유효성 검사하는 서비스를 제공하는 기관
- Credential Service Provider send Token, credential Registration/issuance to Subscriber/claimant
- 등록, 자격 증명 발급 및 유지: 사용자의 등록을 확인하고, 인증에 필요한 자격 증명(비밀번호, 디지털 인증서 등)을 발급하며, 이를 유지 관리하는 과정
2. E-Authentication using Token and Credential
사용자가 서비스에 접근할 때 자격 증명(비밀번호, 디지털 인증서 등)과 토큰을 사용하여 자신의 신원을 인증하는 과정
- Token/credential Validation(CSP-Verifier)
- 제출된 토큰이나 자격 증명의 유효성을 확인하는 과정
- Verifer: entity to be used to verify the identity of user being accessed
- Authenticated Protocol Exchange(Subscriber/claimant-Verifier)
- 인증된 프로토콜 교환: 안전한 통신 채널을 통해 인증 데이터를 교환하는 과정
- Authenticated Assertion(RP-Verifier)
- RP: service that user wants to access after authentication
- Verifier은 RP에게 authenticaiton 완료되었음을 전달
- RP가 사용자의 인증을 확인하고, 이를 근거로 서비스를 제공하는 과정
- Authenticated session(RP-Subscriber/claimant)
- 사용자와 서비스 제공자 간의 인증된 통신 세션
- 이 세션 동안 사용자는 인증된 상태로 서비스를 이용할 수 있음

The four means of authenticating user identity
- Something the individual knows
- Password, PIN, answers to prearranged questions
- Something the individual possesses(token)
- Smartcard, electronic keycard, physical key
- Something the individual is (static biometrics)
- Fingerprint, retina, face
- Something the individual does (dynamic biometrics)
- Voice pattern, handwriting, typing rhythm
Assurance Level
- Classification of the each user authentication method
- Describes an organizaiton’s degree of certainty that a user has presented a credential that refers to his or her identity
- 조직이 사용자가 자신의 신원을 나타내는 증명서를 제시했다는 것에 대한 확신의 정도
- More specifically is defined as
- The degree of confidence in the vetting process used to establish the identity of the individual to whom the credential was issued
- 신원을 확립하는데 사용된 심사 과정에 대한 신뢰도
- The degree of confidence that the individual who uses the credential is the individual to whom the credential was issued
- 증명서를 사용하는 개인이 증명서가 발급된 개인과 동일한지에 대한 신뢰도
- Three separate level for Identity Assurance Level
- Level 1 : No need to link the applicant to a specific real-life identity
- 사용자가 실제 신원과 명확하게 연결된 필요가 없는 상황에 적용되며, 이 수준에서는 기본적인 인증 절차만 요구되며, 사용자 신원의 진위를 엄격하게 증명할 필요 없음
- ex) 사용자 이름과 비밀번호만으로 로그인하는 웹사이트
- Level 2 : Provides evidence for the claimed identity using either remote or physically-present identity proofing
- 원격 또는 직접 출석 신원 증명을 통해 주장된 신원에 대한 증거를 제공
- ex) 온라인 은행 서비스 에서 계좌를 생성할 때, 신분증 사본을 제출하거나 이메일 확인, 휴대폰 번호를 통한 OTP인증
- Level 3 : Requires physical presence for identity proofing
- 신원 증명을 위해 신체적 출석을 요구하는 가장 높은 수준의 신원 보증
- ex) 정부 발급 신분증을 받기 위한 관공서 방문, 생체 인증과 함 신분증 제시, 은행 지점에 직접 방문하여 신분증, 주소 증명 서류 제출
Password-based authentication
- Widely used line of defense against intruders
- User provides name/login and password
- System compares password with one stored for that specified login
- The user ID
- Determines that the user is authorized to access the system
- Determines the user’s privileges
- Is used in discretionary access control
Password Vulnerabilities
- Offline dictionary attack(오프라인 사전 공격)
- 해커가 사용자의 비밀번호 데이터베이스를 탈취한 후, 별도의 시스템에서 사전에 준비된 대량의 비밀번호 후보들을 사용하여 비밀번호를 추측하는 공격
- 이 공격은 네트워크 자원을 사용하지 않고 오프라인에서 이루어지기 때문에, 공격을 감지하기 어려움
- Specific account attack
- 해커가 특정 사용자 계정에 집중하여 비밀번호를 추측하거나 획득하는 방식
- Popular password attack
- 해커가 널리 사용되는 비밀번호를 시도하여 사용자 계정에 접근하는 방법
- Password guessing against single user
- 해커가 한 명의 사용자에 대해 개인정보를 기반으로 비밀번호를 추측하는 공격
- Workstation hijacking
- 해커가 사용자의 워크스테이션에 물리적 or 원격으로 접근하여, 사용자가 이미 로그인한 상태를 이용하는 방법
- Exploiting user mistakes(사용자 실수를 이용한 공격)
- 사용자가 비밀번호를 쉽게 추측할 수 있는 방식으로 설정하거나, 비밀번호를 공공장소에 적어두는 등의 실수를 이용하는 공격
- Exploiting multiple password use
- 많은 사용자들이 여러 서비스에서 동일한 비밀번호를 사용한다는 것을 이용
- 해커가 한 서비스에서 비밀번호를 획득하면, 같은 비밀번호를 사용하는 다른 모든 계정에 접근 가능
- Electronic monitoring
- key logging, network sniffing 등을 통해 사용자의 비밀번호 입력을 전자적으로 감시하고 기록하는 방식
- 이를 통해 해커는 직접적으로 비밀번호를 획득할 수 있음
Reasons for the persistent popularity of passwords
- Biometric authentication requires a special type of hardware in both client and server side if used for remote authentication
- Physical tokens are expensive and inconvenient to manage if # of tokens increases
The Use of Hashed Passwords
- Virtually all UNIX variants and other OSs employ it
- Salt is used to enhance security
- Salt was related to time info
- Now Salt is a totally random number
- salt가 있어야 hacker가 해킹하는 complexity가 exponentially하게 증가
- 등록 프로세스
- When user registers his or her password, the system first randomly generated salt
- Slow hash funtion을 거쳐 hash code를 password file에 저장
- Slow hash function 쓰는 이유
- hash function이 빠르면, hacker can try all possible salt and password
- 로그인 프로세스
- User provides id/password
- User ID를 password file에서 search
- 해당되는 row를 찾으면 extract salt and hash code
- Salt와 사용자가 제공한 Password를 Slow hash function에 입력하여 H(Salt||Password) = H’ 생성
- Hash code와 H’을 compare하여 같으면 인증 성공

UNIX Implementations
- Original scheme UNIX에서의 초기 패스워드 기반 인증 시스템은 다음과 같은 특징을 가지고 있음
- 패스워드 길이: Up to 8 printable characters in length(56-bit)
- 솔트 사용: 12-bit salt used to modify DES encryption into a one-way hash function
- 12-bit salt를 사용하여 DES 암호화 방식을 변형시켜 일방향 해시 함수로 사용함. 솔트는 동일한 패스워드라도 다른 해시 값을 생성하게 하여, dictionary attack 과 brute fore attack을 어렵게 만듦
- Zero value repeatedly encrypted 25 times
- 초기 값인 ‘0’을 25번 반복하여 암호화. 이 과정은 해시 생성을 위한 시간을 늘려, 공격자가 해시 값을 추측하기 어렵게 만듦
- Output translated to 11 charcter sequence
- 생성된 해시 값은 11자리 문자열로 변환되어 저장
- Now regarded as inadequate 이런 초기 구현 방식은 현재로서 불충분한 보안 수준을 제공한다고 여겨짐.
- 이유
- 최대 8자리의 패스워드는 현대의 컴퓨팅 파워로 쉽게 깨질 수 있음. 이는 패스워드의 복잡성을 심각하게 제한
- 솔트 크기: 12비트의 솔트는 충분한 변형을 제공하지 못함
- Still often required for compatibility with existing account management software or multivendor environments
- 그래도, 기존의 계정 관리 소프트웨어나 다양한 벤더 환경과의 호환성을 위해 여전히 초기 방식이 요구되는 경우가 있음
Improved Implementations
UNIX에서의 초기 패스워드 기반 인증 시스템의 보안 취약점을 해결하고, 현대적인 보안 요구사항을 총족시키기 위해 제안된 내용들
- Much stronger hash/salt schemes available for UNIX
- UNIX 시스템에 사용 가능한 훨씬 강력한 hash/salt 체계
- Recommended hash function is based on MD5
- Salt of up to 48-bits
- Password length is unlimited
- Produces 128-bit hash
- Uses an inner loop with 1000 iterations to achieve slowdown
- OpenBSD uses Blowfish block cipher based hash algorithm called Bcrypt
- More secure version of Unix hash/salt scheme
- Uses 128-bit salt to create 192-bit hash value
- Various hash algorithms are used in Linux variant OS now
- SHA-256, SHA-512
- Long salt is possible
Password Cracking of User-Chosen Passwords
사용자가 설정한 비밀번호를 무단으로 발견하거나 해독하려는 시도
- Traditional approaches
- Dictionary attacks
- Develop a large dictionary of possible passwords and try each against the password file
- 가능한 비밀번호의 큰 사전을 개발하고, 이를 비밀번호 파일에 하나씩 시도
- Each password must be hashed using each salt value and then compared to stored hash values
- 각 비밀번호는 모든 솔트 값에 대해 해시되어야 하며, 그 후 저장된 해시 값과 비교됨
- Rainbow table attacks
- Pre-compute tables of hash values for all salts
- 모든 솔트 값에 대한 해시 값의 사전 계산 테이블을 만듦
- A mammoth table of hash values
- Can be countered by using a sufficiently large salt value and a sufficiently large hash length
- 충분히 큰 솔트 값과 충분히 긴 해시 길이를 사용함으로써 방어할 수 있음
- Password crackers exploit the fact that people choose easily guessable passwords
- Shorter password lengths are also easier to crack
- John the Ripper
- open-source password cracker first developed in 1996
- Uses a combination of brute-force and dictionary techniques
- 무작위 대입(brute-force)과 사전 기법의 조합을 사용
- Modern Approaches
- Complex password policy
- forcing users to pick stronger passwords
- Unfortunately, password vulnerabilities are not lessened, but the attackers have increased their capabilities → 비밀번호의 취약성은 줄어들지 않았지만, 공격자의 능력은 증가
- The processing capacity available for password cracking has increased dramatically
- Modern PC’s computation power - Pricey supercomputers in 10 years ago
- The use of sophisticated algorithms to generate potential passwords
- Password quessing using natural language processing and markovchain
- 자연어 처리와 마르코프 체인을 사용한 비밀번호 추측
- Studying examples and structures of actual passwords in use
- RockYou.com exposed 32 millions of user’s information and passwords
- 10^14를 수행하니 50%의 학생 비밀번호를 guess하게됨
Password File Access Control
- Can block offline guessing attacks by denying access to encrypted passwords
- Make available only to privileged users
- Shadow password file
- 하지만, Password file access control를 completely acheived 하는건 다음 Vulnerabilities 때문에 어려움
- Weakness in the OS that allows access to the file
- Accident with permissions making it readable
- Users with same password on other systems
- Access from backup media
- Sniff passwords in network traffic
Password Selection Strategies
- User education
- Computer generated passwords
- Reactive password checking
- Complex password policy
Proactive Password Checking
- 첫번째 approach: Rule enforcement
- Check chosen password allowable or not
- Specific rules that passwords must adhere to
- 두번째 approach: Password cracker
- Compile a large dictonary of passwords not to use
- 세번째 approach: Bloom filter
- Used to build a table based on dictionary using hashes
- Check desired password against this table
Bloom filter
- A technique for developing an deffective proactive password checker
- save weak password in efficient manner
- Initialization phase
- Create hash tables for (bad pass)words in dictionary
- 비트맵의 크기와 사용할 해시 함수의 수 정하기
- Insert phase
- bloom filter에 요소를 추가할 때, 여러 개의 독립적인 해시 함수를 사용하여 해당 요소에 대한 여러 해시 값을 계산하여 필터 크기 범위 내의 여러 인덱스로 매핑
- 해시 함수의 output은 [0,N-1] 범위의 integer
- H1(’I’), H2(’I’), H3(’I) 이렇게 하나씩 다 계산
- bitmap은 계산된 각 해시 값에 해당하는 비트맵의 위치를 1로 설정
- 모든 요소에 대해 다 끝나면, keep the bits set

- Query phase
- 요소의 존재 여부 확인
- 동일한 해시 함수를 사용하여 여러 인덱스를 계산하고, 이 인덱스에 해당하는 비트가 모두 1인지 확인
- Password is rejected only when it matches all hash functions
- Bloom filter의 단점 → False positive can occur
- False positive probability analysis
- k가 증가하면, p는 감소 → resource와 performance의 trade-off 구조
Token-based authentication
Types of Cards Used as Tokens
- Token?
- Objects that a user possesses for the purpose of user authentication
- Embossed
- Defining Feature
- Raised characters only, on front
- Example
- Magnetic stripe
- Defining Feature
- Magnetic bar on back, characters on front
- Example
- Memory Cards
- Defining Feature
- Electronic memory inside
- can store but do not process data
- The most common is the magnetic stripe card and can include an internal electronic memory
- Can be used alone for physical access
- ex) Hotel room, ATM/Gift card
- Provides significantly greater security when combined with a password or PIN
- Drawbacks of memory cards
- Requires a special reader
- Loss of token
- User dissatisfaction
- Example
- Smart Cards
-
Defining Feature
- Electronic memory and processor inside
- Electrical contacts exposed on surface
- Radio antenna embedded inside
-
Example
- Biometric ID card, Credit card
-
Physical characteristics
- Include an embedded microprocessor
- A smart token that looks like a bank card
- Can look like calculators, keys, small protable objects
-
Interface
- Manual interfaces include a keypad and display for interaction
- 수동 인터페이스에는 상호작용을 위한 키패드와 디스플레이 포함
- Electronic interfaces communicate with a compatible reader
- Contant and contactless interfaces
-
Most important category of smart token
- has the appearance of a credit card
- has an electronic interface
- May use any of the smart token protocols
-
An entire microprocessor contain
- Processor
- Memory
- Typically include three types of memory
- Read-only memory (ROM) : Stores data that does not change during the card’s life
- Electrically erasable programmable ROM (EEPROM) : Holds application data and programs
- Random access memory (RAM) : Holds temporary data generated when applications are executed
- I/O ports
-
Authentication protocol
- Classified into three categories
- Static : 고정된 데이터나 값을 이용하여 인증을 수행. 예를 들어, 사용자가 스마트 카드에 저장된 고유 식별 번호나 비밀번호를 입력해야하는 경우에 해당됨. 이 방법의 주요 단점은 고정된 정보가 노출되거나 도난 당할 경우 보안이 쉽게 위협받을 수 있다는 것
- Dynamic password generator → token generates a unique passwords periodically
- 일정 시간마다, 또는 특정 이벤트가 발생할 때마다 새로운 비밀번호를 생성
- 사용자는 이렇게 생성된 일회용 비밀번호를 사용하여 인증을 수행하게 되며, 이는 보안성을 크게 향상시킴
- Challenge-response
- 인증을 요청하는 시스템이 스마트 카드에게 챌린지 제시
- 스마트 카드는 챌린지에 대한 응답을 생성하고 이를 시스템에 전달
- 시스템은 이 응답을 검증하여 사용자의 인증을 완료
-
Smart Cards/Reader Exchange

a. Smart card가 Card reader에 연결됨 → Smart Card Activation
b. Card reader send data Answer to reset
c. Smart card answer what types of protocols are possible for authenticaiton
d. Card reaser send negotiation information what types of protocol would be used for authenticaiton
e. 프로토콜 협상이 끝나고 나면, APDU 형식으로 Command와 Response가 오고가기 시작함
f. 모든 필요한 데이터 교환이 완료되고, 리더와 카드 간의 상호작용이 끝나면 세션을 종료 → End of Session
Electronic Identity Cards (eID)
- Use of a smart card as national identity card for citizens
- Can serve the same purposes as other national ID cards, and similar cards such as a driver’s license, for access to government and commercial services
- Can provide stronger proof of identity and can be used in a wider variety of applications
- In effect, is a smart card that has been verified by the national government as valid and authentic
- Most advanced deployment is the German card neuer Personalausweis
- has human-readable data printed on its surface
- Personal data, Document number, Card access number(CAN), Machine readable zone(MRZ)
Password Authenticated Connection Establishment (PACE)
- Ensures that the contactless RF chip in the eID card cannot be read without explicit access control
- 전자신분증(eID) 카드의 무선 주파수(RF)칩이 명시적인 접근 제어 없이는 읽히지 않도록 보장하는 기술로 PACE는 카드와 리더기 사이의 안전한 통신 채널을 수립함으로써, 신분증 정보의 무단 접근 및 도용을 방지하는 데 중요한 역할을 함
- For online applications, access is established the 6-digit PIN
- For offline applications either the MRZ printed on the back of the card or the six-digit card access number(CAN) printed on the front is used
Electronic Functions and data for eID Cards
- Function 1. ePass(mandatory)
- Purpose : Authorized offline inspection systems read the data(권한이 부여된 오프라인 검사 시스템이 데이터를 읽을 수 있도록 설계되었음)
- PACE Password: CAN or MRZ
- Data(데이터는 개인의 신원을 확인하는데 사용됨): Face image, two finger print images(optional), MRZ data
- Uses: Offline biometric identity verification reserved for government access
eID with User Authentication - Web server scenario

Hardware Authentication Tokens
보안 인증을 제공하기 위해 물리적 장치를 사용하는 기술
- One-time Password(OTP) device
- has a secret key to generate on OTP
- User enters the OTP and the system validates the value entered
- Uses a block cipher/hash funtion to combine secret key and time or nonce value(난수) to create OTP
- Has a tamper-resistant module(변조방지모듈) for secure storage of the secret key
- Time-based one-time password(TOTP)
- Uses HMAC with a hash function
- Used in many hardware tokens and by many mobile authenticator apps
- Password is computed from the current Unix format time value(현재 Unix 형식 시간 값)
- Systmes using time based OTP neeed to allow for clock drift between token and verifying system
- 시간 기반 OTP를 사용하는 시스템은 토큰과 검증 시스템 사이의 시계 오차를 허용해야
- Disadvantage: any other person can see the code
- Alternative: use of a communications link
- Single-factor vs. multifactor:
- Single-factor: provides authentication service with just one factor
- Multifactor: provides authentication service after a local authentication step
FIDO2 (FIDO)
- Includes “WebAuthn” standard and “Client to Authenticator Protocol 2 (CTAP2)”
- CTAP: 외부장치를 이용한 인증방식에 사용하는 프로토콜
- Uses a user agent as an intermediary between authenticator and authenticating service
- Prominent members: Google and Microsoft
-
Registration
사용자가 웹사이트나 온라인 서비스에 자신의 FIDO2호환 장치(스마트폰)을 사용하여 등록하고 인증할 수 있게 해주는 프로세스
- Sign-on begins
- User sign on using their selected authenticaiton method
- User’s device selects appropriate private key and signs the challenge
- The device sends the signed challenge back to the online service
- The online service verifies the challenge with the public key
- User can access the online service
- Authentication
- Sign-on begins 사용자가 온라인 서비스에 로그인 시작
- Users sign on using a username and password 자신의 이름과 비밀번호를 입력하여 초기 인증 단계를 진행
- The online service sends a challenge to the registered security device
- 온라인 서비스는 사용자가 등록한 FIDO2 호환 보안 장치로부터 챌린지(난수로 구성된 검증 요청)를 전송
- The security device activates, signs and sends back the challenge
- 보안 장치가 활성화되고, 사용자의 동의(ex: 지문인식, PIN 입력)를 받아 챌린지에 서명. 이 서명 과정은 사용자의 private key를 사용하여 진행됨
- The online service verifies the signed challenge
- 보안 장치로부터 전송받은 서명된 챌린지를 온라인 서비스가 검증. 이는 사용자의 public key를 사용하여 진행됨
- User accesses the online service
Authentication Using a Mobile Phone
- Authentication code via message
- One of the simplest authentication approaches
- Used for banking, government service access 등
- No need to have any additional app on the phone
- Disadvantage
- Requires mobile coverage to receive SMS
- When mobile phone is lost or stolen, user will lose access or an attacker might gain access
- Attackers might use a SIM swap attack
- Attacker might also intercept messages using either a fake mobile tower, or by attacking SS7 signaling protocol
- Mobile authentication apps
- Implements a one-time password generator
- Implements the “Time-based one-time password(TOTP)” algorithm
- Does not require a network connection
- Can be used with multiple accounts
- More secure than authentiction code
- Disadvantages
- Phone might be lost or stolen
- Attacker might compromise by installing malware
- Attacker might convince the user to reveal secret code
Biometric authentication
- Attempts to authenticate an individual based on unique physical characteristics
- Based on pattern recognition
- Is technically complex and expensive when compated to passwords and tokens
- Physical characteristics used include
- Facial characteristics, Fingerprints, Hand geometry, Retinal pattern, Iris, Signature, Voice
- Cost vs Accuracy of Various Biometric Characterisitics

Generic Biometric Authenticaiton Systems
- Enrollment
- Biometric sensor로 생체정보를 인식하고 Feature extractor로 feature를 추출하여 이를 Biometric database에 저장
- Enrollment creates an association betwenn a user and the user’s biometric characteristics

- Verification
- user need to provide id
- By biometric sensor, user’s biometric information should be given to server
- Feature is extracted by Feature extractor
- Extracted feature is compared with the one saved in biometric database by Feature matcher
- Feature matcher returns true when they are same

- Identification
- can be used as generating id of a user
- 사용자의 생체정보 특징을 추출하여, Biometric database에 저장된 여러 생체 특징 정보 중 일치하는 데이터가 있는지 확인
- 일치하는 생체 정보가 데이터베이스에서 발견되면, 시스템은 해당 user’s identity를 확인하고 사용자에게 알림

💡 Profiles of a Biometric Characteristic of an Imposter and an Authorized Users
- 생체 인식 특성을 통해 사용자를 인증하는 시스템에서는, Profile of genuine user와 Imposter profile을 구분하는 것이 중요함.
- 각각의 Matching score의 분포는 Probability Density Funtion을 통해 시각화됨
- imposter profile
- 시스템을 속이려는 개인의 매칭 점수 분포
- 이 분포는 일반적으로 낮은 매칭 점수 중심으로 형성
- Profile of Genuine User
- 인증된 사용자의 매칭 점수 분포
- 일반적으로 높은 매칭 점수 중심으로 형성됨
- Decision threshold에 따라 False nonmatch possible 확률과 False match possible 확률이 달라짐
- t가 높으면 False nonmatch 확률이 증가하면서 False match 확률이 감소
- t가 낮으면 False nonmatch 확률이 감소하면서, False match 확률이 증가
💡 security가 more import 하면, 오른쪽으로 임계점을 이동하고, easy of use가 more important하면, 왼쪽으로 임계점을 이동할 것!

Idealied Biometric Measurement Operating Characteristic Curve (log-log scale)
- false nonmatch rate: probability that authorized user cannot pass the authentication
- false match rate: probability that malicious user can pass the authentication
- both small하려면, threshold를 middle에 둘 것
- 원점에 가까워 지려면 어떻게 해야할 꾸

Actual Biometric Measurement Operation Characteristic Curves

Remote user authentication
- Authentication over a network, the Internet, or a communications link is more complex
- Additional security threats such as
- Eavesdropping, capturing a password, replaying an authentication sequence that has been observed
- Generally rely on some form of a challenge-response protocol to counter threats
Basic Challenge-Response Protocols for Remote User Authentication
→ Challenge-Response 포로토콜은 랜덤 번호의 사용으로 인해 리플레이 공격에 대한 저항력을 갖음
- Protocol for a password
- Client는 Host에 인증을 요청
- Host sends random challenge(r) and two hash functions(h(), f()) to Client
- Client Response
- 클라이언트는 받은 랜덤 번호 r과 사용자의 비밀번호 P’를 기반으로 해시 함수 h()를 이용해 h(P’))를 계산
- 임시 랜덤 번호(r’)를 생성하여 f(r’, h(P’))를 계산하여 Host에 전송
- Host- Response 검증
- 호스트는 자신이 보낸 원래의 랜덤 번호(r)과 사용자 U의 비밀번호 P(U)에 대한 해시값 h(P(U))를 사용하여 f(r, h(P(U)))를 게산
- 클라이언트로부터 받은 f(r’, h(P’))과 f(r, h(P(U)))를 비교하여 두 값이 일치하면, 인증 성공, 다르다면, 인증 실패

- Protocol for a token
- 클라이언트→호스트: 클라이언트가 호스트에게 인증을 요청
- 호스트→클라이언트: 호스트는 클라리언트에게 랜덤 숫자(r), 해시함수 h(), f()를 보냄
- 클라이언트
- password changed into certain unknow random sequence W’ which is passcode
- f(r’, h(W’))를 계산하여 Host에게 보냄
- 호스트 검증
- 호스트는 클라이언트로부터 받은 r’과 자신이 데이터베이스에 저장한 사용자(U)의 해시된 비밀번호 (h(W(U)))를 사용하여 (f(r, h(W(U))))를 계산합니다. 호스트는 이 값을 클라이언트로부터 받은 (f(r', h(W')))와 비교
- 만약 (f(r', h(W')) = f(r, h(W(U))))라면, 호스트는 사용자를 성공적으로 인증한 것으로 간주

- Protocol for static biometric
- 사용자의 인증 요청
- biometric의 경우 해시 함수가 아닌, encryption function이 전달되며, 랜덤 숫자 r과 E() 함수 전송
- 사용자 U는 생체 인식 장치 D’를 사용하여 자신의 생체 정보 B’를 취득함. 그런 다음, 장치는 r과 B’를 이용하여 E(r’, D’, BT’)를 계산하여 전송
- 데이터 복호화 및 검증
- Host 는 E(r’, D’, BT’)를 복호화 하여, r’, D’, BT’를 얻음
- r’=r, D’=D, BT’= BT(U)와 일치하는지 확인

Security issues for user authetication
Authentication Security Issues
- Host attacks
- Directed at the user file at the host where passwords, token passcodes, or biometric templates are stored
- Replay
- Adversary repeats a previously captured user response
- 공격자가 이전에 포착한 사용자 응답을 반복하여 사용하는 방식으로, 예를 들어 네트워크를 통해 전송된 인증 토큰을 포착하고, 이를 재사용하여 시스템에 무단으로 접근할 수 있음
- Client Attacks
- Adversary attempts to achieve user authentication without access to the remote host or the intervening communications path
- 원격 호스트나 중간 통신 경로에 접근하지 않고도 사용자 인증을 달성하려는 시도
- Trojan Horse
- An application or physical device masquerades as an authentic application or device for the purpose of capturing a user password, passcode, or biometric
- 정품 애플리케이션이나 장치로 가장하여 사용자의 비밀번호, 패스코드 또는 생체 정보를 캡쳐하는 애플리케이션 또는 물리적 장치
- Denial of service
- Attempts to disable a user authentication service by flooding the service with numerous authentication with numerous authentication attempts
- 수많은 인증 시도를 통해 사용자 인증 서비스를 비활성화하려는 시도. 이 공격은 시스템의 정상적인 인증 과정을 방해하여 서비스 이용을 불가능하게 만듬
- Eavesdropping
- Adversary attempts to learn the password by some sort of attack that involves the physical proximity of user and adversary
- 공격자가 사용자와 물리적으로 가까운 위치에서 비밀번호를 학습하려는 공격
- 예를 들어, 공개된 네트워크에서 트래픽을 도청하여 인증 정보를 포착할 수 있음
Practical applications/Case Study
A Border Control System at UAE
- Purpose
- To prevent expelled persons to re-enter the country
- Traditional methods based on the information in passports did not work well
- Requirements
- Identify a single person from a large population of people
- Rely on a biometric feature that does not change over time and can be acquired quickly
- Easy to use, Safe, non-invasive
- Real-time response
- Scale into billions of comparisons
- Affordable