1. 한눈에 흐름
2. 보안 목표와 서비스
| 목표 | 질문 | 대표 통제 |
|---|---|---|
| 기밀성 | 허가된 사람만 읽는가? | 암호화, 접근통제, 데이터 분류 |
| 무결성 | 허가 없이 바뀌지 않았는가? | 해시/MAC/서명, 변경통제, 감사 |
| 가용성 | 필요할 때 쓸 수 있는가? | 이중화, 용량, 백업/복구, DoS 대응 |
| 인증 | 주체·메시지가 진짜인가? | 자격증명, 인증서, MAC/서명 |
| 인가 | 이 행위를 해도 되는가? | 정책·역할·속성·객체 권한 |
| 책임추적/부인방지 | 누가 했고 나중에 부인할 수 있는가? | 개인 식별 로그, 전자서명, 증적 보호 |
AAA는 Authentication(인증)–Authorization(인가)–Accounting(기록/과금·감사)입니다. 식별은 “나는 누구”를 주장하는 단계, 인증은 그 주장을 검증하는 단계입니다.
3. 암호 · 해시 · MAC · 서명
| 수단 | 핵심 | 자주 나오는 함정 |
|---|---|---|
| 대칭암호 (AES…) | 같은 키로 암·복호. 빠름 | AES 블록은 128비트(키 256이어도 블록은 128) |
| 공개키 (RSA…) | 키 쌍. 키교환·서명에 강점 | 서명 생성 = 송신자 개인키, 검증 = 공개키 |
| 해시 (SHA…) | 고정 길이 요약. 복호화 개념 아님 | 출력 길이는 입력 길이와 무관하게 고정 |
| MAC/HMAC | 공유키로 위변조 탐지 | 양쪽이 같은 키 → 제3자 앞 부인방지에 불리 |
| 전자서명 | 개인키로 서명 | 암호화와 키 사용 방향이 다름 |
DH는 키 합의이지 데이터 암호 알고리즘 자체가 아닙니다. 합의한 비밀로 AES 등을 씁니다.
GCM은 암호+인증 모드. 같은 키에서 nonce 재사용이 치명적입니다.
| 분류 | 대표 | 기억할 점 |
|---|---|---|
| 대칭 블록 | DES/3DES, AES, SEED, ARIA | DES는 키 공간이 작아 취약, 3DES도 레거시. AES 블록 128비트 |
| 공개키 | RSA, DH, ECC | RSA=암호/서명, DH=키합의, ECC=짧은 키로 효율적 강도 |
| 해시 | MD5, SHA-1, SHA-2/3 | MD5/SHA-1 충돌 취약. 역상·제2역상·충돌 저항 구분 |
블록암호 운용모드
| 모드 | 특징 | 주의 |
|---|---|---|
| ECB | 블록별 독립 | 같은 평문→같은 암호문, 패턴 노출 |
| CBC | 앞 암호문과 연쇄, IV 사용 | 무결성 별도 필요, 예측 불가 IV |
| CTR | 카운터를 키스트림처럼 사용, 병렬 가능 | 같은 키·nonce 재사용 금지 |
| GCM | 기밀성+인증(AEAD) | nonce 유일성 필수, 태그 검증 전 평문 사용 금지 |
n비트 해시의 일반적 충돌 탐색은 생일 공격 때문에 약 2^(n/2) 수준입니다. HMAC은 해시 구조에 비밀키를 안전하게 결합하며 단순히 hash(key||message)라고 이해하면 부족합니다.
4. PKI — 신뢰의 사슬
HTTPS로 펌웨어를 받아도, 제조사 코드 서명 검증은 별개입니다. 채널 암호 ≠ 패키지 진위.
CA는 인증서를 서명·발급하고, RA는 신청자의 신원을 확인하는 등록 역할을 맡을 수 있습니다. 인증서에는 주체, 공개키, 발급자, 유효기간, 용도, 서명이 들어갑니다. 루트→중간→서버 인증서의 체인과 이름·기간·키 용도를 모두 검증합니다.
CRL은 폐지 목록을 내려받고, OCSP는 특정 인증서 상태를 온라인 조회합니다. 인증서가 폐지되어도 개인키 유출의 영향 분석·교체가 자동으로 끝나는 것은 아닙니다.
5. 사용자 인증
| 요인 | 예 | 주요 위험 |
|---|---|---|
| 지식 | 비밀번호/PIN | 재사용·피싱·오프라인 대입 |
| 소유 | OTP 토큰·보안키·기기 | 분실·SIM 교체·중간자 |
| 생체 | 지문·얼굴·홍채 | 오인식·위조·변경 불가 특성 |
MFA는 서로 다른 요인을 결합해야 합니다. 비밀번호+보안질문은 둘 다 지식 요인입니다. 피싱 저항성은 출처에 바인딩되는 FIDO/WebAuthn 계열이 OTP 전달 방식보다 유리합니다.
생체의 FAR은 타인을 허용, FRR은 본인을 거부하는 비율입니다. 임계값 변화로 둘이 반대로 움직이며 만나는 지점을 EER/CER로 비교합니다.
Kerberos는 KDC의 AS/TGS가 티켓을 발급하고 서비스가 티켓을 검증하는 대칭키 기반 SSO입니다. 시간 차이에 민감하며 TGT와 서비스 티켓을 구분합니다.
6. 접근통제 모델
| 모델 | 누가 권한을 정하나 | 한 줄 |
|---|---|---|
| DAC | 소유자 | 임의 접근통제 |
| MAC | 중앙 정책·레이블 | 사용자가 마음대로 못 바꿈 |
| RBAC | 역할에 권한 부여 | 사용자↔역할↔권한으로 관리 단순화 |
| ABAC | 주체·객체·행위·환경 속성 정책 | 시간·기기·위치 등 맥락을 세밀하게 반영 |
주의: 네트워크의 MAC 주소와 접근통제 MAC은 다른 말입니다. 문맥을 보세요.
7. 고전 보안 모델
| 모델 | 보호 목표 | 대표 규칙 |
|---|---|---|
| Bell-LaPadula | 기밀성 | No Read Up, No Write Down |
| Biba | 무결성 | No Read Down, No Write Up |
| Clark-Wilson | 상업적 무결성 | 정상 거래·변환절차·업무분리·감사 |
| Brewer-Nash | 이해상충 방지 | 과거 접근 이력에 따라 경쟁사 정보 차단(Chinese Wall) |
8. 보안 아키텍처와 설계 원칙
- 최소권한·필요권한: 필요한 시간·자원·행위만 허용.
- 완전한 중재: 최초 한 번이 아니라 모든 접근을 정책에 따라 검사.
- 기본 거부·실패 안전: 판단이 불가능하거나 구성요소가 실패하면 안전한 상태.
- 직무분리/이중통제: 한 사람이 승인·실행·감사를 모두 하지 않게 함.
- 심층방어: 예방·탐지·대응을 여러 계층에 배치. 같은 실패 원인만 반복하지 않음.
- 제로트러스트: 내부 위치를 신뢰 근거로 삼지 않고 신원·기기·맥락을 지속 검증.
참조 모니터는 모든 접근을 중재하고, 변조에 강하며, 검증 가능해야 합니다. TCB는 보안정책 집행에 의존하는 하드웨어·소프트웨어 구성요소의 집합입니다.
9. 침해사고 대응 · 포렌식
격리는 확산을 줄이되 증거·업무 영향도 고려합니다. 휘발성 순서에 따라 메모리·프로세스·연결·로그를 먼저 검토하고, 원본 대신 검증된 사본으로 분석합니다. 수집자·시간·위치·해시·인계 기록은 증거 연속성(chain of custody)을 뒷받침합니다.
위험은 자산·위협·취약점·영향·가능성을 연결해 판단합니다. 보안통제를 적용한 뒤에도 잔여위험이 남으며, 책임자가 추가 감소·전가·회피·수용을 결정합니다.
10. 헷갈림 짝
| A | B | 차이 |
|---|---|---|
| 해시 | 암호 | 일방향 요약 vs 복호 가능(키 있으면) |
| MAC | 전자서명 | 공유키 vs 개인키(부인방지에 유리) |
| AES 키 | AES 블록 | 키 길이는 가변, 블록은 128 |
| CRL | OCSP | 폐지 목록 vs 실시간 상태 조회 |
| DAC | MAC(접근) | 소유자 임의 vs 강제 정책 |
| 무결성 | 가용성 | 변조 탐지 vs 서비스 지속 |
| Bell-LaPadula | Biba | 기밀성 vs 무결성 |
| RBAC | ABAC | 역할 중심 vs 여러 속성·맥락 정책 |
| 식별 | 인증 | 신원 주장 vs 주장 검증 |
11. 자가 체크
펼쳐서 답 확인
- 전자서명 생성에 쓰는 키는? → 송신자 개인키.
- AES-256의 블록 크기는? → 128비트.
- SHA-256 출력은 입력 길이에 따라 변하나? → 아니오. 고정.
- salt의 주된 목적은? → 같은 암호의 해시 재사용·레인보우 완화.
- 대칭 MAC만으로 부인방지가 약한 이유는? → 양측이 같은 키.
- GCM nonce를 재사용하면? → 기밀성·인증이 크게 깨질 수 있음.
- BLP의 목표와 규칙은? → 기밀성, 상향 읽기·하향 쓰기 금지.
- FAR과 FRR은? → 타인 허용률 vs 본인 거부율.
- 인증 후 인가 검사가 또 필요한가? → 필요. 신원 확인과 자원 권한은 별개.