안녕하세요
이 카테고리에서는 『컴퓨터보안과 암호』라는 책을 공부하면서, 중요한 개념과 내용을 정리해보려고 합니다.

이 책은 암호학의 수학적 배경, 현대 블록 암호 구조, 해시 함수, 공개키 암호 등
실제 보안 시스템에 사용되는 기술들을 이론과 함께 설명해주어 이해를 돕습니다.
앞으로 각 장별로 핵심 개념을 정리하고, 예제나 그림도 함께 설명해 보겠습니다.
많은 도움이 되셨으면 좋겠습니다 :)
1장에서는 컴퓨터 보안의 개념과 기본 용어들을 중심으로,
보안의 목적과 보안 서비스를 구성하는 핵심 요소들을 정리해보았습니다.
지금부터 1장의 내용을 자세히 살펴보겠습니다.
1.1 컴퓨터 보안 개념
컴퓨터보안과 정의
컴퓨터 보안이란 정보 시스템 자원에 대한 무결성과 가용성, 기밀성 유지와 같은 목적 달성을 위해 자동화된 정보 시스템에 적용되는 보호를 의미합니다.
보안의 세 가지 주요 목적
- 기밀성(Confidentialty)
- 데이터 기밀성: 비인가자의 접근 방지
- 프라이버시: 개인 정보 수집/노출 통제 또는 영향력 발휘
- 무결성(Integrity)
- 데이터 무결성: 인가된 변경만 허용
- 시스템 무결성: 시스템이 변조되지 않고 본래 기능 수행
- 가용성(Availability): 시스템이 적절한 시점에 동작할 수 있도록 하며, 인가된 사용자가 적절한 시점에 시스템을 사용할 수 있도록 보장
이러한 3가지 개념은 CIA triad(보안의 3요소)이라고 알려져 있습니다.

추가적인 정의
- 인증성(authenicity): 메시지, 송신자, 시스템의 '진짜' 여부 보장하는 것
- 예) 메시지 전송과 메시지 내용 그 자체, 그리고 메시지 송신자에 대한 확신 등 / 사용자가 해당하는 사용자라는 점과 어떤시스템에 도착한 입력이 신뢰할 수 있는 곳으로부터 왔다는 것을 확신하는 것
- 책임 추구성 (accountabilitly):행위 추적 가능, 부인방지 및 법적 조치 근거 제공하는 것
- 책임 추궁 → 부인 방지와 예방, 결함격리, 침입탐지/대응, 사후복구, 법적조치 지원
- 실제 완벽하게 안전한 시스템이라는 것은 현실적으로 이룰 수 없는 목표이므로 보안 위반행위를 반드시 기록하여, 향후에 보안 위반행위를 추적하거나, 분쟁이 발생했을 때 조정에 사용 가능
사례 (Examples)
다음과 같이 3가지로 나뉠 수 있습니다.
| 영향 수준 | 설명 |
| 낮음 (Low) | 제한적인 손실. 약간의 자원/재정/개인 손해 발생 가능성 |
| 중간 (Moderate) | 조직 기능 저하, 심각한 자원 손실, 개인 피해 |
| 높음 (High) | 조직 기능 상실, 재정 파탄, 생명 피해 가능성 |
각 영향 수준에 대한 구체적인 사례는 다음과 같습니다.
- 낮음 (Low)의 예: 해커가 학교의 동아리 소개 웹페이지를 임의로 수정했지만, 개인정보 유출이나 시스템의 핵심 기능에는 영향을 주지 않은 경우
- 중간 (Moderate)의 예: 대학의 학사 관리 시스템이 다운되어 학생들이 수강 신청 기간 동안 접속하지 못하거나, 학생들의 성적 데이터가 유출되어 심각한 개인적 피해를 유발한 경우
- 높음 (High)의 예: 병원의 환자 관리 시스템이 랜섬웨어에 감염되어 마비되고, 이로 인해 응급 환자에 대한 처치가 지연되어 생명에 위협을 끼치는 경우
1.2 OSI 보안 구조 (The OSI Security Architecture)
- 보안 공격(Security Attack): 조직이 소유한 정보의 안정성을 손상시키는 제반 행위
- 보안 기법(Security MEchanism): 보안 공격을 탐지, 예방하고 그로부터 복구하기 위한 제반 기법
- 보안 서비스(Security Service): 조직의 데이터 처리 시스템 및 정보 전송에 대한 보안을 강화하기 위한 제반 서비스. 이 서비스들은 보안 공격을 방어하기 위한 것, 하나 또는 그 이상의 보안 기법을 사용하여 서비스를 제공
1.3 보안 공격 (Security Attacks)
소극적 공격
의미와 목적
- 의미: 전송 정보에 대한 도청이나 감시
- 목적: 전송중인 정보를 취득하는 것
유형
- 메세지 내용 공개 (release of message contents)
- 전화통화, 전자우편 메세지, 전송파일 등에는 기밀정보가 포함돼 있을 수 있으며, 적이 이들 전송 내용을 탐지하지 못하도록 예방해야 함
위협
보안을 침해하고 해를 끼칠 가능성이 있는 보안 침해의 잠재력. 즉, 취약점을 악용할 수 있는 위험 가능성
공격
지능적인 위협으로부터 파생된 시스템 보안에 대한 공격. 즉, 보안 서비스를 회피하고 시스템 보안 정책을 위반하려는 고의적인 시도(특히 방법 혹은 기법의 의미에서)를 의미하는 지능적 행위
- 트래픽 공격 (traffic analysis)
- 정보 내용을 암호화하여 암호장치를 적소에 배치했다 하더라도, 공격자는 암호 메세지의 유형을 관찰할 수 도 있음. 공격자는 통신자의 장소와 실체를 파악하고, 메세지 교환 횟수와 길이를 알아낼 수도 있음.
소극적 공격은 실제로 데이터를 변경하지 않아 탐지하기 매우 어려움. 메세지는 평범하게 수신되어지고 송신되어짐. 그리고 송신자와 수신자는 제3자가 메세지를 읽고, 전송적패턴에 대해 관찰하는지 알 수 없음. 하지만 이것은 암호화를 통해 예방할 수 있음. 따라서 소극적 공격에 대해서는 탐지보다 예방을 강조함.
적극적 공격
데이터 스트림의 불법 수정이나 거짓 데이터 스트림의 생성 수반
유형
- 신분위장(masquerade): 하나의 실체가 다른 실체로 행세를 할 때 발생하며, 대개 적극적 공격의 다른 유형 중 하나를 포함. 예를 들면, 일련의 인증 절차는 가로채어질 수 있으며, 유효한 특정 인증 절차가 수행된 이후에도 재전송 될 수 있음.
- 재전송(replay): 데이터를 수동적으로 획득하여, 비인가된 효과를 얻기 위해 재전송
- 메시지 수정(modification of message): 단순히 적법한 메세지의 일부가 불법 수정되거나 메시지 전송이 지연되어 순서가 바뀜으로서 비인가된 결과를 만들어 내는 것을 의미
- 서비스 거부 (denial of service): 통신 설비가 정상적으로 사용 및 관리가 되지 못하게 방해하는 것을 의미, 특정 목표물을 대상으로 함
적극적 공격은 소극적 공격에 반대되는 특성이 있습니다. 소극적 공격의 경우에는 탐지가 어렵지만 예방은 가능합니다. 반면, 적극적 공격의 경우는 완전 예방이 어려운데 이는 다양한 물리적인 취약점과 소프트웨어 및 네트워크 상의 취약점 때문입니다. 적극적 공격은 완전하게 예방하기보다는 공격을 탐지하고, 공격에 의한 붕괴나 지연 등으로부터 복구하는 것을 목표로 합니다다. 공격을 탐지하는 것은 방지 효과가 있기 때문에 예방에 기여할 수 있습니다.
1.4 보안 서비스 (Security Services)
X.800은 개방형 통신시스템의 프로토콜 계층에서 제공되는 하나의 서비스로써 보안기능을 정의하고 있으며, 시스템 혹은 데이터 전송에 대한 적절한 보안성을 보장합니다. 좀 더명확한 정의는 RFC2828에서 찾아볼 수 있습니다.
X.800은 시스템에 의해 제공되는 처리 및 통신 서비스로서 시스템 자원에 대한 특정 종류의 보안을 제공해줍니다. 즉, 보안 서비스는 보안 정책을 구현하며, 보안 기법에 의해 구현됩니다.
X.800은 이들 서비스를 5개의 영역과 14개의 세부 서비스로 분류하고 있습니다.
인증
인증 서비스는 통신에 대한 인증과 관계가 있습니다. 경고나 경보 신호와 같은 단일 메세지의 경우, 인증 서비스의 기능은 메시지가 해당 송신지로부터 전송되었음을 수신자에게 확신시키는 것입니다. 터미널과 호스트 컴퓨터의 연결처럼 상호 교신이 진행되고 있는 경우, 두 가지 관점이 있습니다.
- 인증 서비스는 연결이 개시 될 때, 연결될 두 실체가 각각 믿을 수 있는 실체임을 확인한다.
- 인증 서비스는 제 3자가 비인가 된 송수신의 목적을 위해 적법한 연결 당사자 중의 하나로 위장하는 방식으로 토신 연결이 방해받고 있지 않음을 확인해야 한다.
두 가지 인증 서비스가 X.800에 정의되어 있습니다.
- 대등 개체 인증 (Peer entity authentication): 하나의 통신 연결에서 통신 대상 개체의 신분에 관한 확신을 제공합니다. 두 개의 통신 대상 개체가 비록 서로 다른 시스템이지만, 통신하는 서로 다른 통신 시스템을 예로 들 수 있습니다. 대등 개체 인증은 연결 개시 시점이나 자료 전송 단계에서 사용되도록 제공되며, 하나의 실체가 위장 또는 이전 연결의 비인가된 재전송을 시도하지 않고 있다는 확신을 실체에게 제공하기 위해 이용됩니다.
- 데이터 근원 인증 (Data origin authentication): 데이터 단위의 출처에 관한 확실한 사실을 제공합니다. 이것은 데이터 단위의 복제나 수정에 대한 보호 방법은 제공하지 않습니다. 이러한 유형의 서비스는 통신 실체 사이에 어떤 사전 교신이 없는 전자 우편과 같은 응용을 지원합니다.
접근 제어
- 개념: 통신 링크들을 통한 호스트 시스테모가 응용의 접근을 제한하고 제어할 수 있음을 의미
이와 같은 제어를 달성하기 위해서, 접근을 얻으려는 각 실체는 각각에 맞는 접근 제한이 주어지도록 우선 식별과 인증 과정을 거쳐야 합니다.
데이터 기밀성
데이터 전송 내용에 대해, 여러 단계의 보호 수준이 있을 수 있습니다.
가장 광범위한 서비스는 일정 기간 동안, 두 사용자 사이의 모든 전송 자료를 보호하는 것입니다. 예를 들어, 만약 2개의 시스템 사이에 TCP 연결이 설정되면, 이 광범위한 보호는 TCP 연결로 전송되는 모든 사용자 자료의 누출을 방어 하는 것입니다. 이러한 서비스는 단일 메시지나 메시지 내의 특정 필드에 대한 보호와 같은 협의의 보호 형태로도 정의될 수 있습니다. 후자는 전자에 비해 유용성이 떨어지며 구현이 더 복잡하고 비용 역시 많이 들게 됩니다.
기밀성의 또 다른 측면은 트래픽 흐름 분석에 대한 보호입니다. 여기서의 요구사항은 공격자가 출발지와 목적지, 트래픽 빈도, 길이, 통신 설비 상의 다른 특성들을 관찰할 수 없도록 합니다.
데이터 무결성
기밀성 서비스와 같이 무결성 서비스는 메시지 스트림, 단일 메시지, 또는 메시지의 특정 필드에 적용할 수 있습니다. 앞에서 언급한 바와 같이 가장 유용하고, 직접적인 접근 방법은 메시지 스트림 전체를 보호하는 것입니다.
- 연결형 무결성 서비스 - 메시지가 복제, 추가, 수정, 순서변경 또는 재전송 되지 않은 상태로 수신되었음을 보장
- 비연결형 무결성 서비스 - 개별 메시지들만을 대상으로 하며, 일반적으로 메시지의 불법 수정에 대해서만 보호 제공
부인 방지
송신자나 수신자가 전송된 메시지를 부인하지 못하도록 방어하는 것
가용성 서비스
DoS 공격과 같은 위협에 대응하여 시스템이 정상적으로 동작하고 인가된 사용자가 언제든지 서비스를 이용할 수 있도록 보장하는 것
1.5 보안 메커니즘 (Security Merchanisms)
앞서 정의한 보안 서비스를 구현하기 위해 사용되는 구체적인 기술적 방법들입니다. X.800은 다음과 같은 8가지 보안 메커니즘을 정의합니다.
- 암호화 (Encipherment) 데이터를 알아볼 수 없는 형태로 변환하여 기밀성을 제공하는 가장 기본적인 메커니즘
- 디지털 서명 (Digital Signature) 데이터에 전자적인 서명을 추가하여 데이터의 인증성, 무결성, 부인 방지 서비스를 제공. 송신자는 자신의 개인키로 서명하고, 수신자는 송신자의 공개키로 서명을 검증함.
- 접근 제어 (Access Control) 자원에 대한 접근 권한을 제어하는 메커니즘. 접근 제어 목록(ACL)이나 역할 기반 접근 제어(RBAC) 등의 방법으로 특정 사용자의 읽기, 쓰기, 실행 권한을 관리함.
- 데이터 무결성 (Data Integrity) 데이터에 무결성 검사 값(예: 해시값)을 첨부하여 전송 중 데이터가 변경되지 않았음을 보장하는 메커니즘
- 인증 교환 (Authentication Exchange) 비밀번호, 질문-응답, 암호화된 키 교환 등 다양한 정보 교환 프로토콜을 사용하여 상대방의 신원을 확인하는 메커니즘
- 트래픽 패딩 (Traffic Padding) 실제 데이터 외에 의미 없는 데이터를 추가로 전송하여, 외부 공격자가 트래픽의 양이나 패턴을 분석하기 어렵게 만드는 메커니즘. 기밀성 서비스 지원.
- 라우팅 제어 (Routing Control) 데이터 전송 경로를 동적으로 제어하여 특정 네트워크를 우회하거나, 물리적으로 안전한 경로를 선택하게 함으로써 보안을 강화하는 메커리즘
- 공증 (Notarization) 신뢰할 수 있는 제3자(공증 기관)를 통해 데이터의 교환 시간이나 속성(무결성, 출처 등)을 보증하는 메커니즘
앞서 1장에서는 컴퓨터 보안의 개념을 알아보았습니다.
2장에서는 고전 암호 기법(Classical Encryption Techniques)을 다루며,
이는 현대 암호 원리를 이해하는 데 중요한 기반이 됩니다.
궁금한 점이나 잘못된 부분이 있다면 댓글로 알려주세요!
참고 자료
"컴퓨터 보안과 암호", WILLIAM STALLINGS 저자(글) · 최용락 , 전정훈 , 김윤정 번역