본문 바로가기

Backend boot camp44

[Spring Security] OAuth 2 OAuth2 개념 OAuth 2 전통적인 방식은 특정 애플리케이션에서 서비스를 제공하면서 사용자 크리덴셜을 직접 관리 반면 OAuth 2 인증 프로토콜은 특정 애플리케이션에서 사용자 인증을 직접 처리하는 것이 아니라 신뢰할 만한 서드 파티 애플리케이션에 인증을 위임하고 resource에 대한 자격 증명 토큰을 발급 후 그 토큰을 사용하여 서드 파티 애플리케이션 서비스를 사용하게 해주는 방식 외부 크리덴셜이 직접적으로 제공되지 않아 크리덴셜을 따로 관리할 필요가 없어 보안성 향상 OAuth 2 사용 애플리케이션 유형 써드 파티 애플리케이션에서 제공하는 API 써드 파티에서 제공하는 API를 직접적으로 사용하는 애플리케이션을 구현할 때 사용 추가 인증 서비스 제공 용도 추가적인 인증 서비스를 제공하기 위한 .. 2022. 12. 9.
[Spring Security] JWT 인증 JWT(JSON Web Token) JWT 기본 개념 토큰 기반 인증 이전 세션 기반 인증은 서버에 유저 정보를 담는 방식 매번 요청할 때마다 DB를 확인하는 방식 이것을 개선하기 위한 방식이 토큰 기반 인증 토큰 클라이언트에서 인증 정보를 보관하는 방식 토큰은 유저 정보를 암호화한 상태로 담는다. JWT JSON 포맷으로 사용자에 대한 속성을 저장하는 웹 토큰 토큰 기반 자격 증명 세션 기반 자격 증명 방식 HTTP 프토토콜은 request, response를 거치면 연결을 끊는 비연결성(Conectionless)의 특성과 상태를 저장하지 않는 비상태성(Stateless)의 특성을 가지고 있다. 사용자의 인증을 매 번 수행하지 않도록 인증된 사용자의 request 상태를 유지하기 위한 수단이 세션이다... 2022. 12. 9.
[Spring Security] Spring Security 기본 Spring Security 개념 Spring Security Spring MVC 기반 애플리케이션의 인증과 인가 기능을 지원하는 보안 프레임워크 Intereptor나 servlet filter를 이용해서 보안 기능을 구현 가능하지만 spring security에서 보안 기능 지원 Spring Security 보안 강화 기능 사용자 인증 기능(폼 로그인 인증, 토큰 기반 인증, OAuth 2 기반 인증, LDAP 인증) 적용 애플리케이션 사용자의 역할에 따른 권할 레벨 적용 애플리케이션 제공 리소스에 대한 접근 제어 민감 정보 암호화 SSL 적용 웹 보안 공격 차단 SSO, client 인증서 기반 인증, 메서드 보안, 접근 제어 목록 사용 용어 Principal 애플리케이션에서 작업을 수행할 수 있는 .. 2022. 11. 19.
[인증/보안] 기초 1. HTTPS 개념 HTTPS 기존 HTTP + secure(보안 기능) HTTP 프로토콜 내용을 암호화 인증서 + CA + 비대칭 암호화 인증서(certificate) : 데이터 제공자 신원 보장, 도메인 종속 클라이언트에서 인증서에 작성된 도메인과 응답 객체에 작성된 도메인 비교 일치할 경우 접속 허용(제 3자가 접속을 할 경우 도메인이 다르기 때문에 접근 차단) CA(Certificate Authority) 공인 인증서 발급 기관 각 브라우저는 신뢰하는 CA 정보 소유 비대칭 암호화 서로 다른 키로 암호화, 복호화 가능 한 개는 public으로 한 개는 private으로 사용 공개키는 연산이 복잡하기 때문에 통신 초창기에 비밀키를 만들기 위해 사용 handshake - 클라이언트는 Hello를 보.. 2022. 11. 19.