728x90
반응형

IT/보안 6

Front-end, Back-end, Keycloak 연결에 대한 정리

테스트 환경 1. Front-end - React, Swagger-UI 2. Back-end - SpringBoot - Spring Security Keycloak Adapter 3. Keyclaok 4. 인증방식 OIDC Bearer, JWT 사용 프로세스 1. 아래 그림은 타 시스템에서의 프로세스를 정리한 그림입니다. 세부적인 프로세스 1. Front-end 에서 로그인 버튼 클릭 (Keycloak 과 연결 설정이 되어있어야 함) 2. Keycloak Login 페이지 호출 및 로드 3. 로그인 수행 4. 인증이 필요한 Back-end API 호출 - HTTP Header 에 Bearer 인증타입의 암호화된 토큰(JWT)을 포함하여 API 호출 수행 (즉, Credentials 을 헤더에 넣어서 전송..

IT/보안 2021.08.23

웹 주요 보안 취약점 정리

서론 OWASP (The Open Web Application Security Project, 오픈소스 웹 애플리케이션 보안 프로젝트) 는 웹에 관한 정보누출, 악성파일 및 스크립트, 보안 취약점 등을 연구하며, 10대 웹 애플리케이션의 취약점 (OWASP TOP10) 을 발표했다. 가장 최근 발표인 2017년 기준 OWASP TOP 10 에 대한 내용과 더불어 CORS, CSRF, XSS, CSP 에 대한 내용도 해당 페이지 다룬다. 본론 1. OWASP Top 10 Overview (2017) A1 Injection (인젝션) SQL, OS, XXE(Xml eXternal Entity), LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분으로써, 인터프리터로 보내질 때 발생한다..

IT/보안 2021.07.07

Keycloak 리뷰(Spring-Security 연동, 테마, SPI, User Federation)

​ 서론 이 글은 Docker 이미지 jboss/keycloak:12.0.1 기준으로 작성되었습니다. Spring boot 에서 Keycloak 을 이용하여 몇 가지 기능을 구현해보고, 활용할 수 있는 기능들을 리서치 해보았습니다. Spring security 와 Keycloak 을 연동하여 인증, 인가, 접근주체 확인 정도를 구현을 해보았고, Keycloak 에서 제공하는 테마 변경, SPI, User Federation, REST API 기능들을 살펴보았습니다. 들어가기에 앞서 용어만 간단히 설명하고, 본론으로 넘어가겠습니다. 기본용어 접근 주체(Principal) : 보호된 리소스에 접근하는 대상 인증(Authentication) : 보호된 리소스에 접근한 대상에 대해 검증 인가(Authorize)..

IT/보안 2021.05.27

암호화, 복호화, 해싱이란?

# 용어정리 평문(Plaintext) 해독 가능한 형태의 메시지 암호문(Ciphertext) 해독 불가능한 형태의 메시지 암호화(Encryption) 평문을 암호문으로 변환하는 과정 복호화(Decryption) 암호문을 편문으로 변환하는 과정 # 암호화 방식 1. 대칭형 암호 (비밀키 암호) 암호화키와 복호화키가 같다. 가장 보편적으로 쓰이는 암호화 방식은 현 미국표준방식인 AES 이다. AES 는 128 ~256 비트의 키를 적용할 수 있어 보안성이 뛰어나며, 공개된 알고리즘이라 누구나 사용가능하다. (이전에는 DES 알고리즘이 사용되었으나 보안취약점을 대체하기 위해 등장한것이 AES) 문제는 수신측에 키를 전달하는 과정에서 유출될 우려가 있음 2. 비대칭형 암호 (공개키 암호) 암호화키와 복호화키가 ..

IT/보안 2021.05.11

대칭키, 공개키(Public key), 개인키(Private key) 란?

# 대칭키 방식 하나의 키로 암/복호화를 수행 대칭키가 노출되는 경우 암호화된 내용을 복호화할 수 있게됨 이를 보완하기 위해 탄생한게 공개키 방식 # 공개키 / 개인키 방식 공개키, 개인키 두 개의 키를 이용해 암/복호화하는 방식 # 공개키 공개되어도 비교적 안전한 Key 공개키로 암호화시 데이터 보안에 중점 공개키로 암호화하여 데이터를 전달하면, 개인키로 데이터를 복호화해야 한다. # 개인키 공개키와 쌍을 이루는 키로 외부에 노출되어서는 안됨 개인키로 암호화시 인증 과정에 중점을 두게 됨 개인키로 암호화하여 데이터를 전달하면 공개키도 함께 전달함 (수신측에서는 받은 공개키로 데이터를 복호화) -> 이 방법은 데이터의 제공자의 신원 확인이 보장된다는 뜻 참고 https://calgary.tistory.c..

IT/보안 2021.05.09
728x90
반응형