교재 : 정보보안 이론과 실제 : 암호 접근제어 프로토콜 소프트웨어
마크 스탬프 저 / 안태남, 손용락, 이광석 공역 | 한빛아카데미
1. 보안 등장 인물 이름 정리
알파벳 | 이름 | 악의성 | 설명 |
A | Alice (앨리스) | 통신 중 1번째 당사자 | |
B | Bob (밥) | 통신 중 2번째 당사자 | |
C | Carol (캐롤) / Carlos (카를로스) / Charlie (찰리) | 통신 중 3번째 당사자 | |
C | Chuck (척) | O | 악의가 있는 통신 중 3번째 당사자 |
C | Craig (크레이그) | O | 비밀번호를 훔치려는 사람 |
D | Dave (데이브) / Dan (댄) / David (데이빗) | 통신 중 4번째 당사자 | |
E | Eve (이브) | O | 소극적인 공격자 (스니핑) |
E | Erin (에린) | 통신 중 5번째 당사자 | |
F | Faythe (페이데) | 신뢰할 수 있는 조언자 | |
F | Frank (프랭크) | 통신 중 6번째 당사자 | |
G | Grace (그레이스) | 정부 대표(Government Representitave) | |
H | Heidi (하이디) | 멍청한 암호제작자(Mischievous Designer) | |
I | Isaac (아이작) | ISP | |
I | Ivan (이반) | Issuer | |
J | Justin (저스틴) | 법원 | |
K | - | - | - |
L | - | - | - |
M | Mallory (맬로리) | O | 적극적인 공격지 |
M | Matilda (마틸다) | Merchant (전자 상거래에서 상점 역할) | |
M | Mallet (말렛) | O | 적극적인 공격자 |
M | Mike (마이크) / Michael (마이클) | O | 소극적인 공격자 |
N | Niaj (니아지) | O | 소극적인 공격자 |
O | Oscar (오스카) | O / X | 적극적인 공격자, 다만 악의성은 중립 |
O | Olivia (올리비아) | Oracle | |
P | Peggy (페기) | Prover (검증) | |
P | Plod (플로드) | 법집행 기관 | |
Q | - | - | - |
R | - | - | - |
S | Sybil (사이빌) | O | 익명 공격자 |
S | Steve (스티브) | 스테가노그래피 (Steganography) | |
T | Trudy (트루디) | O | 침입자 |
T | Trent (트렌트) / Ted(테드) | 신뢰할 수 있는 중재자 | |
U | - | - | - |
V | Victor (빅터) | Verifier (검증) | |
W | Walter (월터) | 통신 감시자 | |
W | Wendy (웬디) | 내부 고발자 | |
X | - | - | - |
Y | - | - | - |
Z | Zoe (조) | 통신 중 마지막 당사자 |
보통 Alice와 Bob을 통신하는 두 사람으로, Trudy를 악의적인 공격자로 설정한다.
└ Trudy는 Intruder의 trud가 어원이다.
2. AOB
Q. 엘리스 온라인 은행(AOB; Alice Online Bank) 개설
Q. 앨리스의 보안 관심 사항은 무엇인가?
Q. 밥이 AOB의 고객이면 보안 관심 사항은 무엇인가?
Q. 앨리스와 밥의 공통 관심 사항과 다른 관심 사항은 무엇인가?
Q. 트루디는 이 상황을 어떻게 보는가?
3. 보안의 기본 개념
CIA : Confidentiality, Integrity, Availability
기밀성(Confidentiality) : 허가되지 않은 자가 정보를 읽는 것을 방지하는 것
└ AOB 측면) 트루디가 밥의 계좌 잔액을 아는 것을 방지해야 한다.
무결성(Integrity) : 인가되지 않은 정보의 쓰기를 방지하는 것
└ AOB 측면) 트루디는 밥의 계좌 잔액을 변경할 수 없어야 한다.
└ AOB 측면) 밥은 자신의 계좌 잔액을 부정당하게 변경할 수 없어야 한다.
가용성(Availability) : 자료는 필요할 때 적절하게 가용하게 하는 것
└ AOB 측면) 원할 때 언제든지 거래를 할 수 있어야 한다.
4. CIA 이상의 주제
Q. 밥의 컴퓨터가 밥이 트루디가 아닌 진짜 밥인지 아는 방법은?
Q. 밥의 패스워드는 확인 가능해야 한다 > 암호체계 사용
Q. 패스워드의 보안 관심 사항은 무엇인가 > 패스워드를 얼마나 신뢰할 수 있는가?
Q. 패스워드의 다른 대안은 없는가?
Q. 밥이 AOB에 로그인했을 때 진짜 밥인지 어떻게 알 수 있는가? > 패스워드 확인 필요, 네트워크는 보안 이슈
Q. 네트워크 보안 관심 사항은 어떻게 되는가?
밥이 AOB에 의해 인증(Authentication)했다고 하더라도, 서버 내에서 모든 행동이 허용되는 것은 아님
└ AOB는 밥의 행동을 통제해야 함
└ 밥은 다른 사람의 계좌 정보를 볼 수 없어야 함
└ 밥은 새로운 비인가 소프트웨어를 설치할 수 없어야 함
이러한 제약을 인가(Authorization)이라고 부름
접근 제어(Access Control)는 인증과 인가를 모두 포함하는 개념
암호, 프로토콜, 접근 제어는 SW로 구축
SW의 보안 이슈는 무엇인가?
└ 대부분의 SW는 복잡하고 버그가 필연적으로 존재
└ SW 문제는 보안 문제로 직결
└ SW 개발에 있어서 어떻게 결함을 줄일 것인가?
나쁜 의도로 작성한 SW도 존재 > 멀웨어(Malware)
└ Malware는 어떻게 동작하는가?
└ Alice와 Bob이 Malware로부터 자신을 보호하는 방법은 무엇인가?
└ Trudy는 어떻게 Malware를 더욱 효과적이고 강력하게 만들 수 있는가?
OS(Operating System)는 강력한 보안 통제가 필요
└ Window XP는 40,000,000 라인의 코드
└ Window 10은 50,000,000 라인의 코드
└ OS에는 많은 보안 이슈가 존재 > 과연 신뢰할 수 있는가?
5. 배울 내용들
암호 / 접근제어 / 프로토콜 / 소프트웨어
암호
└ 고전 암호, 대칭키 암호, 공개키 암호, 해시 함수, 고급 암호 분석
접근제어
└ 인증 : 패스워드, 생체인식, 그 외
└ 인가 : 접근 제어 목록, 권한 목록, 다단계 보안(MLS), 보안 모델링, 은닉 통로, 추론제어, 방화벽, 침입 탐지 체계
프로토콜
└ 인증 프로토콜 : 나비 효과, 실제 사용하는 암호
└ 실제 보안 프로토콜 : SSL, IPSec, Kerberos, GSM 보안, 그 외
소프트웨어
└ 오류 : 버퍼 오버플로우, 기타 공통 결함
└ 멀웨어 : 특정한 바이러스와 웜, 방지와 탐지, 미래의 멀웨어
└ SRE : 소프트웨어 역공학, 해커가 SW 분석하는 방법, 디지털 권한 관리(DRM), SW 보안 난해성, 보안 이슈
└ 테스트 제한성 : 공개 소스, 비공개 소스
└ OS : 기초 보안 이슈, 신뢰성 있는 OS 요구사항, 차세대 보안 컴퓨팅(NGSCB)