1. Session
사용자 요청이 들어오면 처음에 그 사용자의 정보를 서버에 있는 세션에 저장해두고, 다음 요청부터는 그 세션과 사용자가 요청과 함께 보낸 세션 ID를 이용해서 해당 사용자에 대한 데이터를 세션에서 꺼내준다.
즉, 한번 접속한 순간부터 그 접속을 마치는 순간까지 사용자의 데이터를 세션이라는 서버 위치에 저장해두고 신속하게 가져다준다는 개념이다.
2. CIA (보안의 3요소)
Confidentiality | Integrity | Availability |
기밀성 | 무결성 | 가용성 |
허락된 사용자만이 정보를 이용할 수 있음 |
완전한 상태로 정보를 보존함 | 신뢰할 수 있는 정보를 접근 / 사용 가능함 |
3. RSA 암호화 (공개 암호 시스템)
RSA 암호화를 위해 사용되는 key에는 공개키와 개인키가 있다.
공개키는 누구에게나 '공개'되어있는 키이며, 개인키는 '본인만' 가지고 있는 키이다.
공개키로 암호화된 정보는 개인키로 풀 수 있으며, 개인키로 암호화된 정보는 공개키로 풀 수 있다.
3-1. 공개키로 암호화
암호화가 더 중요한 경우, 발신자의 공개키로 내용을 포장해서 전송한다.
3-2. 개인키로 암호화
수신자 확인이 더 중요한 경우, 수신자의 개인키로 내용을 포장해서 전송한다. (= 전자 서명)
3-3. 공개키 & 개인키로 암호화 (= RSA 암호화)
따라서, 발신자의 공개키와 수신자의 개인키로 암호화를 하면 '인증' + '암호화' 두마리 토끼를 잡을 수 있다.
'Spring > Spring Security' 카테고리의 다른 글
[Spring Security] JWT (Json Web Token) (0) | 2023.02.11 |
---|---|
[Spring Security] Authentication 객체 타입 (0) | 2023.02.10 |
[Spring Security] UserDetailsService (0) | 2023.02.01 |
[Spring Security] UserDetails (0) | 2023.02.01 |
[Spring Security] SecurityConfig (0) | 2023.01.31 |