본문 바로가기
공부

정보처리기사 공부 인터페이스 구현

by IMHz 2021. 2. 16.
반응형

인터페이스 설계 확인

시스템 및 컴포턴트 간 데이터 교환 및 처리를 위해 각 시스템이 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서인 인터페이스 설계서를 통해 확인합니다.

 

인터페이스 설계서는 시스템의 인터페이스 현황파악을 위해서 인터페이스 목록 및 각 인터페이스의 상세 데이터 명세, 각 기능의 세부 인터페이스 정보를 정의한 문서입니다.

 

 


외부 및 내부 모듈 연계

 

기업시스템이나 공공 서비스를 위한 시스템에서 인터페이스를 위해 외부 및 내부 모듈을 연계한다. 대표적인 방법으로는 EAI방식 ESB방식이 있습니다.

 

EAI(Enterprise Application Intergration)방식

EAI방식은 기업 내부에서 운영되며 다른 플랫폼 또는 애플리케이션 간의 정보를 전달, 연계, 통합을 가능하게 해주는 솔루션입니다.

 

EAI의 장점은 각 비즈니스간의 통합 및 연계성을 증대시켜 효율성을 높이고 각 시스템간의 확장성을 높일 수 있습니다. 

 

구축유형 설명
포인트 투 포인트
(Point-to-Point)
1:1 단순 통합 방법으로 가장 기초적인 애플리케이션 통합 방법입니다.
솔루션 없이도 개발자 간의 커뮤니케이션을 통해서 통합이 가능하다는 장점이있습니다.
허브 앤 스포크
(Hub & Spoke)
단일한 접전의 허브시스템을 통해 데이터를 전송하는 중앙 집중 방식입니다. 
허브 장애가 생기면 전체 장애가 발생됩니다.
메시지 버스
(Message Bus)
애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식입니다.
뛰어난 확장성과 대용향 데이터 처리가 가능합니다. 
하이브리드
(Hybrid)
그룹 내에서는 허브 앤 스포크 방식을 사용하고 그룹 간에는 메시지 버스 방식을 사용하는 통합방식입니다.
하이브리드 방식의 장점은 그룹내 환경에 맞는 작업이 가능합니다.

 

 

ESB(Enterprise Service Bus)방식

ESB방식은 기업에서 운영되는 서로 다른 플랫폼 또는 애플리케이션 간의 정보를 하나의 시스템으로 관리  운영할 수 있는 서비스 중심의 통합 아키텍처입니다.

 

ESB는 버스를 중심으로 느슨한 결합을 통해 각 프로토콜이 호환할 수 있는 애플리케이션의 통합하는 방식입니다.

 

구분 EAI ESB
수행목적 기업 내부의 모듈간의 통합 기업 간의 서비스 교환을 위해 표준 API로 통합
토폴로지 포인트 투 포인트
허브 앤 스포크
메시지 버스
하이브리드
ESB의 분산 토폴로지 구성
핵심기술 어댑터
브로커
메시지 큐
웹 서비스
지능형 라우터
포맷변환
개방형 표준
통합형태 애플리케이션간의 단단한 통합 서비스 간의 느슨한 통합
적용영역 기업 내부망 기업 외부 채널망

 


인터페이스 보안 기능

 

인터페이스 보안 취약점

인터페이스를 위한 송 · 수신 시스템 간의 데이터 통신 시 스니핑을 통해 데이터 전송 내역을 감청하여 데이터를 탈취할 수 있습니다.  즉, 데이터 통신 시 데이터 탈취 위협이 있고, 데이터 통신 시 데이터 위 · 변조위협이 있을 수 있습니다. 

 

시큐어 코딩 가이드

인터페이스 개발 시 보안 취약점을 방지할 수 있게 시큐러 코딩 가이드에 따라 개발 수행이 필요합니다.

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

 

데이터베이스 보안 적용

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

 

데이터베이스 암호화 알고리즘은 대칭 키 암호화 알고리즘, 비대칭 키 암호화 알고리즘, 해시 암호화 알고이즘이 있습니다.

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

 

데이터베이스 암호화 기법으로는 API 방식, Plug-In 방식, Hybrid 방식이 있습니다.

  • API 방식은 애플리케이션 레벨에서 암호 모듈(API)을 적용하는 애플리케이션 수정방식입니다. 이 방식을 사용하면 애플리케이션 서버에 암 · 복호화, 정책 관리, 키 관리 등의 부하가 발생합니다.
  • Plug-In 방식은 DB레벨의 확장성 프로시저 기능을 이용하며 DBMS에 Plug-In 모듈로 동작하는 방식입니다. 이 방식을 사용하면 DB 서버에 암 · 복호화, 정책 관리, 키 관리 등의 부하가 발생합니다.
  • Hybrid 방식은 API 방식과 Plug-In 방식을 경합한 방식입니다. 부하가 DB서버와 애플리케이션 서버로 분산됩니다. 

 


인터페이스 구현 검증

 

인터페이스 구현 검증을 위해서는 인터페이스의 세부 기능을 기능 단위로 테스트하는 단위 테스트와 전체 인터페이스 흐름을 확인하는 시나리오를 통한 통합 테스트가 필요합니다. 이때 인터페이스 구현 검증 도구를 통해 테스트의 효율성을 높일 수있습니다. 인터페이스 구현 검증 도구는 구현된 인터페이스의 동작을 검증하기 위해 인터페이스 구현 및 감시 도구를 통해서 인터페이스 동작 상태를 검증하고 모니터링할 수 있습니다.

 

인터페이스 구현 검증 도구

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

관련글

 

2021년 정보처리기사 시험일정 총정리

2021년을 맞이해 이번년도의 정보처리기사의 일정, 시험과목 등 모든 정보에 대해서 알아보도록 하겠습니다. 한국산업인력공단에서 시행하는 국가자격증인 정보처리기사 자격증은 프로그램 설

kauphj17.tistory.com

 

 

정보처리기사 공부 SQL 응용 중 절차형 SQL

프로시저 프로시저(Procedue)는 절차형 SQL을 활용하여 기능을 수행하는 트랜젝션언어입니다. 프로시저의 구조에 대해서 이야기하겠습니다. 선언부 (DECLARE) : 프로시저의 이름과 변수, 데이터 타입

kauphj17.tistory.com

 

 

정보처리기사 공부 요구사항확인

요구사항 요구사항이란 문제의 해결 또는 목적 달성을 위하여 고객에 의해 요구되거나, 표준이나 명세등을 만족하기 위하여 시스템이 가져야 하는 서비스 또는 제약사항입니다. 요구사항 파악

kauphj17.tistory.com

 

반응형

댓글