본문 바로가기

개념53

RBAC (Role-Based Access Control) & ABAC (Attributed-Based Access Control) 1. RBAC : Role-Based Access Control RBAC == 역할 기반 액세스 제어 라고 한다. 정보 시스템 에서 사용자에 대한 권한을 관리 하는데 사용 되는 보안 모델 이다. RBAC 는 사용자의 직무 / 역할 / 책임 / .. 등에 기반 하여 사용자에 대한 권한을 부여 하고 제어 한다. RBAC 는 특히 기업 환경 에서 광범위 하게 사용 되고, 사용자 인증 / 권한 관리 를 효과적으로 수행 하는데 활용 된다. RBAC == Role-Based Access Control 의 주요 구성 및 작동 방식은 아래와 같다. 1) 역할 (Role) RBAC 에서는 역할 이라는 개념이 핵심 이다. 역할은 일련의 작업 또는 책임을 의미 한다. 이러한 역할에 따라 특정한 권한이 할당 된다. 예를 들어.. 2023. 11. 14.
LDAP (Lightweight Directory Access Protocol) 1. LDAP == Lightweight Directory Access Protocol 경량 디렉터리 액세스 프로토콜 이라 한다. 줄여서 LDAP 라 한다. LDAP 는 디렉터리 서비스에 접근 하기 위한 프로토콜 이다. 디렉터리 서비스 란 ? 디렉터리 서비스는 계층적인 구조로 데이터를 저장 한다. 주로, 조직의 사용자 / 그룹 / 자원 / .. 등과 같은 관련된 정보를 효과적으로 구성 하고, 검색 하기 위해 사용 된다. 여러 회사 에서 LDAP 를 사용 해서, 사용자 인증 / 권한 부여 / 이메일 주소록 / 장치 구성 / .. 등 과 같은 다양한 정보를 저장 하고 관리 한다. LDAP 의 주요 특징 및 용어는 아래와 같다. 1) 디렉터리 서비스 LDAP 은 디렉터리 서비스에 접근 하는데 사용되는 프로토콜.. 2023. 11. 14.
SSO (Single Sign-On) 란 ? 1. SSO (Single Sign-On) 의 기능 싱글 사인온의 주요 목적은 사용자 경험을 향상 시키는데 있다. 뿐만 아니라, SSO를 사용 하면 보안을 강화 할 수 있게 된다. SSO를 사용 하면, 사용자는 하나의 인증 자격 증명 으로, 최초 한번 로그인을 하면, 다른 연결된 서비스 / 어플리케이션 에서 추가적인 로그인 없이 편리하게 이용 할 수 있게 된다. 사용자의 인증 자격 증명의 대표적인 예시로는 아이디 / 비밀번호 이다. - 사용자 경험 향상 : 위에서 정리했듯이, 사용자는 다양한 서비스를 이용 할 때, 한 번의 로그인으로 여러 서비스에 접근 가능 하다. 대표적으로 구글을 예시로 들 수 있다. - 사용자 경험 향상 (2) : 비밀번호에 대한 부담이 감소 된다. 여러 서비스에 대해 각각의 아이디.. 2023. 11. 14.
Servlet & Spring MVC 1. Servlet 탄생 초기의 웹 서비스는 정적 페이지만 제공 했다. (클라이언트 >>> 요청 >>> Web Server (정적 컨텐츠) >>> 응답 >>> 클라이언트) 그런데 사용자들마다 각 요청에 대해 다른 응답을 해줘야 하는 상황이 발생 했다. 그래서, WAS (Web Application Server) 의 개념이 추가 되었다. WAS 로직을 수행 해서 동적 컨텐츠를 생성 할 수 있게 되었다. (클라이언트 >>> 요청 >>> Web Server >>> WAS (동적 컨텐츠) >>> Web Server >>> 응답 >>> 클라이언트) 2. Servlet 이란 ? 동적 컨텐츠를 만드는 데에 사용 되는 자바 기반의 웹 어플리케이션 프로그래밍 기술 혹은 그러한 기술에서 사용 되는 객체 즉, WAS 내에서.. 2023. 10. 27.
Ajax 1. Ajax : Asynchronous JavaScript and XML 자바스크립트를 사용 하여 브라우저가 서버에게 비동기 방식으로 데이터를 요청 하고, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱신하는 프로그래밍 방식. 2. HTML, CSS, JS, DOM, XML, XMLHttpRequest 를 이용한 새로운 (2005 년 기준) 접근법 이자 싱글 스레드인 자바스크립트 엔진을 보완 하기 위한 비동기 통신 방식을 의미. 3. Ajax 적용 이전의 웹페이지 html 태그로 시작해서 html 태그로 끝나는 완전한 HTML을 서버로 부터 받는다. 즉, 웹페이지 전체를 처음 부터 다시 렌더링 하는 방식으로 동작 했다. 이는, 필요한 부분이 아닌 다른 부분들도 모두 렌더링 해서 페이지의 모든 부.. 2023. 10. 25.
쿠키와 세션 1. 쿠키란 ? 클라이언트에 저장되는 Key-Value 형태의 작은 데이터 파일을 뜻함. 2. 무엇을 저장할까 ? 1) 사이트에 방문한 이력 2) 검색 기록 3) 로그인 상태 3. 쿠키의 특징 1) 브라우저 단위로 쿠키를 생성 한다. (사용자 단위가 아니다) 같은 기기로 동일한 도메인 사이트를 접속 했는데, 크롬의 쿠키와 사파리의 쿠키가 다르다. 예시로 네이버를 크롬으로 접속 할 때, 로그인이 되어 있는데, Edge로 접속 하면 로그인이 되어 있지 않다. 2) 다른 도메인을 대신 해서 쿠키를 발급 받을 수 없다. 3) 만료 시간 까지 상태 정보를 유지 한다. 만료 시간은 서버가 쿠키를 만들 때, 설정해 줄 수 있다. 4. 쿠키를 사용 하는 이유 ? 웹사이트 재방문 시 효율적으로 서비스를 제공 하기 위함 .. 2023. 10. 25.
RESTful API 1. API 란? Application Programming Interface : 두 어플이 서로 통신 하는 방법을 정의 2. RESTful 이란 ? REST + FUL REST 아키텍처 스타일 요청과 응답을 하는 API 를 뜻함 3. REST 아키텍처의 개념은 왜 생겨났을까 ? REST에 기반이 되는 HTTP 프로토콜 프로토콜 : 클라이언트와 서버 간의 데이터를 주고 받기 위해 사용되는 표준 규약 이렇게 HTTP 프로토콜이 표준화 되어 있긴 하지만, 이를 어떻게 구현 해야 할지는 유연 하기 때문에, 개발자마다 이를 어떻게 해석 하는지에 따라 구현이 달라지게 된다. 그래서, 개발자마다 각자 다른 방식으로 구현을 하게 되면 복잡해지고 유지보수가 어려워지게 된다. 따라서, 웹 (HTTP) 의 장점을 최대한 .. 2023. 10. 25.
HTTPS 1. HTTP 전송 정상적인 사용자에게 평문 (plaintext) 으로 암호화 하지 않은 중요한 정보를 전송 하게 될 때, 정상적인 사용자 입장에서는 빠르게 정보를 읽을 수 있기 때문에 좋다. 하지만, 보안에 취약 하기 때문에 비정상적인 사용자에게 데이터 유출을 당하기 쉽다. 그래서 HTTPS 라는 개념이 나오게 되었다. 데이터를 암호화 해서 비정상적인 사용자가 데이터를 가로챈다고 해도 데이터를 읽을 수 없으므로, 암호화의 중요함을 알 수 있게 된다. 따라서 HTTPS 를 사용 한다. 실제로 웹페이지에서 HTTPS 를 사용하라고 유도를 하는데, 사이트에 http:// 로 시작하는 사이트에 접속 하려고 하면, '이 사이트는 안전하지 않습니다.' 라며 안내를 해준다. 2. HTTPS 권장 실제로 구글이나 네.. 2023. 10. 25.