[정보처리기사] 실기 정리 - 5과목 (2)

inbdni·2020년 10월 14일
5

정보처리기사

목록 보기
15/34
post-thumbnail

🧀 인터페이스 기능 구현


1. 정의

각 모듈의 세부 설계서를 확인하여 인터페이스에 필요한 기능을 확인함

(1) 모듈 간 세부 설계서 확인

  • 컴포넌트 명세서
    컴포넌트의 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세를 정의

  • 인터페이스 명세서
    컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시한 명세서
    인터페이스 명칭, 사전 조건 및 사후 조건, 인터페이스 데이터 및 완료 후 성공 여부 반환값 등이 정의되어 있음

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

분석된 인터페이스 기능, 데이터 표준, 모듈 설계 명세서를 통해 일관되고 정형화된 인터페이스의 기능을 정의

(3) 정의된 인터페이스 기능에 대한 정형화

특정 하드웨어나 소프트웨어에 의존적이지 않게 작성하고, 가독성을 높이기 위해 프로세스 형태나 유스케이스 다이어그램의 형태로 작성함


2. 구현

(1) 사전에 정의된 기능에 대한 구체적 분석

상세하게 정의된 기능 구현 정의 내용을 토대로 어떻게 구현할 것인지를 분석함

  • 송신 측에서 필요한 대상을 선택하여 수신 측에 데이터 전송
    • 대상자 선택
    • 인터페이스 데이터 생성
    • 인터페이스 데이터 전송 요청
  • 필요 항목에 대해 데이터 전달
    • 인터페이스 데이터 전송
    • 인터페이스 데이터 수신
    • 인터페이스 데이터 파싱
    • 인터페이스 데이터 검증
    • 후속 기능 수행
  • 전달 후 수신 측으로부터 전달 여부에 대한 값을 반환
    • 인터페이스 수신 결과 생성 및 전송
    • 수신 측에서 처리한 인터페이스 결과 반환

(2) 인터페이스 구현

  • 데이터 통신을 사용하는 인터페이스 구현

    • 인터페이스 객체 생성 구현
      인터페이스 객체를 생성하기 위해 데이터베이스에 있는 정보를 SQL을 통해 선택한 후 이를 제이슨으로 생성

    • 인터페이스 객체 전송 후 전송 결과를 수신 측에서 반환받도록 구현
      송신 측에서 제이슨으로 작성된 인터페이스 객체를 AJAX 기술을 이용해 수신 측에 송신하면, 수신 측에서는 제이슨 인터페이스 객체를 받아 파싱 후 처리하고 결괏값을 송신 측에 True/False로 전달함

  • 인터페이스 객체를 사용하는 인터페이스 구현

    • 송신 시스템의 인터페이스 테이블
      송신 관련 정보를 관리하기 위한 항목과 송신 시스템에서 필요한 항목을 구현

    • 수신 시스템의 인터페이스 테이블
      수신 관련 정보를 관리하기 위한 항목과 수신 시스템에서 필요한 항목 구현


3. 예외 처리

(1) 데이터 통신을 사용한 인터페이스의 경우

① 송신 측에서 처리
AJAX 호출 후 반환 값을 받아 어떻게 처리할지를 호출하는 부분에서 사전 정의

예외 원인처리 방안
네트워크 불안정POST 이후 에러 메시지를 확인
송신 데이터 생성 시 프로세스의 논리적 결함프로세스에 따라 예상되는 예외를 알람을 통해 사용자에게 전달

② 수신 측에서 처리
수신한 JSON 객체를 처리 시에 try-catch 구문을 이용해 발생한 예외를 처리하고 이를 송신 측에 전달

예외 원인처리 방안
네트워크 및 서버 불안정입력 대기 큐를 통해 요청을 쌓아 놓고 서버 정상 가동 시 동작할 수 있도록 처리
수신 데이터 정합성 체크파싱 시 특수 문자는 오류가 나지 않는 문자로 대치한 후 재처리
수신 데이터 처리 시 프로그램의 논리적 결함프로세스에 따라 예상되는 예외를 알람을 통해 사용자에게 전달

(2) 인터페이스 객체를 사용한 인터페이스의 경우

① 송신 측에서 처리
예외 발생 시 송신 인터페이스 테이블에 예외 유형에 따른 예외 코드와 상세한 원인을 함께 입력

예외 원인처리 방안
선택 SQL, 프로그램, 데이터 객체 생성 오류사용자에게 오류 발생 시 알람, 예외 케이스가 재발하지 않도록 프로그램 개선
입력 SQL, 데이터 정합성 오류사용자에게 실패 결과 알람, 입력 실패 결과와 원인을 인터페이스 테이블에 기록
DB 연계 오류실패 결과 및 원인을 사용자, 관리자에게 메일을 통해 알림, 통신 결과를 읽어서 실패 결과와 원인을 인터페이스 테이블에 기록

② 수신 측에서 처리
예외 발생 시 사전에 정의된 예외 코드를 입력하고 사유를 함께 기록

예외 원인처리 방안
데이터 선택 시 오류수신 측 사용자에게 예외 발생 알람 전송, 인터페이스 테이블에 예외 사항 기록
데이터 트랜잭션 시 프로그램의 논리상 오류사용자에게 예외 알람 전송, 인터페이스 테이블에 예외 사항 기록
DB 연계 오류예외 상황 발생을 송신자 및 수신자에게 메일을 통해 알림, 인터페이스 테이블에 예외 사항 기록



🧀 인터페이스 보안 기능


1. 보안 취약점

(1) 데이터 탈취 위협

데이터 통신 시 스니핑을 통해 데이터 전송 내역을 감청하여 데이터를 탈취하는 위협

(2) 테이터 위/변조 위협

데이터 통신 시 전송 데이터에 대한 삽입, 삭제, 변조 공격을 통한 시스템 위협


2. 구현

(1) 시큐어 코딩 가이드 적용

인터페이스 개발 시 보안 취약점을 방지할 수 있게 시큐어 코딩 가이드에 따른 개발 수행이 필요함

  • 입력 데이터 검증 및 표현
  • 보안 기능
  • 시간 및 상태
  • 에러 처리
  • 코드 오류
  • 캡슐화
  • API 오용

(2) 데이터베이스 보안 적용

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

  • 데이터베이스 암호화 알고리즘
    • 대칭 키 암호화 알고리즘
    • 비대칭 키 암호화 알고리즘
    • 해시 암호화 알고리즘
  • 데이터베이스 암호화 기법
    • API 방식
    • 플러그인 방식
    • 하이브리드 방식

(3) 중요 인터페이스 데이터의 암호화 전송

민감한 정보를 통신 채널을 통하여 전송 시 반드시 암호화 및 복호화 과정을 거쳐야 하며 IPSec, SSL/TLS 등의 보안 채널을 활용함


3. 적용

(1) 인터페이스 각 구간의 보안 취약점 분석

송수신 영역의 구현 기술 및 특징에 대해 보안 취약점이 발생할 수 있는 영역을 구분하여 분석함

(2) 분석된 보안 취약점을 근거로 인터페이스 보안 기능 적용

① 네트워크 구간에 대한 보안 기능 적용

인터페이스 송수신 간 중간자에 의한 데이터 탈취 및 위변조를 막기 위해 네트워크 트래픽에 대한 암호화를 적용하고 전송 구간 암호화를 구현함

  • 상대방 인증 적용
  • 데이터 기밀성 보장 필요
  • 서버만 공개키 인증서를 가지고 통신
  • 연결 단위 외 메시지 단위로도 인증 및 암호화 필요

② 애플리케이션 보안 기능 적용

애플리케이션 구현 코드 보안 취약점을 보완하는 방향으로 보안 기능을 적용함

  • 비인가자 접근 권한 관리
  • 악의적 코드 삽입 금지
  • 악의적 시도 시 에러 처리

③ 데이터베이스 보안 기능 적용

데이터베이스의 접근 권한 강화 및 데이터베이스 동작 객체의 보안 취약점 제거를 위해 보안 기능을 적용해야 함

  • 데이터베이스 접근 권한
  • 민감 데이터 관리
  • 악의적 코드 삽입 금지
  • 악의적 시도 시 에러 처리




🐭 참고문헌

  • NCS 정보처리기술사 연구회. (2020). 수제비 정보처리기사 실기 (2판). 건기원.

0개의 댓글