데이터 보안 - 연계 메커니즘에서 데이터 암·복호화 처리 절차, 암·복호화 적용 대상 선정, 암호화 알고리즘, 송수신 시스템 연계 응용 프로그램 구현 시 암호화 알고리즘 적용

CODEDRAGON Development/Software Engineering

반응형


 

 

데이터 보안

연계 데이터 보안은 연계 데이터를 송신 시스템 운영 DB에서 연계 데이터를 추출하여 연계솔루션에 의해 송신하기 전과 수신 시스템 연계(인터페이스) 테이블(파일)로부터 운영 DB에 반영하는 과정에서 데이터 암·복호화를 적용하는 방식이다.

 

데이터 보안은 암·복호화 적용 대상, 암호화 알고리즘, 암·복호화 적용을 위한 환경 설정을 설계하고 구현해야 한다.

·       연계 메커니즘에서 데이터 암·복호화 처리 절차

·       암·복호화 적용 대상 선정

·       암호화 알고리즘

·       송수신 시스템 연계 응용 프로그램 구현 시 암호화 알고리즘 적용

 

 

♣연계 메커니즘에서 데이터 암·복호화 처리 절차

송신 시스템에서는 운영 DB에서 연계 데이터를 추출하여 보안 대상 속성(칼럼)을 선정한 암호화 알고리즘으로 암호화한 후 연계(인터페이스) 테이블(파일)에 등록한다.

 

수신 시스템에서는 연계(인터페이스) 테이블(파일)에서 연계 데이터를 읽어서 암호화한 칼럼이 있을 경우 복호화하여 운영 DB에 반영한다.

 

송수신 시스템 간에 데이터 보안을 위해서는 연계 데이터 중 암·복호화 적용 속성(칼럼), 적용 암호화 알고리즘과 암호화 키(Key) 등을 협의하고 공유해야 한다.

 

송수신 시스템에는 암·복호화를 위한 동일한 암호화 알고리즘 라이브러리(Library)가 설치 된다.

 

 

 

암·복호화 적용 대상 선정

연계 데이터 암·복호화는 연계 메커니즘에서 송신 시스템의 암호화 과정, 수신 시스템의 복호화 과정이 추가됨으로 인해 암·복호화 속성(칼럼, Column) 수와 연계(인터페이스) 테이블(파일) 수가 증가할수록 시스템 성능은 비례하여 저하된다. 따라서, 적정 수준의 보안 적용 대상 칼럼(Column) , 연계(인터페이스) 테이블(파일) 수를 결정해야 한다.

 

< 2-22> 보안 적용 대상 중요 정보

분류

적용 및 관련 법령

대상 정보

개인 식별

개인 정보 보호법,

정보 통신망법(정보 통신망 이용 촉진 및 정보보호 등에 관한 법률)

주민 번호, 운전 면허 번호, 여권 번호, 장애인 관리 번호, 보훈 관리 번호, 이름, 주소, 이메일, 휴대 전화 번호, 전화 번호 등

금융

전자 금융 거래법, 전자 금융 감독 규정(금융 감독원)

계좌 번호, 신용 카드 번호, 보험 계약 번호, 증권 번호 등

...

...

...

 

연계 데이터의 중요도에 따라 암·복호화 적용 속성(칼럼)을 선정한다.

 

중요도는 송수신 시스템에서 정의한 기준에 따라 상이할 수 있지만, 어떤 시스템에도 공통적인 보안 대상은 개인 정보 보호법에 의한 개인 식별 정보이다.

 

개인 정보는 살아 있는 개인을 식별할 수 있는 정보로, 두 가지 이상 정보가 결합되어 개인을 식별할 수 있다면 결합되는 정보들도 개인 정보로 분류될 수 있다.

 

중요도에 따라 필수 보안 적용 대상 개인 정보는 주민 번호, 운전 면허 번호, 장애인 관리번호, 보훈 관리 번호 등이 해당된다. 개인 정보 외에 신용 카드 번호, 계좌 번호, 증권 번호 등 금융 관련 정보도 중요한 보안 대상 정보이다.

 

 

 

암호화 알고리즘

암호화 알고리즘은 기준에 따라 다양하게 분류할 수 있다.

 

암호화 방향 분류로는 단방향과 양방향 암호화 알고리즘이 있다. 단방향 암호화 알고리즘은 암호화는 가능하나 복호화는 불가능한 알고리즘으로 비밀번호 등의 정보에 적용한다.

 

송수신 시스템 간의 동일 암호화 키(Key) 사용 여부에 따라 대칭 키 알고리즘과 비대칭키 알고리즘으로 분류할 수 있다. 대칭 키 암호화 알고리즘은 송수신 시스템 간에 동일한 암호화 키(Key)를 공유하는 방식이며, 비대칭 키는 인증서 적용 시 공개 키 인프라스트럭처(PKI: Public Key Infrastructure)와 같이 송수신 시스템 간에 상이한 암호화 키(Key)를 사용하는 방식이다.

 

 

< 2-23> 주요 양방향 대칭 키 암호화 알고리즘 유형

구분

알고리즘

상세 설명

국내

SED-128

SED-256

·       199년 한국인터넷진흥원에서 개발된 블록 암호화 알고리즘

·       사용하는 암호화 키 길이에 따라 시드-128(SED-128)과 시드-256(SED-256)이 있음

국내

ARIA

·       Academy(학계), Research Instiute(연구 기관), Agency(정부 기관)

·       경량화 및 하드웨어 환경에 적화되도록 국가정보원에서 산학연과 같이 개발한 블록 암호화 알고리즘

·       암호화 블록 크기는 128비트이며, 암호화 키 길이에 따라 ARIA 128, 192, 256으로 분류됨

국외

AES128

AES192

AES256

·       Advanced Encryption Standard

·       미국 표준 기술 연구소(NIS)에 의해 개발된 128비트의 블록 크기(암호화 처리 단위) 대칭형 알고리즘

·       사용하는 키 길이에 따라 128, 192, 256이 있음

 

구분

 길이(단위비트)

블록 크기(단위비트)

라운드 

AES-128

4

4

10

AES-192

6

4

12

AES-256

8

4

14

 

국외

DES

3DES(Triple DES)

·       Data Encryption Standard

·       1972년 미국 NIST 전신에 의해 개발된 64비트 암호화 단위와 56비트 암호화 키를 사용하는 비대칭키 암호화 알고리즘

·       쓰리 디 이 에스(3-DES), 트리플 디 이 에스(Triple DES)는 각 데이터 블록에 DES 알고리즘을 세 번 적용하여 보안을 강화한 암호화 알고리즘

 

일반적으로 연계 시에는 송수신 시스템 간에 양방향의 대칭 키 방식 암호화 알고리즘을 적용한다.

 

암·복호화 처리를 위해서는 송수신 시스템 간에 암호화 알고리즘을 선정하고, 결정한 암호화 알고리즘에서 사용할 암호화 키(Key)를 공유해야 한다.

 

 

 

송수신 시스템 연계 응용 프로그램 구현 시 암호화 알고리즘 적용

 

 

송수신 시스템 연계 응용 프로그램 구현 시 암호화 알고리즘 적용 단계

단계

설명

1

암호화 적용 대상, 알고리즘, 암호화 키(Key) 등 결정

2

암호화 대상 칼럼의 데이터 길이 변경

3

암호화 알고리즘 라이브러리(API) 확보 및 설치

4

연계 응용 프로그램에서 암·복호화 처리 적용

 

암호화 적용 대상 속성(칼럼), 암호화 알고리즘, 암·복호화 시 사용할 암호화 키(Key) 등이 결정되면 결정 사항은'2-연계 메커니즘 정의’에서 작성한 연계 메커니즘 정의서에 반영한다.

 

·       암호화 적용 대상 칼럼의 길이

·       암·복호화 알고리즘 적용 방식

·       암·복호화 처리를 위한 시스템 준비 및 확인 사항

·       응용 애플리케이션에서 암·복호화 API 참조 방법과 암호화 공통 컴포넌트

 

 

암호화 적용 대상 칼럼의 길이

'연계 데이터 식별 및 표준화’에서 작성한 연계(인터페이스) 정의서와 명세서, '연계 메커니즘 정의’에서 작성한 연계(인터페이스) 테이블(파일) 정의서의 암호화 적용 대상 칼럼 길이를 충분히 늘려 준다. 암호화된 값은 적용하는 암호화 알고리즘과 암호화 대상 속성(칼럼)의 길이에 따라 상이하지만 암호화 전의 평문 길이보다는 커진다.

 

예를 들면, 주민 번호 속성(칼럼)의 경우 평문(암호화를 하지 않은 데이터)의 길이는 13자리이나 암호화된 주민 번호는 암호화 전의 평문 길이보다 길어지므로 적용하는 암호화 알고리즘에 따라 50자리에서 500자리로 변경한다. 변경한 길이는 연계(인터페이스)테이블(파일) 정의서와 명세서에 반영하여 현행화 한다.

 

 

 

암·복호화 알고리즘 적용 방식

암호화 알고리즘은 연계 솔루션이나 DB 암호화 솔루션 등 운영하는 송수신 시스템에서 사용하고 있는 암호화 알고리즘 또는 제공하는 암호화 알고리즘을 적용할 수 있다.

또는 시드(SEED), 아리아(ARIA)와 같이 국내 개발용 알고리즘을 별도로 적용하고자 할 경우에는 한국인터넷진흥원의 홈페이지에서 알고리즘 신청서를 작성하여 승인이 되면 제공받을 수 있다.

 

구글에서 제공하는 오픈 소스 암호화 API Key Czar 등으로 적용하는 방법도 있다.

 

 

 

암·복호화 처리를 위한 시스템 준비 및 확인 사항

암·복호화 처리를 위해서는 결정한 알고리즘이 적용된 암호화 API(Application Programming Interface)와 복호화 API가 패키징(Packaging)된 라이브러리(Library)를 확보하여 연계 시스템(송수신 시스템, 중계 시스템 등)에 설치해야 한다.

 

연계 솔루션에서 제공하는 알고리즘이거나 이미 운영 시스템에서 적용되고 있는 암호화 알고리즘이 아닌, 별도로 확보한 암호화 알고리즘인 경우에는 확보한 라이브러리(Library, API)를 연계 시스템의 라이브러리(Library, API) 저장소 또는 폴더에 설치한다.

그럼으로써 연계 응용 프로그램에서 암·복호화 처리 시 암호화 API(Application Programming Interface)나 복호화 API를 참고할 수 있다.

 

 

응용 애플리케이션에서 암·복호화 API 참조 방법과 암호화 공통 컴포넌트

암호화 알고리즘 라이브러리에서 제공하는 암호화API와 복호화 API를 접근하는 암호화 처리 공통 모듈과 복호화 처리 공통 모듈을 개발하여 연계 응용 프로그램에서 암·복호화 처리 시 참조한다. 공통모듈의 활용으로 송수신 시스템 간에 공유된 암호화 키(key)의 노출과 변경 시 수정 부분을 최소화할 수 있다.