본문 바로가기

전체 글161

[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.
[Spring MVC] 빌드/실행/배포 애플리케이션 빌드 Intellij IDE를 이용한 빌드 Gradle 윈도우 탭 클릭 프로젝트 이름→Tasks→ build→ :bootJar 혹은 :build 더블 클릭 bootJar는 Jar 파일 생성에 필요한 task를 모두 실행 build는 Jar 파일 생성뿐만 아니라 빌드와 관련된 모든 task 실행 빌드가 정상 완료되면 build/libs 디렉터리에 Jar 파일 생성 Jar 파일은 로컬 PC에서 실행 가능한 애플리케이션 실행 파일 Gradle Task를 이용한 빌드 Gradle task 명령어를 콘솔에 입력하여 빌드 가능 템플릿 프로젝트가 존재하는 디렉터리로 이동 CLI 명령을 입력할 수 있는 cmd, Git Bash, Windows Power Shell, 터미널 사용 가능 해당 디렉터리로 이동 .. 2022. 11. 11.