커버로스
- 티켓을 기반으로하는 동작으로 컴퓨터 네트워크 인증 암호화 프로토콜
- 비밀키 암호 알고리즘으로 온라인 키 공유 방법 - 보안성 (기밀성, 무결성 보장)
- 투명성(명시적인 티켓 요청이 필요 없음) - 재사용성 (재생공격 방지)
![]() |
: AS는 - TGS의 개인키를 갖고 있고, TGS의 대칭키를 생성한다. - 모든 사용자의 PW를 갖고 있음. : TGS는 SS의 개인키를 갖고 있고, SS의 대칭키를 생성한다. : 클라이언트는 TimeStamp를 전송한다. : 클라이언트는 최종적으로 TimeStamp들의 값을 비교해 같으면 응용서버와의 작업을 실시함. : 3A 지원 (Authentication, Accounting, Authorization) |
클라이언트 – 인증(AS)서버
1. 클라이언트는 먼저 자신의 머신에 ID/PW를 입력하여 로그인 한다.
2. 클라이언트가 아래 메시지를 AS로 전송
- msg ( User ID ) --> 암호화 X
3. AS는 msg에 적힌 User ID를 DB에서 찾은 후 존재하면 아래 두개의 메시지를 클라이언트로 리턴
- encrypt (key: 클라이언트 PW기반으로 한 비밀키, data : TGS의 세션키(대칭키) )
** TGS의 세션키(대칭키)는 AS에서 생성 한 것임 - TGT = encrypt ( key: TGS의 비밀키, Data : “Client ID, ip주소, 유효기간, TGS 세션키(대칭키)”)
클라이언트 – 티켓발급서버(TGS)
4. 클라이언트는 리턴 받은 a. 메시지를 확인 후 자신(클라이언트)의 공개키로 복호화하여 TGS의 세션키(대칭키)를 얻은 후 얻은 키로 Client ID, TimeStamp를 암호화하여 아래 두 메시지를 TGS로 전송
- Authenticator = encrypt ( key: TGS 세션키(대칭키), data: “Client ID, TimeStamp”)
- TGT (전달받은 TGT를그대로 다시 TGS로 전달, 클라이언트는 TGS의 비밀키를 모르기 때문에 조작 불가)
5. TGS는 전달받은 TGT, Authenticator를 복호화 하여 안에 담긴 Client ID들이 일치하는지 확인, 일치하면 아래 두 메시지를 리턴
- encrypt ( key: TGS 세션키(대칭키), data: SS 세션키(대칭키))
--> SS 세션키(대칭키))는 TGS가 생성 한 것임. - Ticket = encrypt ( key: SS 비밀키, data: “Client ID, ip주소, 유효기간, SS 세션키(대칭키) )
클라이언트- 응용서버(SS)
6. 클라이언트는 복호화 후 아래 두 메시지를 SS로 전송
- Authenticator = encrypt(key: SS 세션키(대칭키), data: “Client ID, TimeStamp”)
- Ticket
7. SS는 전달받은 Ticket, Authenticator를 복호화 해서 안에 담긴 Client ID 일치 확인 후 메시지 리턴
- encrypt (key: SS 세션키(대칭키), data: Authenticator 안에 담겨있던 TimeStamp)
8. 클라이언트는 전달받은 TimeStamp와 자신이 Authenticator에 담아 보냈던 TimeStamp의 값이 일치하면 작업을 시작한다.
반응형
'보안&네트워크 > 보안' 카테고리의 다른 글
스텔스 스캔(Stealth) (0) | 2022.01.06 |
---|---|
VPN ( Virtual Private Network ) (0) | 2022.01.06 |
SNI (서버 이름 표시자) (0) | 2022.01.03 |
메일 관련 공격 (0) | 2021.12.31 |
메일 보안 기술 ( MIME, PGP, S/MIME ) (0) | 2021.12.31 |
댓글