hhkb.dev

BLOG

2026-02-23

정보보안의 3요소와 CIA Triad

보안을 단순히 "해킹 막는 것"이나 "암호화" 정도로만 보는 경우가 많다. 하지만 실제로 보안 설계나 취약점 분석에서 기준이 되는 건 CIA Triad다. 기밀성, 무결성, 가용성이라는 세 축으로 보는 모델이다.

참고: 알면 당연한데, 모르면 바로 무시당하는 보안의 3요소

1. 기밀성 (Confidentiality)

기밀성은 인가된 사용자만 정보에 접근할 수 있어야 한다는 원칙이다. 가장 직관적인 보안 속성이지만, 실무에서는 생각보다 자주 허술하게 관리된다.

  • 위협: 개인정보 유출, 비밀번호 평문 저장, 권한 밖 데이터 열람
  • 방어: 암호화, 접근 통제, 데이터 마스킹

평문 비밀번호가 그대로 DB에 들어가 있는 사례도 아직 실무에서 꽤 보인다. 가장 기본적인 기밀성 위반인데도 의외로 자주 나온다.

2. 무결성 (Integrity)

무결성은 정보가 인가되지 않은 방식으로 바뀌거나 훼손되지 않아야 한다는 원칙이다. 기밀성이 "누가 보느냐"의 문제라면, 무결성은 "누가 바꾸느냐"의 문제에 가깝다.

  • 위협: 거래 금액 조작, 인증 토큰 위변조, 소스 코드 변조
  • 방어: 해시, MAC, 전자 서명, 변경 통제

결제 시스템에서 클라이언트가 보낸 금액을 서버가 그대로 믿는 구조는 무결성 관점에서 바로 깨지는 설계다.

3. 가용성 (Availability)

가용성은 인가된 사용자가 필요할 때 서비스에 접근할 수 있어야 한다는 뜻이다. 기밀성과 무결성을 잘 지켜도 서비스가 멈춰 있으면 실질적인 가치가 떨어진다.

  • 위협: DDoS 공격, 랜섬웨어로 인한 사용 불가 상태
  • 방어: 서버 이중화, 오토 스케일링, DDoS 방어, 백업과 복구

랜섬웨어가 대표적인 예시다. 데이터가 새어 나간 건 아닐 수 있지만, 암호화돼서 못 쓰게 만들면 가용성은 바로 무너진다. 세 요소가 서로 다른 축이라는 점을 잘 보여준다.

4. 트레이드오프: 세 요소의 조율

세 요소를 모두 최고 수준으로 맞추는 건 현실적으로 어렵다. 서비스 목적과 리스크에 따라 우선순위를 달리 둬야 한다.

설계 방향우선 요소트레이드오프
실시간 서비스 (게임, 스트리밍)가용성과도한 암호화 절차를 줄여 성능 확보
결제·금융 시스템무결성성능이 저하되더라도 검증 로직 강화
의료·군사 시스템기밀성접근 절차가 복잡해져도 통제 우선

보안 설계에서는 뭘 지킬지보다, 어디서 타협할지를 정하는 게 더 어렵다. 그 판단이 결국 설계 품질을 가른다.

"보안은 가장 약한 고리만큼만 강하다."

비싼 방화벽과 최신 암호화를 써도, 직원이 비밀번호를 포스트잇에 적어 모니터에 붙여놓으면 전체 보안 수준은 그 포스트잇 한 장으로 떨어진다.

레드팀 관점에서도 이게 핵심이다. 가장 단단한 벽을 뚫기보다, 전체 구조를 훑고 가장 약한 단일 지점을 찾는 쪽이 훨씬 현실적이다. 시스템 병목을 찾듯, 보안 병목을 찾는 시야가 필요하다.