일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Unreal Engine
- MAC
- 보안
- 언리얼 엔진
- stride
- 언리얼엔진
- listen server
- animation
- 게임 개발
- Replication
- gameplay effect
- gas
- nanite
- Multiplay
- photon fusion2
- CTF
- map design
- UI
- gameplay ability system
- 게임개발
- gameplay tag
- unity
- rpc
- os
- attribute
- network object pooling
- Aegis
- ability task
- 유니티
- local prediction
- Today
- Total
Replicated
사용자 인증 (Authentication) 본문
인증이란?
- 사이버 보안에서 인증: 사용자 또는 시스템의 신원을 확인하는 프로세스, 가장 기본적이고 중요한 요소
- 일반적으로 비밀번호, 하드웨어 토큰 사용
인증 방식 분류
지식 기반 인증(Something you know)
- 비밀번호, PIN, 보안 질문
- 유출 위험
- 안전한 비밀번호 정책 필요
소유 기반 인증(Something you have)
- OTP(One Time Password)
- 보안카드, USB 보안키 등
- 부수적인 물리적 장치 이용, 상대적 안전
생체 기반 인증(Something you are)
- 지문, 홍채, 안면, 음성
- 편리, 위조 어려움
- 구축 비용, 오인식 가능성
OTP(One Time Password)
- 일반 비밀번호의 취약성?
- 유출 시 재사용 가능
- 키 로깅, 브루트 포스 공격에 취약
- 일반적인 비밀번호의 보안 취약성 강화 목적으로 사용되는 일회성 비밀번호
- 매번 새로운 비밀번호를 생성, 재사용 불가하여 보안성 높음
TOTP(Time based OTP)
- 공유된 시드, 타임 기반으로 동작
HOTP
- 공유된 시드, 이벤트(counter)기반 동작
TOTP | HOTP | |
생성 방법 | 생성 시간에 따라 일회용 비밀번호 생성 비밀번호는 일반적으로 30초마다 정기적으로 변경 |
카운터 값을 이용해 일회용 비밀번호를 생성 인증 시도 시 카운터를 증가 |
시간 의존성 | 시간에 민감. 생성된 비밀번호는 일정 시간 후 폐기됨 | 시간에 민감하지 않음. 생성된 비밀번호는 시간의 영향을 받지 않음 |
편의성 | 정해진 짧은 시간 내에 생성된 코드를 입력해야 함 | 생성된 코드의 만료 시간이 없어 상대적으로 편의성 높음 |
보안성 | 상대적으로 보안성이 높음 | 시간적 민감성이 부족하여 재사용 공격같은 특정 취약성에 노출 가능성이 있음 |
- 일반적으로 TOTP를 사용함
- 공유된 정보와 시간 정보를 이용하여 HMAC 값 생성, Truncate 함수를 사용 -> One Time Password 생성
* Truncate 함수: 해시 값을 사용자가 입력하기 쉬운 짧은 값으로 변환하는 함수
FIDO(Fast Identity Online)
- 온라인 인증을 보다 안전하고 편리하게 만들기 위한 개방형 인증 표준
- 생체인증, PIN, 물리적 보안 키
- 개인 인증 정보가 서버에 저장되지 않고 사용자의 기기에만 저장
- 다양한 생체 인증 방식과 통합 가능
FIDO 인증 종류
FIDO UAF(Universal Authentication Framework)
- 생체 또는 기타 고유한 특성을 이용한 사용자 인증 프로토콜 표준
FIDO U2F(Universal 2nd Factor)
- 사용자 비밀번호와 함께 사용되는 2Factor 인증 프로토콜 표준
FIDO2
- Web Authentication을 이용한 브라우저와 운영체제 수준에서 생체 인증 지원
- CTAP(Client to Authenticator Protocol): 클라이언트와 인증 장치 간 통신 프로토콜
등록 시 지문 등 방식을 선택하고 자체적으로 공개키/개인키 생성
공개키는 게시하고, 개인키는 생체 정보로 개인키를 암/복호화 함
MFA(Multi-Factor Authentication)
- 2가지 이상의 서로 다른 인증 요소를 이용
- 2FA가 대표적
- SMS/문자 기반 인증
- 인증 앱 기반(TOTP): Google Authenticator, MS Authenticator 등
- Push 알림 기반
- 생체 인증
지식 + 소유 + 생체 섞는게 제일 좋고
꼭 섞지 않아도 멀티 팩터일 수는 있음
SSO(Single Sign On)
- 한번의 로그인 -> 여러 시스템이나 서비스에 접근 가능
- 한번만 인증 정보 입력하면 추가적인 로그인 안해도 허가된 모든 시스템 사용 가능
- 사용자 편의성 증가
- 여러 계정 정보를 기억할 필요 없고 반복적인 로그인도 필요 없음
- IT 관리 효율성 및 보안성 증가
- 계정 관리의 중앙화 및 사용자 접근 권한 관리와 감사가 용이
- 중앙화된 인증 시스템을 통해 일관된 보안 정책 적용
OAuth
- 인증(Authentication)과 인가(Authorization)를 제공하는 개방형 표준 프로토콜
- OAuth 2.0이 표준
- 사용자가 비밀번호 공유 안해도 자신의 정보에 대한 접근 권한을 다른 어플리케이션에 제공
- 소셜 로그인 기반
- 사용자(개인정보 소유자)
- 서비스 제공 서버(리소스 서버와 연동)
- 권한 부여 서버(IDP, ID Provider == 인가 서버)
- 리소스 서버(사용자 개인 정보를 소유한 서버)
인증 -> 권한 인가 -> 자원 접근 세 단계
'소프트웨어 보안개발방법론' 카테고리의 다른 글
대표적인 사이버 공격 (0) | 2025.04.20 |
---|---|
Cyber Attack (0) | 2025.04.20 |
OpenSSL (0) | 2025.04.19 |
검증필 암호 모듈 (0) | 2025.04.19 |
IPsec VPN 보안 통신, TLS, PQC (0) | 2025.04.19 |