자격증/정보처리기사

[정보처리기사 실기 이론] 소프트웨어 개발 보안 3대 요소 - 기밀성/무결성/가용성

꾸행일기 2025. 7. 7. 16:33

🧩 SW 개발 보안의 3대 요소 [기무가]

밀성(Confidentiality)

결성(Integrity)

용성(Availability)

🔑이 세 가지는 모든 정보보안의 핵심이 되는 개념이다.


✅ 1. 기밀성 (Confidentiality)

"누구나 정보를 볼 수 있으면 안 돼!"

  • 개념: 인가된 사용자만 자원 접근이 가능해야 하는 특성
  • 의미: 즉, 정보가 외부에 노출되지 않도록 하는 것이다.
  • 예시:
    • 웹사이트 로그인 시, 비밀번호는 해시 처리해서 저장
    • HTTPS(SSL/TLS)를 사용해서 통신 내용을 암호화
  • 비유: 비밀번호로 잠금 설정된 스마트폰처럼, 아무나 열어볼 수 없게 보호하는 거야.

✅ 2. 무결성 (Integrity)

"정보가 중간에 바뀌면 안 돼!"

  • 개념: 정당한 방법으로 데이터가 변경되지 않도록 보장한다. 인가된 사용자에 대해서만 자원 수정이 가능.
  • 의미: 즉, 정보가 허가되지 않은 방식으로 변경되지 않도록 보장하는 것. 즉, 데이터의 정확성과 일관성을 유지하는 것.
  • 예시:
    • 파일 다운로드 시, 해시값(SHA-256 등)을 함께 제공해 파일이 변조되지 않았는지 확인.
    • DB에 저장된 값이 누군가 몰래 바꾸지 못하도록 트랜잭션 처리나 변경 로그를 남김.
  • 비유: 시험 성적표를 누가 몰래 수정하지 못하도록 봉인해두는 것과 같다.

✅ 3. 가용성 (Availability)

"필요할 때 언제든지 사용할 수 있어야 해!"

  • 개념: 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능해야함.
  • 의미: 인가된 사용자가 필요한 정보를 지연 없이 지속적으로 이용할 수 있도록 시스템이나 서비스가 항상 동작 상태를 유지하는 것.
  • 예시:
    • 서버 이중화 구성으로 장애 발생 시에도 서비스가 중단되지 않게 함.
    • DDoS 공격에 대비한 방어 시스템 구축.
  • 비유: 병원 응급실처럼 24시간 열려 있어야 응급 상황에 대응할 수 있는 것과 같다!