2016-10-13 1 views
-2

TLS 구현에서 작업 중이며 Java 클라이언트 또는 서버에 비밀번호를 제공하지 않고도 키 스토어 또는 트러스트 스토어를 사용할 수 있음을 알았습니다. 누군가가 서버에서 키 스토어를 복사하여 ID로 사용할 수있는 서버 신원 도용을 어떻게 막을 수 있습니까? 암호가 사용 되었다면 우리는 인증되지 않은 액세스로부터 키 스토어에 대해 일정 수준의 보안을 유지할 수있었습니다.무단 액세스로부터 keystore를 보호하는 방법

한 자세한 설명은 아래의 링크에서 제공됩니다

Do you not need a password to access a truststore (made with the java keytool)?

+0

누군가가 키 저장소에 접근 할 수 있다면 더 많은 중요한 문제에 액세스 할 수 있으므로 걱정해야 할 더 큰 문제가 있습니다. –

+0

사실 그렇지만 키 저장소를 안전하게 유지하기위한 조항이있는 경우 발생합니다. 우리는 항상 인증서를 취소하고 새 인증서로 교체 할 수 있습니다. – smallarv

+0

키 저장소에 암호를 추가 할 수 있습니다. –

답변

0

일반적으로는 보안 인증서를 유지해야합니다. 파일 (및 암호)을 쉽게 복사 할 수 있습니다. 암호화 하드웨어를 사용하여 인증서를 저장하고 누군가를 피할 수 없도록 서명을 수행 할 수 있습니다.

SSL 인증서의 경우 도메인 이름 또는 IP 주소로 발급 된 것입니다. 그래서 당신의 인증서를 훔치는 사람은 당신이 당신의 DNS를 가지고 있지 않기 때문에 그것을 사용할 수 없습니다. 다른 도메인의 인증서를 사용하려고하면 브라우저에서 연결을 거부합니다.

+0

SSL 인증서에는 해당하지만 클라이언트 또는 장치 인증서에 대해서는 확인되지 않습니다 ssl 핸드 셰이크 중 호스트 이름? – smallarv

+0

클라이언트 장치에는 사이트 인증서가 설치되어 있지 않습니다. 인증서 체인의 루트 만 신뢰할 수있는 인증서 발급자의 루트가 해킹되면 공격자는 모든 사이트에 대해 유효한 인증서를 생성 할 수 있습니다. 따라서 이러한 인증서는 잘 보호됩니다.암호 상자는 암호 상자에 저장되어있는 암호화 하드웨어로 생성되며 암호는 두 명 이상의 사람들이 공유하는 부분으로 나뉩니다. SSL 자체 서명 인증서를 사용하여 브라우저에 설치하면 이상한 site.Nobody가 해킹을하지 않고도 사이트를 대체 할 수있는 경우 hostame 검사가 실패합니다. DNS – pedrofb

+0

두 가지 방법으로 사용되는 클라이언트 인증서를 언급했습니다. ssl – smallarv

1

나는 이에 대한 답변을 얻었습니다. 기본적으로 암호없이 키 스토어 또는 트러스트 어에 액세스 할 수 있지만 이는 인증서 액세스에만 적용됩니다. 암호없이 키 저장소에서 개인 키에 액세스하려면 비공개 키가 키 저장소에 암호화 된 형식으로 유지되고 키 저장소 암호가 해당 키이므로 키를 저장하지 않아도됩니다.

개인 키가 키 스토어 파일에서 비밀 유지되는 방식입니다.

0

저는 TLS 구현을 위해 작업 중이며 자바 클라이언트 또는 서버에 비밀번호를 제공하지 않고도 키 스토어 또는 트러스트 스토어를 사용할 수 있다는 것을 알았습니다.

올바르지 않습니다. Java KeyStore에는 세 가지 유형의 항목이 포함될 수 있습니다. 개인 키; 및 비밀 키 엔트리를 포함한다.

신뢰할 수있는 항목의 무결성은 키 저장소 비밀번호로 보호됩니다. 그러나 키 저장소를로드하고 키 저장소의 무결성을 확인하지 않고 신뢰할 수있는 항목을 사용할 수 있습니다. 그렇게하면 취약점이 발생합니다.

개인 키 및 비밀 키 항목의 기밀성은 암호 기반 암호화로 보호됩니다. 신뢰할 수있는 항목과 달리 이러한 기밀 항목은 암호 없이는 액세스 할 수 없습니다. 암호가 없거나 암호가 틀린 개인 키를 복구하려고 시도하면이 내용을 직접 볼 수 있습니다.

관련 문제