4.3. 스마트 카드에서 인증서를 사용하여 인증을 위한 애플리케이션 구성
애플리케이션에서 스마트 카드를 사용하여 인증하면 보안이 향상되고 자동화가 간소화될 수 있습니다. 다음 방법을 사용하여 PKI(Public Key Cryptography Standard) #11 URI를 애플리케이션에 통합할 수 있습니다.
-
Firefox
웹 브라우저에서p11-kit-proxy
PKCS #11 모듈을 자동으로 로드합니다. 즉, 시스템에서 지원되는 모든 스마트 카드가 자동으로 감지됩니다. TLS 클라이언트 인증을 사용하려면 추가 설정이 필요하지 않으며 서버가 요청할 때 스마트 카드의 키와 인증서가 자동으로 사용됩니다. -
애플리케이션에서
GnuTLS
또는NSS
라이브러리를 사용하는 경우 PKCS #11 URI를 이미 지원합니다. 또한OpenSSL
라이브러리에 의존하는 애플리케이션은openssl-pkcs11
패키지에서 제공하는pkcs11
엔진을 통해 스마트 카드를 포함한 암호화 하드웨어 모듈에 액세스할 수 있습니다. -
스마트 카드에서 개인 키로 작업해야 하며
NSS
,GnuTLS
또는OpenSSL
을 사용하지 않는 애플리케이션에서는 특정 PKCS #11 모듈의 PKCS #11 API를 사용하는 대신, 스마트 카드를 포함한 암호화 하드웨어 모듈과 함께 작업하는 데 직접p11-kit
API를 사용할 수 있습니다. wget
네트워크 다운 로더를 사용하면 로컬에 저장된 개인 키 및 인증서에 대한 경로 대신 PKCS #11 URI를 지정할 수 있습니다. 이렇게 하면 안전하게 저장된 개인 키와 인증서가 필요한 작업의 스크립트 생성이 간소화될 수 있습니다. 예를 들어 다음과 같습니다.$ wget --private-key 'pkcs11:token=softhsm;id=%01;type=private?pin-value=111111' --certificate 'pkcs11:token=softhsm;id=%01;type=cert' https://example.com/
curl
툴을 사용할 때 PKCS #11 URI를 지정할 수도 있습니다.$ curl --key 'pkcs11:token=softhsm;id=%01;type=private?pin-value=111111' --cert 'pkcs11:token=softhsm;id=%01;type=cert' https://example.com/
참고PIN은 스마트 카드에 저장된 키에 대한 액세스를 제어하는 보안 수단이고 구성 파일에 일반 텍스트 형식의 PIN이 포함되어 있으므로 공격자가 PIN을 읽지 못하도록 추가 보호를 고려하십시오. 예를 들어
pin-source
속성을 사용하여file:
을 제공할 수 있습니다. 파일에서 PIN을 읽기 위한 URI입니다. RFC 7512: PKCS #11 URI Scheme Query 특성 Semantics에서 자세한 내용을 확인하십시오. 명령 경로를pin-source
속성 값으로 사용하는 것은 지원되지 않습니다.
추가 리소스
-
curl(1)
,wget(1)
, 및p11-kit(8)
매뉴얼 페이지