대학 강의를 기반으로 작성했으며, 해당 대학 강의에서는 Cryptography & Network Security 서적을 이용했습니다.
보안 목표
- 기밀성(Confidentiality)
: 정보는 인가된 사람들에게만 공개되어야 한다.
ex ) 고객 정보 암호화를 통해 탈취당하더라도 정보를 알 수 없게 관리 - 무결성(Integrity)
: 정보의 변경은 인가된 자에 의해, 인가된 매커니즘 하에서만 발생해야 한다.
무결성의 왜곡은 반드시 악의적 행동에 의한 것이라고 할 수는 없다. ( 통신 에러 등 ... )
ex ) 클라이언트가 보낸 값이 유효한 값인지 서버 측에서 검사 - 가용성(Availability)
: 정보는 인가된 자가 사용할 수 있어야 한다. 기밀성이 너무 강해 인가된 사람마저 사용할 수 없으면 안된다.
각 보안 목표와 관련된 위협
- 기밀성
- 스누핑(snooping)
: 데이터에 대한 비인가된 접근이나 탈취 (내용의 획득)
ex) 프로그램(snooper)을 이용하여 상대방의 메일 내용을 엿봄 - 트래픽 분석
: 온라인 트래픽 모니터링을 통해 다른 타입의 정보 획득.
ex) 대상들의 이메일 주소와 특정 시간에 거래할 것이라는 정보가 있다면, 해당 시간대에 둘 사이에서 오가는 메일이 암호화 되어 있더라도 거래 관련 메일이라는 사실은 추측할 수 있음.
- 스누핑(snooping)
- 무결성
- 수정(Modification)
: 공격자가 정보를 가로채거나 획득한 후, 자신에게 유리하게 조작하는 것 - 가장(Masquerading / spoofing)
: 다른 사람으로 위장하는 것
ex) IP, DNS 등을 변경하여 위장 - 재연(Replaying)
: 메세지 사본 획득 후, 해당 메시지를 추후 다시 시도
ex) 결제 정보 관련 메시지를 탈취한 다음 메시지를 수정하여 자신의 통장으로 돈을 보내게 만듬 - 거부(Repudiation)
: 메시지를 보내거나 받은 사실이 없다고 부인하는 것
ex) 메시지를 통해 계약을 완료한 후, 해당 계약을 한 적이 없다고 우기기
- 수정(Modification)
- 가용성
- 서비스 거부(Denial of Services)
: 시스템의 서비스를 느리게 만들거나, 차단
- 서비스 거부(Denial of Services)
소극적 공격 / 적극적 공격
보안 목표 | 공격 방식 | 공격 형태 |
기밀성 | 스누핑(snoofing) 트래픽 분석 |
소극적(passive) |
무결성 | 수정(modification) 가장(masquerading) 재연(replaying) 거부(repudiation) |
적극적(active) |
가용성 | dos(denial of service) | 적극적(active) |
각 공격의 특징
- 소극적 공격
- 유저 정보를 탈취하기는 하는데, 아직까지 해당 정보를 기반으로 어떤 피해를 주지는 않는다.
- 실제로 공격 당했는지 알기 어렵다.
- 적극적 공격
- 데이터 변조나 서비스 거부 등을 통해 시스템에 직접적인 해를 끼친다.
- 공격의 결과가 서비스에 드러나기 때문에 소극적 공격에 비해 공격 여부를 알기 쉽다.
보안 서비스 & 매커니즘
1개 이상의 보안 매커니즘이 보안 서비스를 구현하게 된다.
보안 서비스
서비스 | 역할 |
데이터 기밀성(Data Confidentiality) | 스푸핑 및 트래픽 분석 방지 |
데이터 무결성(Data Integrity) | 데이터 변조 및 재연 공격 방지 |
인증(Authentication) | 사용자 식별 등 |
부인 방지(Nonrepudiation) | proof of origin / proof of delivery |
접근 제어(Access Control) | 데이터에 대한 비허가된 접근 방지 |
보안 매커니즘
- Encipherment : 데이터를 숨기거나 감싸 기밀성을 유지
- Data Integrity : 데이터의 값을 검사하기 위한 작은 값을 기반으로 검사
- Digital Signature : 데이터에 전자 서명하고, 받는 측에서는 이를 확인
- Authentation exchange : 서로가 자신을 인증할 수 있는 정보를 교환
- Traffic Padding : 트래픽 분석을 방해하기 위해 가짜 정보를 중간에 넣음
- Routing control : 특정 라우트에 대한 도청을 막기 위해 연속적으로 라우트 변경
- Notarization : 두 대상 사이에 신뢰있는 제 3자를 두고 통신
- Access Control : 유저가 시스템에 접근할 권리가 있음을 증명하는 방법 ( 비밀번호 )
서비스와 매커니즘의 관계
보안 서비스 | 보안 매커니즘 |
Data Confidentiality | Encipherment, Routing Control |
Data Integrity | Encipherment, Digital Signature, Data Integrity |
Authentication | Encipherment, Digital Signature, Authentication Exchange |
Nonrepudiation | Digital Signature, Data Integrity, Notarization |
Access Control | Access Control |
보안의 실제 구현 수단
- 암호(Cryptography)
- 스테가노그래피(Steganography)
암호(Cryptography)
- 그리스어 기준 비밀 기록(secret writing) 을 의미
- 메시지를 안전하고, 공격에 대한 면역을 지니도록 만드는 과학과 기술로, 메시지를 이해할 수 없도록 변환
- 종류
- 대칭키 암호화 ( symmetric key encipherment )
- 비대칭키 암호화 ( asymmetric key encipherment )
- 해싱
스테가노그래피(Steganography)
https://en.wikipedia.org/wiki/Steganography
- 그리스어 기준 숨겨진 기록(covered writing) 을 의미
- 다른 메시지 또는 물리적 개체에 메시지를 숨기는 행위로, 암호가 숨겨져있는지 알기 어렵게 만든다.
ex) 음악 내의 특정 비트 부분에 암호를 숨김 / 공백 문자 개수를 기준으로 0 과 1을 구분
'CS' 카테고리의 다른 글
[CS] DIP / IoC / DI (0) | 2023.10.23 |
---|---|
[CS] 객체 지향 (0) | 2023.10.18 |
[batch] cron 표현식 (0) | 2023.08.23 |
[네트워크] HOL(Head Of Line) blocking (0) | 2023.08.03 |
[CS] 프로세스(process) 내용 정리 (0) | 2021.11.08 |