자격증/정보처리기사 필기

[정보처리기사 필기] SW 개발 : 인터페이스 구현

Yuco 2023. 1. 31. 22:18

 

정보처리기사 필기 2과목 - 소프트웨어 개발 : 인터페이스 구현

 

[1] 인터페이스 구현

- 여러가지 방법으로 인터페이스는 구현될 수 있지만, 대표적인 방법으로는 데이터 통신을 이용한 인터페이스 구현 방법인터페이스 테이블을 이용한 인터페이스 구현 방법으로 나눌 수 있음

 

1. 데이터 통신을 통한 인터페이스 구현  ⭐⭐

- 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송하고 이를 수신측에서 파싱(Parsing)하여 해석하는 방식 * 파싱? 원시 부호를 기계어로 번역하는 과정의 한 단계

- JSON 및 XML 형식의 데이터 포맷을 사용하여 인터페이스를 구현

 

1) JSON (JavaScript Object Notation)

- 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷

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

- 사람이 읽을 수 있는 텍스트를 사용

 

2) XML (eXtensible Markup Language)

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

- 많은 종류의 데이터를 기술하는 데 사용할 수 있으며, 다른 시스템끼리 데이터를 쉽게 주고받을 수 있게 하는 목적 존재

- 웹 페이지의 기본 형식인 HTML의 문법이 각 웹 브라우저에서 상호 호환적이지 못하다는 문제와 SGML(Stand Generalized Markup Language)의 복잡함을 해결하기 위해 개발

 

 

2. 인터페이스 엔터티를 통한 인터페이스 구현

- 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔터티를 두어서 상호 연계하는 방식

- 일반적으로 인터페이스 테이블을 엔터티로 활용 (이를 각 시스템 간 데이터 교환에 활용)

- 송, 수신 인터페이스 테이블의 구조는 상황에 따라 서로 다르게 설계할 수도 있음

 

 

[2] 인터페이스 보안

- 인터페이스는 시스템 모듈 간 통신 및 정보 교환을 지원하므로 데이터 변조 / 탈취 및 인터페이스 모듈 자체의 보안 취약점이 있을 수 있음  P.352

 

1. 데이터 통신 시 데이터 탈취 위협

- 데이터 통신 내역을 중간에서 감청하여 기밀성을 훼손할 수 있는 기법 = 스니핑(Snipping)- 수동적 해킹 공격 기법

 

2. 시큐어 코딩

- 소프트웨어 개발 보안으로 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동* 보안 취약점에 대한 시큐어 코딩 항목 : 입력 데이터 검증 및 표현, 보안 특성, 시간 및 상태, 에러 처리, 캡슐화, 코드 품질, API 오용

 

3. 데이터베이스 암호화

- 데이터베이스의 기밀성을 유지하기 위해 중요 민감 데이터는 암호화하는 기법 사용- 데이터베이스 암호화 알고리즘은 크게 대칭키, 해시, 비대칭키 알고리즘이 사용됨