정보처리기사 보안 파트는 매회 2~3문제씩은 꼭 나옵니다. 암호화 알고리즘 종류, 주요 공격 유형 이름과 설명, 접근 제어 모델을 확실히 외워두면 안정적으로 점수를 챙길 수 있는 영역입니다. 생소한 용어가 많아 어렵게 느껴지지만, 핵심 개념들은 생각보다 많지 않습니다.
1. 암호화 방식
대칭키 암호화
암호화와 복호화에 같은 키를 사용하는 방식입니다. 속도가 빠르지만 키를 안전하게 전달하는 것이 문제예요.
| 알고리즘 | 특징 |
|---|---|
| DES | 56비트 키. 현재는 취약하여 사용 중단 |
| 3DES(Triple DES) | DES를 3번 반복. DES보다 안전하지만 느림 |
| AES | 128/192/256비트 키. 현재 표준 대칭키 알고리즘. 안전하고 빠름 |
| IDEA | 128비트 키. PGP에서 사용 |
| SEED | 한국 표준 대칭키 알고리즘. 128비트 키 |
| ARIA | 국가정보원에서 개발한 한국 표준. 128/192/256비트 |
| RC4 | 스트림 암호. SSL/TLS에 사용됐으나 현재 취약 |
비대칭키 암호화 (공개키 암호화)
암호화와 복호화에 서로 다른 키(공개키/개인키) 쌍을 사용합니다. 키 배송 문제를 해결하지만 속도가 느립니다.
| 알고리즘 | 특징 |
|---|---|
| RSA | 가장 널리 사용되는 공개키 암호. 큰 수의 소인수분해 어려움 이용 |
| ECC | 타원곡선 암호. RSA보다 짧은 키로 동일 보안 수준 달성 |
| DSA | 전자 서명에 특화된 알고리즘 |
| Diffie-Hellman | 키 교환 알고리즘. 안전하지 않은 채널에서 공유 비밀키 생성 |
🎯 암호화 빈출 포인트
✔ 대칭키: 같은 키 사용. 빠름. 키 배송 문제. AES, DES, SEED, ARIA
✔ 비대칭키: 공개키/개인키 쌍. 느림. 키 배송 문제 없음. RSA
✔ "공개키로 암호화 → 개인키로 복호화" (기밀성)
✔ "개인키로 암호화 → 공개키로 복호화" (인증, 전자서명)
✔ 실제 시스템은 비대칭키로 대칭키를 안전하게 교환 후 대칭키로 통신 (혼합 방식)
✔ 대칭키: 같은 키 사용. 빠름. 키 배송 문제. AES, DES, SEED, ARIA
✔ 비대칭키: 공개키/개인키 쌍. 느림. 키 배송 문제 없음. RSA
✔ "공개키로 암호화 → 개인키로 복호화" (기밀성)
✔ "개인키로 암호화 → 공개키로 복호화" (인증, 전자서명)
✔ 실제 시스템은 비대칭키로 대칭키를 안전하게 교환 후 대칭키로 통신 (혼합 방식)
2. 해시 알고리즘
임의 길이 입력을 고정 길이 출력으로 변환하는 단방향 함수입니다. 무결성 검증, 비밀번호 저장, 전자서명에 활용됩니다.
| 알고리즘 | 출력 크기 | 특징 |
|---|---|---|
| MD5 | 128비트 | 빠르지만 충돌 취약점 발견. 보안 용도로 권장하지 않음 |
| SHA-1 | 160비트 | MD5보다 안전하지만 현재 취약. 사용 중단 권고 |
| SHA-256 | 256비트 | 현재 표준. TLS, 비트코인 등에 사용 |
| SHA-3 | 224~512비트 | 가장 최신 SHA 표준 |
| HAS-160 | 160비트 | 한국 표준 해시 알고리즘 |
💡 해시의 특성
✔ 단방향성: 해시값으로 원래 값을 복원할 수 없음
✔ 결정성: 같은 입력은 항상 같은 해시값 출력
✔ 눈사태 효과: 입력값 1비트만 바꿔도 전혀 다른 해시값 출력
✔ 충돌 저항성: 서로 다른 입력이 같은 해시값을 가지는 것이 어려워야 함
✔ 단방향성: 해시값으로 원래 값을 복원할 수 없음
✔ 결정성: 같은 입력은 항상 같은 해시값 출력
✔ 눈사태 효과: 입력값 1비트만 바꿔도 전혀 다른 해시값 출력
✔ 충돌 저항성: 서로 다른 입력이 같은 해시값을 가지는 것이 어려워야 함
3. 주요 공격 유형
보안 파트에서 가장 자주 나오는 섹션입니다. 각 공격 이름과 원리를 정확하게 매칭해서 외워야 합니다.
웹 공격
| 공격 | 원리 | 대응 방법 |
|---|---|---|
| SQL 인젝션 | 입력값에 SQL 쿼리 삽입. DB 무단 접근·변조 | 입력값 검증, 파라미터화 쿼리(Prepared Statement) |
| XSS (크로스사이트 스크립팅) | 악성 스크립트를 게시물 등에 삽입. 다른 사용자 브라우저에서 실행 | 입력값 이스케이프 처리, CSP 설정 |
| CSRF (사이트 간 요청 위조) | 인증된 사용자가 의도치 않은 요청을 보내도록 유도 | CSRF 토큰, SameSite 쿠키 |
| 디렉토리 트래버설 | 경로 조작(../../../)으로 허용되지 않은 파일 접근 | 입력값 정규화, 파일 경로 검증 |
| 파일 업로드 취약점 | 악성 파일 업로드 후 서버에서 실행 | 파일 형식·확장자 검증, 업로드 경로 제한 |
네트워크 공격
| 공격 | 설명 |
|---|---|
| DoS (서비스 거부) | 대량 요청으로 서버 과부하. 단일 공격자 |
| DDoS (분산 서비스 거부) | 수많은 좀비 PC(봇넷)를 이용한 대규모 DoS 공격 |
| 스니핑(Sniffing) | 네트워크 패킷을 도청하여 정보 탈취. 수동적 공격 |
| 스푸핑(Spoofing) | IP, MAC, ARP 등 주소를 위조하여 신뢰 관계 악용 |
| ARP 스푸핑 | ARP 응답을 위조하여 트래픽을 공격자 경유로 유도 |
| 세션 하이재킹 | 인증된 세션을 탈취하여 공격자가 그 세션을 사용 |
| 중간자 공격(MITM) | 통신 중간에서 데이터를 도청·변조 |
| DNS 스푸핑 | DNS 응답을 위조하여 가짜 사이트로 유도 |
기타 공격
| 공격 | 설명 |
|---|---|
| 무차별 대입(Brute Force) | 모든 가능한 비밀번호 조합을 시도 |
| 사전 공격(Dictionary) | 자주 사용되는 단어/패턴 사전으로 비밀번호 추측 |
| 레인보우 테이블 | 해시값과 원본 쌍을 미리 계산해 저장한 테이블로 해시 역추적 |
| 사회공학(Social Engineering) | 기술적 취약점이 아닌 사람의 심리를 이용한 공격 |
| 피싱(Phishing) | 가짜 사이트·메일로 개인 정보 탈취 |
| 랜섬웨어(Ransomware) | 파일을 암호화하고 복호화 대가로 금전 요구 |
🎯 공격 유형 구분 포인트
✔ SQL 인젝션 vs XSS: SQL 인젝션은 DB 공격, XSS는 브라우저 스크립트 실행
✔ DoS vs DDoS: 공격자 수가 차이. DDoS는 분산(Distributed)
✔ 스니핑 vs 스푸핑: 스니핑은 도청(수동), 스푸핑은 위조(능동)
✔ CSRF: 피해자가 직접 요청을 보내도록 유도 — XSS와 혼동 주의
✔ SQL 인젝션 vs XSS: SQL 인젝션은 DB 공격, XSS는 브라우저 스크립트 실행
✔ DoS vs DDoS: 공격자 수가 차이. DDoS는 분산(Distributed)
✔ 스니핑 vs 스푸핑: 스니핑은 도청(수동), 스푸핑은 위조(능동)
✔ CSRF: 피해자가 직접 요청을 보내도록 유도 — XSS와 혼동 주의
4. 접근 제어 모델
| 모델 | 영문 | 특징 |
|---|---|---|
| 임의적 접근 제어 | DAC (Discretionary AC) | 자원 소유자가 접근 권한 결정. 유연하지만 보안 취약. 일반 OS에 사용 |
| 강제적 접근 제어 | MAC (Mandatory AC) | 시스템이 보안 등급으로 접근 제어. 군사·정부 시스템에 사용. 엄격 |
| 역할 기반 접근 제어 | RBAC (Role-Based AC) | 역할(Role)에 따라 권한 부여. 관리 용이. 기업 환경에 적합 |
| 속성 기반 접근 제어 | ABAC (Attribute-Based AC) | 사용자·자원·환경 속성을 조합하여 동적 접근 제어. 가장 세밀한 제어 가능 |
접근 제어 보안 모델
| 모델 | 설명 |
|---|---|
| 벨-라파둘라(Bell-LaPadula) | 기밀성 강조. 낮은 보안 등급이 높은 등급 자원을 읽지 못함(No Read Up). 높은 등급이 낮은 등급에 쓰지 못함(No Write Down) |
| 비바(Biba) | 무결성 강조. 낮은 등급이 높은 등급에 쓰지 못함(No Write Up). 높은 등급이 낮은 등급을 읽지 못함(No Read Down) |
| 클락-윌슨(Clark-Wilson) | 무결성 강조. 트랜잭션 무결성 유지. 상업 시스템에 적합 |
5. 인증 기술
| 기술 | 설명 |
|---|---|
| OTP (일회용 비밀번호) | 매번 달라지는 비밀번호. 재사용 공격 차단. TOTP(시간 기반), HOTP(카운터 기반) |
| PKI (공개키 기반구조) | 인증서 기반으로 공개키의 신뢰성 보증. CA(인증기관)가 인증서 발급 |
| 전자 서명 | 개인키로 서명, 공개키로 검증. 무결성 + 부인 방지 + 인증 제공 |
| SSO (단일 로그인) | 한 번 로그인으로 여러 서비스 접근. 사용 편의성↑ 단일 인증 지점 공격 위험↑ |
| Kerberos | 티켓 기반 인증 프로토콜. 네트워크에서 신뢰받은 제3자 인증기관(KDC) 사용 |
| OAuth | 타사 서비스에 제한된 접근 권한 부여. "카카오로 로그인"이 대표 예시 |
6. 보안 기술 및 도구
| 기술/도구 | 설명 |
|---|---|
| 방화벽(Firewall) | 패킷 필터링으로 허가된 트래픽만 통과. 패킷 필터링, 상태 기반(Stateful) 등 |
| IDS (침입 탐지 시스템) | 침입을 탐지하고 관리자에게 경보. 수동적 대응 |
| IPS (침입 방지 시스템) | 침입 탐지 + 능동적 차단. IDS 발전형 |
| DMZ (비무장 지대) | 외부망과 내부망 사이의 완충 구간. 웹서버·메일서버 배치 |
| VPN (가상 사설망) | 공용 네트워크를 통해 암호화된 사설 터널 형성 |
| SSL/TLS | 전송 계층 암호화. HTTPS의 기반 기술 |
| IPSec | 네트워크 계층(IP)에서 암호화·인증 제공. VPN에 사용 |
🎯 보안 도구 빈출 포인트
✔ IDS vs IPS: IDS는 탐지만, IPS는 탐지 + 차단
✔ 방화벽: OSI 3~4계층에서 동작. 패킷 필터링
✔ DMZ: 방화벽 두 개 사이에 위치한 반신뢰 구간
✔ VPN + IPSec: 안전한 원격 접속에 함께 사용되는 조합
✔ IDS vs IPS: IDS는 탐지만, IPS는 탐지 + 차단
✔ 방화벽: OSI 3~4계층에서 동작. 패킷 필터링
✔ DMZ: 방화벽 두 개 사이에 위치한 반신뢰 구간
✔ VPN + IPSec: 안전한 원격 접속에 함께 사용되는 조합
마무리
보안 파트는 용어를 정확히 아는 것이 관건입니다. 비슷하게 들리는 용어들(스니핑·스푸핑, DoS·DDoS, IDS·IPS)을 확실히 구분하고, 암호화 알고리즘별 키 크기와 특징을 외워두면 빠르게 점수를 챙길 수 있습니다. 공격 유형은 공격 원리를 이해하면 이름을 잊어도 논리적으로 추론이 가능하니 암기보다 이해 위주로 공부하세요.