랑아
article thumbnail
Spring Security 기본 7
Spring 2023. 6. 9. 18:58

Spring Security Spring Security의 인증 처리 흐름 위 그림은 사용자가 로그인 인증을 위한 요청을 전송할 경우, Spring Security에서 해당 인증 요청을 어떻게 처리하는지를 한눈에 볼 수 있는 Spring Security의 핵심 컴포넌트로 구성된 인증 처리 흐름 가장 일반적으로 사용하는 인증 방식이 ID/Password(Spring Security에서의 Username/Password)를 이용한 로그인 인증 방식이기 때문에 위 그림의 인증 처리 흐름 역시 로그인 인증에 대한 처리 흐름으로 구성함 (1)에서 사용자가 로그인 폼 등을 이용해 Username(로그인 ID)과 Password를 포함한 request를 Spring Security가 적용된 애플리케이션에 전송함 사용..

article thumbnail
Spring Security 기본 6
Spring 2023. 6. 8. 22:10

Spring Security DelegatingPasswordEncoder DelegatingPasswordEncoder는 Spring Security에서 지원하는 PasswordEncoder 구현 객체를 생성해 주는 컴포넌트로써 DelegatingPasswordEncoder를 통해 애플리케이션에서 사용할 PasswordEncoder를 결정하고, 결정된 PasswordEncoder로 사용자가 입력한 패스워드를 단방향으로 암호화를 해줌 DelegatingPasswordEncoder 도입 전 문제점 스프링 시큐리티 5.0 이전 버전에서는 평문 텍스트(Plain Text) 패스워드를 그대ㅑ로 사용하는 NoOpPasswordEncoder가 디폴트 PasswordEncoder로 고정되어 있었지만, 다음과 같은 문..

article thumbnail
Spring Security 기본 5
Spring 2023. 6. 8. 21:50

Spring Security Filter와 FilterChain 구현 Filter 서블릿 필터(Servlet Filter)는 서블릿 기반 애플리케이션의 엔드포인트에 요청이 도달하기 전에 중간에서 요청을 가로챈 후 어떤 처리를 할 수 있도록 해주는 Java의 컴포넌트 클라이언트가 서버 측 애플리케이션으로 요청을 전송하면 제일 먼저 Servlet Filter를 거치게 되며, Filter에서의 처리가 모두 완료되면 DispatcherServlet에서 클라이언트의 요청을 핸들러에 매핑하기 위한 다음 작업을 진행함 FilterChain 여러 개의 Filter가 체인을 형성하고 있는 Filter의 묶음을 의미함 Filter와 FilterChain의 특성 Servlet FilterChain은 요청 URI path를 ..

article thumbnail
Spring Security 기본 4
Spring 2023. 6. 8. 17:52

Spring Security Spring Security의 웹 요청 처리 흐름 보안이 적용된 웹 요청의 일반적인 처리 흐름 (1)에서 사용자가 보호된 리소스를 요청함 (2)에서 인증 관리자 역할을 하는 컴포넌트가 사용자의 크리덴셜(Credential)을 요청함 사용자의 크리덴셜(Credential)이란 해당 사용자를 증명하기 위한 구체적인 수단을 의미함 일반적으로는 사용자의 패스워드가 크리덴셜에 해당함 (3)에서 사용자는 인증 관리자에게 크리덴셜을 제공함 (4)에서 인증 관리자는 크리덴셜 저장소에서 사용자의 크리덴셜을 조회함 (5)에서 인증 관리자는 사용자가 제공한 크리덴셜과 크리덴셜 저장소에 저장된 크리덴셜을 비교해 검증 작업을 수행함 (6) 유효한 크리덴셜이 아니라면 Exception을 Throw 함..

article thumbnail
Spring Security 기본 3
Spring 2023. 6. 8. 16:46

Spring Security 데이터베이스 연동 없는 로그인 인증 InMemory User InMemory User 등록을 위한 코드 userDetailsService() 메서드에서 설정한 두 개의 User가 InMemory User로 등록 데이터베이스를 연동하지 않고, 메모리에 등록하는 방식 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetai..

article thumbnail
암호 기술 7

06. 정보 추적 기술 01. DRM(Digital Rights Management) 1) DRM DRM의 개념 디지털 저작권 관리 디지털 미이더 접근 및 사용 권한을 서버 인증을 통해 중앙 집중식으로 통제하는 것 DRM은 디지털 미디어의 불법 또는 비인가된 사용을 제한하기 위하여 저작권 소유자나 판권 소유자가 이용하는 정보보호 기술의 일종인 접근 제어 기술 디지털 콘텐츠의 불법 복제와 유포를 막고, 저작권 보유자의 이익과 권리를 보호해주는 기술과 서비스 DEM은 디지털 콘텐츠의 저작권을 보호하기 위한 기술로 DVD와 다운로드된 음원, 유료 소프트웨어 등에 적용되며, 이는 주로 콘텐츠의 불법적인 복제나 허가 받지 않은 기기에서의 콘텐츠 소비를 방지함 문서의 열람, 편집, 프린트 등에 대한 접근 권한을 설..

article thumbnail
암호 기술 6

05. 인터페이스 보안 01. 인터페이스 보안 1) 인터페이스 보안 기능 민감 정보 가상화 : 인터페이스 데이터 중 민감 정보를 쉽게 식별 되지 않도록 하는 기능 인증 보안 수행 : 인터페이스 수행에 필요한 인증 기능 이상 거래 감지 : 외부 불법 접근 시도, 무작위 공격 행위 탐지 기능 필드 암호화, 복호화 : 보안이 필요한 필드는 인터페이스 하기 전에 암호화, 복호화 하는 기능 파일 암호화, 복호화 : 파일 서버에 저장된 파일을 암호화, 복호화 하는 기능 암호화 키 전송 : UI 암호화, 해시를 위한 암호화 키를 반환하는 기능 필터링(Filtering) : 필터링을 통해 필수 정보만 전달하는 기능 체크섬(Checksum) : 송수신 메시지의 위조, 변조를 확인할 수 있는 기능 2) 인터페이스에 보안 ..

article thumbnail
암호 기술 5

04. 네트워크 보안 기술 01. SSL 1) SSL(Secure Socket Layer) 웹 서버와 웹 브라우저에서 전달되는 데이터를 안전하게 송수신할 수 있도록 미국의 넷스케이프사가 개발한 프로토콜 SSL은 서버와 클라이언트 간의 키 교환 방법을 제공함 현재의 웹 서비스에서 SSL을 위해 제공되는 인증 구조는 대부분 인증 기관과 사용자들 간에 스타(Star) 형태 넷스케이프, 인터넷 탐색기 등의 웹 브라우저는 SSL 접속을 위해 다수의 인증 기관들에 대한 인증서 정보를 갖고 있음 SSL의 암호화 표준 방식은 미국의 보안 업체인 RSA사의 방식을 채택하고 있음 RSA사의 암호화 체계는 40비트와 128비트 키를 사용함 우리나라 금융 사이트의 대부분은 40비트 암호화 방법을 사용하기 때문에 보안 기능이 ..