일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- mybatis
- 통합구현
- 5단원
- 정보처리기사필기
- 인터페이스구현
- Java
- spring
- 정처기실기
- 자바스크립트
- 정처기
- 데이터베이스
- 1단원
- mapper
- 4단원
- 요구사항확인
- javascript
- 스프링
- 자바
- Database
- 실기
- 정보처리기사
- DB
- 정보처리기사실기
- Linux
- backend
- 제이쿼리
- 정처기필기
- 리눅스
- jQuery
- 오라클
- Today
- Total
세라공원
[실기] 5. 인터페이스 구현 (2) 인터페이스 기능 구현 본문
5. 인터페이스 구현
(2) 인터페이스 기능 구현
<< 기출 >>
XML eXtensible Markup Language
: W3C(World Wide Web Consortium)에서 개발. 웹 브라우저 간 호환 되지 않는 문제와 SGML(Standard Generalized Markup Language)의 복잡합을 해결하기 위해 개발된 다목적 마크업 언어.
JSON Javascript Object Notation
: 속성-값(Attribue-Value Pair)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷.
AJAX(Asynchronous Javascript and XML)에서 많이 사용, XML을 대체하는 주요 데이터 포맷.
언어 독립형 데이터 포맷. 다양한 데이터 프로그래밍 언어에서 사용하고 있는 기술.
AJAX Asynchronous Javascript and XML
: 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해 전체 페이지를 새로 고치지 않고도 페이지의 일부분만을 위한 데이터 로드 기법.
하이퍼텍스트 표기 언어(HTML)만으로 어려운 다양한 작업을 웹 페이지에서 구현해 이용자가 웹 페이지와 자유롭게 상호 작용할 수 있도록 하는 기술명.
인터페이스 절차
: 인터페이스 데이터 전송 → 데이터 수신 → 데이터 파싱 → 데이터 검증 → 후속 기능 수행
인터페이스 데이터 전송: 수신지 주소에 레스트(REST)방식으로 전달. DB 커넥션 이용하여 DB 프로시저, 트리거 등을 활용하여 전송.
인터페이스 데이터 수신: 데이터 수신한 후 데이터 형식이 맞는지 점검하고 각 규칙을 사전에 정의하고 활용.
인터페이스 데이터 파싱: 인터페이스 객체는 파서를 이용해 변환, 인터페이스 테이블에서 선택.
인터페이스 데이터 검증: 각 세부 데이터의 포맷과 논리적인 제약조건의 오류 검사.
후속 기능 수행: 각 세부 데이터를 활용해 수신 시스템에서 정의된 동작 진행.
인터페이스 개체(Entity)를 사용하여 인터페이스를 구현하는 방법
: 인터페이스 이벤트 발생 시 인터페이스 테이블에 인터페이스 내용이 기록되도록 구현.
데이터 전송 위해 DB 커넥션(DB Connection)이 수신 측 인터페이스 테이블과 연계되도록 구현.
프로시저Procedure, 트리거Trigger, 배치 작업Batch Job 등의 방법을 통해 수신 테이블로 데이터 전송.
JSON Javascript Object Notation
: 속성-값(Attribue-Value Pair), 키-값 으로 이루어진 데이터 오브젝트를 전달 위해 인간이 읽을 수 있는 텍스트 사용 개방형 표준 포맷.
JSON의 표현 자료형의 종류 : 숫자Number, 문자열String, 배열Array, 객체Object
객체object : '이름-값' 쌍으로 하는 집합. 중괄호{} 사용하여 표현.
XML eXtensible Markup Language
:송.수신 시스템 간 데이터 연계 편의성 위해 전송되는 데이터 구조를 동일한 형태로 정의.
인간과 기계가 모두 이해할 수 있는 텍스트 형태. 마크업 포맷을 정의하기 위한 메타언어.
사용자가 직접 문서의 태그를 정의, 다른 사용자가 정의한 태그 사용 가능.
AJAX 주요 기술
-XMLHttpRequest : 웹 브라우저 - 웹 서버 간에 메서드가 데이터 전송하는 객체 폼의 API. 비동기 통신 담당 자바스크립트 객체.
-DOM Document Object Model : XML 문서를 트리 구조 형태로 접근 가능한 API. 플랫폼/언어 중립적으로 구조화된 문서 표현 객체 지향 모델.
REST Representational State Transfer
: 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처.
시큐어 코딩 가이드
: 하나 이상의 프로세스가 동작하는 병렬 시스템 환경에서 시간 및 상태의 부적절한 관리에 대한 보안 약점을 대응하기 위해
공유 자원의 접근 직렬화, 병렬 실행 가능 프레임워크 사용, 블록문 내에서만 재귀 함수 호출되도록 설정.
비대칭 키 알고리즘
: 인터페이스 구현 시 적용할 데이터베이스 암호화 알고리즘 中 공개키는 누구나 알 수 있으나, 비밀키(개인 키)는 키의 소유자만이 알 수 있도록 공개키와 비밀키(개인 키) 사용 알고리즘.
인터페이스 구현 시 적용할 데이터베이스 암호화 기법
-API 방식 : 애플리케이션 레벨에서 암호 모듈 적용하는 애플리케이션 수정 방식. 애플리케이션 서버에 암.복호화, 정책 관리, 키 관리 등의 부하 발생.
-Plug-In 방식 : DB 레벨의 확장성 프로시저 기능 이용, DBMS에 Plug-In 모듈로 동작하는 방식. DB 서버에 암.복호화, 정책 관리, 키 관리 등의 부하 발생.
인터페이스 개체를 사용하는 인터페이스에스 예외 처리 사례
방법 | 항목 | 예외 원인 | 예외 처리 방안 |
송신 인터페이스 테이블 예외처리 방법 |
인터페이스 데이터 생성 | -선택 SQL, 프로그램 오류 -데이터 객체 생성 오류 |
-사용자에게 오류 발생 시 알람 (오류 원인 포함) -예외 케이스가 재발x 프로그램 개선 |
인터페이스 테이블 입력 | -입력 SQL 오류 -데이터 정합성 오류 |
-입력 실패 결과, 원인을 인터페이스 테이블에 기록 -사용자에게 실패 결과 알람 |
|
인터페이스 데이터 전송 | DB 연계 오류 | -통신 결과 읽어서 실패 결과,원인을 인터페이스 테이블에 기록 -실패 결과 & 원인을 사용자, 관리자에게 메일을 통해 알림 |
|
수신 인터페이스 테이블 예외처리 방법 |
인터페이스 데이터 읽기 | 데이터 선택 시 오류 (SQL, 프로그램) |
-수신 측 사용자에게 예외 발생 알람 전송 -인터페이스 테이블에 예외 사항 기록 |
데이터 트랜잭션 | 데이터 트랜잭션 시 프로그램의 논리상 오류 | -사용자에게 예외 알람 전송 -인터페이스 테이블에 예외 사항 기록 |
|
처리 결과 응답 | DB 연계 오류 | -인터페이스 테이블에 예외 사항 기록 -송.수신자에게 예외 사항 발생은 메일을 통해 알림 |
시큐어 코딩 가이드 => 입/ 보/ 시/ 에/ 코/ 캡/ 아(API)
적용대상 | 보안 약점 | 대응 방안 |
입력데이터 검증 & 표현 | 프로그램 입력값에 검증 누락, 부적절한 검증, 잘못된 형식 지정 | 사용자,프로그램 입력 데이터에 대한 유효성 검증 체계 수립, 실패 시 처리 기능 설계 & 구현 |
보안 기능 | 보안 기능의 부적절한 구현 | 정책이 적절하게 반영되도록 설계 및 구현 |
시간 & 상태 | 거의 동시 수행 지원하는 병렬 시스템, 하나 이상의 프로세스가 동작하는 환경에서 시간 & 상태의 부적절한 관리 | 공유 자원의 접근 직렬화, 병렬 실행 가능 프레임워크 사용, 블록문 내에서만 재귀 함수 호출 |
에러 처리 | 에러 미처리, 불충분한 처리 등 에러 메시지에 중요 정보가 포함 | 중요 정보 유출 등 보안 약점 발생하지 않도록 시스템 설계 & 구현 |
코드 오류 | 개발자가 범할 수 있는 코딩 오류로 인해 유발 | 코딩 규칙 도출 후 검증 가능한 스크립트 구성과 경고 순위의 최상향 조정 후 경고 메시지 코드 제거 |
캡슐화 | 기능성 불충분한 캡슐화 → 인가x 사용자에게 데이터 누출 | 디버거 코드 제거, 필수정보 외의 클래스 내 프라이빗(Private) 접근자 지정 |
API 오용 | 의도된 사용에 반하는 방법으로 API 사용, 보안에 취약한 API 사용 | 개발 언어별 취약 API 확보 & 취약 API 검출 프로그램 사용 |
cf. 보안 기능 : 인증, 접근 제어, 기밀성, 암호화, 권한 관리 등
데이터베이스 암호화 기법 => 애(API)/ 플(Plug-in)/ 티(TDE)/ 하(Hybrid)
구분 | 설명 |
API 방식 | 애플리케이션 레벨에서 암호모듈(API) 적용 애플리케이션 수정 방식 |
애플리케이션 서버에 암.복호화, 정책 관리, 키 관리 등의 부하 발생. | |
Plug-in 방식 | 암.복호화 모듈이 DB 서버에 설치된 방식. |
DB 서버에 암.복호화, 정책 관리, 키 관리 등의 부하 발생 | |
TDE 방식 | DB 서버에 DBMS 커널이 자체적으로 암.복호화 기능을 수행하는 방식 |
내장되어 있는 암호화 기능(TDE) 이용 | |
Hybrid 방식 | API 방식 + Hybrid 방식 |
DB 서버와 애플리케이션 서버로 부하 분산 |
cf. TDE : Transparent Data Encryption
데이터베이스 암호화 알고리즘 => 대/ 비/ 해
대칭 키 암호화 알고리즘 : 암.복호화에 같은 암호 키를 쓰는 알고리즘.
-ARIA 128/192/256, SEED
비대칭 키 암호화 알고리즘 : 공개키는 누구나 알 수 있지만, 비밀키는 키의 소유자만이 알 수 있음. 공개키와 비밀키 사용.
-RSA, ECC, ECDSA
해시 암호화 알고리즘 : 해시값으로 원래 입력값 찾아낼 수 없는 일방향적 특성.
-SHA-256/384/512, HAS-160
민감 데이터 익명화 처리 방안
-가명 처리(가명화)
-총계 처리 Aggregation / 평균값 대체 Replacement
-범주화 Data Suppression
-데이터값 삭제 Data Reduction
-데이터 마스킹 Data Masking
'정보처리기사 > 실기' 카테고리의 다른 글
[실기] 5. 인터페이스 구현 (3) 인터페이스 구현 검증 (1) | 2022.10.14 |
---|---|
[실기] 5. 인터페이스 구현 (1) 인터페이스 설계 확인 (0) | 2022.10.14 |
[실기] 4. 통합 구현 (3) 내.외부 연계 모듈 구현 (0) | 2022.10.11 |
[실기] 4. 통합 구현 (2) 연계 메커니즘 구성 (0) | 2022.10.11 |
[실기] 4. 통합 구현 (1) 연계 데이터 구성 (0) | 2022.10.11 |