기타/정보처리기사실기

[정보처리기사 실기 / 내용정리] 05. 인터페이스 구현

rinix_x 2022. 4. 16. 17:08
정보처리기사 실기 정리 05. 인터페이스 구현
반응형
인터페이스 산출물

* 인터페이스 설계서 (가장 큰 단위의 설계서)
 - 이기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템이 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서
 - 상세 기능 인터페이스 정의서 : 상세 기능 인터페이스 목록 + 상세 기능 인터페이스 정의서
 - 시스템 터페이스 정의서 : 시스템 인터페이스 목록 + 시스템 인터페이스 정의서

* 인터페이스 정의서
 - 송수신 정보 구체화, 인터페이스 상세 정보
* 인터페이스 데이터 표준 확인
 - 상호 연계하고자 하는 시스템 간 인터페이스 되어야 할 데이터 형식과 표준 정의

인터페이스 기능 구현

* 송신 측에서 필요한 데이터를 선택하여 전송
* 필요 항목에 대해서 데이터 전달
* 전달 후 수신 측으로부터 전달 여부에 대한 값 반환

* 컴포넌트 명세서 : 컴포넌트 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세
* 인터페이스 명세서 : 컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시한 명세서
* JSON(Javascript Object Notation) : 속성-값 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 테스트를 사용하는 개방형 표준 포맷, AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷
* XML(Extensible Markup Language) : HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어
* AJAX(Asynchronous Javascript And XML) : 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하는 웹 기술, XMLHttpRequest객체 (비동기 통신 담당하는 JS 객체)를 이용해서 필요한 이루 페이지의 데이터만 로드
* REST(Tepresentational State Transfer) : 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP메서드로 주고받은 웹 아키텍처, URL자원을 활용하여 HTTP메서드를 주고받는 웹 아키텍처
 - REST 메서드 : HTTP메서드 중 CRUD메서드만 사용-POST(생성), GET(조회), PUT(수정), DELETE(삭제)
* 직렬화 : 데이터 구조나 오브젝트 상태를 다른 컴퓨터 환경에서 저장하고 재구성할 수 있는 포맷으로 변환하는 과정

인터페이스 보안 취약점 및 보안 구현

* 스니핑 : 직접 공격하지 않고 데이터를 몰래 들여다보는 공격 기법
* 인터페이스 보안 취약점 - 입어 보니 시원한 에 코 캡
 - 입력 데이터 검증 및 표현
 - 보안 기능
 - 시간 및 상태
 - 에러 처리
 - 코드 오류
 - 캡슐화
 - API 오용

데이터베이스 보안 적용

* DB 암호화 알고리즘
 - 대칭키 : 암호화와 복호화의 암호키가 동일 ( DES / AES / SEED )
  + SEED : 블록 암호화
 - 비대칭키 : 암호화와 복호화의 암호키가 다름, 공개키는 누구나 알 수 있지만, 비밀키는 키 소유자만 알 수 있게 사용 ( RSA / ECC / Elgamal )
  + RSA : 공개키 암호화 알고리즘, 소인수분해
 - 해시 : 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘 MD5 / SHA

* 중요 인터페이스 데이터의 암호화 전송 보안 기술
 - IPSec(IP Security) : IP계층(3 계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화 (ESP)를 이용하여 양 종단 간 (End Point) 구간에 보안 서비스를 제공하는 터널링 프로토콜,
 - SSL/TLS : 전송계층(4 계층)과 응용계층(7 계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화(기밀성, 상호인증 및 전송 시 데이터 무결성)를 보장하는 보안 프로토콜, Application과 TCP/IP계층 사이에서 웹 데이터를 암호화하고 전송 시 기밀성을 보장하는 공개키 기반 보안 프로토콜
 - S-HTTP(Secure Hupertext Transfer Protocol) : 웹상에서 네트워크 트래픽을 암호화하는 주요 방법, 클라이언트와 서버 간에 전송되는 모든 메시지를 암호화하여 전송 * DB 암호화 기법
 - API 방식 : 애플리케이션 레벨에서 암호화 모듈을 적용
 - Plug-In 방식 : DBMS에서 Plug-In 모듈로 동작하는 방식
 - Hybrid 방식 : API 방식과 Plug-In 방식의 장점을 합친 방식

* 데이터베이스 보안 기능 적용
- 데이터 베이스 접근 권한
- 악의적 코드 삽입 금지
- 민감 데이터 관리
- 악의적 시도 시 에러 처리

인터페이스 구현 검증

* 인터페이스 구현 검증 도구
 - xUnit : C++,. Net, 자바 등 다양한 언어를 지원하는 단위 테스트 프레임워크
 - STAF : 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임 워크
 - FitNesse : 웹 기반 테스트 케이스 설계 / 실행 / 결과 확인 등을 지원하는 테스트 프레임워크
 - NTAF : FitNesse(협업 가능) + STAF(재사용, 확장성) 통합한 NHN(Naver) 테스트 자동화 프레임 워크
 - Selenium : 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
 - watir : 루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크 * 인터페이스 감시 도구
 - 스카우터(SCOUTER) : 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공
 - 제니퍼(Jennifer): 애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전생 애주기 단계 동안 성능을 모니터링하고 분석해주는 APM 소프트웨어
 - 인터페이스 구현 검증 프로세스
  + 송신 측에서 인터페이스 대상 선택 전송-> 인터페이스 객체 전송 -> 수신 측에서 수신 트랜잭션 결과 반환

* 인터페이스 오류 처리 방법
 - 사용자 화면에 오류 인지하도록 구현
 - 인터페이스 오류 로그 생성
 - 인터페이스 관련 테이블에 오류사항 기록

 - 오류 처리 보고 시기
  + 최초 발생 보고 -> 오류 처리 경과보고 -> 완료 보고

반응형