2013-05-22 2 views
0

스마트 카드를 통한 클라이언트 인증이 필요한 응용 프로그램을 개발 중입니다.JAVA 스마트 카드 클라이언트 인증 - 느린 "초기화 키 저장소"

클라이언트는 스마트 카드를 사용하여 상호 SSL 인증을 수행합니다.

효율성 문제가 있습니다. 클라이언트 인증이 느립니다. 웹 서비스에 대한 인터넷 트래픽이 발생하기 전에 약 6 초의 지연이 있습니다.

2013-05-20 16:54:38,986 DEBUG (HttpConnection.java:692) - Open connection to ***** 
keyStore is : NONE 
keyStore type is : pkcs11 
keyStore provider is : SunPKCS11-SmartCard 
init keystore 

==== HERE IS A DELAY OF ABOUT 6 SECONDS!!!! 

init keymanager of type SunX509 

클라이언트는 리눅스에서 실행되는 :

여기 로그입니다.

나는이 문제를 피하기 위해 여러 가지 해결 방법과 해결책을 시도하고 있지만 스마트 카드의 내부 초기화가 원인이라고 생각하고 있습니다.

당신은 어떻게 생각하십니까? 나는 어떤 방식으로 늦게 이것을 피할 수 있습니까?

감사합니다.

답변

1

일반적으로 스마트 카드와 PKCS # 11 라이브러리 (및 가능한 기본 레이어)로 인해 제한됩니다. 카드와 리더가 최대 속도를 사용할 수 있도록 설정되어 있는지 확인할 수 있습니다. 또한 카드에 정보를 캐시하거나 스마트 카드에서 가져온 데이터의 양을 제한 할 수있는 방법이 있는지 테스트 할 수 있습니다.

일반적으로 카드 디렉토리 데이터 (예 : ISO 7816-15 호환 구조)가 읽힐 때까지 기다리는 중입니다. 데이터를 파싱 한 후 (현재 CPU에서 매우 짧은 시간이 소요됨) 일반적으로 인증서는 카드에서 다운로드됩니다. 이제는이 부분이 대부분 시간이 걸리는 것일 수 있습니다. 따라서 CPU에 데이터를 캐시하거나 필요한 인증서 만 다운로드하면 시간이 많이 걸릴 것입니다.

하지만 실제로 사용하는 라이브러리에 따라 다르지만 실제로는 PKCS # 11 공급자를 통해 구성 할 수 없습니다 (알고있는 한). 공급 업체에 문의하십시오!

+0

당신이 옳았습니다! 스마트 카드 공급 업체는 Linux 용 새 공유 라이브러리를 출시했으며 현재 액세스 시간은 약 3 초입니다. 귀하의 답변 주셔서 감사합니다! – ryuujin

+0

도움이 된 것을 기쁘게 생각합니다. :) –