Post

소프트웨어 개발 - 인터페이스 구현

#인터페이스 구현

인터페이스 기능

  • 이기종 시스템 또는 컴포넌트 간 데이터 교환 및 처리를 위한 기능
  • 각 시스템의 교환 데이터 및 업무, 송수신 주체 등이 정의되어 있는 인터페이스 설계서를 보고 인터페이스 기능을 확인할 수 있음
  • 인터페이스 정의서를 통하여 외부 및 내부 모듈의 기능을 확인할 수 있음

인터페이스 데이터 표준 확인

상호 연계하고자 하는 시스템 간 인터페이스가 되어야할 범위의 데이터 형식과 표준을 정의하는 것
송 수신 시스템 간의 인터페이스 데이터를 표준화하기 위해서는 송 수신 데이터 중 공통의 영역을 추출하여 정의하는 경우도 있고 한쪽 데이터를 변환하는 경우도 있음

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

■ EAI (Enterprise Application Integration)

기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여줄 수 있고, 각 시스템 간의 확장성을 높여줄 수 있음

◆ 종류

  • 포인트 투 포인트 (Point to point)
  • 허브 앤 스포크 (Hub & Spoke)
  • 메세지 버스 (Message Bus)
  • 하이브리드 (Hybrid)

■ ESB (Enterprise Service Bus)

하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처
버스를 중심으로 각각 프로토콜이 호환가능하도록 애플리케이션의 통합을 낮은 결합 방식으로 지원하는 방식

인터페이스 보안

인터페이스 보안의 중요성

시스템 모듈간 통신 및 정보 교환의 중요한 접점이기 때문에 인터페이스 보안 취약성은 시스템에 심각한 피해를 입힐 수 있음 (데이터 변조 및 탈취 등)

인터페이스 보안의 취약점

  • 데이터 통신시 데이터 탈취 위협
  • 데이터 통신 시 데이터 위.변조 위협

인터페이스 보안 구현 - 1. 시큐어 코딩 가이드 적용

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

인터페이스 보안 구현 - 2. 데이터베이스 보안 적용

  • 필요한 요구사항을 적용
  • 안전성이 검증된 암호화 알고리즘을 활용하여 민감한 데이터는 반드시 암호화
  • 데이터베이스 보안 요구사항은 해당 인터페이스 조건에 부합되도록 적용

인터페이스 보안 구현 - 3. 데이터베이스 암호화 기법

■ API 방식

  • 애플리케이션 레벨에서 암호 모듈을 적용하는 애플리케이션 수정방식
  • 애플리케이션 서버에 암.복호화, 정책/키 관리 부하 발생

■ Plug-in 방식

  • DB 레벨의 확장성 프로시저 기능을 이용
  • DB서버에 암.복호화, 정책/키 관리 부하 발생

■ Hybrid 방식

  • API 방식과 Plug-in 방식을 결합하는 방식
  • DB 서버와 애플리케이션 서버로 부하 분산

인터페이스 보안 구현 - 4. 중요 인터페이스 데이터의 암호화 전송

■ S-HTTP

  • 서버간에 전송되는 모든 메세지를 각각 암호화하여 전송하는 프로토콜

■ IPSec

  • 양방향 암호화, 보안 서비스를 제공하는 프로토콜

■ SSL/TLS

  • 전송계층과 응용계층 사이에서 클라이언트와 서버간의 웹 데이터 암호화, 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜

인터페이스 데이터 포맷

■ JSON

  • 비동기 브라우저/서버 통신(AJAX)을 위해 “속성-값” “키-값”으로 이루어진 데이터

■ XML

  • 다른 특수한 목적을 갖는 마크업 언어를 만드는 데 사용하도록 권장하는 다목적 마크업 언어

■ YAML

  • 데이터를 사람이 쉽게 읽을 수 있는 형태로 표현하기 위해 사용하는 데이터를 직렬화한 양식

데이터 교환 기술

■ REST

  • 자원의 존쟈/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처

■ AJAX

  • 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술
This post is licensed under CC BY 4.0 by the author.