1. 개요
- 정보시스템 보안의 핵심 요소로 인증(Authentication)과 권한(Authorization)이 존재함
- 두 개념은 상호 보완적이면서도 구체적인 역할과 시스템 설계 접근 방식이 다름
- 보안 사고 대응 및 시스템 설계의 기초로 반드시 구분하여 이해할 필요가 있음
2. 개념 정의 및 차이점
구분 | 인증 (Authentication) | 권한 (Authorization) |
---|---|---|
정의 | 사용자의 신원 확인 절차 | 인증된 사용자가 수행할 수 있는 행위나 접근 범위 지정 절차 |
목적 | 누구인지 확인 | 무엇을 할 수 있는지 정의 |
시점 | 시스템 접근 전 선행 처리됨 | 인증 완료 후 처리됨 |
결과 | 사용자의 신원 식별 정보 확보 | 자원 접근 허용/제한 정책 적용 |
예시 | ID/PW, OTP, 지문, 인증서 등 | 파일 읽기/쓰기, 관리자 메뉴 접근 권한 등 |
- 인증은 ‘누가 접속했는가’에 대한 확인
- 권한은 ‘접속한 사용자가 무엇을 할 수 있는가’에 대한 제어
3. 시스템 구현 방식 비교
3.1 인증 시스템 구현 방식
- 기본 구성: 사용자 정보 저장소(DB, LDAP) + 인증 수단 + 인증 모듈
- 방식 구분
- 지식 기반(Knowledge-based): ID/PW, PIN 등
- 소지 기반(Possession-based): OTP, 보안토큰, 인증서
- 생체 기반(Biometrics): 지문, 홍채, 안면인식 등
- 구현 예시
- 웹 서비스 로그인 시 사용자 ID와 해시된 패스워드를 DB와 대조
- OAuth2의 인증 코드 흐름에서 인증 서버에서 사용자 인증 수행
- FIDO(Fast Identity Online) 기반 생체 인증 적용 시 장치 내 생체정보 매칭
3.2 권한 시스템 구현 방식
- 기본 구성: 권한 정책 저장소(RBAC/ABAC 테이블) + 권한 평가 엔진
- 방식 구분
- RBAC(Role-Based Access Control): 역할 기반 접근 제어
- ABAC(Attribute-Based Access Control): 속성 기반 접근 제어
- PBAC(Policy-Based Access Control): 정책 기반 접근 제어
- 구현 예시
- DB 테이블에 Role과 Permission Mapping Table 구성
- 클라우드 환경에서 리소스 접근 정책을 IAM(Identity & Access Management)으로 통합 관리
- Spring Security Framework에서 인증 후 각 URL에 접근 권한 설정을 통한 제어
4. 인증과 권한 간 관계 및 시나리오 예시
- 관계 정리
- 인증이 선행되어야 권한 평가 가능함
- 인증 결과에 따라 다른 권한 집합 적용됨
- 시나리오 예시
- 사용자가 시스템 접속 시도 → ID/PW 입력 → 인증 서버에서 신원 확인
- 인증 성공 → 사용자 Role 조회 (‘일반 사용자’, ‘관리자’)
- Role 기반으로 접근 가능한 메뉴 및 자원 결정
- ‘일반 사용자’는 게시글 열람만, ‘관리자’는 삭제/편집 가능
5. 통합 인증 및 권한 시스템 구조
- 시스템 보안 아키텍처에서는 다음과 같이 구성함
[ 사용자 ] → [ 인증 모듈 ] → [ 세션 생성 / 토큰 발급 ] → [ 권한 모듈 ] → [ 자원 접근 허용 ]
- 토큰 기반 인증 방식(OAuth2, JWT 등)의 경우
- JWT 내부에 권한(Role/Scope) 정보 포함하여 별도 조회 없이 자원 접근 판단 가능
- 단, 토큰 위변조 및 만료 관리 필요
6. 보안 위협 및 대응 방안
위협 | 설명 | 대응 방안 |
---|---|---|
인증 우회 | 인증 절차를 무력화하고 자원에 접근 | 세션 관리 강화, 토큰 검증, CAPTCHA 적용 |
권한 상승 | 일반 사용자가 관리자 권한 획득 | 최소 권한 원칙 적용, 로직 오류 점검 |
세션 탈취 | 인증 후 발급된 세션을 탈취하여 부정 접근 | HTTPS 강제, 세션 타임아웃, 재인증 요구 |
권한 정책 미흡 | 자원별 접근 제한이 부실하거나 누락됨 | 접근 제어 매트릭스 구성, 정기 점검 필요 |
7. 실제 사례
인터넷 뱅킹 시스템
- 인증: 공인인증서, OTP 또는 바이오 인증으로 사용자 신원 확인
- 권한: 고객 계좌 조회는 가능하나 타인 계좌 이체는 권한 없음
기업 내부 시스템
- 인증: SSO 기반 인증 시스템으로 Active Directory 연동
- 권한: 팀장 이상만 보고서 열람, 일반 사원은 편집 불가
클라우드 서비스 (AWS IAM)
- 인증: Access Key/Secret 또는 SSO 기반 인증
- 권한: IAM 정책에 따라 EC2 인스턴스, S3 버킷 접근 여부 결정됨
8. 결론
- 인증과 권한은 정보보안의 가장 기본이면서 핵심적인 개념
- 인증은 ‘신원 확인’, 권한은 ‘접근 제어’라는 차이점 인식 필요
- 보안 설계 시, 인증-권한 흐름을 통합적으로 고려한 시스템 구조 설계가 중요함
- RBAC, ABAC, OAuth2, JWT 등 다양한 구현 기법에 대한 이해와 적절한 선택이 요구됨
- 실제 서비스에서의 보안 사고 예방 및 사용자 데이터 보호를 위해 필수적인 요소임
'IT Study > 보안 및 프라이버시' 카테고리의 다른 글
🔐 해시 함수(SHA-256 등)의 역할과 무결성 검증 개념 (0) | 2025.04.08 |
---|---|
🔐 개인정보 보호법과 개인정보 비식별화 처리 방식 (1) | 2025.04.07 |
🕵️ 디지털 포렌식(Digital Forensic) 기술 (1) | 2025.04.05 |
🪪 AI 모델의 훈련 데이터 재식별 공격(MIA: Membership Inference Attack) 분석 (0) | 2025.04.04 |
☁️ Cloud-native AI 환경 구성 기술 (0) | 2025.04.04 |