진행방식
- 먼저
키워드
를 설정을 합니다.
- 해당 키워드 별로 자유롭게 이야기를 하면서 내용을 채워가고 그 과정에서 수정, 추가, 삭제
- 모든 키워드를 작성한 뒤에 다시 훑어보면서 검증?
키워드
- 전송레이어 보안
- TLS(Transport Layer Security)
- 우리가 흔히 알고 있는 SSL이다. SSL이란 용어가 더 많이 쓰이는 데 SSL3.0부터 TLS라는 이름으로 변경되었다.
- HTTPS(Hyper Text Transfer Protocol Secure) : HTTP 프로토콜의 암호화버전. 클라이언트와 서버가 주고받는 모든 데이터는 암호화가 되어야 하는데, 이를 위해 SSL(Secure Sockets Layer)를 사용한다. HTTPS와 TLS는 다르다. TLS 위에 HTTP 프로토콜을 얹어 보안된 HTTP 통신을 하는 프로토콜
- SSL 암호화를 위해서는 SSL 인증서가 필요하다.


- FilterChainProxy 를 구성하는 Filter들

- 대칭키 vs 비대칭키
대칭키 암호화

- 암호화할 때와 복호화 할때의 키가 서로 같다
- 내부구조가 간단하여 연산 속도가 빠르다는 장점이 있다.
- 대용량의 데이터를 전송하는데 사용된다.
- 송수신자간 동일한 키를 공유해야 하므로 키관리의 어려움이 있다.
- 개인키만 알아내면 암호화된 내용을 해독할 수 있으므로 보안에 취약할 수 있다.
- 대표적으로 RC4, AES, DES, QUAD 등이 있다.
비대칭키 암호화

- 암호화할 때와 복호화 할 때의 키가 서로 다르다 ( 공개키, 개인키 )
- 개인키로 암호화, 공개키로 복호화
- 데이터 보안 보다는 안전한 전자서명을 통한 인증 과정에 중점을 둔 것
- 공개키로 암호화, 개인키로 복호화
- 데이터 보안에 중점을 둔것
- 대표적으로 RSA, 디피-헬만(Elgamal), 타원곡선 등이 있다.
- Remember-Me란?
- 세션이 만료되거나 종료된 후에도 서버에서 클라이언트의 인증 유무를 기억하는 기능
- UserDetails와 Authentication 차이
- UserDetails : 이름, 이메일, 전화번호와 같은 사용자 프로파일 정보를 저장하기 위한 용도로 사용, DB 등에서 긁어온 유저 정보를 담고 있음
- Authentication : 사용자ID, Password와 인증 요청 컨텍스트에 대한 정보를 가지고 있음. 현재 요청이 들어온 유저 인증과 세션 관련된 정보. 인증 이후의 사용자 상세 정보와 같은 UserDetails 타입 오브젝트를 포함할 수도 있음
- AuthenticationEventPublisher
- 인증 성공 또는 인증 실패가 발생했을 때 이벤트를 전달하기 위한 이벤트 퍼블리셔 인터페이스
- 기본 구현체로 DefaultAuthenticationEventPublisher 클래스가 사용됨
