An Experimental Study of Private Key and Secret Key Disclosure Vulnerability in Cryptographic Service Provider(CSP) Module

Cryptographic Service Provider(CSP) 모듈의 개인키/비밀키 노출 취약점에 대한 실험적 연구

  • 박진호 (한양대학교 전자컴퓨터통신공학과) ;
  • 박진호 (한양대학교 전자컴퓨터통신공학과) ;
  • 임을규 (한양대학교 전자컴퓨터통신공학과)
  • Published : 2007.09.20

Abstract

In Windows operating system, CSPs(Cryptographic Service Providers) are provided for offering a easy and convenient way of using an various cryptographic algorithms to applications. The applications selectively communicate with various CSPs through a set of functions known as the Crypto API(Cryptographic Application Program Interface). During this process, a secure method, accessing data using a handle, is used in order to prevent analysis of the passing parameters to function between CryptoAPI and CSPs. In this paper, our experiment which is using a novel memory traceback method proves that still there is a vulnerability of private key and secret key disclosure in spite of the secure method above-mentioned.

Windows 운영체제는 응용프로그램이 쉽고 편리하게 다양한 암호화 알고리즘을 사용할 수 있도록 CSPs(Cryptographic Service Providers)를 제공하고 있으며, 이 응용프로그램은 CryptoAPI(Cryptographic Application Program Interface)를 통하여 선택적으로 다양한 CSP 모듈을 이용할 수 있다. 이 때 CryptoAPI와 CSP 모듈 사이에서 함수로 전달되는 파라미터의 분석을 방지하기 위해 핸들을 이용한 안전한 데이터 접근 방식을 사용하고 있다. 본 논문에서는 새롭게 제시한 메모리 역추적 기법을 통해 위와 같은 보안기법에서도 개인키/비밀키와 같은 중요한 데이터가 노출되는 취약점이 존재한다는 것을 실험을 통해 증명하였다.

Keywords