====== 모바일 NPKI API ======= ===== 개요 ===== 스마트 기기에 대한 수요가 증가하고 공공기관, 금융기관 등 스마트 기기에 대한 지원이 증가함에 따라 PC에서 사용하고 있던 NPKI에 대하여 모바일에서의 접근이 필요하게 되었다. 이에 하이브리드 앱 환경에서 공인 인증서를 이용한 인증 서비스 운영이 가능하도록 전저정부용으로 NPKI 디바이스 API를 제공한다. \\ 모바일 NPKI 인증은 크게 **인증 단계**, **하이브리드 디바이스 인증관리**, **서버사이드 보안표준 인증처리** 로 구성되어 있다. {{:egovframework:hyb:hrte:NPKI구성도.jpg}} ^단계^세부단계^기능^ |인증 단계|인증기관|사용자의 공개키 인증서를 발행/취소/폐기, 상호 인증서를 발행 \\ 사용자에게 자신의 공개키와 상위 기관의 공개키를 전달| | |등록기관|공개키와 인증서 소유자 사이의 관계를 확인 \\ 사용자가 인증서 신청 시 인증기관 대신 신분과 소속을 확인 후 인증서 발급을 의뢰| | |인증서 중계 서비스|인증서 모바일 기기로 이동을 위한 중계 서비스| |하이브리드 디바이스 인증관리|Directory|인증서와 사용자 관련 정보, 상호 인증서 쌍, CRL 등을 저장하고, 검색하는 장소| | |NPKI Device API|모바일 NPKI 인증서의 이동, 관리, 인증을 위한 NPKI 모듈| |서버사이드 보안표준 인증 처리|전자정부 표준 보안 API|인증기관으로 부터 인증서 인증을 위한 전자정부용 표준 보안 API| ==== 주요개념 ==== 모바일용 보안인증 모듈을 디바이스 API 실행환경에 적용하여 인증서 관리, 인증서 서명 그리고 서명된 인증서 검증을 수행한다. 최초 모바일용 인증서 인증을 위해서는 기존에 인증기관으로 부터 발급받은 공인 인증서를 인증서 중계 서비스를 이용하여 모바일 기기로 이동한다. 이동된 공인 인증서를 NPKI 모듈을 이용하여 서명하고 서명값을 전자정부 표준 보안 API에 전송하여 인증기관에 인증을 확인한다. {{:egovframework:hyb:hrte:NPKI기능흐름.jpg}} NPKI 모듈에서 제공되는 기능은 아래와 같다. ^기능명^세부기능^기능설명^ |인증서 모바일 기기 저장|인증서버에서 인증번호 수신 \\ 인증서 저장 및 인증서 정보 조회|인증서 이동 기능| | |올레인증서 인스톨 여부 확인 \\ 올레인증서에 인증서를 요청하여 인증서 저장|올레인증서 연동을 위한 기능| |인증서 관리|인증서 리스트 조회|저장된 인증서 리스트와 내용을 조회| | |인증서 삭제|인증서를 삭제| | |인증서 비밀번호 변경|인증서의 비밀번호를 변경| | |인증서 비밀번호 확인|입력한 인증서 비밀번호를 검증| |인증서 서명|전자서명|전자서명을 수행하여 서명값을 반환| |인증서 검증|인증서 유효성 검증|인증서의 유효성을 검증(CRL 검증)| ==== 사용된 오픈소스 ==== ^서비스^버전^라이선스^ |Android SDK|revision 18|Apache License 2.0| |PhoneGap(cordova)|Cordova 2.9.0|MIT License| |javaScript Framework|전자정부 표준프레임워크 \\ 사용자 경험(UX) 기능|Apache License 2.0| |표준보안API(gpkiapi)| V1.5.1 C++/JAVA | | ===== 설명 ===== NPKI 디바이스 API 가이드 프로그램에서 보안모듈 회사에서 보유한 NPKI Native 모듈은 제외되어 배포되지만 활용 가능한 소스 코드를 배포하기 때문에 추후 해당 보안모듈 회사와의 계약을 통해 개발이 가능 하다. * Android 플랫폼 구성 {{:egovframework:hyb:hrte:NPKI표준패턴Android.png}} * iOS 플랫폼 구성 {{:egovframework:hyb:hrte:NPKI표준패턴ios.png}} * 배포 방법 ^구분^내용^ |Native Library|보안모듈 회사에서 보유한 디바이스 NPKI Native 모듈은 제외| |PhoneGap Plugin|Native Library 사용을 위한 PhoneGap Class 및 JavaScript 는 개발자의 이해를 돕기 위해 배포| |디바이스 API 가이드 프로그램|전자정부 표준 보안 API가 적용된 서버 사이드 및 디바이스 API 가이드 프로그램 배포되지만 NPKI Native 모듈은 제외 되기 때문에 컴파일되지 않음| ==== 관련기능 ==== 모바일 NPKI 디바이스 API 가이드의 기능은 **인증서 조회**, **인증서 선택**, **인증서 서명**, **인증서 인증**, **인증로그 조회** 단계로 구성된다. ^인증서 조회^인증서 선택 및 서명^인증로그 조회^ |{{:egovframework:hyb:hrte:NPKI인증서조회.png?240}}|{{:egovframework:hyb:hrte:NPKI인증서선택.png?240}}|{{:egovframework:hyb:hrte:NPKI인증로그.png?240}}| * NPKI 디바이스 API를 통해 모바일 기기에 저장된 인증서 리스트를 조회한다. * 인증서 리스트에서 선택 한 인증서로 인증서 서명 및 인증을 한다. * 웹 서버 어플리케이션으로 부터 인증서 인증 결과 로그를 조회한다. ==== 참고자료 ==== 표준보안API 발급 : http://www.gpki.go.kr \\ 인증서 이동 서비스 : [[http://mobile.olleh.com/index.asp?code=GH00000|olleh 인증서]]