본문 바로가기

북한 기사/북한IT

북한의 웹DB 암호화...JNI 이용 자바, C언어 복합 암호 방식

 

(2016-07-05) 북한의 웹DB 암호화...JNI 이용 자바, C언어 복합 암호 방식

 

 

북한이 웹 데이터베이스(DB) 암호화에 JNI(Java Native Interface)와 C언어를 활용하고 있는 것으로 드러났습니다.

 

본 기자는 최근 발행된 2016년 김일성종합대학학보 자연과학 제62권 제3호에 수록된 '웨브봉사에서 자료기지암호화를 위한 한가지 방법'이라는 연구자료를 입수했습니다.

 

 

<사진1>

 

사진1이 바로 북한이 웹 DB 암호화에 관해 연구한 내용입니다.

 

보고서는 웹서비스에서 자료보안을 실현하기 위해 일반적으로 자료기지(DB)를 암호화하거나 웹통신자료를 암호화하는 방법을 쓰고 있다고 설명했습니다.

 

또 보고서는 서버단과 단말단에 암호화코드와 복호화코드를 넣어 웹통신자료들을 암호화하는 방법으로 웹서비스에서의 보안을 실현하고 있지만 이 방법들은 암호화 코드내용을 해석하는데는 주의를 돌리지 못했으며 해석이 쉬운 웹프로그램인 경우에 대처하기 힘들다고 주장했습니다.


북한 연구원들은 특히 자바(Java) 언어로 작성된 웹응용프로그램인 경우 그 해석이 매우 쉬우므로 DB높은 강도로 암호화됐다고 해도 그 복호화 코드가 Java 언어로 작성된 경우 그 암호화는 신뢰를 잃게 된다고 지적했습니다.

 

북한 연구원들은 이에 역코드가 쉬운 Java 프로그램을 이용한 웹서비스에서 자료보안을 실현하기 위한 방법을 제기하고 실현했다고 밝혔습니다.

북한이 소개한 방식은 JNI(Java Native Interface)를 이용한 복호화 방법입니다. JNI는 자바가상머신(JVM)에 실행되고 있는 자바코드를 네이티브 응용 프로그램들과 C, C++ 언어로 구현된 라이브러리에 의해 호출되거나 호출할 수 있는 프로그래밍 프레임워크입니다.

 

보고서는 자료기지를 암호화 한 조건에서 그 복호화 코드를 C언어로 작성한다면 설사 Java 언어로 작성된 웹응용프로그램의 원천코드를 해석했다고 해도 복호화 코드를 알 수 없으므로 DB 암호화의 신뢰성을 담보할 수 있다고 주장했습니다.

 

 

 

<사진2> 사진2는 JNI를 이용한 복호화 구조입니다.

 

<사진3>

 

사진3은 웹서비스에서 DB 암호화체계의 구성도입니다.

 

북한 연구원들은 Java언어로 작성된 DB암호화프로그램을 이용해 DB를 암호화하고 복호화를 위해 C프로그램으로 된 복호화 모듈을 작성해 JNI를 이용해 Java 프로그램으로 돼 있는 웹서버프로그램에서 이 모듈을 참조하도록 했다고 설명했습니다.

 

보고서는 이런 DB암호화가 서버단의 코드해석여부에 의존하지 않고 암호화가 진행돼 안전한 암호화가 이뤄진다고 소개했습니다.

 

 

 

북한 연구원들은 C언어로 암호화 및 복호화모듈을 작성하고 Java언어로 작성된 웹서버프로그램에서는 JNI를 경유해 이 모듈을 이용함으로써 DB암호화를 실현했다고 결론지었습니다.

 

북한은 다양한 보안 기술을 개발, 적용하고 있는 것으로 알려지고 있습니다. 북한은 보안 기술 자체를 고도화하고 있기도 하지만 한편으로 체계에 변화를 주는 방식으로 보안을 강화하는 방안도 연구하고 있는 것으로 보입니다.

 

이번 연구도 그렇습니다. 암호화 기술 자체를 고도화하는 것이 아니라 자바와 C언어를 교묘하게 사용해 보안을 강화하는 모습을 보여주고 있습니다. 

 

이전기사

2016/06/13 - 북한도 보안 위해 내외부 망분리...TCP/IP 배제 방식 이용

 

 

강진규 wingofwolf@gmail.com