본문 바로가기
IT 자격증/정보처리기사

정보처리기사 필기 2주차 Day-5 정리

by 펭귄스토리 2021. 7. 20.

 

Chapter 05. 인터페이스 구현

1. 인터페이스 설계 확인

(1) 인퍼페이스 기능 확인

인터페이스 기능 확인 방법

① 인터페이스 기능 개념

인터페이스 기능은 이기종 시스템 또는 컴포넌트 간 데이터 교환 및 처리를 위한 기능이다.

 

② 인터페이스 기능 확인 방법

이기종 시스템 또는 컴포넌트 간 데이터 교환 및 처리를 위한 목적으로 각 시스템의 교환 데이터 및 업무, 송수신 주체 등이 정의되어 있는 인터페이스 설계서를 보고 인터페이스 기능을 확인할 수 있다.

 

③ 인터페이스 정의서

인터페이스 정의서는 시스템 인터페이스 정의서와 상세 기능 인터페이스 정의서 등으로 나눠질 수 있다.

 

시스템 인터페이스 정의서 주요 항목 = 인최 크시데

주요 항목 설명
터페이스 ID 인터페이스를 구분하기 위한 식별자
대 처리 횟수 단위 시간당 처리될 수 있는 해당 인터페이스 최대 수행 건수
데이터
(평균/최대)
해당 인터페이스 1회 처리 시 소요되는 데이터의 평균 크기와 최대 크기
스템 정보
(송수신 시스템 각각 작성)
시스템 명, 업무 명, 서비스 명, 프로그램 ID 등등
이터 정보
(송수신 시스템 각각 작성)
번호, 필드, 식별자 여부, 데이터 타입, 데이터 크기 NULL 허용 여부, 항목 설명 등등

 

상세 기능 인터페이스 정의서 주요 항목

인터페이스 ID

인터페이스 명

오퍼레이션 명

오퍼레이션 개요

사전 조건

사후 조건

파라미터

반환 값

 

(2) 데이터 표준 확인

송·수신 시스템 간 인터페이스 데이터 표준 확인 절차

데이터 인터페이스 입·출력 의미 파악 > 데이터 인터페이스 입·출력 의미 파악을 통한 데이터 표준 확인 > 인터페이스 데이터 항목 식별 > 데이터 표준 최종 확인 

 

내·외부 인터페이스 기술 표준 확인

① EAI(Enterprise Application Integration) 방식

EAI를 사용함으로써 각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여 줄 수 있으며 각 시스템 간의 확장성을 높여줄 수 있다.

EAI 구축 유형 = 포허 메하

구축 유형 설명
인트 투 포인트
(Point-to-Point)
중간에 미들웨어를 두지 않고 각각의 애플리케이션 간에 점대점 형태로 연결
브 앤 스포크
(Hub & Spoke)
단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식
허브 장애 시 전체 장애 발생
시지 버스
(Message Bus)
애플리케이션 사이 미들웨어를 두어 연계하는 미들웨어 통합 방식
뛰어난 확장성과 대용량 데이터 처리 가능
이브리드
(Hybrid)
그룹 내는 허브 앤 스포크 방식을 사용하고, 그룹 간에는 메시지 버스 방식을 사용하는 통합 방식

 

ESB(Enterprise Service Bus) 방식

ESB는 버스를 중심으로 각각 프로토콜이 호환이 가능하도록 애플리케이션의 통합을 낮은 결합 방식으로 지원하는 방식이다.

 

2. 인터페이스 기능 구현

(1) 인터페이스 보안

인터페이스 보안의 중요성

인터페이스는 시스템 모듈 간 통신 및 정보 교환의 중요한 접점이기 때문에 인터페이스 보안 취약성은 시스템에 심각한 피해를 입힐 수 있다. 

 

인터페이스 보안 구현

① 시큐어 코딩 가이드 적용 = 입보시 에코캡A

적용 대상 보안 약점 대응 방안
력 데이터 검증 및 표현  프로그램 입력값에 대한 검증 누락·부적절한 검증, 잘못된 형식 지정 사용자·프로그램 입력 데이터에 대한 유효성 검증 체계를 수립하고 실패 시 처리 설계 및 구현
안 기능 보안 기능(인증, 접근 제어, 기밀성, 암호화, 권한 관리 등)의 부적절한 구현 인증·접근 통제, 권한 관리, 비밀 번호 등의 정책이 적절하게 반영되도록 설계 및 구현
간 및 상태  거의 동시에 수행 지원하는 병렬 시스템, 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태의 부적절한 관리 공유 자원의 접근 직렬화, 병렬 실행 가능 프레임워크 사용, 블록문 내에서만 재귀 함수 호출
러 처리 에러 미처리, 불충분한 처리 등으로 에러 메시지에 중요 정보가 포함 에러 또는 오류 상황을 처리하지 않거나, 불충분하게 처리되어 중요 정보 유출 등 보안 약점 발생하지 않도록 시스템 설계 및 구현
드오류 개발자가 범할 수 있는 코딩 오류로 인해 유발 코딩 규칙 도출 후 검증 가능한 스크립트 구성과 경고 순위의 최상향 조정 후 경고 메시지 코드 제거
슐화 기능성이 불충분한 캡슐화로 인해 인가되지 않은 사용자에게 데이터 누출 디버거 코드 제거와 필수 정보 외의 클래스 내 프라이빗 접근자 지정
API 오용 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API의 사용 개발 언어별 취약 API 확보 및 취약 API 검출 프로그램 사용

 

② 데이터베이스 보안 적용

데이터베이스의 기밀성을 유지하기 위해서 인터페이스 시 활용되는 중요데이터에 대해서는 필요한 보안 요구사항을 적용한다. 

 

데이터베이스 암호화 알고리즘 = 대비해

구분 의미 파악
대칭 키 암호화 알고리즘 암호화 알고리즘의 한 종류로, 암·복호화에 같은 암호 키르 쓰는 알고리즘을 의미
ARIA 128/192/256, SEED
비대칭 키 암호화 알고리즘 공개키는 누구나 알 수 있지만 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘
RSA, ECC, ECDSA
해시 암호화 알고리즘 해시 값으로 원래 입력값을 찾아낼 수 없는, 일방향성의 특성을 가진 알고리즘
SHA-256/384/512, HAS-160

 

데이터 베이스 암호화 기법 = APH

구분 설명
API 방식 애플리케이션 레벨에서 암호 모듈을 적용하는 애플리케이션 수정 방식
애플리케이션 서버에 암·복호화, 정책 관리, 키 관리 등의 부하 발생
Plug-in 방식 DB 레벨의 확장성 프로시저 기능을 이용, DBMS에 Plug-in 모듈로 동작하는 방식
DB 서버에 암·복호화, 정책 관리, 키 관리 등의 부하 발생
Hybrid 방식 API 방식과 Plug-in 방식을 결합하는 방식
DB 서버와 애플리케이션 서버로 부하 분산

 

③ 중요 인터페이스 데이터의 암호화 전송을 보안 기술

보안 기술 설명
IPSec
(IP Security)
IP계층(3계층)에서 무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공하는 터널링 프로토콜
동작 모드는 전송 모드와 터널 모드가 있음
주요 프로토콜은 AH, ESP, IKE가 있고, IPSEC 정책에는 SPD, SAD가 있음
SSL/TLS 전송계층과 응용계층 사이에서 클라이언트와 서버 간의 웹 데이터 암호화, 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
Client와 Server 간에 상호인증, 암호 방식에 대해 협상을 거치는 특징
S-HTTP
(Secure Hypertext Transfer Protocol)
S-HTTP는 웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송

 

(2) 소프트웨어 연계 테스트

인터페이스 기능 구현

개발하고자 하는 응용소프트웨어와 연계 대상 모듈 간의 세부 설계서를 확인하여 일관되고 정형화된 인터페이스 기능을 구현할 수 있다. 

 

① 모듈 간 세부 설계서 확인

② 일관되고 정형화된 인터페이스 기능 정의

③ 정의된 인터페이스 기능에 대한 정형화

④ 인터페이스 기능 구현

 

소프트웨어 연계 테스트

소프트웨어 연계 테스트는 송신 시스템과 수신 시스템을 연계하였을 경우 데이터의 정합성과 데이터 전송 여부에 대한 테스트이다.

 

① 소프트웨어 연계 테스트 케이스(Test Case) 자성 및 명세화

절차 설명
소프트웨어 연계 테스트를 위한 단위 테스트 케이스 작성 송·수신 시스템 간에 연계 데이터 정상 추출 여부, 데이터 형식 체크, 데이터 표준 준수 여부 등을 테스트할 수 있도록 작성
소프트웨어 연계 테스트를 위한 통합 테스트 케이스 작성 송·수신 시스템 간에 연계 시나리오를 구성하여 다양한 결과가 나올 수 있도록 테스트 케이스를 작성

 

3. 인터페이스 구현 검증

(1) 설계 산출물

인터페이스 구현 검증 도구의 개념

인터페이스 구현 검증 도구는 인터페이스 동작 상태를 검증하고 모니터링 할 수 있는 도구이다.

 

인터페이스 구현 검증 도구의 종류 = xSFiNSelwa

도구 설명
xUnit 소프트웨어의 함수나 클래스 같은 서로 다른 구성 언소(단위)를 테스트 할 수 있게 해주는 도구
STAF 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구
FitNesse 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대한 테스트를 할 수 있는 장점이 있음
NTAF STAF의 분산환경 지원기능과 FitNesse의 효율적인 테스트 케이스 디자인 및 레포팅 기능이 NTAF에서 지원
Seleninm 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
셀레늄은 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 플레이백 도구를 제공
watir Ruby 기반 웹 애플리케이션 테스트 프레임워크
모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 가능

 

인터페이스 감시 도구

도구  설명
스카우터
(SCOUTER)
애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공
제니퍼
(Jennifer)
애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애 주기 단계 동안 성능을 모니터링하고 분석해주는 APM 소프트웨어

 

(2) 인터페이스 명세서

인터페이스 명세서를 통한 구현 검증

기능 구현 정의 검증 요건 감시 요건
송신 측에서 인터페이스 대상 선택 전송 입력한 대상과 생성된 인터페이스 객체의 정보가 일치하는지 확인 데이터베이스 SQL 모니터링
조회 트랜잭션 모니터링
제이슨(JSON) 생성 객체 모니터링
인터페이스 객체 전송 암호화된 통신으로 올바르게 수신 측에 전달되었는지 확인
전달된 정보가 수신된 정보와 일치하는지 확인
통신 암호화 모니터링
패킷정보 모니터링
연결된 트랜잭션 변수 모니터링
수신 후 수신 측 트랜잭션과 결과 반환 수신된 데이터와 연관 있는 이후 트랜잭션의 결과값과 일치 여부 객체 입력·출력값 모니터링
객체 동작 성공, 실패 여부 모니터링

 

인터페이스 오류 처리 및 보고서 작성

구분 특징 보고서 내용
최초 발생 보고 상황을 인지하고 조직 내부에 신속하게 보고하고 대응 조직 구성 SMS, 메일, 간이 보고서를 활용하여 오류 발생 구간 시점, 영향도 보고
오류 처리 경과보고 최초 인지 후 진행되고 있는 상황 보고 오류 처리 조치 사항 위주 보고 및 대안 서비스, 고객사 공지 사항 완료 여부 등을 보고
완료 보고 최종 조치 완료 후 내부 조직 및 고객사 및 연계 기관에 완료 보고 최초 발생 시점, 조치 경과, 오류 원인 재발 방지 대책 등 종합적인 내용 보고

 

https://book.naver.com/bookdb/book_detail.nhn?bid=15910265

 

수제비 정보처리기사 필기

NCS 모듈제작에 참여한 경험을 기반으로, 다양한 모듈에서 시험 출제 빈도를 분석하여 출제 비중이 높은 내용 위주로 구성했다. 출제 비중이 낮고 이해하기 어려운 개념들은 과감하게 제외함으

book.naver.com