1. 인증

Client Server 연결 통신을 진행하기 전에 서로를 인증하여 서로 통신에 대하여 높은 보안성을 제공 받는다.

Challenge & Response 이러한 인증 방법 하나이다.

 

 

 

 

 

 

2. 기본 메커니즘

Challenge & Response 기본 메커니즘은 단순하다.

먼저 서버에서 인증을 하고자 하는 대상한테 난수 (Challenge) 보낸다.

Challenge 받은 Client쪽에서는 해당 값을 private key sign하고 다시 되돌려 준다.

sign 값을 받은 서버는 Public Key verify하고 처음 보낸 challenge값이 맞는지 비교 검증을 진행함으로써 Client 인증할 있다.

 

 

 

 

 

3. 실사용

3-1) RSA 키쌍 주입

위의 Challenge & Response 실제로 어떻게 쓰이는지 추가로 보면 아래와 같다.

먼저 가장 기본적으로는 메커니즘과 같이 사용된다. 무선 보안 IEEE 802.11b에서는 위와 같은 Challenge & Response방법으로 인증을 진행한다.

하지만 메커니즘은 문제점이 존재한다. 바로 단방향 인증을 진행한다는 부분이다.

다시 말해 Server Client 정상적으로 인증할 수는 있으나 Client Server 정상인지는 인증히지 않는다.

 

때문에 위처럼 Private Key & Public Key쌍을 미리 주입해서 상호인증을 진행하도록 있다.

Private Key Public Key쌍을 먼저 HSM 장비등을 통해서 생성하고 각각 Client Server 넣어준다.

키를 주입하게 후에는 challenge값을 각자 만들고 서로 sign & verify 통해 인증함으로써 상호 인증을 진행할 있다.

 

물론 이경우에는 미리 Key 주입하기 위한 과정이 따로 필요하기 때문에 같은 공정과정을 거치는 등의 문제가 발생할 수는 있다.

 

 

 

 

3-2) HMAC 키주입

방법과 동일하다 차이점은 난수에 sign 아닌 hash 해서 값을 전달하고 해시 값을 비교하는 방법의 차이만 있을 뿐이다.

 

 

 

 

4. 정리

정리하면 challenge & response방법은 서버와 client 같은 개체에 대해서 인증을 진행하는 좋은 방법이다.

인증을 시도할 때마다 난수 값을 새로 만들기 때문에 높은 보안성을 보장하며 기본적으로 OTP등에 주로 사용된다.

하지만 기본적인 challenge & response 단방향 인증만을 지원하며 위와 같이 양쪽에 키를 미리 주입해야만 상호 인증이 가능하다.

 

 

'Security > Security' 카테고리의 다른 글

[SSL] SSL 가시성  (0) 2022.08.24
[Certificate] 인증서  (0) 2022.08.24

+ Recent posts