26 분 소요

(점점 최근 기출로 내려가면서 오답이 적어질 수도… 있습니다.)

정보처리기사 실기 오답노트

2021년 1회 기출

1. 데이터베이스 설계에 대한 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오

1. ( ) : 논리적 구조로 표현된 데이터를 디스크 등의 저장장치에 저장할 수 있는 데이터로 변환하는 과정으로, 파일의 저장 구조 및 액세스 경로를 결정하며, 테이블 정의서 및 명세서가 산출된다. 
2. ( ) : 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정으로, 개념 스키마 모델링과 트랜잭션 모델링을 수행하며, 요구 조건 명세를 E-R 다이어그램으로 작성한다. 
3. ( ) : 현실의 자료를 특정 DBMS가 지원하는 자료구조로 변환하는 과정으로, 트랜잭션의 인터페이스를 설계하고, 정규화를 통해 스키마를 평가 및 정제한다. 

정답 :

① 물리적 설계

② 개념적 설계

③ 논리적 설계

  • 개념적 설계 : 현실 세계에 있는 그대로 사람이 이해할 수 있는 모델로 변환
  • 논리적 설계 : 추출된 엔티티와 속성들의 관계를 구조적으로 정의하는 단계
  • 물리적 설계 : 실제 저장장치에 어떻게 저장할지 설계하는 단계

2. 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션으로, Point-to-Point, Hub&Spoke, Message Bus, Hybrid 등의 다양한 방식으로 구축이 가능한 모델 연계 방법을 쓰시오.

정답 :

EAI, Enterprise Application Integration

3. 데이터 모델의 구성 요소에 대한 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오

1. ()은 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구에 해당한다. 
2. ()는 논리적으로 표현된 객체 타입들 간의 관계로서 데이터의 구성 및 정적 성질을 표현한다. 
3. 제약 조건은 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 의미한다. 

정답 :

① 연산, Operation

② 구조, Structure

4. 애플리케이션 테스트에 대한 다음 설명에서 괄호안에 들어갈 알맞은 답을 쓰시오.

()은 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용한 검사 기법이고, 
()는 입력 조건이 유효한 경우와 그렇지 않은 경우의 입력 자료의 개수를 균등하게 정하는 검사 기법이다. 
예를 들어 0 <= x <= 10과 같은 조건이 있을 때, ()-1,0,10,11을 입력값으로, ()는 0이상 10이하의 수 n개와 0미만 10초과의 수 n개를 입력값으로 정한다. 

정답 :

① 경계값 분석, Boundary Value Analysis

② 동치 분할 검사, 동치 클래스 분해, Equivalence Partitioning Testing

두 검사 모두 블랙박스 테스트에 해당한다.

5. 네트워크 및 인터넷 보안에 관련된 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오

( )'세션을 가로채다'라는 의미로, 정상적인 연결을 RST 패킷을 통해 종료시킨 후 재연결 시 희생자가 아닌 공격자에게 연결하는 공격 기법이다.
TCP ( )은 공격자가 TCP 3-Way-Handshake 과정에서 끼어듦으로써 서버와 상호 간의 동기화된 시퀀스 번호를 갖고 인가되지 않은 시스템의 기능을 이용하거나 중요한 정보에 접근할 수 있게 된다. 

정답 :

세션 하이재킹

그냥 하이재킹이라고 써서 오답. -> 앞에 세션 꼭 적어주기

6. 데이터 모델의 구성 요소에 대한 설명으로 괄호에 들어갈 알맞은 답을 쓰시오

1. ()는 모듈 간의 인터페이스로 데이터, 지역 변수 등을 직접 참조하거나 수정할 때의 결합도다.
2. ()는 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도다. 
3. ()는 모듈 간의 인터페이스로 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 사용하여 전역 변수를 갱신하는 방식으로 상호작용하는 때의 결합도다. 

정답 :

① 내용 결합도

② 스탬프 결합도

③ 공통 결합도

내용 결합도 : 가장 강한 결합도, 한 모듈이 다른 모듈의 내부 기능 및 내부 자료 조회 가능

스탬프 결합도 : 두 모듈이 동일한 자료구조

공통 결합도 : 여러 모듈이 공통 자료 영역을 사용하는 경우(ex : 전역변수)

7. 시스템 객체의 접근을 개인 또는 그룹의 식별자에 기반한 방법으로 어떤 종류의 접근 권한을 가진 사용자가 다른 사용자에게 자신의 판단에 따라 권한을 허용하는 접근제어 방식은?

정답 :

DAC (임의적 접근 통제)

그 외 접근 통제 방법으로 MAC, DAC, RBAC가 존재

8. 웹 서비스(Web Service)와 관련된 다음 설명에 해당하는 용어를 쓰시오.

웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
XML로 작성되며 UDDI의 기초가 된다. SOAP, XML 스키마와 결합하여 인터넷에서 웹 서비스를 제공하기 위해 사용되며,
클라이언트는 이것을 통해 서버에서 어떠한 조작이 가능한지를 파악할 수 있다. 

정답 :

WSDL, Web Services Description Language

9. 네트워크에 관련된 다음 설명에 해당하는 용어를 쓰시오.

모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합
복수의 프로세스를 수행하며 이뤄지는 프로세스 간 통신까지 구현이 가능하다. 
대표적인 메소드로 공유 메모리, 소켓, 세마포어, 파이프와 네임드 파이프, 메시지 큐잉이 있다. 

정답 :

IPC, Inter-Process Communication

실행 프로세스 간에 통신 가능 -> IPC 암기


2021년 2회 기출

1. 네트워크 및 인터넷과 관련된 다음 설명에 해당하는 용어를 쓰시오.

- 재난 및 군사 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트(Mobile Host)만을 이용하여 구성한 네트워크이다. 
- 망을 구성한 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합하다.
- 멀티 홉 라우팅 기능을 지원한다. 

정답 :

애드 혹 네트워크, Ad-hoc Network

2. 인터페이스에 관련된 다음 설명에서 괄호에 들어갈 알맞은 용어를 쓰시오.

() : 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 감정 및 경험
() : 사용자와 시스템 간의 상호작용이 원할하게 이뤄지도록 도와주는 장치나 소프트웨어 

정답 :

UX, 사용자 경험, User Experience

UI, 사용자 인터페이스, User Interface

3. 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

a = 100
result = 0
for i in range(1,3):
  result = a >> i
  result = result + 1
print(result)

정답 :

26

코드를 자세히 보면 반복 수행할때마다 result의 값이 누적되는 것이 아니라 새로운 값으로 치환되며 그 값에 1을더하는 것이다.

4. 보안 및 암호화와 관련된 다음 설명에 해당하는 용어를 쓰시오.

- 2001년 미국 표준 기술 연구소(NIST)에서 발표한 대칭키 암호화 알고리즘이다.
- DES의 한계를 느낀 NIST에서 공모한 후 발표하였다. 
- 블록 크기는 128비트이며, 키 길이에 따라 128,192,256으로 분류된다. 

정답 :

AES, Advanced Encryption Standard

5. 디자인 패턴에 관련된 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오.

디자인 패턴은 모듈 간의 관계 및 인터페이스를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미한다. 
그 중 ( ) 패턴은 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴으로, Interpreter, Observer, Command 등이 그 예에 해당한다. 

정답 :

행위

디자인 패턴을 크게 생성, 구조, 행위 패턴으로 나눌 수 있다.

6. 네트워크에 관련된 다음 설명에서 괄호에 들어갈 알맞은 용어를 쓰시오.

① : 연결형 통신에서 주로 사용되는 방식, 출발지와 목적지의 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식 
② : 비연결형 통신에서 주로 사용되는 방식, 사전에 접속 절차를 수행하지 않고 헤더에 출발지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식 

정답 :

가상 회선, 가상 회선 방식, VC, Virtual Circuit

데이터그램, 데이터그램 방식, Datagram

**7. 테스트에 대한 다음 설명에서 각 지문에 해당하는 커버리지(Coverage)를 <보기>에서 찾아 기호로 쓰시오**

<보기>
다중 조건 검증 기준		선택 검증 기준 		조건 검증 기준
결정(분기) 검증 기준		결정(분기)/조건 검증 기준		구문(문장) 검증 기준

1 : 최소 한번은 모든 문장이 수행되도록 구성하는 검증 기준
2 : 조건식이 참(True)/거짓(False)일 때 수행되도록 하는 검증 기준
3 : 2번과 달리 조건식에 상관없이 개별 조건이 참(True)/거짓(False)일 때 수행되도록 구성하는 검증 기준 

정답 :

1 : 구문(문장) 검증 기준

2 : 결정(분기) 검증 기준

3 : 조건 검증 기준

8. 모듈에 대한 다음 설명에서 각 지문에 해당하는 응집도(Cohesion)을 보기에서 찾아 기호로 쓰시오.

<보기>
기능적 응집도		순차적 응집도		교환적 응집도		절차적 응집도	
시간적 응집도		논리적 응집도		우연적 응집도

1 : 내부의 요소들이 기능적으로 연관성은 없으나, 순차적으로 실행될 때의 응집도
2 : 서로 다른 기능을 수행하지만 동일한 입력과 출력을 사용할 때의 응집도
3 : 하나의 기능에 밀접하게 관련되어 있거나 연관되어 있을 때의 응집도

정답 :

1 : 절차적 응집도

2 : 교환적 응집도

3 : 기능적 응집도

**9. 럼바우(Rumbaugh) 데이터 모델링에 대한 다음 설명에서 각 지문에 해당하는 모델링을 <보기>에서 찾아 기호로 쓰시오.**

<보기>
Operation		Sequence		Information		Transaction
Function		I/O					Dynamic				Cause-Effect

1 : 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링
	ex) 자료 흐름도(DFD)
2 : 시간의 흐름에 따라 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링
	ex) 상태 변화도(STD), 사건 추적도
3 : 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 표시하는 모델링
	ex) ER 다이어그램 (ERD)

정답 :

1 : Function

2 : Dynamic

3 : Information


2021년 3회 기출

1. 보안 위협에 대한 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오

( ) 스푸핑은 로컬 네트워크(LNA)에서 사용하느 ( ) 프로토콜의 취약점을 이용한 공격 기법으로, 자신의 물리적 주소(MAC)를 변조하여 다른 PC에게 도달해야 하는 데이터 패킷을 가로채거나 방해한다. 

정답 :

ARP, Address Resolution Protocol

**2. 디자인 패턴에 관한 다음 설명에서 괄호에 들어갈 알맞은 답을 <보기>에서 찾아 쓰시오.**

<보기>
- Singleton		-Abstract Factory		- Factory Method		-Prototype
- Facade			- Composite					- Template Method		- Builder

(  ) 패턴은 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴으로, 상위 클래스에서 인터페이스만 정의하고 실제 생성은 서브 클래스가 담당한다. 
다른 이름으로 가상 생성자(Virtual Construtor) 패턴이라고도 불린다. 

정답 :

Factory Method

Template Method와 Factory Method 모두 상위 클래스에서 흐름을 정의하고, 하위 클래스에서 구체적인 내용을 구현한다.

  • 하지만 Factory Method는 객체 생성 방법을 정의하고,
  • Template Method는 알고리즘의 구조(절차)를 정의하는 것에서 차이점이 존재한다.

3. 결합도(Coupling)의 종류 중 단순 처리 대상인 데이터만 전달되는 것이 아니라 어떻게 처리해야 하는지를 결정하는 제어 요소가 전달되는 경우의 결합도를 영문으로 쓰시오.

정답 :

Control Coupling

Coupling 종류들 키워드성 정리

  • Data Coupling (자료 결합도) : 단순 데이터 전달 / 매개변수
  • Stamp Coupling (스탬프 결합도) : 구조체 / 일부만 사용
  • Control Coupling (제어 결합도) : 흐름 제어 / 플래그,조건/분기
  • External Coupling (외부 결합도) : 외부 시스템 공유 / 파일, 장치, 프로토콜
  • Common Coupling (공통 결합도) : 전역 변수 공유
  • Content Coupling (내용 결합도) : 다른 모듈의 내부를 접근

4. 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

x, y = 100, 200
print(x==y)

정답 :

False

Python에서는 FASLE, false 둘 다 아니라 False만 허용 된다.

5. 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오.

파일의 구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식을 의미하는 것으로, 크게 순차, ( ), 해싱으로 구분한다. 
( ) 파일 구조는 <값, 주소> 쌍으로 구성되는 데이터 구조를 활용하여 데이터에 접근하는 방식으로, 자기 디스크에서 주로 활용된다. 

정답 :

색인, Index

파일의 구조 3가지 : 순차, 색인, 직접


2022 1회 기출

1. 다음 설명의 RAID에 해당하는 레벨(Level)을 답 란의 괄호 안에 숫자로 쓰시오.

여러 개의 하드디스크로 디스크 배열을 구성하고, 파일을 구성하는 데이터 블록들을 서로 다른 디스크들에 분산 저장할 경우 그 블록들을 여러 디스크에서 동시에 읽고 쓸 수 있으므로 디스크의 속도가 향상하는데 이 기술을 RAID라고 한다. 
RAID 방식 중 패리티가 없는 스트리핑된 2개 이상의 디스크를 병렬로 연결하여 구성하는 이 방식은 디스크의 개수가 증가할수록 입,출력 속도 및 저장 용량이 배로 증가하지만, 하나의 디스크만 손상되어도 전체 데이터가 유실되는 문제가 발생한다. 

정답 :

Level 0

  • RAID 0 : 스트라이핑, 성능 높아짐, 복구 X
  • RAID 1 : 미러링, 복구 O, 용량 절반
  • RAID 2 : 비트 단위 + 해밍코드 / 거의 안씀
  • RAID 3 : 바이트 단위 + 패리티 1개 / 순차 처리
  • RAID 4 : 블록 단위 + 패리티 1개 / 랜덤 가능 but 병목
  • RAID 5 : 블록 + 분산 패리티 / 성능 + 안전 균형
  • RAID 6 : 이중 패리티 / 2개까지 복구

**2. 다음 데이터베이스에 대한 설명에 해당하는 DB 트랜잭션 연산을 <보기>에서 찾아 쓰시오.**

<보기>
ROLLBACK		UNDO			LOG			COMMIT
REDO				RECOVERY	BACKUP	CHECK

( 1 ) : 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업한다. 
즉, 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산이다. 

( 2 ) : 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작을 나타내는 'start'는 있지만 완료를 나타내는 'commit' 기록이 없는 트랜잭션들이 작업한 내용들을 모두 취소한다.
즉 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경한다. 

정답 :

1 : REDO

2 : UNDO

  • UNDO : DBMS 내부 동작 / 자동 / 로그 기반 복구
  • ROLLBACK : 사용자 명령 / 트랜잭션 취소 / 명시적 실행
    • 사용자가 직접 돌리는지, 시스템이 자동으로 되돌리는지가 차이점

3. 데이터의 중복으로 인해 테이블 조작 시 문제가 발생하는 현상을 이상(Anomaly)이라고 한다. 이상 중 삭제 이상(Deletion Anomaly)에 대해 간략히 서술하시오.

정답 :

하나 삭제했는데 필요한 정보까지 같이 사라진다.

이상(Anomaly) 키워드 정리

  • 삽입 이상 : 불필요한 정보 없으면 데이터 삽입 불가
  • 갱신 이상 : 일부만 수정되도 데이터 불일치 발생

4. 보안 프로토콜에 대한 다음 설명에 해당하는 용어를 영문 약어로 쓰시오.

무선랜 보안에 사용된 웹 방식을 보완한 데이터 보안 프로토콜로, 임시 키 무결성 프로토콜이라고도 한다. WEP의 취약성을 보완하기 위해 암호 알고리즘의 입력 키 길이를 128비트로 늘리고 패킷당 키 할당, 키값 재설정 등 키 관리 방식을 개선하였다. 

정답 :

TKIP, Temporal Key Integrity Protocol

TKIP = WEP 보완 / 동적 키/ WPA 에서 사용

WEP = 초기 무선 보안 / 고정 키 / 취약

CCMP = AES 기반 / WPA2 / 가장 안전

5. 사용자 인터페이스(UI)에 대한 다음 설명에 해당하는 용어를 영문 약어로 쓰시오.

사용자의 자연스러운 움직임을 통해 시스템과 상호작용하는 사용자 인터페이스(UI)로, 키보드나 마우스와 같이 조작을 배워야 하는 인공 제어 장치를 사용하는 인터페이스와 구분하기 위해 '자연스러운' 이라는 표현을 사용한다. 
시리(Siri), 빅스비(Bixby)등과 같은 음성 비서에게 사용하는 자연어 명령이나 휴대폰이나 태블릿에서의 터치 등이 여기에 해당한다. 

정답 :

NUI (Natural User Interface)

GUI, CLI, VUI(Voice UI), OUI(Organic UI), TUI(Text UI) 등이 존재

6.정보 보호에 대한 다음 설명에 해당하는 용어를 영문 약어로 쓰시오.

정보 자산을 안전하게 보호하기 위한 보호 절차와 대책으로, 정보보호 관리 체계라고 한다. 
조직에 맞는 정보 보호 정책을 수립하고, 위험에 상시 대응하는 여러 보안 대책을 통합 관리한다. 
공공 부문과 민간 기업에서 이것을 평가하고 인증하는 사업을 한국인터넷진흥원(KISA)에서 운영중이다. 

정답 :

ISMS (Information Security Management System)

조직의 정보보호를 위한 관리체계라고 한다.

ISMS-P : 정보보호 + 개인정보보호 통합 인증

7. 키(Key)에 대한 다음 설명에서 괄호 안에 들어갈 알맞은 용어를 쓰시오.

(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다.
- 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플에 대해 ( 1 )을 만족한다. 
- 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합으로, ( 1 )( 2 )을 만족하는 특징이 있다. 

정답 :

1 : 유일성

2 : 최소성

**8. 보안 위협에 대한 다음 설명에서 해당하는 용어를 <보기>에서 찾아 쓰시오.**

<보기>
Pharming		Drive-by Download		Watering Hole		Business SCAM
Phishing		Cyber Kill Chain		Ransomware			Sniffing

목표 조직이 자주 방문하는 웹 사이트를 사전에 감염시켜 목표 조직의 일언이 웹 사이트에 방문했을 때 악성 코드에 감염되게 한다.
이후에는 감염된 PC를 기반으로 조직의 중요 시스템에 접근하거나 불능으로 만드는 등의 영향력을 행사하는 웹 기반 공격이다. 

정답 :

Watering Hole


2022 2회 기출

1. 데이터베이스에 대한 다음 설명에서 괄호에 공통으로 들어갈 알맞은 용어를 쓰시오.

- (  )은 관계 데이터의 연산을 포현하는 방법으로, 관계 데이터 모델의 제안자인 코드(E. F. Codd)가 수학의 술엏 ㅐ석(Predicate Calculus)에 기반을 두고 관계 데이터베이스를 위해 제안했다.
- 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 원하는 정보를 정의할 때 계산 수식을 사용한다. 
- 튜플 해석식을 사용하는 튜플 (  )과 도메인 해석식을 사용하는 도메인 (  )으로 구분된다. 

정답 :

관계 해석

  • 관계 대수 : 연산, 절차, 순서, 수행 방법
  • 관계 해석 : 조건, 논리식, 비절차, 무엇을, predicate

2. 암호화 알고리즘에 대한 다음 설명에서 괄호에 들어갈 알맞은 용어를 쓰시오.

- 암호화 알고리즘은 패스워드, 주민번호, 은행계좌와 같은 중요 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법을 의미한다.
- 스위스의 라이(Lai)와 메시(Messy)는 1990년 PES를 발표하고, 이후 이를 개선한 IPES를 발표하였다. IPES는 128비트의 Key를 사용하여 64비트 블록을 암호화하는 알고리즘이며 현재는 ( 1 )라고 불린다. 
- ( 2 )은 국가 안전 보장국(NSA)에서 개발한 암호화 알고리즘으로, 클리퍼 칩(Clipper Chip)이라는 IC 칩에 내장되어있다. 
80비트의 Key를 사용하여 64비트 블록을 암호화하며, 주로 전화기와 같은 음성 통신 장비에 삽입되어 음성 데이터를 암호화한다. 

정답 :

1 : IDEA

2 : Skipjack

3. 애플리케이션 테스트에 대한 다음 설명에서 괄호에 들어갈 알맞은 테스트를 쓰시오.

인수 테스트는 개발한 소프트웨어가 사용자의 요구사항을 충족하는지에 중점을 두고 테스트하는 방법이다.
- ( 1 ) : 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법으로, 실제 업무를 가지고 사용자가 직접 테스트한다.
- ( 2 ) : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법으로, 테스트는 통제된 환경에서 행해지며, 오류와 사용자의 문제점을 사용자와 개발자가 함께 확인하면서 기록한다. 

정답 :

1 : 베타 테스트

2 : 알파 테스트

알파 테스트 : 내부에서 (개발자 / 테스터가 진행) 미리 검사

  • 출시 전에 한 번 돌려보자

베타 테스트 : 실제 사용자에게 맡기기

  • 이제 유저한테 써보라고 해보자

**4. 다음 설명에 해당하는 테스트를 <보기>에서 찾아 쓰시오.**

<보기>
Integration		Big Bang		System			Acceptance
Unit					Regression	White Box		Black Box

- 통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트
- 이미 테스트된 프로그램의 테스팅을 반복하는 것
- 수정한 모듈이나 컴포넌트가 다른 부분에 영향을 미치는지, 오류가 생기지 않았는지 테스트하여 새로운 오류가 발생하지 않음을 보증하기 위해 반복 테스트한다. 

정답 :

Regression

Regression : 수정 이후에 기존 기능이 망가졌는지 확인하는 테스트

**5. 경로 제어 프로토콜(Routing Protocol)에 대한 다음 설명에서 괄호에 들어갈 알맞은 용어를 <보기>에서 찾아 쓰시오.**

<보기>
BGP		AS		HOP		OSPF		
NAT		ISP		EGP 	IGP

경로 제어 프로토콜은 크게 자율 시스템 내부의 라우팅에 사용되는 ( 1 )와 자율 시스템 간의 라우팅에 사용되는 ( 2 )로 구분할 수 있다.
( 1 )는 소규모 동종 자율 시스템에서 효율적인 RIP와 대규모 자유 시스템에서 많이 사용되는 ( 3 )로 나누어진다. 
( 3 )는 링크 상태 (Link State)를 실시간으로 반영하여 최단 경로로 라우팅을 지원하는 특징이 있다.
( 4 )( 2 )의 단점을 보완하여 만들어진 라우팅 프로토콜로, 처음 연결될 때는 전체 라우팅 테이블을 교환하고, 이후에는 변화된 정보만을 교환한다. 

정답 :

1 : IGP

2 : EGP

3 : OSPF

4 : BGP

8개의 보기 각각 정리

  • BGP : 인터넷 전체 경로 라우팅 / EGP
  • AS : 하나의 관리 주체가 운영하는 네트워크 집합
  • HOP : 라우터 하나 거칠때마다 + 1 (경유 수)
  • OSPF : 최단 경로 / 링크 상태 / IGP
  • NAT : 사설 IP에서 공인 IP 변환
  • ISP : 인터넷 접속 제공 업체 (SKT, KT 등)
  • EGP : AS 간 라우팅
  • IGP : AS 내부 라우팅

6. 팬인 (Fan-In) VS 팬아웃 (Fan-Out)

정답 :

Fan-in : 위에서 몇 개가 나를 호출하냐

Fan-out : 내가 아래에 몇 개 호출하냐


2022년 3회 기출

1. 192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 3개의 Subnet으로 나누었을 때, 두 번째 네트워크의 브로드캐스트 IP주소를 10진수 방식으로 쓰시오.

정답 :

192.168.1.127

네트워크 주소

  • 첫 번째 주소 : 네트워크 주소
  • 마지막 주소 : 브로드캐스트 주소

2. 다음 설명에서 괄호에 들어갈 알맞은 용어를 쓰시오.

( 1 )은 컴퓨터 보안에 있어서, 인간 상호 작용의 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨뜨리기 위한 비기술적 시스템 침입 수단을 의미한다. 
( 2 )는 특정 목적을 가지고 데이터를 수집하였으나, 이후 활용되지 않고 저장만 되어있는 대량의 데이터를 의미한다. 
미래에 사용될 가능성을 고려하여 저장 공간에서 삭제되지 않고 보관되어 있으나, 이는 저장 공간의 낭비뿐만 아니라 보안 위험을 초래할 수도 있다. 

정답 :

1 : 사회 공학

2 : 다크 데이터

3. 다음 설명에 해당하는 알맞는 용어를 쓰시오.

다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합하여 관리하는 보안 솔루션으로, 방화벽, IDS, IPS, 웹 방화벽, VPN 등에서 발생한 로그 및 보안 이벤트를 통합하여 관리함으로써 비용 및 자원을 절약할 수 있는 특징이 있다. 
또한 보안 솔루션 간의 상호 연동을 통해 종합적인 보안 관리 체계를 수립할 수 있다. 

정답 :

SEM, Seucrity Information & Event Management

4. 다음 설명에서 괄호에 들어갈 알맞는 용어를 쓰시오.

(  )는 한 번의 로그인으로 개인이 가입한 모든 사이트를 이용할 수 있게 해주는 시스템을 말한다. 
개인의 경우, 사이트에 접속하기 위하여 아이디와 패스워드는 물론 이름, 전화번호 등 개인정보를 각 사이트마다 일일이 기록해야 하던 것이 한 번의 작업으로 끝나므로 불편함이 해소되며,
기업에서는 회원에 대한 통합관리가 가능해 마케팅을 극대화시킬 수 있다는 장점이 있다. 

정답 :

SSO (Single Sign-On)

  • SSO : 한 번 로그인
  • OAuth : 권한 위임

2023년 1회

1. 클라이언트와 서버 간 자바스크립트 및 XML을 비동기 방식으로 처리하며, 전체 페이지를 새로 고치지 않고도 웹페이지 일부 영역만을 업데이트할 수 있도록 하는 기술을 의미하는 용어를 쓰시오.

정답 :

AJAX, Asynchronous JavaScript and XML

  • AJAX : 페이지 새로고침 없이 서버와 비동기 통신
    • 비동기, 부분 업데이트, 새로고침 X

2. 다음 설명에 해당하는 알맞은 용어를 쓰시오.

데이터링크 계층의 프로토콜 중 하나로, 터널링 프로토콜인 PPTP와 VPN의 구현에 사용하는 L2F의 기술적 장점들을 결합하여 만든 프로토콜이다. 
자체적으로 암호화 및 인증 기능을 제공하지 않아 다른 보안 프로토콜과 함께 사용되는 경우가 많다.

정답 :

L2TP, Layer 2 Tunneling Protocol

  • L2TP : 데이터를 암호화하지 않고 터널링만 제공하는 VPN 프로토콜
    • 터널링 역할, 암호화 기능 X, IPSec이랑 같이 사용

3. 다음 설명에서 괄호에 들어갈 알맞은 디자인 패턴을 쓰시오

(   )은/는 복잡한 시스템을 개발하기 쉽도록 클래스나 객체들을 조합하는 패턴에 속하며, 대리자라는 이름으로도 불린다. 
내부에서는 객체 간의 복잡한 관계를 단순하게 정리해 주고, 외부에서는 객체의 세부적인 내용을 숨기는 역할을 한다. 

정답 :

Proxy

  • Proxy : 대신 처리, 대리 / 접근 제어
  • Mediator : 객체 간 중재
    • Proxy : 대리자, Mediator : 중재자

2023년 2회

1. 다음 C언어로 구현된 프로그램을 분석하여 “홍길동”, “김철수”, “박영희”를 차례로 입력했을 때 그 실행 결과를 쓰시오.(단, 출력문의 출력 서식을 준수하시오.)

#include <stdio.h>
char n[30];
char* getname() {
  printf("이름 입력: ");
  gets(n);
  return n;
}

main() {
  char* n1 = getname();
  char* n2 = getname();
  char* n3 = getname();
  printf("%s\n", n1);
  printf("%s\n", n2);
  printf("%s\n", n3);
}

정답 :

박영희

박영희

박영희

30개의 요소를 갖는 문자형 배열 n을 전역변수로 선언

  • 전역변수이기 때문에 이 프로그램 안에서는 어디서든 사용 가능하며, 저장된 값이 유지

2. 소프트웨어 데이터의 비정상적인 수정이 감지되면 소프트웨어를 오작동하게 만들어 악용을 방지하는 기술이다. 해시 함수, 핑거 프린트, 워터마킹 등의 보안 요소를 생성하여 소프트웨어에 삽입하고, 실행코드를 난독화하며, 실행 시 원본 비교 및 데이터 확인을 수행함으로써 소프트웨어를 보호하는 이 기술을 가리키는 용어를 쓰시오.

정답 :

템퍼 프루핑, Temper Proofing

3. 디자인 패턴에 대한 다음 설명에서 괄호에 들어갈 알맞은 패턴을 쓰시오.

( 1 ) : 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 수 없는 패턴으로, 불필요한 메모리 낭비를 최소화 할 수 있음.
( 2 ) : 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도로 구성함으로써, 클래스를 수정하지 않고도 새로운 연산의 추가가 가능함.

정답 :

1 : 싱글톤(Singleton)

2 : 방문자 (Visitor)

  • Singleton : 객체를 하나만 생성해서 공유
  • Visitor : 객체 구조는 그대로 두고 기능만 추가

4. 다음 설명에서 괄호에 들어갈 알맞은 용어를 보기에서 찾아 쓰시오.

<보기>
NAK			CRC				FEC			BCD
Parity	Hamming		MD5			BEC

전송 오류의 발생에는 감쇠, 지연 왜곡, 잡음 등 다양한 원인이 있으며, 이러한 오류를 검출하고 수정하는 것으로 알려진 대표적인 방식이 ( 1 ) 코드 방식이다.

( 1 )코드 방식은 하나의 데이터 단위에 ( 4 )비트를 추가하여 오류를 검출하여 교정이 가능한 코드로, 2bit의 오류를 검출할 수 있으며 1bit의 오류를 교정한다. 
데이터 비트 외에 잉여 비트가 많이 필요하다는 단점이 있다. 

( 1 ) 코드 방식은 수신측에서 오류를 정정하는 ( 2 )에 해당한다. ( 2 ) 는 데이터 전송 과정에서 오류가 발생하면 송신측에 재전송을 요구하는 ( 3 )와는 달리 재전송 요구 없이 스스로 수정하기 때문에 연속적인 데이터 전송이 가능하다. 

( 3 )( 4 )검사, ( 5 )등을 통해 오류를 검출하고 ARQ(Automatic Repeat reQuest)로 오류를 제어한다. 

( 4 ) 검사는 오류 검사를 위해 데이터 비트 외에 1bit의 체크 비트를 추가하는 것으로 1bit의 오류만 검출할 수 있다. 
1의 개수에 따라 짝수 ( 4 )와 홀수 ( 4 )로 나뉜다.

( 5 )는 다항식 코드를 사용하여 오류를 검출하는 방식이다. 동기식 전송에서 주로 사용되며, HDLC 프레임의 FCS(프레임 검사 순서 필드)에 사용되는 방식이다. 집단 오류를 검출할 수 있고, 검출률이 높으므로 가장 많이 사용한다. 

정답 :

1 : Hamming

2 : FEC

3 : BEC

4 : Parity

5 : CRC

**5. 다음 <보기>에 나열된 암호화 알고리즘을 대칭키 암호화 알고리즘과 비대칭키 암호화 알고리즘으로 구분하시오.**

<보기>
RSA			DES			ARIA			ECC			SEED 		AES

정답 :

대칭키 암호화 알고리즘 : DES, ARIA, SEED, AES

비대칭키 암호화 알고리즘 : RSA, ECC

비대칭키 암호화 알고리즘은 대부분 : 수학 기반, 속도가 느리다.

  • 대부분 고전적 : RSA, ECC
  • 그 외는 대부분 대칭키 암호화 알고리즘으로 암기하기

6. 암호화 알고리즘에 대한 다음 설명에서 괄호에 들어갈 알맞은 용어를 쓰시오.

(   )는 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 알고리즘으로, 복호화가 거의 불가능한 일방향 함수이다.
무결성 검증을 위해 사용될 뿐만 아니라 정보보호의 다양한 분야에서 활용되며, 종류에는 SHA 시리즈, MD5, N-NASH, SNEFRU 등이 있다. 

정답 :

해시


2023년 3회 기출

1. 다음은 오류가 발생하는 JAVA 프로그램이다. 프로그램을 분석하여 오류가 발생하는 라인을 쓰시오.

class Person {
  private String name;
  public Person(String val) {
    name = val;
  }
  public static String get() {
    return name;
  }
  public void print() {
    System.out.println(name);
  }
  
  public class Test{
    public static void main(String[] args) {
      Person obj = new Person("Kim");
      obj.print();
    }
  }
}

정답 :

return name 쪽 라인

static 메서드에서 인스턴스 변수 접근

  • name은 인스턴스 변수
  • get()static 메서드

2. 다음 설명에 해당하는 프로토콜을 쓰시오

- 거리 벡터 라우팅 프로토콜이라고도 불리며, 최단 경로 탐색에 Bellman-Ford 알고리즘이 사용된다.
- 소규모 동종의 네트워크 내에서는 효율적이나, 최대 홉(Hop) 수가 제한되므로 대규모 네트워크에서는 사용할 수 없다.
- 일정 시간 동안 라우팅 정보가 갱신되지 않으면 해당 경로를 이상 상태로 간주한다. 

정답 :

RIP, 경로 선택 정보 프로토콜, Routing Information Protocol

  • RIP : 경로 (Hop) 수 제한 + 최대 15 hop
  • OSPF : 링크 상태 기반 최단 경로
  • BGP : AS 간 최단 경로

2024년 1회 기출

**1. 다음은 조인(Join)에 대한 설명이다. 괄호에 들어갈 알맞은 조인의 종류를 <보기>에서 찾아 쓰시오.**

<보기>
- 자연 조인		- 외부 조인			-셀프 조인			- 세타 조인
- 동등 조인		- 교차 조인 		- 자연 조인			- 자동 조인

( 1 )은 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환하는 조인이다.
( 2 )( 1 )에서 = 연산자를 사용한 조인으로, 일반적으로 조인이라고 하면 ( 2 )를 의미한다.
( 2 )의 결과 릴레이션 차수는 첫 번째 릴레이션과 두 번째 릴레이션의 차수를 합한 것이다.
( 3 )( 2 )의 결과 릴레이션에서 중복된 속성을 제거하여 수행하는 연산, 즉 ( 2 )에서 중복 속성 중 하나가 제거된 것이다.
( 3 )의 핵심은 두 릴레이션의 공통된 속성을 매개체로 하여 두 릴레이션의 정보를 '관계'로 묶어 내는 것이다.

정답 :

1 : 세타 조인

2 : 동등 조인

3 : 자연 조인

  • 세타 조인 : 조건 기반 조인 (모든 비교 연산 가능)
  • 동등 조인 : = 연산자만
  • 자연 조인 : 같은 이름 컬럼 자동으로 = 연산자 조인 + 중복 제거

**2. 보안 위협에 대한 다음 설명에 해당하는 용어를 <보기>에서 찾아 쓰시오.**

<보기>
Worm				Logic Bomb			Spyware			Honeypot
Bug Bounty	Rootkit					Bootkit			Ransomware

- 시스템에 침입한 후 침입 사실을 숨긴 채 백도어, 트로이목마를 설치하고, 원격 접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능들을 제공하는 프로그램들의 모음이다.
- 자신 또는 다른 소프트웨어 존재를 감춰줌과 동시에 허가되지 않은 컴퓨터나 소프트웨어의 영역에 접근할 수 있게 하는 용도로 설계되었다.
- 이 프로그램이 설치되면 자신이 뚫고 들어온 모든 경로를 바꾸어 놓고, 명렁어들을 은폐해 놓기 때문에 해커가 시스템을 원격에서 해킹하고 있어도 이 프로그램이 설치되어 있는 사실 조차 감지하기 어렵다.
- 공격자가 보안 관리자나 보안 시스템의 탐지를 피하면서 시스템을 제어하기 위해 설치하는 악성 프로그램으로, 운영체제의 합법적인 명령어를 해킹하여 모아놓았다. 
- 운영체제에서 실행 파일과 실행 중인 프로세스를 숨김으로써 운영체제 검사 및 백신 프로그램의 탐지를 피할 수 있다. 

정답 :

Rootkit

  • Rootkit : 해킹 후 안들키려고 숨는 악성코드

**3. 다음 설명에 해당하는 용어를 <보기>에서 찾아 쓰시오.**

<보기>
MITM								ATM						XDR					APT
Key Logger Attack		사회공학 기법		 TearDrop			SMURFING

다양한 IT 기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리면서 보안을 무력화시키고 정보를 수집한 다음 외부로 빼돌리는 형태의 공격으로, 일반적으로 공격은 침투, 검색, 수집, 유출의 4단계로 실행된다. 

- 침투(Infiltration) : 목표로 하는 시스템을 악성코드로 감염시켜 네트워크에 침투한다.
- 검색(Exploration) : 시스템에 대한 정보를 수집하고 기밀 데이터를 검색한다.
- 수집(Collection) : 보호되지 않은 시스템의 데이터를 수집하고, 시스템 운영을 방해하는 악성코드를 설치한다. 
- 유출(Exfiltration) : 수집한 데이터를 외부로 유출한다. 

정답 :

APT, Advanced Persistent Threat

  • APT : 장기간 지속적으로 특정 목표를 공격

2024년 2회 기출

1. 다음 설명에 해당하는 프로토콜을 쓰시오.

- 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜이다.
- 주요 구성 요소에는 AH(Authentication Header), ESP(Encapsulating Security Payload), SA(Security Association), IKE(Internet Key Exchange)가 있다.
- 주요 기능에는 암호화, 무결성, 인증, 재전송 방지가 있다. 

정답 :

IPSec

IPSec : IP 계층에서 데이터의 기밀성, 무결성, 인증을 제공하는 보안 프로토콜

2. 다음 설명에 해당하는 디자인 패턴을 쓰시오.

- 자료구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴이다.
- 내부 표현 방법의 노출 없이 순차적인 접근이 가능하다. 

정답 :

Iterator

  • Iterator : 컬렉션(자료구조) 내부 구조를 모르고도 순차적으로 접근
    • 순회 / 반복/ next/ hasNext 같은 예시들
  • Observer : 상태 변화를 관련 객체들에게 자동 알림
    • 구독 /알림/ 통지 / 이벤트

3. RIP 프로토콜을 활용한 최적 경로 쓸 때 주의점

정답 :

가중치를 생각하지 않고, 기준은 오로지 홉 카운트(Hop Count), 라우터 수를 기준으로 최단 경로 찾기


2024년 3회 기출

1. 다음 설명에 해당하는 알맞은 용어를 쓰시오.

- IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법이다.
- 공격자는 송신 주소를 공격 대상지의 IP 주소로 위장하고 해당 네트워크 라우터의 브로드캐스트 주소를 수신지로 하여 패킷을 전송하면, 라우터의 브로드캐스트 주소로 수신된 패킷은 해당 네트워크 내의 모든 컴퓨터로 전송된다.
- 해당 네트워크 내의 모든 컴퓨터는 수신된 패킷에 대한 응답 메시지를 송신 주소인 공격 대상지로 집중적으로 전송하게 되는데, 이로 인해 공격 대상지는 네트워크 과부화로 인해 정상적인 서비스를 수행할 수 없게 된다. 

정답 :

Smurfing

  • Smurfing 공격 : ICMP 요청을 이용한 반사 + 증폭 공격 (DDos)
    • 공격자가 ICMP Echo Request (Ping)을 보냄
    • 출발지 IP를 피해자로 위조
    • 브로드캐스트 주소로 보냄
    • 여러 호스트가 피해자에게 응답
  • Ping of Death : 정상 크기보다 큰 패킷을 보내서 시스템을 다운

2. 다음 C언어로 구현된 프로그램을 분석하여 그 결과를 쓰시오.

#include <stdio.h>
int func() {
  static int x = 0;
  x += 2;
  return x;
}

int main(){
  int x = 0;
  int sum = 0;
  for(int i = 0; i < 4; i++) {
    x++;
    sum += func();
  }
  printf("%d", sum);
  return 0;
}

정답 :

20

static 변수 : 한 번만 초기화 되고 계속 값 유지..

3. 소프트웨어 공학의 디자인 패턴(Design Pattern)에 대한 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오.

-(  )패턴은 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴이다.
-(  )패턴은 하나의 객체로 수행할 수 없는 작업을 여러 객체로 분배하면서 결합도를 최소화 할 수 있도록 도와준다. 
-(  )패턴에는 책임 연쇄(Chain of Responsibility), 반복자(Iterator), 옵서버(Observer) 패턴 등이 있다. 

정답 :

행위

  • 생성 패턴 : Singleton, Factory, Abstract Factory, Builder, Prototype
  • 구조 패턴 : Adapter, Bridge, Composite, Decorator
  • 행위 패턴 : Observer, Strategy, Command, Iterator, State, Template Method

4. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

public class Main{
  public static void main(String[] args) {
    B a = new D();
    D b = new D();
    System.out.print(a.getX() + a.x + b.getX() + b.x);
  }
}

class B {
  int x =3;
  int getX(){
    return x * 2;
  }
}

class D extends B {
  int x = 7;
  int getX() {
    return x * 3;
  }
}

정답 :

52

  • 메서드 -> 객체 따라감
  • 변수 -> 타입 따라감

5. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

class Printer {
  void print(Integer a) {
    System.out.print("A" + a);
  }
  void print(Object a) {
    System.out.print("B" + a);
  }
  void print(Number a) {
    System.out.print("C" + a);
  }
}

public class Main {
  public static void main(String[] args) {
    new Collection<>(0).print();
  }
  public static class Collection<T> {
    T value;
    public Collection(T t) {
      value = t;
    }
    public void print() {
      new Printer().print(value);
    }
  }
}

정답 :

B0

  • 오버로딩은 런타임이 아니라 컴파일타임에 결정
    • Collection<T> 내부에서 value 선언 타입은 T라서 Object로 해석

2025년 1회 기출

1. 다음 설명에 해당하는 알맞은 용어를 영문 약어로 쓰시오.

- 다항식 코드를 사용하여 오류를 검출하는 방식이다.
- 동기식 전송에서 주로 사용되며, HDLC 프레임의 FCS(프레임 검사 순서 필드)에 사용된다.
- 집단 오류를 검출할 수 있고, 검출률이 높으므로 가장 많이 사용한다. 

정답 :

CRC

  • CRC : 오류 검출용 (수정 X), 네트워크 통신에서 사용,
    • 데이터에 대해 다항식 나눗셈을 수행, 나머지를 이용해 오류를 검출하는 방식

2025년 2회 기출

1. 서비스 공격(Dos) 공격 기법 중 TCP가 신뢰성 있는 전송을 위해 사용하는 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상지인 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법을 가리키는 용어를 쓰시오.

정답 :

SYN Flooding

  • SYN Flooding : TCP 3-way handshake를 악용한 연결 자언 고갈 공격

2. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

public class Main {
  public static class Parent {
    public int x(int i) {return i + 2; }
    public static String id() {return "P"; }
  }
  public static class Child extends Parent {
    public int x(int i) {return i + 3; }
    public String x(String s) {return s + "R"; }
    public static String id() {return "C"; }
  }
  public static void main(String[] args) {
    Parent ref = new Child();
    System.out.println(ref.x(2) + ref.id());
  }
}

정답 :

5P

  • ref.x(2) : x(int)인스턴스 메서드기 때문에 실제 객체 기준으로 호출
  • ref.id() : static 메서드라서 오버라이딩이 아니라 Hiding 처리해야 함.
    • 참조 변수 타입 기준으로 결정

2025년 3회 기출

1. 다음 설명에 해당하는 알맞은 용어를 영문 약어로 쓰시오.

- 사용자가 패스워드를 요청할 때마다 암호 알고리즘과 해시 함수를 이용하여 새로운 일회용 패스워드를 생성하며, 한 번 사용된 패스워드는 폐끼되어 재사용할 수 없다.
- 주로 은행 및 금융 거래 시 사용자 본인 인증을 강화하기 위해 널리 사용된다.

정답 :

OTP (One-Time Password)

  • OTP : 일회성, 재사용 불가, 시간 또는 횟수 기반, 보안 강화

2. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
struct Node {
  struct Node* next;
  unsigned int x;
};

int main() {
  struct Node t1 = {0, 5u};
  struct Node t2 = {0, 7u};
  struct Node t3 = {0, 11u};
	t3.next = &t2;
  t2.next = &t1;
  struct Node* curr = &t3;
  int sum = 0;
  
  while (curr) {
    sum = sum * 3 + curr->x;
    curr = curr->next;
  }
  
  sum = (sum ^ 42u) + 100u;
  printf("%u\n", sum);
}

정답 :

187

  • ^ : 비트 XOR 연산
  • u : unsigned Int 자료형

태그:

카테고리:

업데이트: