스터디

[암호이론] 개체 인증, 키 관리

1binni9 2024. 12. 18. 23:42

개체 인증 (Entity authentication)

: 한 개체가 다른 한 개체의 신원을 증명할 수 있도록 설계된 기술

주장자(claimant) : 신원을 증명하고자 하는 개체

검증자(verifier) : 요구자의 신원을 증명하기 위해 노력하는 개체

 

개체 인증은 메세지 인증과 다르게 한번 주장자에 대한 인증이 끝나면 한 세션이 연결되어 있는 동안 전체과정이 인증된다.

 

<검증 범주>

- 알고 있는 것

- 소유하고 있는 것

- 태생적으로 가지고 있는 것

 

OTP (One-Time Password)

오직 한 번만 사용되는 패스워드이며 도청이나 도난이 무의미하다.

 

 

시도-응답(challenge-response)

주장자가 자신의 비밀을 노출하지 않으면서도 자신이 알고 있는 것을 증명할 수 있다.

다시 말해, 주장자는 자신이 비밀을 검증자에게 보내지 않으면서도 자신이 비밀을 알고 있다는 사실을 증명할 수 있다.

 

- 비표(nonce) 사용 

검증자는 한번만 사용하게 될 난수인 비표를 시도로 주장자에게 전송하고 주장자는 검증자와 공유하고 있는 비밀 키로 암호화하여 시도에 대한 응답을 회신한다.

 

- 타임스탬프(timestamp) 사용

 

- 메세지 인증 코드 (MAC) 사용

시도 응답의 무결성 보장, 해쉬함수 계산에 비밀 키 사용

 

영지식 (zero-knowledge) 인증

메세지를 교환한 뒤에 검증자는 주장자가 비밀을 가지고 있는지 아닌지의 여부만 알 수 있다.

영지식성이란 어떤 문장이 참이면 검증자는 문장의 참, 거짓 이외에는 아무것도 알 수 없어야 함을 말한다.

 

 

부정 거부율 (FRR) 

인식되어져야 할 사람이 얼마나 자주 시스템에 의해 인식이 되지 않는지를 나타내는 값

 

부정 허용율(FAR)

인식되어서는 안 될 사람이 얼마나 자주 시스템에 의해서 인식이 되어지는지를 나타내는 값

 


 

KDC (키 배분센터)

대칭 키 암호시스템을 사용하려면 사전에 통신 당사자들끼리 비밀키를 공유해야만 한다.

이때 KDC는 각 구성원을 위해 비밀 키를 생성한다.

비밀 키는 구성원과 KDC 사이에서만 사용될 수 있고 구성원들끼리의 통신에서는 사용할 수 없다.

 

 

커버로스(Kerberos)

인증 프로토콜이며 동시에 KDC이다.

AS(인증 서버)는 커버로스 프로토콜의 KDC이며 각 사용자는 AS에 등록을 하고 사용자 ID와 pw를 발급받는다.

AS는 사용자를 검증하고 유저와 TGS(티켓 발급 서버) 사이에 사용될 세션 키를 발급하고 TGS에게 티켓을 발급한다.

 

TGS는 실제 서비스를 제공하는 실질 서버에게 티켓을 발급해주고 유저와 서버 사이에 사용할 세션 키를 제공한다.

 

+ 비유를 하나 들어보자면 TGS는 식권을 발급해주는 키오스크.. 같은 느낌이고 서버는 식당, 유저는 손님 같은 느낌이다.

여튼 내가 과거에 커버로스를 이해할 때 이런 식으로 생각했더니 좀 더 나았던 기억이 남

 

커버로스는 client-server 프로그램으로 설계되었으며 개인 대 개인 인증용으로는 사용되지 않는다.