정보 처리 기사 실기 5. 인터페이스 구현 - 인터페이스 기능 구현

2021. 10. 4. 14:38정 보 처 리 기 사 공 부/실 기

728x90
반응형

● 사전에 정의된 기능에 대한 구체적 분석

기능 구현 정의 기능 분석 결과
송신 측에서 필요 대상을 선택하여 수신 측에 데이터 전송 대상자 선택 · DB에 저장된 인사 정보를 SQL로 선택하여 인터페이스 대상을 확인
인터페이스 데이터 생성 · 제이슨 또는 인터페이스 테이블 형식에 맞게 DB에 있는 정보 가공
인터페이스 데이터 전송 요청 · 인터페이스 데이터를 생성 후 해당 데이터를 https에서 인터페이스 또는 수신 측으로 전송 요청
필요 항목에 대해서 데이터 전달 인터페이스 데이터 전송 · 수신지 주소에 레스트 방식으로 전달될 수도 있으며 DB커넥션을 이용하여 DB 프로시저, 트리거 등을 활용하여 전송
인터페이스 데이터 수신 · 인터페이스 데이터를 수신한 후 데이터의 형식이 맞는지 점검
· 각 규칙을 사전에 정의하고 이를 활용
인터페이스 데이터 파싱 · 인터페이스 객체는 파서를 이용하여 파싱하거나 인터페이스 테이블에서 선택
인터페이스 데이터 검증 · 각 세부 데이터의 포맷과 논리적인 제약조건의 오류 검사
후속 기능 수행 · 각 세부 데이터를 활용해서 수신 시스템에서 정의된 동작을 진행
전달 후 수신 측으로부터 전달여부에 대한 값을 반환 인터페이스 수신 결과 생성, 전송 · 정상적으로 수신되면 참, 아니면 거짓의 반환 값을 제이슨형태로 전송
수신 측에서 처리한 인터페이스 결과 반환 · 수신 측에서 보낸 응답 제이슨을 통해 수행 여부를 확인하고 이를 화면상으로 표시

 

● JSON(Javascript Object Notation)

· JSON은 속성-값 쌍 또는 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다.

· AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷이다.

· 언어 독립형 데이터 포맷으로 다양한 데이터 프로그래밍 언어에서 사용된다.

· 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성하기에 용이하다.

 

● XML(eXtensible Markup Language)

· XML은 HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어이다.

· XML은 송수신 시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의한다.

· 인간과 기계가 모두 이해할 수 있는 텍스트 형태로 마크업 포맷을 정의하기 위한 메타언어이다.

· 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있다.

 

● AJAX(Asynchronous Javascript And XML)

· AJAX는 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술이다.

· 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법이다.

· 하이퍼텍스트 표기 언어(HTML)만으로는 어려운 다양한 작업을 웹 페이지에서 구현해서 이용자가 웹 페이지와 자유롭게 상호 작용할 수 있도록 구현하는 기법이다.

 

● REST(Representational State Transfer)

· REST는 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처이다.

· REST는 크게 리소스(자원), 메서드(처리), 메시지 3가지 요소로 구성된다.

 

● 인터페이스 구현

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

방법 설명
인터페이스 객체 생성 구현 · 인터페이스 객체를 생성하기 위해서 데이터베이스에 있는 정보를 SQL을 통하여 선택한 후 이를 제이슨으로 생성
인터페이스 객체 전송 후 전송 결과를 수신 측에서 반환 받도록 구현 · 송신 측에서 제이슨으로 작성된 인터페이스 객체를 AJAX 기술을 이용하여 수신 측에 송신
· 수신 측에서는 제이슨 인터페이스 객체를 수신받고 이를 파싱 후 처리
· 수신 측의 처리 결과값은 송신 측에 True / False 값을 전달하여 인터페이스 성공 여부를 확인 전달

2. 인터페이스 개체(Entity)를 사용하는 인터페이스 구현

방법 설명
송신 시스템의 인터페이스 테이블 · 송신 관련 정보를 관리하기 위한 항목과 송신 시스템에서 필요한 항목 구현
· 인터페이스 이벤트 발생 시 인터페이스 테이블에 인터페이스 내용이 기록되도록 구현
· 데이터 전송을 위해서 DB 커넥션이 수신 측 인터페이스 테이블과 연계되도록 구현
· 프로시저, 트리거, 배치 작업 등의 방법을 통해서 수신 테이블로 데이터를 전송하도록 구현
수신 시스템의 인터페이스 테이블 · 수신 관련 정보를 관리하기 위한 항목과 수신 시스템에서 필요한 항목 구현
· 수신 측 시스템에서는 인터페이스 데이터를 읽은 후 사전에 정의된 데이터 트랜잭션을 진행할 수 있도록 구현
· 데이터를 읽을 때나 해당 트랜잭션이 진행될 때 오류가 발생하면 오류 코드 컬럼에 정의된 오류 코드와 오류 내용을 입력하도록 구현

 

● 데이터베이스 암호화 알고리즘

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

 

● 데이터베이스 암호화 기법

구분 설명
API 방식 · 애플리케이션 레벨에서 암호 모듈(API)를 적용하는 애플리케이션 수정 방식
· 애플리케이션 서버에 암·복호화, 정책 관리, 키 관리 등의 부하 발생
Plug-in 방식 · 암·복호화 모듈이 DB 서버에 설치된 방식
· DB 서버에 암·복호화, 정책 관리, 키 관리 등의 부하 발생
TDE 방식 · DB 서버의 DBMS 커널이 자체적으로 암·복호화 기능을 수행하는 방식
· 내장되어있는 암호화 기능(TDE; Transparent Data Encryption)을 이용
Hybrid 방식 · API 방식과 Plug-in 방식을 결합하는 방식
· DB 서버와 애플리케이션 서버로 부하 분산

 

● 중요 인터페이스 데이터의 암호화 전송

보안 기술 설명
IPSec
(IP Security)
· IP계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공하는 터널링 프로토콜
· 동작 모드는 전송 모드와 터널 모드가 있음
· 주요 프로토콜은 AH, ESP, IKE(키 교환)가 있고, IPSEC 정책에는 SPD, SAD가 있음
SSL/TLS · 전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
· 인증 모드는 익명 모드, 서버인증 모드, 클라이언트-서버인증 모드가 있음
· IPSec와는 다르게 Client와 Server 간에 상호인증, 암호 방식에 대해 협상을 거치는 특징이 있음
· 대칭 키 암호화, 공개키 암호화, 일방향 해시함수, 메시지 인증코드 등 특정 암호 기술에 의존하지 않고 다양한 암호 기술 적용
· Https://~ 표시형식과 443 포트 이용
S-HTTP
(Secure Hypertext Transfer Protocol)
· S-HTTP는 웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로서 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송
· S-HTTP에서 메시지 보호는 HTTP를 사용한 애플리케이션에 대해서만 가능
· S-HTTP 서버 접속 시 shttp:// URL 사용
728x90
반응형