공유 비밀키로 해시값을 암호화해 함께 보내는 방식은 메시지 무결성(및 송신자 인증)을 보장한다.
수신자 B는 받은 M의 해시값을 직접 계산하고 같은 비밀키로 복호화한 값과 비교해, 전송 중 변조 여부를 확인할 수 있다.
- 기밀성: M 자체는 평문으로 전송되므로 내용 노출을 막지 못한다.
- 가용성: 서비스를 정상적으로 이용할 수 있는 성질로, 이 방식과 무관하다.
- 부인방지: A와 B가 같은 키를 공유하므로 B도 동일한 값을 만들 수 있어, 제3자에게 A가 보냈음을 증명할 수 없다.
파밍(Pharming)은 서비스 거부 공격이 아니라, DNS나 hosts 파일을 조작해 사용자를 가짜 사이트로 유도하는 공격이다.
서비스 거부 공격은 자원을 고갈시켜 가용성을 떨어뜨리는 것이 목적이다.
- Smurf 공격: 출발지를 피해자로 위조한 ICMP Echo 요청을 브로드캐스트해 응답이 피해자에게 몰리게 한다.
- Slowloris 공격: HTTP 헤더를 끝내지 않고 조금씩 보내 서버의 연결 자원을 장시간 점유한다.
- HTTP GET 플러딩 공격: 대량의 GET 요청으로 웹 서버의 자원을 소진시킨다.
traceroute는 Linux(유닉스 계열) 시스템의 명령어이며 ICMP 기반으로 구현된다.
TTL 값을 1부터 늘려 가며 패킷을 보내고, 경로상 라우터가 돌려주는 ICMP Time Exceeded 메시지로 경유지를 확인한다.
- Windows: 같은 기능의 명령어는 tracert이다.
- IGMP: 멀티캐스트 그룹 관리용 프로토콜이다.
- TCP·HTTP: 경로 추적의 기반 프로토콜이 아니다.
하이브리드 암호에서 메시지는 세션키(대칭키)로 암호화하므로, 송신자의 공개키로 메시지를 암호화한다는 설명은 옳지 않다.
송신자의 공개키로 암호화하면 송신자의 개인키로만 풀 수 있어 수신자가 복호화할 수 없다. 공개키 암호는 세션키 전달에만 쓰인다.
- 대칭키 암호의 속도와 공개키 암호의 키 분배 편의를 결합한 방식이라는 설명은 옳다.
- 메시지는 세션키로, 세션키는 공개키로 보호되므로 둘 다의 기밀성을 제공한다는 설명은 옳다.
- 수신자의 공개키로 세션키를 암호화해 수신자만 개인키로 복원하게 한다는 설명은 옳다.
주어진 h로부터 h = H(x)인 x를 찾기 어렵다는 성질은 역상 저항성(일방향성)으로, 옳은 설명이다.
암호학적 해시 함수는 임의 길이 입력에 대해 고정 길이 출력을 빠르게 계산하고, 역상·제2역상·충돌 저항성을 가져야 한다.
- 가변 길이 해시값: 해시값은 입력 크기와 관계없이 고정 길이이다.
- 계산이 비효율적: 해시값 계산은 효율적(빠르게)이어야 한다.
- 충돌이 존재하지 않음: 입력 공간이 출력 공간보다 크므로 충돌은 반드시 존재하며, 찾기가 계산적으로 어려울 뿐이다.
커버로스 버전 5는 타임스탬프와 비표(nonce)를 사용해 재생 공격에 대응하므로, 비표를 쓰지 않아 재생 공격에 취약하다는 설명은 옳지 않다.
커버로스는 신뢰할 수 있는 제3자인 KDC가 티켓과 세션키를 발급하는 네트워크 인증 프로토콜이다.
- 네트워크 인증 프로토콜이라는 설명은 옳다.
- KDC가 클라이언트와 서버 사이의 세션키를 분배한다는 설명은 옳다.
- 분배된 세션키로 통신을 암호화해 기밀성을 제공할 수 있다는 설명은 옳다.
SYN+ACK를 받으면 RST로 즉시 끊어 연결을 완성하지 않는 방식은 TCP Half Open 스캔(SYN 스캔)이다.
3-way handshake를 끝까지 완료하지 않으므로 세션이 성립되지 않아 애플리케이션 로그에 남지 않는다.
- UDP 스캔: UDP 패킷을 보내 ICMP Port Unreachable 응답 여부로 판단한다.
- NULL 스캔: 플래그를 하나도 설정하지 않은 TCP 패킷을 보내 응답을 본다.
- X-MAS 스캔: FIN·URG·PSH 플래그를 모두 설정한 패킷을 보내 응답을 본다.
솔트는 암호화되지 않은 상태로 해시값과 함께 저장되며, 인증 처리 시간을 단축하는 효과도 없으므로 이점이 아니다.
솔트는 사용자마다 다른 난수를 패스워드에 덧붙여 해시하는 것으로, 같은 패스워드라도 서로 다른 해시값이 나오게 한다.
- 같은 패스워드를 쓰는 사용자가 여럿 있어도 해시값이 달라 드러나지 않는다.
- 미리 계산한 사전·레인보 테이블을 그대로 쓸 수 없어 오프라인 사전 공격이 어려워진다.
- 여러 시스템에서 같은 패스워드를 써도 솔트가 달라 해시값으로는 중복 사용을 알기 어렵다.
질의에 포함된 특수 문자를 필터링하지 않아 데이터베이스 자료가 유출·변조되는 공격은 SQL 삽입이다.
입력값이 SQL 문의 일부로 해석되도록 조작해 인증 우회나 데이터 탈취를 하며, 입력값 검증과 매개변수화 질의(Prepared Statement)로 막는다.
- 버퍼 오버플로우: 메모리 경계를 넘는 입력으로 실행 흐름을 바꾸는 공격이다.
- XSS: 악성 스크립트를 웹 페이지에 넣어 다른 사용자의 브라우저에서 실행시킨다.
- CSRF: 인증된 사용자의 브라우저가 의도하지 않은 요청을 보내게 만든다.
특정 개인을 알아보지 못하도록 생성한 신체적·생리적·행동적 특징 정보는 민감정보가 아니다.
시행령상 민감정보인 생체인식정보는 특정 개인을 알아볼 목적으로 일정한 기술적 수단을 통해 생성한 정보이므로, 목적이 반대인 이 정보는 해당하지 않는다.
- 유전자검사 등의 결과로 얻어진 유전정보는 민감정보이다.
- 「형의 실효 등에 관한 법률」상 범죄경력자료에 해당하는 정보는 민감정보이다.
- 인종이나 민족에 관한 정보는 민감정보이다.
DNS 질의는 일반적으로 UDP로 전송되므로, TCP 패킷이어서 TCP 세션을 하이재킹해야 한다는 설명은 옳지 않다.
공격자는 연결 설정이 없는 UDP 특성을 이용해 정상 응답보다 먼저 위조 응답을 보내는 방식으로 공격한다.
- 위조된 DNS 응답으로 공격자가 의도한 사이트로 접속을 유도한다는 설명은 옳다.
- 위조 응답이 로컬 DNS 서버에 캐시되어 피해가 지속되는 것을 DNS 캐시 포이즈닝이라 한다는 설명은 옳다.
- DNSSEC는 디지털 서명으로 DNS 데이터의 진위를 검증해 캐시 포이즈닝에 대처한다는 설명은 옳다.
하트블리드는 TLS를 구현한 OpenSSL의 취약점으로, 요청 메시지의 실제 길이를 확인하지 않은 데서 비롯되었다.
TLS Heartbeat 요청에 적힌 길이 값과 실제 페이로드 길이를 대조하지 않아, 서버가 요청보다 많은 메모리 내용을 응답에 담아 보내게 되었다. 이로 인해 개인키·세션 정보 등이 노출될 수 있었다.
- SSH: OpenSSL이 구현한 프로토콜이 아니며 하트블리드와 무관하다.
- 유형: 문제의 원인은 메시지 유형이 아니라 길이 검증 누락이다.
공통평가기준에서 EAL 1이 최저, EAL 7이 최고 보증등급이므로, 반대로 서술한 설명이 옳지 않다.
평가보증등급은 숫자가 클수록 더 엄격한 개발·시험·검증 증거를 요구하는 높은 보증을 뜻한다.
- 정보보호제품 평가·인증제도가 「지능정보화 기본법」의 정보보호시스템 기준 고시 조항에 근거한다는 설명은 옳다.
- 인증기관이 국가보안기술연구소라는 설명은 옳다.
- 보호 프로파일은 사용 환경에서 필요한 보안 기능·보증 요구사항을 공통평가기준에 근거해 서술한 것이라는 설명은 옳다.
TCP 연결의 소켓은 IP 주소와 Port 번호의 조합으로 정의된다.
IP 주소로 호스트를, Port 번호로 그 호스트의 프로세스(서비스)를 식별하며, 하나의 TCP 연결은 양 끝 소켓의 쌍으로 구분된다.
- MAC 주소: 데이터링크 계층 주소로 같은 네트워크 내 전달에만 쓰이며 소켓 정의 요소가 아니다.
- URL: 응용 계층의 자원 위치 표기로 소켓 정의 요소가 아니다.
○ 암호화된 상태의 연산값을 복호화하면 원래의 값을 연산한 것과 동일한 결과를 얻을 수 있는 4세대 암호화기법이다.
암호화된 상태에서 연산하고, 복호화하면 원래 값을 연산한 결과와 같아지는 기법은 동형 암호화이다.
데이터를 복호화하지 않고도 분석·연산할 수 있어 4세대 암호화 기법으로 불린다.
- 다형성 암호화: 같은 값을 처리 주체·도메인마다 다른 암호문으로 만들어 연결을 어렵게 하는 기법이다.
- 순서보존 암호화: 암호문이 평문의 대소 순서를 유지해 정렬·범위 검색에 쓰이는 기법이다.
- 형태보존 암호화: 암호문이 평문과 같은 형식·길이를 유지하게 하는 기법이다.
위치정보사업자의 개인위치정보 제공은 「개인정보 보호법」이 아니라 「위치정보의 보호 및 이용 등에 관한 법률」이 규정하는 사항이다.
위치정보는 별도의 특별법이 사업자 허가·신고와 개인위치정보 이용·제공 요건을 정하고 있다.
- 개인정보의 수집·이용은 「개인정보 보호법」이 규정한다.
- 고정형 영상정보처리기기의 설치·운영 제한은 「개인정보 보호법」이 규정한다.
- 개인정보 처리방침의 수립 및 공개는 「개인정보 보호법」이 규정한다.
(나) 개인 데이터는 사용목적과 관계가 있어야 하고 그 목적에 필요한 한도 내에서 정확하고, 완전하며, 최신의 것이어야 한다.
B. 목적 명확화의 원칙(purpose specification principle)
C. 데이터 품질 원칙(data quality principle)
D. 개인 참여의 원칙(individual participation principle)
(가)는 수집 제한의 원칙(A), (나)는 데이터 품질 원칙(C)이다.
(가)는 적법·공정한 수집과 정보주체의 인지·동의를 요구하므로 수집 제한에 해당하고, (나)는 목적 관련성과 정확·완전·최신성을 요구하므로 데이터 품질에 해당한다.
- 목적 명확화의 원칙(B): 수집 목적을 수집 시점까지 명확히 하고 이후 이용을 그 목적에 한정하는 원칙이다.
- 개인 참여의 원칙(D): 정보주체가 자신의 정보에 대한 확인·열람·정정 등을 요구할 권리를 보장하는 원칙이다.
보호 구역 지정은 ‘외부자 보안’이 아니라 ‘물리 보안’ 분야의 인증 항목이다.
‘외부자 보안’은 업무 위탁·외부 시설 이용 등 외부자와의 관계 전반에서 보안을 관리하는 항목들로 구성된다.
- 외부자 현황 관리는 외부자 보안 항목이다.
- 외부자 보안 이행 관리는 외부자 보안 항목이다.
- 외부자 계약 변경 및 만료 시 보안은 외부자 보안 항목이다.
DSA 검증은 서명에서 해시값을 추출해 비교하는 방식이 아니므로, 그렇게 설명한 것은 옳지 않다.
검증자는 받은 메시지의 해시값, 서명 (r, s), 공개키로 값 v를 계산하고 이것이 서명 요소 r과 같은지 확인한다. 서명에서 해시값을 복원해 비교하는 것은 RSA 서명 방식이다.
- DSA가 ElGamal과 Schnorr 기법을 기반으로 한다는 설명은 옳다.
- 서명자가 키 쌍을 만들고 검증에 필요한 매개변수를 공개한다는 설명은 옳다.
- 서명이 두 요소 (r, s)로 이루어져 메시지와 함께 전송된다는 설명은 옳다.
정보주체의 권리침해 조사 및 처분은 개인정보 보호책임자가 아니라 개인정보 보호위원회 등 감독기관의 권한이다.
개인정보 보호책임자는 처리자 내부에서 개인정보 처리를 총괄하는 사람으로, 업무도 내부 관리에 관한 것이다.
- 개인정보 보호 계획의 수립 및 시행은 보호책임자의 업무이다.
- 개인정보 처리 실태 및 관행의 정기적인 조사 및 개선은 보호책임자의 업무이다.
- 유출 및 오용·남용 방지를 위한 내부통제시스템의 구축은 보호책임자의 업무이다.