Security
-
OAuth2.0 패스워드 그랜트와 클라이언트 자격 증명 그랜트 구현Security 2021. 9. 10. 00:56
실제 패스워드 그랜트와 클라이언트 자격 증명 그랜트 구현을 시작해 보겠습니다. OAuth2의 이론적인 이해가 선행되어야 실제 개발하는데 수월하기에 혹시 앞장을 못 보신 분들은 먼저 읽어보시고 시작하시길 권장드립니다. OAuth 2.0 개요 OAuth 2.0 패스워드 그랜트와 클라이언트 자격 증명 그랜트 앞으로 진행될 포스팅과 관련된 소스는 아래 Github 주소에서 다운로드 가능합니다. URL : hhttps://github.com/chanheejung/OAuth2-PasswordNClientCredential Postman Collection : 소스를 다운로드하시면 Postman 폴더에 Simple OAuth.postman_collction.json 파일이 있습니다. 예제를 실행하는데 필요한 Rest..
-
OAuth2.0 패스워드 그랜트와 클라이언트 자격 증명 그랜트Security 2021. 9. 8. 10:49
이전 장에서는 OAuth2에 관련된 전반적인 개요를 알아보았습니다. 이번 장부터는 OAuth2의 4가지 그랜트 타입의 상세한 메커니즘을 하나씩 알아보고 이를 직접 구현해보도록 하겠습니다. 패스워드 그랜트 (Password Credentials Grant) 란? 지난 장 내용을 다시 정리해 보면, 사용자가 이용하는 모바일 웹&앱 및 서비스 애플리케이션이 모두 하나의 기업 혹은 기관에서 소유하고 있을 경우에 이용되는 방법이라고 하였습니다. 사용자는 모바일 웹(혹은 앱)에서 ID와 비밀번호를 이용하여 인증서버에 1회 인증을 거쳐 Access Token을 발급받습니다. 이후 이 Access Token을 이용하여 여러 서비스 애플리케이션을 이용할 수 있습니다. 이제 단계별로 예를 들어 보겠습니다. A사가 있습니다..
-
OAuth2.0 개요Security 2021. 9. 7. 15:37
OAuth의 등장 배경 OAuth가 등장하기 이전에는 보안 인증 방식에 대한 표준이 없었기 때문에 웹 기반의 서비스를 제공하는 기업들이 독자 적인 방법으로 인증 처리를 하였습니다. 그리고 이러한 웹이 발전하면서 분산된 각자의 서비스들이 서로 의존하고 Open API 등을 통해서 서비스들끼리 정보를 공유하는 상황으로 발전하였습니다. 이에 따라 다른 기업과 개인, 다른 서비스들끼리 서로 정보를 공유하기 위해서는 대부분은 인증이라는 보안 검증 절차가 이루어져야 합니다. 하지만, 기업들의 각자의 독자적인 방식의 인증 수단을 이용하였기에 서로 다른 인증 처리를 위해서는 많은 보안 문제점 발생하였겠지요 이를 해결하기 위해서 공식 표준안인 OAuth가 등장하였습니다. OAuth2 활용 예 OAuth를 활용하는 몇 가..
-
Jasypt를 이용한 프로퍼티 암호화Security 2021. 9. 1. 08:14
스프링부트의 프로퍼티 암복호화에 관해서 일반적을 application.properties 혹은 application.yml 등의 프로퍼티 파일에 애플리케이션을 구동하기 위한 많은 정보들을 저장합니다. 이 중에서는 외부에 노출되어서는 안되는 민감한 정보는 평문(Plain Text)로 담기에는 보안적인 이슈가 있어서 꼭 암호화하여 저장해야 하는 경우가 많이 있습니다. 이럴때 프로퍼티 암복호화의 일반적인 방법으로 다음과 같은 처리를 많이 합니다. 암복호화 기능 개발 평문의 민감 데이터를 암호화하여 암호문을 프로퍼티에 저장 애플리케이션 구동 중에 프로퍼티에서 암호문을 가져와 복호화 후 사용 위의 방식의 단점은? 하지만 이와 같은 방법은 여러가지 단점이 있으며 대표적인 것은 다음과 같습니다. 암복호화를 처리하는 ..