728x90
반응형
SMALL
1. Confidentiality (기밀성)
정의
기밀성은 민감한 정보가 비인가자에게 노출되지 않도록 보호하는 것을 의미합니다. 이는 정보를 보호해, 승인된 사용자만이 정보에 접근할 수 있도록 보장합니다.
중요성
- 민감한 데이터(개인 정보, 금융 데이터 등)의 노출로 인해 발생할 수 있는 사생활 침해나 금전적 손실 방지.
- 기업의 기밀 정보 유출로 인한 경쟁력 상실 방지.
실제 사례
- 위반 사례: 해커가 데이터베이스에 접근해 고객 정보를 탈취.
- 적용 사례: 고객의 비밀번호는 해시된 형태로 저장하고, 데이터는 암호화하여 전송.
기밀성을 유지하는 방법
- 데이터 암호화
- 데이터를 암호화하여 권한 없는 사용자가 읽을 수 없도록 보호.
- 예: SSL/TLS로 웹 통신 암호화, 데이터베이스 암호화.
- 암호화 알고리즘: AES, RSA, ECC.
- 접근 제어
- 데이터에 접근 가능한 사용자를 제한.
- 접근 제어 모델:
- DAC (Discretionary Access Control): 데이터 소유자가 접근 권한을 정의.
- RBAC (Role-Based Access Control): 사용자 역할에 따라 권한 부여.
- 인증 시스템
- 사용자가 누구인지 확인.
- 예: 비밀번호, OTP, 생체 인증(지문, 홍채 등).
2. Integrity (무결성)
정의
무결성은 데이터가 승인되지 않은 방식으로 수정, 손상, 또는 삭제되지 않도록 보장하는 것을 의미합니다. 데이터를 전송하거나 저장할 때 원래의 상태를 유지하도록 하는 것이 핵심입니다.
중요성
- 데이터가 변조되면 시스템 신뢰성 저하와 심각한 오작동을 유발할 수 있음.
- 금융 데이터나 법적 문서의 무결성은 결과의 정확성에 직접적인 영향을 미침.
실제 사례
- 위반 사례: 해커가 은행 데이터베이스의 계좌 잔액을 조작.
- 적용 사례: 디지털 서명과 체크섬을 사용해 데이터의 변조 여부 확인.
무결성을 유지하는 방법
- 체크섬 및 해시 알고리즘
- 데이터를 기반으로 고유의 해시값을 생성하여 무결성 확인.
- 예: SHA-256, MD5(비추천).
- 데이터 전송 시 수신자가 해시값을 비교해 데이터 변조 여부 확인.
- 디지털 서명
- 송신자가 데이터를 암호화된 서명으로 보증.
- 수신자는 송신자의 공개키로 서명을 검증해 데이터 무결성을 확인.
- 버전 관리
- 데이터 또는 소프트웨어의 이전 버전을 기록하고, 불법적인 변경 발생 시 복구 가능.
- 예: Git과 같은 버전 관리 시스템 사용.
- 트랜잭션 무결성
- 데이터베이스에서 트랜잭션은 ACID(Atomicity, Consistency, Isolation, Durability) 속성을 준수하여 무결성을 유지.
- 예: 은행 이체 시스템에서 모든 연산이 정상적으로 수행되거나, 실패 시 모두 롤백.
3. Availability (가용성)
정의
가용성은 정보와 시스템이 필요한 순간에 중단 없이 접근 가능하도록 보장하는 것을 의미합니다. 이는 시스템 다운타임이나 서비스 중단으로 인한 업무 차질을 최소화하는 데 중점을 둡니다.
중요성
- 시스템 중단은 서비스 거부(DDoS) 공격, 하드웨어 오류, 또는 자연 재해로 발생할 수 있음.
- 금융 서비스, 헬스케어 시스템 등은 높은 가용성을 필수적으로 요구.
실제 사례
- 위반 사례: DDoS 공격으로 인해 전자상거래 사이트가 서비스 불가 상태.
- 적용 사례: 웹 서버 클러스터로 장애 복구 가능하게 구성.
가용성을 유지하는 방법
- DDoS 방어
- 대규모 트래픽으로 인한 서비스 중단 방지.
- 예: 클라우드플레어(Cloudflare) 같은 DDoS 방어 서비스 사용.
- 장애 복구 시스템 (Disaster Recovery)
- 재해나 장애 발생 시 서비스를 빠르게 복구.
- 예: 이중화 시스템(Active-Standby), 데이터베이스 복제.
- 백업 및 복구
- 데이터를 정기적으로 백업하여 데이터 손실을 방지하고, 복구 시 활용.
- 예: 테이프 백업, 클라우드 백업.
- 서비스 고가용성(HA) 아키텍처
- 시스템 장애 시 자동으로 대체 서버가 서비스를 이어받는 구조.
- 예: 로드 밸런싱, 페일오버(Failover).
- SLA (Service Level Agreement)
- 시스템의 가용성 수준을 명확히 정의.
- 예: 클라우드 제공 업체의 "99.99% 가용성" 보장.
사례와 연계된 이해
- 기밀성 위반: 개인 정보가 외부로 유출.
- 무결성 위반: 데이터가 변조되어 잘못된 결과 반환.
- 가용성 위반: 시스템이 다운되어 사용자 접근 불가.
반응형
SMALL
'보안' 카테고리의 다른 글
인증(Authentication)과 인가(Authorization)의 차이점 (0) | 2024.12.08 |
---|---|
XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)의 차이점과 방어 방법 (1) | 2024.12.08 |
SSL/TLS의 역할과 동작 방식 (0) | 2024.12.08 |
대칭키와 비대칭키 암호화의 차이점 (0) | 2024.12.08 |
SQL Injection과 방지 방법 (0) | 2024.12.05 |