문서 읽는 데 51분 · 19강 · 2과목 · 소프트웨어 개발

인터페이스 구현 (보안)

목차 21
전체 59강 중 19강 · 2과목 · 소프트웨어 개발

인터페이스를 구현해 운영 환경으로 내보내기 전, 데이터가 흐르는 송수신 통신 구간을 봉인하는 보안을 잡는다. 핵심 질문은 하나 — "어느 계층에서 무엇으로 막는가." 네트워크(IPSec·3계층) → 전송(SSL/TLS·4계층 위) → 애플리케이션(API·7계층) 세 겹을 한 단계씩 봉인하고, 끝에 개발 단계 보안(시큐어 코딩·대표 웹 공격)을 맛보기로 짚는다. 한 계층이 뚫려도 다음이 막는 다층 방어(Defense in Depth) 가 큰 그림이다. 2과목 마지막 단원이며, IPSec AH·ESP·계층 비교가 매년 빠지지 않는 정조준 빈출이다.

핵심 암기: IPSec 두 프로토콜 AH=무인 / ESP=기무인(암호화는 무조건 ESP) · IPSec 두 모드 터·전(터널=전체+새 IP / 전송=페이로드만) · 적용 계층 IPSec=3계층(AH·ESP) / SSL=4계층 위(브라우저) · 시큐어 코딩 7원칙 입보시에코캡A · 입력 검증 화이트=안전 / 블랙=위험 · 웹 공격 XSS=실행 / CSRF=위조


송수신 보안의 출발 — 위협과 4중 방어선

송수신 4대 위협 + 보안 3요소(CIA) ·송수신 보안·

[정의] 통신선이 노출되는 순간 데이터는 네트워크 위를 평문으로 흘러간다. 그 흐름을 노리는 위협이 정확히 네 가지이고, 각 위협이 깨뜨리는 보안 요소가 시험의 평가 잣대다.

[표] 송수신 4대 위협 — 무엇을 노리고, 무엇을 깨뜨리나.

위협 영문 노리는 것 침해 요소
스니핑 Sniffing 송수신 데이터 도청(엿보기) 기밀성
변조 Modification 데이터 무단 수정 무결성
재전송 Replay 가로챈 패킷을 그대로 재발송 무결성·인증
가로채기(MITM) Man-in-the-Middle 중간자가 끼어들어 양쪽 행세 기밀성+무결성

[정의] 보안 3요소 = CIA — 이 단원 전체의 잣대.

요소 영문 한 줄 정의
기밀성 Confidentiality 권한 없는 자가 못 보게(암호화)
무결성 Integrity 변조되지 않게(검증)
가용성 Availability 필요할 때 쓸 수 있게

💡 일반 우편(평문)은 누구든 편지를 펼쳐보고(스니핑), 뜯어 바꿔 다시 봉인하고(변조), 같은 편지를 또 보낼 수 있다(재전송). 가짜 우체부가 양쪽에서 가로채 친구인 척하면(MITM) 봉인·신원이 동시에 무너진다.

🔑 암기 보안 3요소 = CIA(기밀성·무결성·가용성). AH·ESP·TLS가 각자 이 셋 중 무엇을 지키는지가 19강의 축. ⚠️ 함정 '도청·엿보기'→스니핑 / '수정·변조'→변조 / '재발송'→Replay / '중간자·양쪽 행세'→MITM. 4쌍 매칭을 뒤바꾸는 함정이 단골. 🎯 빈출 위협↔침해 요소 매칭, CIA 정의 매칭이 간헐 출제. 본격 공격 유형은 5과목 49·50강.

인터페이스 보안 4대 영역 — 계층별 4중 방어 ·송수신 보안·

[정의] 4대 위협을 막는 방어선은 OSI 계층별로 4대 영역으로 나뉜다. 19강은 ①·②·③을 본격으로 다루고, ④ DB 보안은 3과목 데이터베이스 단원으로 위임한다.

[표] 어느 계층에서 무엇으로 막는가 — 4중 방어선.

계층 영역 대표 기술 보호 대상
① 3계층(네트워크) 네트워크 보안 IPSec(AH·ESP) IP 패킷 자체
② 4~7계층(전송) 전송 보안 SSL/TLS, SSH 종단간 세션
③ 7계층(응용) 애플리케이션 보안 WS-Security, OAuth, JWT API 호출·메시지
④ DB 영역 데이터 보안 TDE, 마스킹, 접근 통제 저장된 데이터(→ 3과목)

💡 건물의 4중 보안과 같다. ① 외벽 봉인(IPSec) → ② 정문 신분증 검사·출입증 발급(SSL/TLS) → ③ 부서별 카드 키(OAuth/JWT) → ④ 금고 자물쇠(TDE). 한 단계가 뚫려도 다음이 막는 다층 방어가 모범.

⚠️ 함정 '한 계층만 강력하면 충분'→❌(4중 방어가 표준). ④ DB 보안을 19강 본격 범위로 넣으면 ❌(데이터베이스 단원). 🎯 빈출 '어느 계층에서 무엇으로 막나' 매칭. 계층↔대표 기술 짝을 뒤바꾸는 함정 주의.


① 네트워크 보안 — IPSec (3계층)

IPSec 정의 — 3계층 표준, AH·ESP·터널·전송 ·IPSec·1순위·

[정의] IPSec(IP Security) = IP 패킷 단위로 보안을 적용하는 3계층(네트워크 계층) 표준 프로토콜 집합. IETF가 표준화했고(RFC 4301), IPv6에는 기본 내장·IPv4에는 옵션으로 추가된다. 대표 용도는 VPN(사이트간·원격 접속).

[표] IPSec 한눈에.

항목 내용
계층 3계층(네트워크)
두 프로토콜 AH(Authentication Header) + ESP(Encapsulating Security Payload)
두 동작 모드 터널 모드 + 전송 모드(터·전)
부가 구성 SA(Security Association·보안 연관), IKE(Internet Key Exchange·키 교환)
대표 용도 VPN(사이트간·원격 접속)

[흐름] 왜 등장했나 — TCP/IP는 원래 보안을 고려하지 않아 평문이 그대로 흐른다. 응용 단(HTTPS)에서 막으면 모든 앱이 각자 보안을 구현해야 해 비효율적이다. "차라리 IP 계층에서 한 번에 봉인하자" 가 IPSec의 발상.

💡 IPSec은 IP 패킷을 통째로 봉인 트럭에 싣는 방식. 봉인을 어떻게 하느냐가 AH·ESP, 어디까지 하느냐가 터널·전송으로 갈린다.

🔑 암기 IPSec = 3계층 · AH·ESP · 터·전 · VPN. ⚠️ 함정 'IPSec은 7계층 응용 프로토콜'→❌(3계층). 'IPv4에 기본 내장'→❌(IPv6 기본·IPv4 옵션). 🎯 빈출 '3계층·네트워크 계층·IP 패킷·AH·ESP·IETF'가 보이면 IPSec. 매년 한 문항 이상 보장. 📝 기출 정의 매칭형·계층 판단형. IPSec/SSL VPN은 5과목 51강 보안 솔루션에서 재등장.

★AH=무인 / ESP=기무인★ — '암호화' 보이면 무조건 ESP ·IPSec·시그니처·1순위·

[정의] IPSec의 두 프로토콜은 단 하나 — 암호화(기밀성) 유무 — 로 갈린다. AH는 암호화하지 않고, ESP는 AH의 모든 기능에 암호화까지 더한 풀세트다.

[표] 기능 비교 — 한 줄만 다르다.

기능 AH ESP
무결성(Integrity)
인증(Authentication)
재전송 방지(Replay)
기밀성(암호화)
두음 무인(무결성+인증) 기무인(기밀성+무결성+인증)

[표] 시험 함정 4쌍 — 빈출 1순위.

⚠️ 함정 표현 ✅ 정답
'AH가 기밀성을 보장한다' ESP만(AH는 암호화 ❌)
'ESP는 인증을 못 한다' ESP는 다 함(AH 기능 + 암호화)
'AH가 IP 패킷을 암호화한다' 암호화 ❌(봉인 스티커지 금고 아님)
'AH와 ESP는 동시에 못 쓴다' 동시 적용 가능(현실은 대부분 ESP만)

💡 AH = 봉투에 봉인 스티커 — 누가 뜯었는지·누가 보냈는지는 확인되지만 내용은 그대로 보인다(암호화 ❌). ESP = 봉인 스티커 붙은 금고 — 내용까지 안 보인다(암호화 ⭕). 그래서 현실의 거의 모든 IPSec VPN은 ESP를 쓴다.

🔑 암기 AH=무인 / ESP=기무인 — '암호화'가 보이면 무조건 ESP. 한 글자 차이로 정답이 갈린다. ⚠️ 함정 AH↔ESP의 기능을 뒤바꾸거나, 'AH도 암호화'로 끼워넣는 함정. 암호화는 ESP만. 🎯 빈출 19강 출제 빈도 1위 카드. 부정형('옳지 않은 것')으로 ④에 'AH처럼 암호화 안 함'을 박는 패턴이 단골. 📝 기출 설명 판단형(부정·긍정) 매회 변형.

★터·전★ — 터널 모드 vs 전송 모드 ·IPSec·시그니처·

[정의] AH·ESP가 '무엇으로 봉인하느냐'라면, 모드는 '어디까지 봉인하느냐'다. 널은 원래 IP 패킷 전체를 새 IP 헤더로 감싸고(사이트간 VPN), 송은 페이로드만 봉인하고 원래 IP 헤더는 노출한다(호스트간 직접).

[표] 보호 범위·용도 비교.

모드 보호 범위 새 IP 헤더 대표 용도
널(Tunnel) 원래 IP 패킷 전체 ⭕(새 헤더가 앞에 붙음) 사이트간 VPN(게이트웨이↔게이트웨이)
송(Transport) 페이로드만(원래 IP 노출) 호스트간 직접(서버↔서버)
텍스트
원본 IP 패킷
  [ IP헤더 ][ TCP ][ 데이터 ]

전송 모드 — 페이로드만 봉인, 원래 IP 노출
  [ IP헤더 ][ ESP ][ TCP+데이터 = 암호화 ][ ESP-T ]

터널 모드 — 전체 패킷 봉인, 새 IP로 원래 IP까지 가림
  [ 새 IP헤더 ][ ESP ][ 원래 IP헤더+TCP+데이터 = 전체 암호화 ][ ESP-T ]

💡 터널 = 택배 박스를 더 큰 봉인 박스에 한 번 더 포장(받는 사람 주소=원래 IP까지 가려짐) → 회사↔회사 게이트웨이 VPN 표준. 전송 = 박스 내용물만 봉인하고 겉면(원래 IP)은 노출 → 서버↔서버 직접 통신.

🔑 암기 터·전 — 터널은 통째로(전체+새 IP), 전송은 페이로드만(원래 IP 노출). ⚠️ 함정 '전송 모드가 사이트간 VPN 표준'→❌(터널이 표준) / '터널은 페이로드만 보호'→❌(전체 패킷) / '터널이 원래 IP를 노출'→❌(새 헤더로 가림). 🎯 빈출 '원래 IP 패킷 전체 + 새 IP 헤더' 설명→터널 매칭이 단골. 모드를 뒤바꾼 함정 보기가 1순위. 📝 기출 설명 판단형(긍정).


② 전송 보안 — SSL/TLS·SSH (4계층 위)

SSL/TLS 정의 — 4계층 위, HTTPS의 핵심 ·SSL/TLS·1순위·

[정의] SSL(Secure Sockets Layer) / TLS(Transport Layer Security) = 클라이언트-서버 사이 전송 계층(4계층) 위에서 동작하는 종단간 보안 프로토콜. Netscape의 SSL을 IETF가 표준화하며 TLS로 개명했고, SSL 3.0 이하는 전부 폐기, 현재는 TLS 1.2 / 1.3 이 표준이다(현행 권장 TLS 1.3).

[표] SSL/TLS 한눈에.

항목 내용
계층 4계층 위(전송~응용 사이)
현재 표준 TLS 1.3(RFC 8446) / TLS 1.2 호환. SSL은 전부 폐기
올라가는 프로토콜 HTTP→HTTPS, SMTP→SMTPS, FTP→FTPS
포트 443(HTTPS), 465(SMTPS), 993(IMAPS)
3대 기능 기밀성(암호화) + 무결성(MAC) + 인증(인증서)
인증 방식 공개키 인증서(X.509) — CA가 발급

[흐름] HTTPS = HTTP + TLS. 브라우저 주소창 자물쇠 아이콘은 '이 페이지는 TLS로 봉인돼 있다'는 의미. HTTPS의 'S'(Secure)를 만드는 게 TLS다.

💡 SSL/TLS는 VIP 라운지 입장 절차와 같다. ① 입구에서 신분증(인증서) 확인 → ② 출입증(세션 키) 발급 → ③ 라운지 안 대화는 외부에 안 들리게 차폐(암호화).

🔑 암기 SSL/TLS = 4계층 위 · X.509 인증서 · 443 · 기밀성+무결성+인증. ⚠️ 함정 'SSL/TLS는 3계층'→❌(4계층 위 · 3계층은 IPSec). 'SSL이 현재 표준'→❌(TLS 1.2/1.3, SSL은 폐기). 🎯 빈출 '4계층·HTTPS·X.509·443'이 보이면 SSL/TLS. 계층·포트 매칭이 단골.

TLS 핸드셰이크 4단계 — 비대칭키 + 대칭키 결합 ·SSL/TLS·

[정의] TLS는 통신 시작 전 핸드셰이크 4단계로 신원 확인과 키 합의를 끝낸 뒤, 본 통신을 암호화한다. '4단계 순서'와 '단계별 역할'이 단골 출제.

텍스트
[클라이언트]                          [서버]

  ① ─► ClientHello : 지원 암호 알고리즘 목록 제시
  ② ◄─ ServerHello + 서버 인증서(X.509)
  ③ ─► 인증서 검증 + 세션 키 교환(RSA/DHE)
  ④ ◄► Finished : 이후 모든 통신을 대칭키로 암호화

[표] 단계별 역할.

단계 무엇이 일어나나 보안 요소
① ClientHello 클라→서버: 내가 지원하는 암호 알고리즘 목록 (협상)
② ServerHello+인증서 서버→클라: 이 알고리즘 쓰자 + 내 신분증 인증
③ 키 교환 비대칭키로 대칭키(세션 키)를 안전하게 합의 기밀성
④ Finished+암호화 합의된 대칭키로 본 통신 암호화 시작 기밀성+무결성

[흐름] 핵심 통찰 — 비대칭키 + 대칭키 결합. 비대칭키는 안전하지만 느리고, 대칭키는 빠르지만 키 분배가 어렵다. TLS는 비대칭키로 세션 키를 안전하게 합의한 뒤, 본 통신은 빠른 대칭키로 암호화해 둘의 장점만 쓴다. (TLS 1.3은 핸드셰이크가 1-RTT로 단축)

🔑 암기 핸드셰이크 = ClientHello → ServerHello+인증서 → 키 교환 → Finished. 키는 비대칭으로 합의·대칭으로 통신. ⚠️ 함정 '핸드셰이크는 한 번에 끝난다'→❌(여러 단계) / 'TLS는 대칭키만 쓴다'→❌(비대칭+대칭 결합). 🎯 빈출 4단계 순서·비대칭+대칭 결합 통찰이 단골. 대칭/비대칭의 역할(분배 vs 통신)을 뒤바꾸는 함정.

HTTPS 자물쇠 — 보장 vs ❌ 보장(피싱도 자물쇠 가능) ·SSL/TLS·

[정의] 브라우저 자물쇠 아이콘이 무엇을 보장하고 무엇은 보장하지 않는지 — 이 경계가 시험 함정의 단골이다.

[표] 자물쇠가 보장하는 것.

보장 의미
이 사이트는 진짜 그 도메인이 맞다 CA 인증서 검증(인증)
요청·응답이 암호화돼 있다 중간자가 봐도 평문 ❌(기밀성)
요청·응답이 변조되지 않았다 MAC으로 검증(무결성)

[흐름] ❌ 보장하지 않는 것 — '이 사이트가 안전한 사이트다'는 보장이 아니다. 피싱 사이트도 무료 인증서로 자물쇠를 띄울 수 있다. 자물쇠는 '통신 구간'만 보장하지, 사이트 자체의 신뢰성은 보장하지 않는다.

💡 HTTPS 자물쇠는 '이 편지가 봉인된 채 도착했다'는 도장이지, '보낸 사람이 좋은 사람'이라는 보증이 아니다. 봉인(통신 구간)과 신뢰성(사이트 자체)은 별개.

🔑 암기 HTTPS 보장 = 기밀성·무결성·서버 인증(통신 구간). 사이트 신뢰성은 ❌. ⚠️ 함정 'HTTPS면 무조건 안전한 사이트'→❌(피싱도 HTTPS) / 'HTTPS가 DB도 보호'→❌(통신 구간만) / 'HTTPS만 쓰면 입력값 공격 차단'→❌(코드 단계 검증 필요). 🎯 빈출 부정형('옳지 않은 것')으로 '자물쇠=안전한 사이트 보장'을 박는 패턴이 1순위. 📝 기출 설명 판단형(부정).

SSH — 22번 포트, Telnet(23) 대체 ·SSH·🌟

[정의] SSH(Secure Shell) = 원격 컴퓨터에 안전하게 접속하는 프로토콜. 평문 전송이던 Telnet(23번)을 대체했다. 빈도는 낮지만 포트 매칭(22) 으로 1점이 갈린다 — 🌟 여기만 보면 충분.

[표] SSH vs Telnet.

항목 SSH Telnet
포트 22 23
암호화
인증 비밀번호 + 공개키 비밀번호만
현재 사용 표준 사용 금지(보안 사고 직결)

[흐름] 주요 용도 — 원격 로그인(ssh user@host), 원격 명령 실행, 파일 전송(SCP·SFTP), 포트 포워딩(SSH 터널링). 코드 저장소 원격 접속도 SSH 키페어(공개키·개인키) 기반.

🔑 암기 22=SSH / 23=Telnet(평문). SSH는 공개키 인증 지원. ⚠️ 함정 'Telnet은 안전한 원격 접속'→❌(평문) / 'SSH는 25번 포트'→❌(25는 SMTP). 🎯 빈출 포트 번호 매칭(22)이 간헐 출제.

★IPSec=3계층 / SSL=4계층★ — '어느 계층' 즉답 ·SSL/TLS·시그니처·1순위·

[정의] 매년 빈출 1순위 — '어느 계층이냐' 한 줄 질문이다. IPSec VPN과 SSL VPN을 한 표로 가른다.

[표] IPSec VPN vs SSL VPN.

구분 IPSec VPN SSL VPN(TLS VPN)
OSI 계층 3계층(네트워크) 4~7계층(전송~응용)
핵심 프로토콜 AH, ESP TLS(SSL은 폐기)
클라이언트 설치 전용 클라이언트 필요 브라우저만 있으면 됨
보호 대상 IP 패킷 전체 종단간 세션(HTTPS 등)
주요 용도 사이트간 VPN, 본사-지사 원격 접속 VPN, 웹 기반 보안

💡 IPSec = 회사와 집 사이에 땅을 파 만든 지하 전용 터널(공사 큼·전 트래픽 보호·사이트간 VPN). SSL VPN = 기존 고속도로(HTTPS 443)에 그은 VIP 전용 차선(공사 간단·웹 트래픽만·브라우저 접속).

🔑 암기 IPSec=3계층(AH·ESP) / SSL=4계층 위(브라우저). AH·ESP 보이면 IPSec, 브라우저 보이면 SSL. ⚠️ 함정 'SSL/TLS는 3계층'→❌(4계층 위) / 'IPSec은 응용 계층'→❌(3계층) / 'AH·ESP는 SSL의 구성 요소'→❌(IPSec의 구성 요소). 🎯 빈출 매년 빈출 1순위. 계층을 서로 바꿔 적은 짝짓기 함정이 단골. 📝 기출 짝짓기·설명 판단형(긍정).


③ 애플리케이션 보안 — API (7계층)

SOAP WS-Security — XML 메시지 단위 보안 ·API 보안·

[정의] SOAP(Simple Object Access Protocol) = XML 기반 메시지 프로토콜. 그 보안 표준이 WS-Security다. 핵심은 메시지 단위 보안 — 통신 채널이 아니라 메시지 자체에 서명·암호화가 박혀, 중간 노드를 거쳐도 보호가 유지된다.

[표] WS-Security 구성.

기능 어떻게
메시지 무결성 XML 전자서명(XML-DSig)
메시지 기밀성 XML 암호화(XML-Enc)
인증·권한 SAML, X.509 인증서, UsernameToken

💡 TLS가 봉투 단위 봉인이라면, WS-Security는 본문 단위 봉인 — 편지 본문 자체에 도장(서명)을 찍고 본문을 암호로 적어둔다. 우체국을 여러 번 거쳐도 받는 사람이 풀 때까지 안전.

🔑 암기 WS-Security = SOAP·XML·메시지 단위(XML-DSig·XML-Enc). ⚠️ 함정 'WS-Security는 통신 채널만 보호'→❌(메시지 단위 — TLS가 채널 단위). 🎯 빈출 'XML·SOAP·메시지 단위 보안' 매칭이 간헐 출제.

REST API 보안 3축 — HTTPS + OAuth 2.0 + JWT ·API 보안·

[정의] REST API는 가볍고 단순해 모바일·웹의 표준이 됐다. 보안 3대 축이 모두 살아 있어야 안전하다 — HTTPS(통신 구간) + OAuth 2.0(권한 위임) + JWT(토큰).

[표] 3대 축.

보안 축 역할 표준
HTTPS(TLS) 통신 구간 암호화 RFC 8446
OAuth 2.0 인가(접근 권한 위임) RFC 6749
JWT(JSON Web Token) 토큰 자체에 서명·정보 담기 RFC 7519
텍스트
[클라이언트] ─ [인증 서버] ─ [리소스 서버(API)]

  ① 클라 ─► 인증서버 : 로그인(ID/PW 또는 OAuth)
  ② 인증서버 ─► 클라 : 액세스 토큰(JWT) 발급
  ③ 클라 ─► API서버 : 호출 + Authorization 헤더에 토큰
  ④ API서버 : 토큰 서명 검증 + 권한 확인
  ⑤ API서버 ─► 클라 : 응답(HTTPS 암호화)

[표] JWT 구조 = Header.Payload.Signature — 세 부분을 점(.)으로 잇는다.

부분 담는 것
Header 서명 알고리즘·토큰 타입
Payload 사용자 정보 + 만료 시간(클레임)
Signature 위·변조 검증용 서명

[흐름] JWT는 토큰 안에 정보+만료+서명이 모두 들어 자체 검증(Stateless) 이 된다. 서버가 세션 저장소를 따로 둘 필요가 없어 수평 확장이 자유롭다. 단, 서명·인코딩이지 암호화가 아니다 — Payload는 Base64 디코딩만으로 평문이 보인다(민감정보 금지).

💡 OAuth = 출입증 발급받기(외부 계정 로그인 → 권한 동의 → 액세스 토큰). JWT = 출입증 자체에 이름·층수·만료일이 적혀 있어 검문할 때마다 DB 조회가 필요 없는 구조.

🔑 암기 REST 3축 = HTTPS + OAuth + JWT. JWT = Header.Payload.Signature(서명, 암호화 ❌). ⚠️ 함정 'HTTPS 없이 OAuth만으로 안전'→❌(토큰이 평문 노출되면 탈취당해 그 권한으로 호출 가능 — HTTPS는 필수 전제) / 'JWT는 암호화 토큰'→❌(서명·인코딩) / 'OAuth 1.0이 현재 표준'→❌(2.0). 🎯 빈출 3축 매칭·JWT 구조·'서명이지 암호화 아님'이 단골.


개발 단계 보안 입문 — 시큐어 코딩 (맛보기)

시큐어 코딩 7원칙 입보시에코캡A + 입력 검증 ·시큐어 코딩·

[정의] 시큐어 코딩(Secure Coding) = 보안 취약점이 생기지 않도록 개발 단계에서부터 안전한 코딩 규칙을 적용하는 방법론. 국내는 행정안전부·KISA 가 표준 가이드를 운영(공공 SW는 전자정부법상 의무).

[표] 시큐어 코딩 7대 원칙 — 입보시에코캡A.

두음 원칙 한 줄 키워드
입력 데이터 검증 및 표현 SQL 인젝션·XSS·경로 조작
보안 기능 인증·인가·암호화
시간 및 상태 경쟁 조건·세션
에러 처리 스택트레이스 노출 차단
코드 오류 정수 오버플로·NULL
캡슐화 접근 제어자·디버그 코드
A API 오용 취약 함수(strcpy·gets)

[흐름] 가장 중요한 ① 입력 검증 — 화이트리스트 vs 블랙리스트. 화이트리스트(허용할 것만 명시 → 나머지 거부)가 안전, 블랙리스트(거부할 것만 명시)는 새 공격 패턴(제로데이)에 무력하다. 핵심 원칙은 '모든 외부 입력은 신뢰할 수 없다 → 서버 단 검증 필수'.

💡 시큐어 코딩은 요리사의 위생 수칙 — 사고 난 뒤 청소(보안 패치)보다 처음부터 위생(개발 단계 보안)이 훨씬 싸고 안전하다. 화이트리스트는 'VIP 명단에 있는 사람만 입장'이라 명단에 없는 새 인물(제로데이)도 자동 차단.

🔑 암기 입보시에코캡A(입력·보안·시간·에러·코드·캡슐·API) · 화이트=안전 / 블랙=위험. ⚠️ 함정 '빅데이터·AI·블록체인·클라우드 보안'을 7원칙에 끼워넣기→❌(일곱 글자 외엔 모두 의심). '블랙리스트가 더 안전'→❌(화이트리스트가 안전). 🎯 빈출 7원칙 소거형('해당하지 않는 것')에 신기술 키워드를 박는 함정이 단골. 📝 기출 소거/이질성형.

대표 웹 공격 — SQLi·XSS·CSRF 방어 짝꿍 ·웹 공격·

[정의] 인터페이스 구현 시 자주 만나는 대표 웹 공격과 1순위 방어를 맛보기로 짚는다. 공격마다 방어 짝꿍을 뒤바꾸는 함정이 단골 — 본격 유형·방어는 5과목 50강(웹 공격) 에서 다룬다.

[표] 공격 ↔ 1순위 방어.

공격 핵심 동작 1순위 방어
SQL 인젝션 입력에 SQL 메타문자(' ; --) 삽입 Prepared Statement(쿼리-데이터 분리)
XSS 악성 스크립트를 다른 사용자 브라우저에서 실행 HTML 인코딩 + CSP
CSRF 로그인된 사용자 권한으로 요청 위조 CSRF 토큰 + SameSite 쿠키

[흐름] 결정적 차이 — XSS=실행 / CSRF=위조. 한 글자로 정답이 갈린다. SQL 인젝션의 1순위 방어는 Prepared Statement(쿼리 틀과 데이터를 분리해 입력을 명령이 아닌 문자로만 처리).

💡 SQL 인젝션은 주문서 메뉴 칸에 "주방장 비밀 레시피 갖다 줘"라고 써 넣는 것. Prepared Statement는 메뉴 칸과 수량 칸을 분리해, 명령문을 적어도 그저 문자로만 처리한다.

💡 OWASP Top 10 = 웹 애플리케이션 보안 위협 표준 목록. 접근 통제·인젝션·인증 실패가 매 개정마다 상위에 남는 단골 항목이다. 단, 순위 번호(A01·A03 등)는 개정마다 바뀌므로(최신 2025판) 번호 암기보다 개념 매칭이 핵심.

🔑 암기 SQL 인젝션→Prepared / XSS=실행→인코딩+CSP / CSRF=위조→토큰. ⚠️ 함정 'XSS 방어로 CSRF 토큰'→❌(CSRF용) / 'Prepared가 XSS를 막는다'→❌(SQL 인젝션만) / 'HTTPS만 쓰면 SQL 인젝션 차단'→❌(통신 구간만·코드 단계 검증 필요). 🎯 빈출 방어 짝꿍을 뒤바꾸는 함정이 단골. 'XSS=실행·CSRF=위조' 한 줄이 즉답 무기.


기출 다지기

[기출 1 출제] 다음 중 IPSec의 ESP(Encapsulating Security Payload)에 대한 설명으로 옳지 않은 것은? (설명 판단형·부정)

  • ① 메시지의 기밀성(Confidentiality)을 제공한다.
  • ② 메시지의 무결성(Integrity)을 제공한다.
  • ③ 송신자의 인증(Authentication)을 제공한다.
  • ④ AH와 동일하게 암호화 기능을 제공하지 않는다.
정답 및 해설 보기

정답 ④

핵심은 AH=무인 / ESP=기무인 — AH는 암호화 ❌, ESP는 암호화 ⭕. ④는 정반대 함정이다.

선지 판정 근거
옳음 기밀성(암호화)은 ESP의 핵심 기능
옳음 ESP는 AH의 모든 기능 포함
옳음 ESP는 AH의 모든 기능 포함
틀림(정답) AH는 암호화 ❌·ESP는 암호화 ⭕(정반대)

🔑 AH=무인 / ESP=기무인 — '암호화'가 보이면 무조건 ESP.

[기출 2 출제] 다음 중 IPSec의 터널 모드(Tunnel Mode) 에 대한 설명으로 가장 옳은 것은? (설명 판단형·긍정)

  • ① 페이로드만 보호하고 원래 IP 헤더는 그대로 노출된다.
  • ② 호스트와 호스트 간의 직접 통신에 주로 사용된다.
  • ③ 원래 IP 패킷 전체를 보호하며, 새 IP 헤더가 추가된다.
  • ④ SSL VPN의 표준 모드로 사용된다.
정답 및 해설 보기

정답 ③

핵심은 터·전널=전체 IP 패킷+새 헤더(사이트간) / 송=페이로드만, 원래 IP 노출(호스트간).

선지 판정 근거
오답 전송 모드의 설명(정반대)
오답 전송 모드의 용도(사이트간이 터널)
정답 터널 모드의 정확한 정의
오답 IPSec과 SSL VPN은 별개(SSL은 4계층)

🔑 터·전 — 터널은 통째로(전체+새 IP), 전송은 페이로드만.

[기출 3 출제] 다음 중 SSL/TLS와 IPSec의 적용 계층 비교로 옳은 것은? (짝짓기·긍정)

  • ① SSL/TLS는 3계층, IPSec은 4계층에서 동작한다.
  • ② SSL/TLS는 4계층(전송) 위, IPSec은 3계층(네트워크)에서 동작한다.
  • ③ 둘 다 7계층(응용)에서 동작한다.
  • ④ SSL/TLS는 IPSec의 하위 프로토콜이다.
정답 및 해설 보기

정답 ②

핵심은 IPSec=3계층(AH·ESP) / SSL=4계층 위(브라우저).

선지 판정 근거
오답 계층을 서로 바꿔 적음(정반대)
정답 SSL=4계층 위·IPSec=3계층
오답 SSL은 4계층 위·IPSec은 3계층
오답 독립된 별개 프로토콜

🔑 '어느 계층' 보이면 즉답 — AH·ESP면 IPSec(3), 브라우저면 SSL(4).

[기출 4 출제] 다음 중 TLS 핸드셰이크와 암호화 방식에 대한 설명으로 옳지 않은 것은? (설명 판단형·부정)

  • ① 핸드셰이크에서 서버는 X.509 인증서로 자신의 신원을 증명한다.
  • ② 비대칭키로 세션 키를 안전하게 합의한 뒤, 본 통신은 대칭키로 암호화한다.
  • ③ 핸드셰이크는 단 한 번의 메시지 교환으로 즉시 완료된다.
  • ④ ClientHello 단계에서 클라이언트가 지원 암호 알고리즘 목록을 제시한다.
정답 및 해설 보기

정답 ③

핸드셰이크는 ClientHello → ServerHello+인증서 → 키 교환 → Finished의 단계적 절차다(한 번에 끝나지 않음). TLS 1.3에서 1-RTT로 단축됐을 뿐 '한 메시지로 즉시 완료'는 아니다.

선지 판정 근거
옳음 ServerHello 단계에서 X.509 인증서 제시(인증)
옳음 비대칭=키 합의·대칭=본 통신(둘의 장점 결합)
틀림(정답) 단계적 절차(한 방에 끝나지 않음)
옳음 ClientHello = 지원 알고리즘 목록 제시

🔑 키는 비대칭으로 합의·대칭으로 통신. 핸드셰이크는 단계적.

[기출 5 출제] 다음 중 HTTPS(HTTP over TLS)에 대한 설명으로 옳지 않은 것은? (설명 판단형·부정)

  • ① 통신 구간의 기밀성과 무결성을 보장한다.
  • ② CA가 발급한 인증서로 서버의 신원을 인증한다.
  • ③ 브라우저 자물쇠 아이콘은 해당 사이트가 신뢰할 수 있는 안전한 사이트임을 보장한다.
  • ④ 기본 포트는 443번이다.
정답 및 해설 보기

정답 ③

자물쇠는 '통신 구간'만 보장하지, 사이트 자체의 신뢰성은 보장하지 않는다 — 피싱 사이트도 무료 인증서로 자물쇠를 띄울 수 있다.

선지 판정 근거
옳음 TLS의 기밀성·무결성
옳음 X.509 공개키 인증서로 서버 인증
틀림(정답) 통신 구간만 보장·사이트 신뢰성은 ❌(피싱도 HTTPS)
옳음 HTTPS 기본 포트 443

🔑 HTTPS 보장 = 기밀성·무결성·서버 인증(통신 구간). 'HTTPS=안전한 사이트'는 함정.

[기출 6 출제] 다음 중 KISA·행정안전부 시큐어 코딩 가이드의 7대 원칙(보안 약점)에 해당하지 않는 것은? (소거·이질성형)

  • ① 입력 데이터 검증 및 표현
  • ② 보안 기능
  • ③ 빅데이터 분석
  • ④ 캡슐화
정답 및 해설 보기

정답 ③

핵심은 입보시에코캡A — 입력·보안·시간·에러·코드·캡슐·API. '빅데이터 분석'은 한 글자도 없다.

선지 판정 근거
해당 '입' — 입력 데이터 검증 및 표현
해당 '보' — 보안 기능
해당 없음(정답) 신기술 키워드 함정
해당 '캡' — 캡슐화

🔑 입보시에코캡A — 빅데이터·AI·블록체인·클라우드는 7원칙 ❌(일곱 글자 외엔 의심).

[기출 7 출제] 다음 중 웹 공격과 1순위 방어 기법의 짝으로 옳지 않은 것은? (짝짓기·부정)

  • ① SQL 인젝션 — Prepared Statement
  • ② XSS — HTML 인코딩 + CSP
  • ③ CSRF — CSRF 토큰 + SameSite 쿠키
  • ④ SQL 인젝션 — CSRF 토큰
정답 및 해설 보기

정답 ④

SQL 인젝션의 1순위 방어는 Prepared Statement다. CSRF 토큰은 CSRF 방어용 — 방어 짝꿍을 뒤바꾼 함정.

선지 판정 근거
옳음 SQL 인젝션 → Prepared Statement(쿼리-데이터 분리)
옳음 XSS → HTML 인코딩 + CSP
옳음 CSRF → CSRF 토큰 + SameSite
틀림(정답) CSRF 토큰은 CSRF용·SQL 인젝션엔 Prepared

🔑 SQL→Prepared / XSS=실행→인코딩+CSP / CSRF=위조→토큰.

[기출 8 출제] 다음 중 인터페이스 보안에 대한 설명으로 옳은 것은? (종합·긍정)

  • ① AH(Authentication Header)는 IP 패킷의 페이로드를 암호화한다.
  • ② IPSec 전송 모드는 사이트간 VPN의 표준 모드이다.
  • ③ SSL/TLS는 3계층 네트워크 프로토콜이다.
  • ④ SQL 인젝션의 1순위 방어 기법은 Prepared Statement이다.
정답 및 해설 보기

정답 ④

①②③은 19강 함정 단골이다.

선지 판정 정답
오답 AH는 암호화 ❌·ESP만 암호화
오답 터널이 사이트간·전송은 호스트간
오답 SSL은 4계층 위·3계층은 IPSec
정답 SQL 인젝션 1순위 방어 = Prepared Statement

▶ 19강 종합 함정 4쌍 (시험장 직전 마지막 확인):

# ⚠️ 함정 표현 ✅ 정답
'AH가 암호화한다' AH는 암호화 ❌·ESP만 ⭕
'전송 모드가 사이트간 VPN' 터널이 사이트간·전송은 호스트간
'SSL/TLS는 3계층' SSL은 4계층 위·IPSec이 3계층
'Prepared는 XSS 방어' Prepared는 SQLi·XSS는 인코딩+CSP

한 장 요약

[표] 19강 핵심 기둥 한 장 정리.

기둥 핵심 한 줄 정의
① IPSec AH·ESP AH=무인 / ESP=기무인 '암호화' 보이면 무조건 ESP
② IPSec 모드 터·전 터널=전체+새 IP(사이트간) / 전송=페이로드만(호스트간)
③ IPSec vs SSL 계층 3계층 / 4계층 위 IPSec=3계층(AH·ESP) / SSL=4계층 위(브라우저)
④ TLS·HTTPS 핸드셰이크 4단계 비대칭 합의+대칭 통신 / 자물쇠=통신 구간만(피싱도 HTTPS)
⑤ API 보안 REST 3축 HTTPS + OAuth + JWT(서명, 암호화 ❌) / WS-Security=메시지 단위
⑥ 시큐어 코딩 입보시에코캡A 입력 검증=화이트리스트(안전)
⑦ 웹 공격 실행 / 위조 SQL→Prepared, XSS=실행·CSRF=위조
텍스트
[시험장 직전 30초 카드]
① AH=무인 · ESP=기무인 — 암호화 보이면 무조건 ESP
② 터·전 — 터널=전체+새 IP(사이트간) / 전송=페이로드만(호스트간)
③ IPSec=3계층(AH·ESP) / SSL=4계층 위(브라우저)
④ TLS 핸드셰이크 4단계 = 비대칭 합의+대칭 통신 / HTTPS 자물쇠=통신 구간만
⑤ REST 3축 = HTTPS + OAuth + JWT(서명·암호화 ❌)
⑥ 시큐어 코딩 입보시에코캡A — 입력 검증=화이트리스트(안전)
⑦ SQL 인젝션Prepared / XSS=실행 · CSRF=위조

💡 진짜 외울 두음은 단 2장 — AH=무인·ESP=기무인 / 터·전. 여기에 '어느 계층'(IPSec=3·SSL=4) 즉답만 흔들리지 않으면 19강 출제 핵심은 잡힌다. 시큐어 코딩·웹 공격은 입문 수준으로 짝꿍만 기억하고, 본격 웹 공격은 5과목 50강에서 다룬다.

전체 목록 필기 이론
이 과목을 끝까지 봤어요 🎉 다음 과목으로 3과목 · 데이터베이스 구축 →

합격까지

정처기, 혼자 막막하다면

초개인화 학습앱 Klue와 에듀윌 온라인강의로 합격까지 이어가세요.