Authentication & Authorization
Authentication (AuthN)
- 로그인과 같이 사용자 또는 프로세스의 신원을 확인하는 프로세스
- Authentication Factors
- 지식기반 : pw, 주민번호, 사번
- 소유기반 : otp, sms, 인증서
- 속성기반 : 지문, 홍체
- Multifactor Authenticate : 동일 기반의 factor 의 두 가지 인증은 Two Factor 인증이 아님
- Authentication Techniques
- 비밀번호 기반 인증
- 비밀번호없는 인증
- 2FA, MFA
- SSO
- Social Authentication
- API Authentication
- 생체인증
Authorization (AuthZ)
- 시스템 리소스에 대한 액세스 수준을 결정하는 데 사용되는 보안 메커니즘
- Authorization Technique : JSON 웹 토큰, SAML, OpenID 권한 부여, 0Auth
- Authorization Techniques
- API Key
- HMAC
- JWT/JSON Web Token
- SAML
- OPEN ID
- OAuth
AES
- AES-ECB : 크게 보면 값의 형태가 보인다.
- AES-CBC : iv 를 사용한다
- AES-GCM : ruby 에서 까다로워 보였다
- AES-128, 192, 256 모두 블록 사이즈는 128 이다.
PKI (Public key infrastructure)
- X.509 : 인증서 표준규격, 인증서 생성과 교환에 사용
- PKC : 공개 키 인증서(public-key certificate)
- CA : 인증기관(certification authority, certifying authority)
- PKCS : Public-Key Cryptography Standards
- PKCS7 : 자바 지원을 위한 포맷
- PKCS12 : PEM 과 유사, MS 에서 제공
- DER : PEM 의 바이너리 타입,
- PEM : RFC 가 관리, BASE64 인코딩
TLS
Handshake
- 프로토콜, 알고리즘, 인증서 교환, 비밀키
- 사용할 프로토콜 버전에 동의.
- 암호화 알고리즘 선택.
- 디지털 인증서 교환하고 유효성 검사하여 서로 인증.
- 비대칭 암호화 기술을 사용하여 공유 비밀키를 생성. 그런 다음 SSL 또는 TLS는 공유키를 사용하여 메세지를 대칭 암호화 방식으로 암호화.
https://wangin9.tistory.com/entry/브라우저에-URL-입력-후-일어나는-일들-5TLSSSL-Handshake
TLS Handshake 분석 Wireshark
https://chp747.tistory.com/155