본문 바로가기

개념/Study41

SAML (Security Assertion Markup Language) 1. SAML (Security Assertion Markup Language) * Assertion : 주장 / 표명 SAML은 웹 기반 인증 및 권한 부여를 위한 XML 기반의 개방형 표준 규약 (프로토콜) 이다. 주로 SSO (Single Sign-on) 시스템 에서 사용 된다. 여러 도메인에서 사용자 인증 정보를 공유 하고 안전하게 전달 할 때 사용 된다. 2. SAML의 핵심 구성 요소 1) Assertion : SAML 에서 가장 중요한 개념 이다. 사용자 (주체) 에 대한 정보와 해당 Assertion을 생성한 서비스 제공자에 대한 서명 및 메타데이터를 포함 한다. 메타데이터는 데이터에 대한 데이터를 의미 하는데, 정보를 설명하는 데이터 라고 보면 된다. 즉, 데이터가 어떤 내용을 가지는지,.. 2023. 11. 20.
OIDC (OpenID Connect) OIDC (OpenID Connect) 이란 ? OIDC == OpenID Connect 는 OpenID Foundation 에서 정의한 개방형 Authentication (인증) 프로토콜 이다. SSO를 목적으로 JSON 데이터 형식으로 개발 되었다. 그리고 OIDC 는 OAuth 2.0 프로토콜을 기반으로, 상위 계층에서 간편하게 인증을 처리 하고, 신원 확인 서비스 == IDP 를 통해서 안전한 방식으로 사용자 정보를 제공 할 수 있다. 이때 여기서 IDP 는 OpenID Provider (OP) 를 의미 하고, 카카오 / 네이버 / 구글 / 등등 이 여기에 해당 된다. OAuth 와 OIDC 는 무엇이 다를까 ? OAuth 는 권한 허가 (인가 == Authorization) 를 처리 하기 위한 .. 2023. 11. 20.
OAuth (Open Authorization) OAuth 란 ? Open Authorization의 약어 이다. Open Authorization == OAuth 인가 (Authorization) 를 위한 개방형 표준 프로토콜 이다. 인가를 위한 표준 프로토콜 이지만, OAuth 는 인증 (Authentication) 을 위해서 사용 되기도 한다. 그냥 쉽게 생각하면, 인증을 잘 통과 하고, 인가 단계 에서, Access 권한을 얻기 위한 권한 부여 산업 표준 프로토콜 이라고 보면 된다. 이때, 인증을 보통 사용자가 직접 아이디 / 비밀번호를 입력 해서 로그인을 하게 되는데, 최근에는 SNS 소셜 로그인을 통해서 간편 로그인을 할 수 있는 서비스가 많아 지고 있다. 사실상 거의 모든 사이트에 간편 로그인 서비스가 지원 된다고 봐도 된다. 예를들어 카.. 2023. 11. 17.
SSO (Single Sign-On) TYPE SSO (Single Sign-On) 을 구현 하기 위해서는 다양한 방법들이 존재 한다. 아래에 대표적인 4가지 타입을 정리 하려고 한다. 1. PC Agent Type 특징 : 개별 장치에 소프트웨어 설치 예시 : TSSO 각 사용자의 개별 PC 에 설치 한다. 설치되는 Agent (에이전트) 에 의해 사용자의 자격 증명 정보를 등록 하고, 이렇게 등록된 자격 증명 정보를 가지고, 여러 응용 프로그램 및 서비스에 로그인을 하는 방식 이다. 쉽게 말해서, 바탕화면 GUI 에서 우측 하단을 확인 하면, 위와 같이 이런식으로 현재 동작 중인 것들을 확인 할 수 있다. 이런 방식으로 사용자의 PC 에 소프트웨어를 설치 해서 이 소프트웨어가 실행 되고 있다면, 등록된 자격 증명 정보를 가지고 여러 서비스에 로그.. 2023. 11. 17.
VMware과 Cloud의 공통점 및 차이점 정리 [ VMware 이란 ? ] VMware 는 가상화를 가능하게 해주는 소프트웨어 이다. VMware Workstation은 가상 머신 운영 및 테스트를 위해 사용하는 솔루션 이다. VMware의 가상화 기술은 하이퍼바이저를 기반으로, 물리적 하드웨어 리소스를 가상 머신으로 추상화 한다. 또한 여러 개의 운영 체제 및 응용 프로그램을 하나의 물리적 시스템 에서 독립적으로 실행 할 수 있도록 지원 한다. 즉, 가상 머신을 쉽게 배포 할 수 있도록 도와주는 소프트웨어 이다. [ 개요 ] 가상화 및 클라우드 모두 추상적인 리소스 에서 환경을 생성 한다. 그래서 이 둘을 헷갈려 할 수도 있기 때문에 아래에서 정리 해보려고 한다. [ 가상화 & 클라우드 ] 가상화 : 단일한 물리 하드웨어 시스템 에서 여러 시뮬레이.. 2023. 11. 17.
웹 서버 (Web Server) 와 WAS (Web Application Server) 의 차이 Web Server (웹 서버) 웹 서버란 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저 에서 어떤 요청을 하면, 그 요청을 받아서 정적 컨텐츠를 제공 하는 서버를 의미 한다. 정적 컨텐츠란 단순 HTML 문서 / CSS / 이미지 / 파일 등등 즉시 응답이 가능한 컨텐츠를 의미 한다. 만약에 웹 서버가 정적 컨텐츠가 아니라, 동적 컨텐츠를 요청 받으면 WAS 에게 해당 요청을 넘겨 준다. 그러면 WAS 는 동적 컨텐츠 요청을 처리 하고, 해당 요청에 대한 결과 값을 웹 서버 (Web Server) 가 클라이언트에게 전달 해주게 된다. 정리하자면, 웹 서버는 정적 컨텐츠를 제공 해주는 서버 이고, WAS 가 처리한 동적 컨텐츠의 결과 값을 클라이언트에게 전달 해주는 역할도 한다. WAS (Web .. 2023. 11. 17.
인증 (Authentication) & 인가 (Authorization) 인증과 인가는 보안과 관련된 두가지 핵심 개념 이다. 인증과 인가 모두 시스템 및 서비스의 보안을 강화 하는데 사용 되지만, 인증 하고 인가는 서로 다른 기능이기에 아래에서 정리 하도록 한다. 1. 인증 (Authentication) 인증은 사용자 또는 시스템이 본인 자체의 신원 == Identity 이 맞는지를 확인 하는 과정 이다. 우리가 아는 보통 Identity 를 확인 하는 방법은 아이디 및 비밀번호 이다. 요즘에는 바이오 인증 이라 해서, 지문 / 홍채 등 여러 인증이 존재 한다. 뿐만 아니라, 토큰 등 다양한 인증 방법이 존재 한다. 2. 인가 (Authorization) 인가는 인증된 사용자가 특정 자원 (데이터) 또는 서비스에 접근 하고 사용 할 수 있는 권한을 부여 받는 과정 이다. 그.. 2023. 11. 16.
Load Balancing (로드 밸런싱) 1. Load Balancing (로드 밸런싱) 로드 밸런싱은 일반적으로 네트워크 또는 웹 트래픽을 다루는 환경 에서 여러 서버 간의 부하를 분산 시키는 기능을 한다. 따라서, 전체 시스템의 성능을 향상 시키게 된다. 웹 트래픽 (Web Traffic) 은 인터넷을 통해 웹 서버와 클라이언트 간에 이동하는 데이터의 양 또는 유형을 의미 한다. 웹 트래픽은 사용자가 웹 브라우저를 통해 웹 사이트를 방문 하거나, 웹 서비스 자체를 사용 할 때 발생 한다. (그 외 모든 다양한 활동에 웹 트래픽이 발생 한다) 2. 로드 밸런싱의 원리 및 주요 구성 요소 1) Load Balancer (로드 밸런서) 역할 : 로드 밸런서는 클라이언트로부터 들어오는 트래픽을 여러 서버로 분산 시키는 주체 이다. 종류 : 하드웨어.. 2023. 11. 16.
Proxy Server (프록시 서버) 1. 프록시 서버는 클라이언트와 웹 서버 간의 중계 역할을 하는 서버 이다. 그래서 프록시 서버는 클라이언트와 웹 서버 간의 통신을 대신 해서 하는데, 이렇게 중계 하여 하는 이유는 보안과 익명성을 유지 하기 위함 이다. 아래는 프록시 서버의 주요 용도 이다. 1) 보안 강화 프록시는 서버의 실제 IP 주소를 감추고 클라이언트의 요청을 필터링 하고 보안 검사를 수행 한다. 이를 통해 서버의 보안이 강화 된다. 2) 캐시 프록시 서버는 이전에 요청한 컨텐츠를 저장 한다. 그래서 동일한 요청으로 어떤 웹 서버를 다시 접근 하지 않고 캐시 데이터를 제공 할 수 있다. 따라서 대역폭을 절약 하고 웹 페이지 로딩 속도를 향상 시킨다. 3) 접근 제어 기업에서는 프록시를 사용 해서 특정 웹 사이트에 대한 액세스를 .. 2023. 11. 16.