2013-03-27 2 views
0

클라이언트 응용 프로그램과 서버 간의 채널 보안 방법을 모색 중입니다.자격 증명없이 클라이언트/서버 인증 확인

풍부한 데스크톱 클라이언트 (win)와 모바일 클라이언트가 웹 서비스에 연결하여 데이터를 교환하고 있습니다.

SSL 인증서를 사용하면 서버와 클라이언트가 서로 신뢰할 수 있습니다. 보안 연결에서 사용자 이름과 암호를 교환 할 수 있으므로 사용자를 인증 할 수 있습니다.

그러나 사용자는 자격 증명없이 두 가지 방법 중 하나를 통해 서버에 연결해야하지만 특정 번호판과 같은 리터럴 만 연결할 수있는 경우가 있습니다.

정말이 경우에는 클라이언트가 인증 할 수있는 장치가 더 이상 없다는 것을 확실히 알고 싶습니다. 인증에 대한 추가 검사가 없기 때문에 번호판이 꽤 일반적인 리터럴이 될 것입니다.

내 서버에 알려진 "장치"만 내 서버와 상호 작용할 수 있도록하려면 어떻게해야합니까?

답변

0

장치를 인증하려면 장치의 비밀을 밝히지 않고 장치가 무엇인지 증명할 수있는 방법을 찾아야합니다.

넘버 플레이트와 비슷한 시스템은 그 번호를 볼 수있는 위치에있는 누구나 쉽게 스푸핑 할 수 있습니다. SSL/TLS로 서버에 연결되어 있어도이 장치에 대한 제어 수준에 따라이 장치를 숨길 수 없습니다.

잠재적 인 방법은 암호화 하드웨어 토큰 (또는 스마트 카드)을 사용하는 것입니다. 이러한 토큰 중 일부는 인증서 및 개인 키를 보유하도록 구성 될 수 있으며 개인 키를 내보낼 수 없으면 개인 키를 사용할 수 있습니다. 암호화 작업 (서명 및 암호 해독)은 토큰 자체에서 발생합니다.

이 키를 사용하여 서버에 대한 클라이언트 인증서 인증을 수행 할 수 있습니다. 이 경우 클라이언트에 해당 토큰이 있음을 알 수 있습니다. 이는 CA가 이러한 토큰의 키 쌍에 대해서만 인증서를 발행했음을 알고있는 상황에서 작동 할 수 있습니다. CA를 관리하는 데 비용이 들게됩니다.

적어도 특정 토큰에 인증을 연결할 수 있습니다. 이를 전체 장치와 통합 할 수 있는지 여부는 보유한 장치의 종류에 따라 다릅니다.

0

시나리오에 TLS 사전 공유 키 (RFC 4279)를 사용할 수 있는지 확인하십시오.

+0

사전 공유 키를 특정 장치에만 연결하고 다른 복사본을 연결하는 방법은 어떻게 도움이됩니까? – Bruno

관련 문제