본문 바로가기
정보처리기사 실기 (2023)

22년 2회 실기 정리

by 봉이로그 2023. 8. 7.

관계 데이터 모델의 제안자인 코드가 수학의 술어해석에 기반을 두고 관계 데이터베이스를 위해 제안하였다.

관계해석은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의 할 때 계산 수식을 사용

관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성

 

#관계 대수(절차적특성)

SELECT: 시그마

PROJECT: 파이

JOIN: 보타이

DIVISION: 나누기

 

 

양방향암호화: 평문 <-> 사이퍼텍스트

 

- 대칭키 알고리즘: 키가 1개, 많은량 암호화, 속도가 빠르다.

  - 블럭방식: DES, AES, IDEA

  - Stream방식: OTPad, RC4

키분배의 문제땜에 비대칭키 알고리즘을 사용

- 비대칭키 알고리즘(공개키 알고리즘): 키가 2개 (개인키, 공개키), 적은량 암호화, 속도가 굉장히 느리다.

  - 인수분해: RSA

  - 이산대수: DH, DSA, ElGmal

  - 타원곡선

 

단방향암호화: 평문 -> 사이퍼텍스트

 

 

블록암호 알고리즘

AES

- 128bit 평문을 128/192/256bit로 암호화

- 키 크기에 따라 10/12/14회 라운드 수행

- 레인달에 기반한 암호화 방식

- SPN암호 방식을 사용한다

 

SEED

- 순수 국내기술로 개발한 128비트 및 256비트 대칭키 블록 암호화 알고리즘이다.

 

ARIA

- 국가 보안 기술 연구소(NSRI)필두로 학계 ,국가 정보원등의 암호 기술전문가들이 개발한 국가 암호화 알고리즘

- AES 알고리즘과 똑같이 128/192/256비트 암호화키를 지원한다.

- SPN 암호 방식을 사용한다.

 

IDEA

- 1990년 스위스에서 만들어진 PES를 개량해 만들어진 블록 암호 알고리즘

- 키길이가 128비트, 블록길이가 64비트

- Feistel 방식과 SPN의 중간형태 구조

 

스트림암호 알고리즘

- LFSR

- RC4

- A5

 

인터넷 등 통신 사업자의 공중 네트워크에 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안솔루션

답: VPN (Virtual Private Network)

 

보안솔루션

- 방화벽 (Firewall)

  - 네트워크 간에 전송되는 정보를 선별하는 기능을 가진 침입 차단 시스템

 

웹방화벽 (Web Firewall) 와프 라고도함

  - 웹 기반 공격응ㄹ 방어할 목적으로 만들어진 웹서버 특화 방화벽

 

- 침입탐지 시스템(IDS; Intrusion Detection System)

  - 컴퓨터 시스템의 비정상적인 사용, 오용 등을 실시간으로 탐지하는 시스템

  - 이상탐지, 오용탐지

  - 이상탐지: 잘된케이스만 탐지할수있도록

   - Behavior, Statistical Detection로 불리며, 평균적 시스템의 상태기준으로, 비정상적인 행위나 자원의 사용이 감지되면 이를 알려줌

       잘 알려지지 않은 공격탐지에 적합

  - 오용탐지: 잘못된케이스만 집어넣는거, 알려진 공격 패턴(signature)에 대한 갱신 중요, 새로운 패턴의 공격에 대해서는 탐지 불가

   - Signature Base나 knowledge base로 불리며 미리 입력해둔 공격패턴이 감지되면 이를 알려줌, 잘 알려진 공격탐지에 적합

 

- 침입방지 시스템(IPS; Intrusion Prevention System)

  - 방화벽과 침입탐지 시스템을 결합하는 것.

 

보안 솔루션

데이터 유출방지(DLP; Data Lekage/Loss Preveiton)

 - 내부 정보의 유출을 방지하기 위한 보안솔루션

 

NAC(Network Access Control)

 - 네트워크에 접속하는 내부PC의 MAC주소(고유랜카드주소)를 IP관리 시스템에 등록한 후 일관된 보안 관리 기능을 제공하는 보안솔루션

 

ESM(Enterprise Security Management)

  - 다양한 장비에서 발생하는 로그 및 보안이벤트를 통합관리 하는 보안 솔루션

 

네트워크 집합을 몇 개의 그룹으로 나누었을 때 동일 그룹내에서 라우팅 정보를 교환할때 사용하는 라우팅 프로토콜을 IGP 라고 하고,

다른 그룹과 라우팅 정보를 교환하는 프로토콜을 EGP 라고 한다. 

IGP 의 대표적인 프로토콜은 RIPOSPF 가 있고, EGP 의 대표적인 프로토콜은 BGP 이다.

 

 

OSI 7 Layer

-----위에 계층가려면 라우터 필요(라우터를 통과해야함) 

 

 

정적 라우팅

 - 라우터 장비에 관리자가 직접입력해야함

동적 라우팅

 - 알아서 라우팅함

  - IGP

   - 거리벡터(Distance Vector)

    - RIP : 최대 15홉 이동, 거리(컴퓨터구조에선 횟수)를 중요시, 

   - Link-State Vector

     - OSPF

  - EGP

    - BGP

 

1) 은 개발자의 통제 하에 사용자가 개발환경에서 수행하는 테스트이다.

내부에서 진행하는 자체 검사로 실제 사용 환경에서 동작시키며 관련자만 참여한다.

- 알파테스트

2) 는 개발된 소프트웨어를 사용자가 실제 운영환경에서 수행하는 테스트이다.

- 베타테스트

 

V모델 (외우기)

단위 -> 통합 -> 시스템 -> 인수

 

하향식: 스텁

상향식: 드라이브

 

인수테스트: 알파 / 베타테스트

시스템테스트 : 기능(사용자가 요구한 기능을 정확히 동작하는지 보는거) / 비기능(성능,보안이슈등) 테스트

 

변경 또는 수정된 코드에 대하여 새로운 결함 발견 여부를 평가하는 테스트는 무엇인지 찾아 쓰시오.

답: Regression(회귀 테스트)

 

애플리케이션 테스트 유형 분류

 

- 프로그램 실행 여부

  - 정적 테스트: 소스코드 내부를 보는거 / 개발자만봄

  - 동적 테스트: 프로르램 실행 시킨거 ( 소스코드 수행을보는거), 단위테스트에서도 수행가능 , 개발자/사용자 둘다봄

 

- 테스트 기법

  - 화이트박스 테스트: 소스코드 안에 동작이 잘되는지 보는거

   - 기초 경로 검사

   - 제어 구조 검사

    - 조건검사

    - 루프검사

    - 데이터흐름검사

(개발자 관점)

   - 커버리지: 내가 얼만큼 테스트했느냐 범위를 보는거

  - 블랙박스 테스트: 동작테스트, 동등(동치)분할 검사, 경계값 분석, 원인효과 그래프기법, 오류예측 검사, 비교검사

 

- 테스트에 대한 시각

  - 검증 테스트: 개발자가 하는거, 잘수행하고있는지

  - 확인 테스트: 사용자가 하는거, 내가원하는게 잘 들어가져있는지

 

테스트 목적

  - 회복 테스트: 일부러 고장을 내고, 다시 어떻게 회복을 하는지 보는거

  - 안전 테스트

  - 강도 테스트: 서버가 있어, 냅다 부하를 주는거(컴퓨터 프로그램이 5만개의 스레드를 만들어서 죽나안죽나)

  - 성능 테스트

  - 구조 테스트

  - 회귀 테스트: 수정한게 잘 동작하는지

  - 병행테스트

 

테스트 기반

  - 명세 기반 테스트: 문서를 가지고 해서 시간이 많이걸림

  - 구조 기반 테스트: 시간이 많이걸린다. 소스코드 다 본다

  - 경험 기반 테스트: 경험이 많은 사용자가 와서 테스트를해본다(요쯤되면 오류가 발생할것 같아)

 

테스트 오라클: 이 결과가 참인지 거짓인지 확인하기 위해서 미리 정의 된 참값과 비교하는거

  - 참 오라클: 발생된 모든 오류를 검출할 수 있음

  - 샘플링 오라클: 특정한 테스트 케이스의 입력 값에 대해서만 결과 제공

  - 휴리스트 오라클: 샘플링 오라클을 개선한 오라클

  - 일관성 검사 오라클: 테스트 케이스의수행 전과후의 결과 값이 동일한지를 확인하는 오라클

 

응집도 (낮 -> 높) 응집도는 높을수록 좋음

우연적 응집도 - 모듈 내부의 각 구성 요소들이 연관이 없는 경우

논리적 응집도 -  유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리

시간적 응집도 - 특정 시간에 처리되어야 하는 활동을 한 모듈에서 처리

절차적 응집도 - 모듈 안의 구성요소들이 기능을 순차적으로 수행하는 경우 (순차적 응집도랑 헷갈리지않게 외우기)

통신적 응집도 - 동일한 입력과 출력을 사용하여  다른 기능을 수행

순차적 응집도 - 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용

기능적 응집도 - 모듈 내분의 모든 기능이 단일한 목적을 위해 수행

 

결합도(낮 -> 높) 결합도는 낮을수록 좋음

자료 결합도 - 모듈간의 자료(값을) 통해서만 모듈 상호 작용 발생

스탬프 결합도 - 모듈간의 배열이나 오브젝트, 스트럭처 등이 전달되는 경우

제어 결합도 - 값만 전달되는게 아니라, 제어 요소가 전달되는 경우

외부 결합도 - 모듈에서 외부로 선언한 변수를 다른 모듈에서 참조

공통 결합도 - 전역변수를 참조

내용 결합도 - 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용

 

1)는 W3상에서 정보를 주고받을 수 있는 프로토콜이다.

GET, POST 방식을 이용하여 문서를 주고 받는데, 이 문서 내에서 다른 문서를 링크 정보가 들어가는데, 이런 링크 정보를

만들 수 있는게 2) 이다.

이런 2)를 만들 수 있는 마크업언어가 3) 이다.

1) HTTP

2) Hypertext

3) HTML

 

IPSecurity

 

Soap - WSDL 설명서를 가지고와서 Soap이라는 프로토콜을 이용해서 서로 통신을 하는거

WSDL - 만들어진 사용 설명서, 외부로 통신할때 쓰는거, XML로 만들어서 어쩌구 사용법이 들어가있다.

UDDI - WSDL을 등록시킨거

 

자신이 사용하지 않는 인터페이스는 구현하지 말아야 하고, 자신이 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.

그러므로 인터페이스를 작게 나누어 만들어야 한다.

답: 인터페이스 분리 원칙 (ISP, Interface Segregation Principle)

 

객체지향 설계원칙 (SOLID)

- 단일 책임 원칙(SRP, Single Responsibility Principle): 한 클래스는 하나의 책임만을 가져야 한다.

- 개방 폐쇄 원칙(OCP, Open-Closed Principle): 확장에는 열려 있고, 수정에는 닫혀 있어야 한다.

- 리스코프 치환 원칙(LSP, Liskov Substitution Principle): 자식클래스는 언제나 부모 클래스를 대체할 수 있어야한다.

- 인터페이스 분리 원칙(ISP, Interface Segregation Priciple): 자신이 사용하지 않는 인터페이스는 구현하지 말아야한다.

- 의존성 역전 원칙(DIP, Dependency Inversion Principle): 의존관계를 맺을때 자주 변화하는것보다, 변화가 거의 없는것에 의존해야 한다.

 

UI 설계 원칙

- 직관성: 화면의 버튼, 항목, 입력란 등 누구나 쉽게 이해하고 사용 할 수 있어야 한다.

- 유효성: 사용자의 목적을 정확히 달성할 수 있도록 유용하고 효과적이어야 한다.

- 학습성: 사용자가 쉽게 배우고 익힐 수 있어야 한다.

- 유연성: 사용자의 요구를 최대한 수용하면서 오류를 최소화해야 한다.

 

IP 주소가 192.168.100.132 이고, 서브넷 마스크가 255.255.255.192 인 경우 1)~2)에 해당하는 값을 쓰시오.

네트워크 주소 192.168.100.1)

사용 가능한 주소 개수 2)

답: 1) - 128 / 2) - 62

 

함수적 종속 문제

함수적 종속관계에서 종속자가 기본키에만 종속되며, 기본키가 여러속성으로 구성되어 있을 경우 기본키를 구성하는 모든 속성이 포함된

기본키의 부분집합에 종속된 경우 이를 완전함수종속(=Full) 이라 한다.

 

기본키가 여러 속성으로 구성 되어 있을 경우 기본키를 구성하는 속성 중 일부만 종속되는 경우 이를 부분함수종속(=Partial)라고 한다.

 

X->Y, Y->Z 이란 종속 관계가 있을 경우, X->Z가 성립 되는 경우를 이행적함수종속(=Transitive)라고 한다.

 

완전함수종속 (Full)

부분함수종속 (Partial)

이행적함수종속 (Transitive)

 

이상현상 - 정규화(잘게잘게 쪼갠다) 되지 않는 테이블에서 발생함

- 삽입 이상이란 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 함께 삽입되는 현상이다.

- 삭제 이상이란 릴레이션에서 한 튜플을 삭제할때 의도와는 상관없는 값들로 함께 삭제되는 연쇄 삭제 현상이다.

- 갱신 이상이란 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상이다.

 

정규화 수행과정

 

- 비정규 릴레이션

- 제 1정규형 (도메인이 원자값)

- 제 2정규형 (부분 함수적 종속 제거)

- 제 3정규형 (이행적 함수 종속 제거)

- BCNF (결정자이면서 후보키가 아닌 것 제거)

- 제 4정규형 (다치 종속 제거)

- 제 5정규형 (조인 종속성 이용, 제거)

 

'정보처리기사 실기 (2023)' 카테고리의 다른 글

22년 1회 실기 정리  (0) 2023.08.21
UML && 디자인패턴 정리  (0) 2023.08.04
개념정리 #1  (0) 2023.08.01