목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

하드웨어

소프트웨어

배경 정보

설정

PKI 및 SCEP(Simple Certificate Enrollment Protocol) 사전 요구 사항

신뢰할 수 있는 시간 소스

HTTP 통신

PKI 컨피그레이션

서버 - 롤오버

클라이언트 - 갱신

PKI 갱신/롤오버 사전 요구 사항

CA 기능

다음 CACert 가져오기

갱신

PKI 서버 자동 롤오버

롤오버 작업

PKI 서버 수동 롤오버

PKI 클라이언트 자동 갱신

클라이언트 인증서 갱신 유형 - 갱신 및 섀도우

RENEW - 라우터 ID 인증서 갱신

확인

SHADOW - 라우터 ID 및 발급 CA 인증서 갱신

확인

PKI 서버 롤오버에 대한 클라이언트 섀도우 작업의 종속성

PKI 클라이언트 등록 - 재시도 메커니즘

연결 재시도 타이머

폴링 타이머

갱신/섀도우 타이머

PKI 클라이언트 수동 갱신

PKI 서버 - 클라이언트 갱신 요청의 인증된 자동 부여

PKI 타이머 종속성

소개

이 문서에서는 Cisco IOS PKI(Public Key Infrastructure) 서버 및 클라이언트의 인증서 롤오버에 대해 자세히 설명합니다.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

이 문서의 정보는 다음 하드웨어 및 소프트웨어 버전을 기반으로 합니다.

하드웨어

- ISR-G1 [8xx, 18xx, 28xx, 38xx]

- ISR-G2 [19xx, 29xx, 39xx]

- ISR-4K [43xx, 44xx]

- ASR1k

- CSR1k

소프트웨어

- IOS

- ISR-G1 - 최신 15.1(4)M*

- ISR-G2의 경우 - 최신 15.4(3)M

- IOS-XE

- XE 3.15 또는 15.5(2)S

참고:ISR 장치에 대한 일반적인 소프트웨어 유지 관리가 더 이상 활성 상태가 아니며, 향후 버그 수정 또는 기능 개선 사항을 위해서는 ISR-2 또는 ISR-4xxx 시리즈 라우터로 하드웨어 업그레이드가 필요합니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

갱신 작업이라고도 하는 인증서 롤오버는 인증서가 만료될 때 새 인증서를 인계받을 준비가 된 것을 보장합니다.PKI 서버의 관점에서 이 작업은 모든 PKI 클라이언트가 현재 인증서가 만료되기 전에 새 서버 롤오버 인증서에서 서명한 새 클라이언트 롤오버 인증서를 받았는지 확인하기 위해 새 서버 롤오버 인증서를 미리 생성하는 작업을 포함합니다.PKI 클라이언트의 관점에서 클라이언트 인증서가 만료되지만 CA(Certificate Authority) 서버의 인증서가 만료되지 않은 경우 클라이언트는 새 인증서를 요청하고 새 인증서가 수신되는 즉시 이전 인증서를 대체하며, 클라이언트 인증서가 CA 서버의 인증서와 동시에 만료될 경우 클라이언트는 CA 서버의 롤오버 인증서를 먼저 수신하고 새 CA 서버에서 서명한 롤오버 인증서를 요청하게 되며, 두 인증서 모두 활성화될 때 활성화됩니다. 만료됩니다.

설정

PKI 및 SCEP(Simple Certificate Enrollment Protocol) 사전 요구 사항

신뢰할 수 있는 시간 소스

IOS에서는 하드웨어 클럭이 최상의 시간 소스가 아니므로 기본적으로 클럭 소스가 비권한 것으로 간주됩니다.PKI는 시간에 민감하므로 NTP를 사용하여 유효한 시간 소스를 구성하는 것이 중요합니다.PKI 구축에서는 필요한 경우 여러 NTP 서버를 통해 모든 클라이언트와 서버가 자신의 시계를 단일 NTP 서버에 동기화하도록 하는 것이 좋습니다.이에 대한 자세한 내용은 IOS PKI 구축 설명서를 참조하십시오.초기 설계 및 구축

IOS는 권한 클럭 없이 PKI 타이머를 초기화하지 않습니다.NTP는 매우 권장되지만, 임시 측정으로 관리자는 다음을 사용하여 하드웨어 시계를 신뢰할 수 있는 것으로 표시할 수 있습니다.

Router(config)# clock calendar-valid

HTTP 통신

활성 IOS PKI 서버에 대한 요구 사항은 HTTP 서버이며, 이 config-level 명령을 사용하여 활성화할 수 있습니다.

ip http server <1024-65535>

이 명령은 기본적으로 포트 80에서 HTTP 서버를 활성화하며, 위와 같이 변경할 수 있습니다.

PKI 클라이언트는 HTTP를 통해 PKI 서버와 구성된 포트로 통신할 수 있어야 합니다.

PKI 컨피그레이션

서버 - 롤오버

PKI 서버 자동 롤오버 구성은 다음과 같습니다.

crypto pki server ROOTCA

database level complete

database archive pkcs12 password 7 01100F175804575D72

issuer-name CN=RootCA,OU=TAC,O=Cisco

grant auto

lifetime certificate 365

lifetime ca-certificate 730

database url ftp://10.1.1.1/DB/ROOTCA/

auto-rollover 90

자동 롤오버 매개변수는 일 단위로 정의됩니다.보다 세분화된 레벨에서 명령은 다음과 같습니다.

auto-rollover <days> <hours> <minutes>

자동 롤오버 값 90은 IOS가 현재 서버 인증서가 만료되기 90일 전에 롤오버 서버 인증서를 생성하며, 이 새 롤오버 인증서의 유효성이 현재 활성 인증서의 만료 시간과 동시에 시작됨을 나타냅니다.

자동 롤오버는 네트워크의 PKI 클라이언트가 아래 SHADOW 작업 개요 섹션에 설명된 대로 GetNextCACert 작업을 수행하기 전에 PKI 서버에서 롤오버 CA 인증서가 미리 생성되도록 하는 값으로 구성해야 합니다.

클라이언트 - 갱신

PKI 클라이언트 자동 인증서 갱신 구성은 다음과 같습니다.

crypto pki trustpoint Root-CA

enrollment url http://172.16.1.1:80

serial-number

ip-address none

password 0 Rev0cati0n$Passw0rd

subject-name CN=spoke-1.cisco.com,OU=CVO

revocation-check crl

rsakeypair spoke-1-RSA

auto-enroll 80

여기서 auto-enroll <percentage> [regenerate] 명령은 IOS가 현재 인증서 수명의 정확히 80%에서 인증서 갱신을 수행해야 한다고 말합니다.

키워드 regenerate는 IOS가 모든 인증서 갱신 작업 동안 shadow key-pair라고 하는 RSA 키 쌍을 재생성해야 한다고 나타냅니다.

자동 등록 비율을 구성하는 동안 주의해야 합니다.구축의 지정된 PKI 클라이언트에서 ID 인증서가 발급 CA 인증서와 동시에 만료되는 조건이 발생하면 자동 등록 값은 CA가 롤오버 인증서를 생성한 후 항상 [shadow] 갱신 작업을 트리거해야 합니다.구축 예제 아래의 PKI 타이머 종속성 섹션을 참조하십시오.

PKI 갱신/롤오버 사전 요구 사항

이 문서에서는 인증서 롤오버 및 갱신 작업을 자세히 다루므로 이러한 이벤트가 성공적으로 완료된 것으로 간주됩니다.

- 유효한 CA 인증서를 사용하는 PKI 서버 초기화

- PKI 클라이언트가 PKI 서버에 등록되었습니다.예: 각 PKI 클라이언트에는 CA 인증서와 라우터 인증서라는 ID 인증서가 있습니다.

클라이언트 등록에는 이러한 이벤트가 포함됩니다.자세한 내용은 다음을 참조하십시오.

- 신뢰 지점 인증

- 신뢰 지점 등록

IOS에서 신뢰 지점은 인증서의 컨테이너입니다.지정된 신뢰 지점은 하나의 활성 ID 인증서 및/또는 하나의 활성 CA 인증서를 포함할 수 있습니다.신뢰 지점은 활성 CA 인증서를 포함하는 경우 인증된 것으로 간주됩니다.ID 인증서가 포함된 경우 등록된 것으로 간주됩니다.등록 전에 신뢰 지점을 인증해야 합니다.PKI 서버 및 클라이언트 컨피그레이션과 신뢰 지점 인증 및 등록은 IOS PKI 구축 가이드에서 자세히 다룹니다.초기 설계 및 구축

CA 인증서 검색/설치 후 PKI 클라이언트는 등록을 수행하기 전에 PKI 서버 기능을 검색합니다.CA 기능 검색에 대해서는 이 섹션에서 설명합니다.

CA 기능

IOS에서 PKI 클라이언트가 CA를 인증하는 경우, 즉 관리자가 IOS 라우터에서 신뢰 지점을 생성하고 crypto pki authenticate <trustpoint-name> 명령을 실행하면 다음 이벤트가 라우터에서 발생합니다.

- IOS는 GetCACert 작업 유형을 포함하는 SCEP 요청을 보냅니다.

- 여기서 예상되는 응답은 content-type of application/x-x509-ca-cert를 CA 구축의 경우, 또는 RA 및 CA 구축의 경우 application/x-x509-ca-ra-cert를 포함하는 HTTP 메시지입니다.HTTP 본문에는 CA 인증서가 포함되어 있습니다.[그리고 후자의 경우 RA 인증서]

- CA/RA 인증서 검색 및 설치에 따라 클라이언트는 GetCACaps 작업이 포함된 자동 SCEP 요청을 시작합니다.

- 여기에 예상 응답은 content-type of application/x-pki-message를 포함하는 HTTP 메시지입니다. 이 메시지는 text/plain일 수 있으며 HTTP 본문에는 CA에서 지원하는 일련의 기능이 포함되어 있으며, 이 기능은 줄-피드 문자로 구분됩니다.일반적인 IOS PKI 서버 응답은 아래 다이어그램에 나와 있습니다.

응답은 IOS PKI 클라이언트에서 다음과 같이 해석됩니다.

CA_CAP_GET_NEXT_CA_CERT

CA_CAP_RENEWAL

CA_CAP_SHA_1

CA_CAP_SHA_256

이 문서에서는 이 두 가지 기능에 초점을 두고 있습니다.

다음 CACert 가져오기

CA에서 이 기능을 반환하면 IOS는 CA가 CA-인증서 롤오버를 지원함을 인식합니다.이 기능을 반환하면 신뢰 지점 아래에서 auto-enroll 명령이 구성되지 않은 경우 IOS는 CA 인증서의 유효 기간의 90%로 설정된 SHADOW 타이머를 초기화합니다.

SHADOW 타이머가 만료되면 IOS는 GetNextCACert SCEP 작업을 수행하여 롤오버 CA 인증서를 가져옵니다.

참고: auto-enroll 명령이 등록 URL과 함께 신뢰 지점에 구성된 경우, 신뢰 지점을 인증하기 전이라도 RENEW 타이머가 초기화되며, 신뢰 지점이 인증될 때까지 실제 등록 메시지 [CSR]이(가) 전송되지 않더라도 등록 url에 있는 CA에 등록하려고 계속 시도합니다.

참고:GetNextCACert는 IOS PKI 서버에서 자동 롤오버가 서버에 구성되지 않은 경우에도 기능으로 전송됩니다.

갱신

이 기능을 사용하여 PKI 서버는 PKI 클라이언트에 활성 ID 인증서를 사용하여 기존 인증서를 갱신하기 위해 인증서 서명 요청에 서명할 수 있음을 알립니다.

이에 대한 자세한 내용은 PKI Client Auto-Renewal 섹션을 참조하십시오.

PKI 서버 자동 롤오버

CA 서버에서 위의 컨피그레이션을 사용하면 다음을 볼 수 있습니다.

Root-CA#show crypto pki certificates

CA Certificate

Status: Available

Certificate Serial Number (hex): 01

Certificate Usage: Signature

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

cn=RootCA

ou=TAC

o=Cisco

Validity Date:

start date: 13:14:16 CET Oct 9 2015

end   date: 13:14:16 CET Oct 8 2017

Associated Trustpoints: ROOTCA

Root-CA#terminal exec prompt timestamp

Root-CA#show crypto pki timers

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 13:19:58.946 CET Fri Oct 9 2015

PKI Timers

|        7:49.003

|        7:49.003  SESSION CLEANUP

|  3d 7:05:24.003  TRUSTPOOL

CS Timers

|     5:54:17.977

|     5:54:17.977  CS CRL UPDATE

|639d23:54:17.977  CS SHADOW CERT GENERATION

|729d23:54:17.971  CS CERT EXPIRE

다음 사항에 유의하십시오.

롤오버 작업

CS SHADOW CERT 생성 타이머 만료 시:

- IOS는 먼저 롤오버 키 쌍을 생성합니다. 현재 활성 키 쌍과 이름이 같고 # 해시가 추가됩니다.

Jul 10 13:14:16.510: CRYPTO_CS: shadow generation timer fired.

Jul 10 13:14:16.510: CRYPTO_CS: key 'ROOTCA#' does not exist; generated automatically

Root-CA# show crypto key mypubkey rsa

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 13:19:19.652 CET Mon Jul 10 2017

% Key pair was generated at: 13:14:16 CET Oct 9 2015

Key name: ROOTCA

Key type: RSA KEYS

Storage Device: private-config

Usage: General Purpose Key

Key is not exportable.

Key Data&colon;

30819F30 0D06092A 864886F7 0D010101 05000381 8D003081 89028181 00B07127

360CF006 13B259CE 7BB8158D E6BC8AA4 8A763F73 50CE64B0 71AC5D93 ED59C936

F751D810 70CEA8C8 B0023B4B 0FB9A538 A1C118D3 5530D46D C4B4DC14 3BD1D231

48B0C053 A781D0C7 86DEE9DE CCA58C18 B5804B29 911D1D57 76B3EC3F 42D38C3A

1E0F8DD9 1DE228B9 95AC3C10 87C132FC 75956338 258727F6 1A1F0818 83020301 0001

% Key pair was generated at: 13:14:18 CET Jul 10 2017

Key name: ROOTCA#

Key type: RSA KEYS

Storage Device: not specified

Usage: General Purpose Key

Key is not exportable.

Key Data&colon;

30819F30 0D06092A 864886F7 0D010101 05000381 8D003081 89028181 00BF2A52

687F112B C9263541 BB402939 9C66D270 8D3EACED 4F63AA50 9FB340E8 38C8AC38

1818EA43 93C17CA1 C4917F43 C9199C9E F9F9C059 FDE11DA9 C7991826 43736FCE

A80D0CEE 2378F23B 6AC5FC3B 4A7A0120 D391BE8F A9AFD212 E05A2864 6610233C

E0E58D93 23AA0ED2 A5B1C140 122E6E3D 98A7D974 E2363902 70A89CE3 BF020301 0001

- 그런 다음 IOS에서 롤오버 CA 인증서를 생성합니다. 여기서 유효성 시작 날짜는 현재 활성 CA 인증서의 유효성 종료 날짜와 동일합니다.

Jul 10 13:14:18.326: CRYPTO_CS: shadow CA successfully created.

Jul 10 13:14:18.326: CRYPTO_CS: exporting shadow CA key and cert

Jul 10 13:14:18.327: CRYPTO_CS: file opened: ftp://10.1.1.1/DB/ROOTCA/ROOTCA_00001.p12

Root-CA# show crypto pki certificates

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 13:14:46.820 CET Mon Jul 10 2017

CA Certificate (Rollover)

Status: Available

Certificate Serial Number (hex): 03

Certificate Usage: Signature

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

Name: RootCA

cn=RootCA

ou=TAC

o=Cisco

Validity Date:

start date: 13:14:16 CET Oct 8 2017

end   date: 13:14:16 CET Oct 8 2019

Associated Trustpoints: ROOTCA

CA Certificate

Status: Available

Certificate Serial Number (hex): 01

Certificate Usage: Signature

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

cn=RootCA

ou=TAC

o=Cisco

Validity Date:

start date: 13:14:16 CET Oct 9 2015

end   date: 13:14:16 CET Oct 8 2017

Associated Trustpoints: ROOTCA

Storage: nvram:RootCA#1CA.cer

Root-CA# show crypto pki server

Certificate Server ROOTCA:

Status: enabled

State: enabled

Server's configuration is locked (enter "shut" to unlock it)

Issuer name: CN=RootCA,OU=TAC,O=Cisco

CA cert fingerprint: CC748544 A0AB7832 935D8CD0 214A152E

Granting mode is: manual

Last certificate issued serial number (hex): 6

CA certificate expiration timer: 13:14:16 CET Oct 8 2017

CRL NextUpdate timer: 19:11:54 CET Jul 10 2017

Current primary storage dir: unix:/iosca-root/

Database Level: Complete - all issued certs written as <serialnum>.cer

Rollover status: available for rollover

Rollover CA certificate fingerprint: 031904DC F4FAD1FD 8A866373 C63CE20F

Rollover CA certificate expiration time: 13:14:16 CET Oct 8 2019

Auto-Rollover configured, overlap period 90 days

Root-CA# show run | section chain ROOTCA

crypto pki certificate chain ROOTCA

certificate ca rollover 03

30820237 308201A0 A0030201 02020103 300D0609 2A864886 F70D0101 04050030

2F310E30 0C060355 040A1305 43697363 6F310C30 0A060355 040B1303 54414331

0F300D06 03550403 1306526F 6F744341 301E170D 31373130 30383132 31343136

5A170D31 39313030 38313231 3431365A 302F310E 300C0603 55040A13 05436973

636F310C 300A0603 55040B13 03544143 310F300D 06035504 03130652 6F6F7443

4130819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 8100BF2A

52687F11 2BC92635 41BB4029 399C66D2 708D3EAC ED4F63AA 509FB340 E838C8AC

381818EA 4393C17C A1C4917F 43C9199C 9EF9F9C0 59FDE11D A9C79918 2643736F

CEA80D0C EE2378F2 3B6AC5FC 3B4A7A01 20D391BE 8FA9AFD2 12E05A28 64661023

3CE0E58D 9323AA0E D2A5B1C1 40122E6E 3D98A7D9 74E23639 0270A89C E3BF0203

010001A3 63306130 0F060355 1D130101 FF040530 030101FF 300E0603 551D0F01

01FF0404 03020186 301F0603 551D2304 18301680 1419FCA4 DDE84233 F79C066F

93CCF6B3 E14F8355 31301D06 03551D0E 04160414 19FCA4DD E84233F7 9C066F93

CCF6B3E1 4F835531 300D0609 2A864886 F70D0101 04050003 81810065 AC780BB4

2398D765 BE4C4C0A 0D0F16C0 82530D85 99933BDC 8388C46D 926145D8 B0BA275A

93AAB497 FC876F6A E951C138 F5D652AE C0C25E2A FDD80BAA C6BD5A78 E439158F

5544F30F 33C59E22 1994A8D3 AADC1287 BD15A104 55CB5DC3 49A9401A 8DB3940A

5054EA21 99CCE4F3 40B471FE DEB4BB38 AC3ACD48 4CDDCBC9 9829D3

quit

certificate ca 01

30820237 308201A0 A0030201 02020101 300D0609 2A864886 F70D0101 04050030

2F310E30 0C060355 040A1305 43697363 6F310C30 0A060355 040B1303 54414331

0F300D06 03550403 1306526F 6F744341 301E170D 31353130 30393132 31343136

5A170D31 37313030 38313231 3431365A 302F310E 300C0603 55040A13 05436973

636F310C 300A0603 55040B13 03544143 310F300D 06035504 03130652 6F6F7443

4130819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 8100B071

27360CF0 0613B259 CE7BB815 8DE6BC8A A48A763F 7350CE64 B071AC5D 93ED59C9

36F751D8 1070CEA8 C8B0023B 4B0FB9A5 38A1C118 D35530D4 6DC4B4DC 143BD1D2

3148B0C0 53A781D0 C786DEE9 DECCA58C 18B5804B 29911D1D 5776B3EC 3F42D38C

3A1E0F8D D91DE228 B995AC3C 1087C132 FC759563 38258727 F61A1F08 18830203

010001A3 63306130 0F060355 1D130101 FF040530 030101FF 300E0603 551D0F01

01FF0404 03020186 301F0603 551D2304 18301680 148D421A BED6DCAD B8CFE4B4

1B2C7E41 C73428AC 9A301D06 03551D0E 04160414 8D421ABE D6DCADB8 CFE4B41B

2C7E41C7 3428AC9A 300D0609 2A864886 F70D0101 04050003 8181008C 3495278E

DA6C14B0 533E746D 8DA743AF 06BE4088 913BF9BC A94576FA BC86EFD1 1DFE6B9F

0D244144 473C67AD 24414A20 84E9B083 D1720766 0A698C29 115482C6 2FB57E86

95CDECF2 29662362 866CDC91 730ADBB3 BDBBDC3C EA5301B0 150658E7 AF722BD7

6B5C2D6A 661A4FED CDA32DE5 D6C2CE7A 544086DC F957A87C 2C07FF

quit

PKI 서버 수동 롤오버

IOS PKI Server는 CA 인증서의 수동 롤오버를 지원합니다. 즉, 관리자는 PKI 서버 컨피그레이션에서 자동 롤오버를 구성하지 않고도 롤오버 CA 인증서를 미리 생성할 수 있습니다.처음 구축된 CA 서버의 수명을 더 안전하게 확장할 계획이 있는지 여부에 관계없이 자동 롤오버를 구성하는 것이 좋습니다.PKI 클라이언트는 롤오버 CA 인증서 없이 CA를 오버로드할 수 있습니다.PKI 서버 롤오버에서 클라이언트 섀도우 작업의 종속성을 참조하십시오.

컨피그레이션 레벨 명령을 사용하여 수동 롤오버를 트리거할 수 있습니다.

crypto pki server <Server-name> rollover

또한 롤오버 CA 인증서는 수동으로 새로 생성하기 위해 취소할 수 있지만, 관리자는 다음을 사용하여 프로덕션 환경에서 해서는 안 되는 작업입니다.

crypto pki server <Server-name> rollover cancel

이렇게 하면 롤오버 rsa 키 쌍 및 롤오버 CA 인증서가 삭제됩니다.다음과 같은 이유로 권장됩니다.

- CA가 롤오버 인증서를 생성한 후에는 여러 클라이언트가 롤오버 CA 인증서 및 롤오버 CA 인증서에서 서명한 롤오버 클라이언트 인증서를 다운로드할 수 있습니다.

- 이 단계에서 롤오버가 취소되면 클라이언트를 다시 등록해야 할 수 있습니다.

PKI 클라이언트 자동 갱신

클라이언트 인증서 갱신 유형 - 갱신 및 섀도우

PKI 서버의 IOS는 클라이언트에 발급된 ID 인증서의 만료 시간이 CA 인증서의 만료 시간을 초과하지 않도록 항상 보장합니다.

PKI 클라이언트에서 IOS는 갱신 작업을 예약하기 전에 항상 다음 타이머를 고려합니다.

- 갱신되는 ID 인증서의 만료 시간

- 발급자(CA) 인증서의 만료 시간

ID 인증서의 만료 시간이 CA 인증서의 만료 시간과 같지 않으면 IOS는 간단한 갱신 작업을 수행합니다.

ID 인증서의 만료 시간이 CA 인증서의 만료 시간과 같으면 IOS는 섀도우 갱신 작업을 수행합니다.

RENEW - 라우터 ID 인증서 갱신

앞에서 언급했듯이 IOS PKI 클라이언트는 ID 인증서의 만료 시간이 CA 인증서의 만료 시간과 동일하지 않을 경우 간단한 갱신 작업을 수행합니다. 즉, 발급자의 인증서가 ID 인증서의 단순 갱신을 트리거하기 전에 만료되는 ID 인증서가 만료됩니다.

ID 인증서가 설치되면 IOS는 다음과 같이 특정 신뢰 지점에 대한 RENEW 타이머를 계산합니다.

Current-Authoritative-Time은 시스템 시계가 여기에 설명된 대로 신뢰할 수 있는 시간 소스가 되어야 함을 의미합니다.(신뢰할 수 있는 시간 소스 섹션에 대한 링크) PKI 타이머는 권한 있는 시간 소스가 없으면 초기화되지 않습니다.따라서 갱신 작업은 수행되지 않습니다.

RENEW 타이머가 만료될 때 다음 이벤트가 발생합니다.

- 재생성이 구성된 경우 IOS에서 섀도우 키 쌍을 생성합니다. [예:자동 등록 80 재생성]IOS를 재생성하지 않으면 현재 활성 RSA 키 쌍을 다시 사용합니다.

- IOS는 PKCS-10 형식의 인증서 요청을 생성합니다. 그러면 PKCS-7 포락으로 암호화됩니다.또한 이 봉투에는 발급 CA의 주체 이름과 일련 번호인 RecipientInfo도 포함되어 있습니다.이 PKCS7-envelope는 PKCS-7 서명 데이터로 채워집니다.초기 등록 중에 IOS는 자체 서명 인증서를 사용하여 이 메시지에 서명합니다.그리고 후속 등록 중에(다시 등록) IOS는 활성 ID 인증서를 사용하여 메시지에 서명합니다.PKCS7 서명 데이터도 서명 인증서(예: 자체 서명 인증서 또는 ID 인증서)와 함께 포함됩니다.

이 패킷 구조에 대한 자세한 내용은 SCEP 개요 문서를 참조하십시오.

참고:여기서 주요 정보는 발급 CA의 주체 이름과 일련 번호인 RecipientInfo이며, 이 CA의 공개 키는 대칭 키를 암호화하는 데 사용됩니다.PKCS7 봉투의 CSR은 이 대칭 키를 사용하여 암호화됩니다.

이 암호화된 대칭 키는 개인 키를 사용하여 수신 CA에 의해 해독되며, 이 대칭 키는 CSR을 나타내는 PKCS7 봉투를 해독하는 데 사용됩니다.

- 그런 다음 PKCS7 형식으로 패키지된 이 CSR(Certificate Signing Request)은 SCEP 메시지 유형 PKCSReq 및 PKIOperation이라는 SCEP 작업을 사용하여 CA로 전송됩니다.

- CA가 요청을 거부하면 IOS는 RENEW 타이머를 중지합니다.이 시점부터 ID 인증서를 갱신하려면 관리자가 수동 갱신을 수행해야 합니다(PKI 클라이언트 수동 갱신 섹션 링크).

- CA가 SCEP 상태를 pending으로 전송하는 경우 PKI 클라이언트의 IOS는 60초 또는 1분에 시작하여 POLL 타이머를 시작합니다.POLL 타이머가 만료될 때마다 IOS는 PKIOperation 작업을 통해 GetCertInitial SCEP 메시지를 보냅니다.첫 번째 POLL 타이머가 만료될 때 GetCertInitial 메시지가 SCEP Pending 상태로 응답될 경우, 지수 백오프 알고리즘은 첫 번째 POLL 타이머 재시도 간격을 1분, 두 번째 POLL 타이머 재시도 간격을 2분으로, 세 번째 POLL 재시도 타이머를 4분으로 설정합니다. 다음 99999 또는 Issuing CA 인증서가 만료될 때까지.

폴링 카운트 및 첫 번째 재시도 기간은 다음을 사용하여 구성할 수 있습니다.

crypto pki trustpoint <TP>

enrollment retry count <total retry count>

enrollment retry period <first retry period in minutes>

- PKI 서버에 인증서가 부여되면 다음 GetCertInitial SCEP 메시지는 콘텐츠 유형 application/x-pki-message의 HTTP 메시지 및 서명된 PKCS#7 서명 데이터가 포함된 본문으로 응답됩니다.이 PKCS7 서명 데이터에는 SCEP 상태가 Granted로 포함되며 PKCS7 봉투 데이터도 포함됩니다.이 PKCS 봉투 데이터에는 허가된 인증서 및 RecipientInfo가 포함되어 있습니다. RecipientInfo는 초기 등록 중에 자체 서명된 인증서의 주체 이름과 일련 번호를 포함하고 재등록 중에 활성 ID 인증서를 포함합니다.

PKCS7 봉투 데이터에는 수신자의 공개 키로 암호화된 대칭 키(새 인증서가 부여됨)도 포함되어 있습니다. 수신 라우터는 개인 키를 사용하여 암호를 해독합니다.그런 다음 이 일반 대칭 키를 사용하여 PKCS#7 봉투 데이터를 해독하고 새 ID 인증서를 표시합니다.

- 이 단계에서 IOS는 기존 ID 인증서를 즉시 새 인증서로 교체합니다.그리고 재생성이 구성된 경우 섀도우 키 쌍도 활성 키 쌍을 대체합니다.

- 또한 새 인증서의 종료 날짜를 CA 인증서의 종료 날짜와 비교하여 RENEW 타이머를 초기화해야 하는지 아니면 SHADOW 타이머를 초기화해야 하는지 확인합니다. 여기서 <href Types of Client Certificate Renewal - RENEW and SHADOW>

확인

새로 등록된 PKI 클라이언트에는 ID 인증서(라우터 인증서 또는 최종 엔티티 인증서라고도 함)와 등록된 신뢰 지점 아래에 발급 CA 인증서가 있습니다

PKI-Client# show crypto pki certificates

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 14:10:38.279 CET Wed Jul 27 2016

Certificate

Status: Available

Certificate Serial Number (hex): 05

Certificate Usage: General Purpose

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

Name: PKI-Client.cisco.com

Serial Number: 104

serialNumber=104+hostname=PKI-Client.cisco.com

cn=PKI-Client

ou=Root

Validity Date:

start date: 14:12:34 CET Oct 9 2015

end   date: 14:12:34 CET Oct 8 2016

renew date: 14:12:18 CET Jul 27 2016

Associated Trustpoints: Root-CA

Storage: nvram:RootCA#5.cer

CA Certificate

Status: Available

Certificate Serial Number (hex): 01

Certificate Usage: Signature

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

cn=RootCA

ou=TAC

o=Cisco

Validity Date:

start date: 13:14:16 CET Oct 9 2015

end   date: 13:14:16 CET Oct 8 2017

Associated Trustpoints: Root-CA

Storage: nvram:RootCA#1CA.cer

해당 PKI 타이머는 다음과 같습니다.

PKI-Client# show crypto pki timers

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 14:29:34.054 CET Fri Oct 9 2015

PKI Timers

|       14:51.284

|       14:51.284  SESSION CLEANUP

|291d23:42:59.946  RENEW Root-CA

여기와 같이 계산

RENEW = 0.8 ((end date: 14:12:34, Oct 8 2016) - (start date: 14:12:24, Oct 9 2015))

= 292 days from (14:12:34, Oct 9 2015)

= 291 days 23:42:59 hours from (14:29:34, Oct 9 2015)

= at 14:12:18 CET Jul 27 2016

RENEW 타이머가 만료되면

Jul 27 14:12:18.800: %PKI-6-CERTRENEWAUTO: Renewing the router certificate for trustpoint Root-CA

Jul 27 14:12:23.056: %CRYPTO-6-AUTOGEN: Generated new 2048 bit key pair

Jul 27 14:12:23.084: CRYPTO_PKI: using private key PKI-Key# for enrollment

갱신 요청은 현재 활성 ID 인증서를 사용하여 서명됩니다.

Jul 27 14:12:25.117: PKI: Trustpoint Root-CA has router cert and loaded

Jul 27 14:12:25.117: PKI: Signing pkcs7 with Root-CA trustpoint router cert

Jul 27 14:12:25.117: PKI: key rollover configured and active

수신된 SCEP 응답이 PENDING이면 POLL 타이머를 시작합니다.

Jul 27 14:12:25.167: CRYPTO_PKI_SCEP: Client received CertRep - PENDING (F9A1FB9813EEA8AC86AE334DDC7CF488)

Jul 27 14:12:25.167: CRYPTO_PKI: status = 102: certificate request pending

PKI-Client# show crypto pki timer

PKI Timers

|        3:44.484

|        0:44.484  POLL Root-CA

앞에서 설명한 것처럼, 이 POLL 타이머는 SCEP 응답이 GRANTED 또는 ID 인증서가 만료될 때까지 1분, 2분, 4분 등 기하급수적인 백오프 알고리즘을 따릅니다.

POLL 타이머가 만료되고 SCEP 응답이 부여된 경우:

Jul 27 14:16:25.301: CRYPTO_PKI_SCEP: Client received CertRep - GRANTED (F9A1FB9813EEA8AC86AE334DDC7CF488)

Jul 27 14:16:25.301: CRYPTO_PKI: status = 100: certificate is granted

Jul 27 14:16:25.325: Newly-issued Router Cert: issuer=cn=RootCA,ou=TAC,o=Cisco serial=6

Jul 27 14:16:25.325: start date: 14:15:05 CET Jul 27 2016

Jul 27 14:16:25.325: end date: 14:15:05 CET Jul 27 2017

Jul 27 14:16:25.325: Router date: 14:16:25 CET Jul 27 2016

Jul 27 14:16:25.325: Received router cert from CA

Jul 27 14:16:25.325: CRYPTO_PKI: Setting renewal timers

Jul 27 14:16:25.325: CRYPTO_PKI: removing superceded cert serial #: 05

Jul 27 14:16:25.325: CRYPTO_PKI: Key Rollover - Switched from keypair PKI-Key# to PKI-Key

Jul 27 14:16:25.325: PKI: our cert expires before the CA cert for Root-CA

Jul 27 14:16:25.326: CRYPTO_PKI: current date: 14:16:25 CET Jul 27 2016

Jul 27 14:16:25.326: CRYPTO_PKI: seconds until reenroll: 1494854105

Jul 27 14:16:25.326: CRYPTO_PKI: cert expire date: 14:15:05 CET Jul 27 2017

Jul 27 14:16:25.326: CRYPTO_PKI: renew date: 14:15:05 CET May 15 2017

라우터 인증서 갱신 후:

PKI-Client# show crypto pki certificates

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 14:22:07.799 CET Wed Jul 27 2016

Certificate

Status: Available

Certificate Serial Number (hex): 06

Certificate Usage: General Purpose

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

Name: PKI-Client.cisco.com

Serial Number: 104

serialNumber=104+hostname=PKI-Client.cisco.com

cn=PKI-Client

ou=Root

Validity Date:

start date: 14:15:05 CET Jul 27 2016

end   date: 14:15:05 CET Jul 27 2017

renew date: 14:15:04 CET May 15 2017

Associated Trustpoints: Root-CA

CA Certificate

Status: Available

Certificate Serial Number (hex): 01

Certificate Usage: Signature

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

cn=RootCA

ou=TAC

o=Cisco

Validity Date:

start date: 13:14:16 CET Oct 9 2015

end   date: 13:14:16 CET Oct 8 2017

Associated Trustpoints: Root-CA

Storage: nvram:RootCA#1CA.cer

PKI-Client# show crypto pki timers

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 14:22:17.231 CET Wed Jul 27 2016

PKI Timers

|       14:48.735

|       14:48.735  SESSION CLEANUP

|291d23:52:48.094  RENEW Root-CA

SHADOW - 라우터 ID 및 발급 CA 인증서 갱신

IOS PKI 클라이언트는 ID 인증서의 만료 시간이 CA 인증서의 만료 시간과 동일할 경우 섀도우 갱신 작업을 수행합니다. 즉, 발급자의 인증서가 섀도우 갱신 작업을 트리거하는 동시에 만료될 ID 인증서가 만료됩니다.

ID 인증서가 설치되면 발급자의 인증서와 종료 날짜가 동일한 IOS가 특정 신뢰 지점에 대한 SHADOW 타이머를 계산합니다.따라서 언제든지 SHADOW 타이머의 값은 다음과 같습니다.

다음 이벤트는 지정된 신뢰 지점에 대한 SHADOW 타이머가 만료될 때 발생합니다.

- IOS는 GetNextCACert SCEP 작업을 수행합니다. 여기서 예상 응답은 콘텐츠 유형 application/x-x509-ca-cert의 HTTP 메시지와 PKCS7 형식의 Next CA 인증서를 포함하는 본문(예: 유효성 시작 시간이 현재 발급자 인증서의 유효 종료 시간[또는 이전]과 같은 발급자 인증서)입니다.

참고:SCEP RFC 초안에는 응답 콘텐츠 유형이 application/x-x509-next-ca-cert일 수 있다고 명시되어 있지만, IOS 구현에서는 application/x-x509-ca-cert를 보내고 받습니다.

참고:롤오버 CA 인증서의 시작 시간은 현재 활성 CA 인증서의 유효 종료 시간보다 이전일 수 있습니다.그러나 현재 활성 CA 인증서가 만료된 후에만 롤오버 CA 인증서가 활성화됩니다.그러나 Cisco IOS PKI Server는 유효성 시작 시간이 현재 CA 인증서의 유효 종료 시간과 같도록 롤오버 CA 인증서를 생성해야 합니다.

- GetNextCACert SCEP 작업이 성공하지 못하면 마지막 단계에서 설명한 대로 예상 응답이 수신될 때까지 또는 현재 CA(발급자) 인증서가 만료될 때까지 재시도합니다.

- GetNextCACert SCEP 작업이 성공하면 롤오버 CA 인증서가 신뢰 지점 아래의 데이터베이스에 CA 인증서(롤오버)로 갱신됩니다.

- 성공적인 GetNextCACert 작업을 수행한 후 재생성이 구성된 경우(예:자동 등록 80 재생성). IOS를 재생성하지 않으면 현재 활성 RSA 키 쌍을 다시 사용합니다.

- IOS는 PKCS-10 형식의 인증서 요청을 생성합니다. 그러면 PKCS-7 포락으로 암호화됩니다.이 봉투에는 발급 CA의 롤오버 CA 인증서의 주체 이름과 일련 번호인 RecipientInfo도 포함됩니다.이 PKCS7-envelope는 PKCS-7 서명 데이터로 채워집니다.현재 활성 ID 인증서를 사용하여 서명되며 PKCS7 서명 데이터와 함께 포함됩니다.

이 패킷 구조에 대한 자세한 내용은 SCEP 개요 문서를 참조하십시오.

참고:여기서 주요 정보는 발급 CA의 롤오버 CA 인증서 정보가 포함된 RecipientInfo이며, 이는 RENEW 작업 중에 사례처럼 현재 활성화된 CA의 인증서와 다릅니다.

이번에는 대칭 키가 롤오버 CA의 공개 키를 사용하여 암호화됩니다.그리고 이것은 CA가 롤오버 CA 인증서를 사용하여 이 요청에 서명하는 데 사용하는 정보입니다.

참고:IOS PKI SCEP는 이 작업을 GetNewCert로 디버깅하지만 내부적으로는 이 작업이 여전히 GetCert 작업이며, 이 작업은 비틀립니다.그리고 롤오버 CA 인증서를 가리키는 수신자 정보가 비틀거립니다.

- 그런 다음 PKCS7 형식으로 패키지된 이 CSR[CSR]은 SCEP 메시지 유형 PKCSReq 및 PKIOperation이라는 SCEP 작업을 사용하여 CA로 전송됩니다.

- 여기에서 프로세스는 RENEW 작업과 동일합니다. 즉, SCEP 상태가 Pending인 경우 POLL 타이머이고 모든 POLL 타이머 만료는 GetCertInitial SCEP 메시지를 트리거합니다.

- PKI 서버에 인증서가 부여되면 다음 GetCertInitial SCEP 메시지가 콘텐츠 유형 application/x-pki-message의 HTTP 메시지 및 서명된 PKCS7 데이터가 포함된 본문으로 응답됩니다.이 PKCS7 서명 데이터에는 롤오버 CA 인증서 정보(주체 이름 및 일련 번호)와 함께 SCEP 상태가 부여됨, 서명됨 및 포함되며 PKCS7 봉투 데이터도 포함됩니다.이 PKCS 봉투 데이터에는 부여된 섀도우 인증서와 RecipientInfo(주체 이름 및 현재 활성 ID 인증서의 일련 번호)가 포함됩니다.

참고:PKCS7 봉투 데이터에는 수신자의 공개 키[섀도우 인증서가 부여된](으)로 암호화된 대칭 키도 포함됩니다.수신 라우터는 섀도 개인 키를 사용하여 암호를 해독합니다.그런 다음 이 일반 대칭 키를 사용하여 PKCS#7 봉투 데이터를 해독하고 섀도우 ID 인증서를 표시합니다.

참고:부여된 섀도 인증서의 시작 데이터는 롤오버 CA 인증서의 시작 데이터와 동일합니다.또한 현재 활성 ID 인증서 및 CA 인증서의 최종 데이터와 동일합니다.

참고: PKCS7 서명 데이터와 함께 포함된 롤오버 CA 인증서 정보는 PKCS7 봉투 데이터에 섀도우 인증서가 포함되어 있음을 클라이언트 라우터에 알리는 것 중 하나입니다.

- 롤오버 인증서는 현재 활성 인증서에 영향을 주지 않고 신뢰 지점 아래의 인증서 데이터베이스에 롤오버 인증서로 설치됩니다.또한 재생성이 구성된 경우 섀도 키 쌍 <active-keypair-name#>은 임시 이름으로 유지됩니다.

- 현재 활성 인증서가 CA 인증서와 함께 만료되면 롤오버 CA 인증서와 롤오버 ID 인증서가 해당 인증서를 대체하고 활성 상태가 됩니다.섀도우 키 쌍이 있으면 이전 키 쌍도 교체됩니다.

- 따라서 새 인증서의 종료 날짜를 CA 인증서의 종료 날짜와 비교하여 RENEW 타이머를 초기화해야 하는지 아니면 SHADOW 타이머를 초기화해야 하는지 확인합니다. <href "Types of Client Certificate Renewal - RENEW and SHADOW">

확인

위의 PKI-Client 예에서 첫 번째 갱신 후 두 번째 갱신이 5월 15일에 이루어집니다.

May 15 14:15:41.264: Newly-issued Router Cert: issuer=cn=RootCA,ou=TAC,o=Cisco serial=7

May 15 14:15:41.264: start  date: 14:15:10 CET May 15 2017

May 15 14:15:41.264: end    date: 13:14:16 CET Oct 8 2017

May 15 14:15:41.264: Router date: 14:15:41 CET May 15 2017

May 15 14:15:41.265: PKI:Cert valid: 14:15:10 CET May 15 2017-13:14:16 CET Oct 8 2017 shadow 08:38:26 CET Sep 9 2017

여기서 새 인증서 만료 날짜는 발급 CA 인증서의 만료 날짜와 동일하므로 IOS는 08:38:26, 2017년 9월 9일로 설정된 섀도우 타이머를 시작합니다.

PKI-Client# show crypto pki timer

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 14:18:32.444 CET Mon May 15 2017

PKI Timers

| 14:40.458

| 14:40.458 SESSION CLEANUP

|116d18:19:53.821 SHADOW Root-CA

9월 9일에 SHADOW 타이머가 만료되면, GetNextCACert가 전송되어 롤오버 CA 인증서를 다운로드합니다.

Sep 9 08:38:26.004: PKI: Shadow timer went off for Root-CA

Sep 9 08:38:28.019: PKI: Shadow state for Root-CA now GET_NEW_CA_CERT

Sep 9 08:38:33.027: CRYPTO_PKI_SCEP: Client sending GetNextCACert request

Sep 9 08:38:33.027: CRYPTO_PKI: Sending Next CA Certificate Request:

GET /cgi-bin/pkiclient.exe?operation=GetNextCACert&message=Root-CA HTTP/1.0

Sep 9 08:38:33.035: CRYPTO_PKI: Reply HTTP header:

HTTP/1.1 200 OK

Date: Sat, 09 Sep 2017 07:38:33 GMT

Server: cisco-IOS

Content-Type: application/x-x509-ca-cert

Sep  9 08:38:33.035: PKI: Shadow state for Root-CA now HAVE_NEW_CA_CERT

참고:GetNextCACert가 성공적으로 수행되지 않으면 PKI-Client가 SHADOW 등록을 진행하지 않습니다.

롤오버 CA 인증서가 다운로드되면 PKI-Client는 GetCert와 동일한 GetNextCert를 수행하며, 현재 인증서가 만료될 때까지 수신된 인증서가 활성화되지 않습니다.

Sep  9 08:38:33.035: PKI: Shadow state for Root-CA now GET_NEW_ROUTER_CERT

Sep  9 08:38:56.466: %CRYPTO-6-AUTOGEN: Generated new 2048 bit key pair

Sep  9 08:38:56.493: CRYPTO_PKI: using private key PKI-Key# for enrollment

Sep  9 08:38:56.493: PKI: Shadow state for Root-CA now GET_NEW_ROUTER_CERT_ACTIVE

Sep  9 08:38:56.513: PKI: Trustpoint Root-CA has router cert and loaded

Sep  9 08:38:56.513: PKI: Signing pkcs7 with Root-CA trustpoint router cert

Sep  9 08:38:56.542: CRYPTO_PKI_SCEP: Client sending GetNewCert (6C0BD832D0C3143BAB604D63D8DF1D72)

여기에 동일한 지수 백오프 알고리즘이 적용됩니다.POLL 응답이 부여된 경우:

Sep  9 08:47:56.728: CRYPTO_PKI_SCEP: Client received CertRep - GRANTED (6C0BD832D0C3143BAB604D63D8DF1D72)

Sep  9 08:47:56.728: CRYPTO_PKI: status = 100: certificate is granted

Sep  9 08:47:56.747: Newly-issued Router Cert: issuer=cn=RootCA,ou=TAC,o=Cisco serial=8

Sep  9 08:47:56.747: start  date: 13:14:16 CET Oct 8 2017

Sep  9 08:47:56.747: end    date: 14:15:10 CET May 15 2018

Sep  9 08:47:56.747: Router date: 08:47:56 CET Sep 9 2017

Sep  9 08:47:56.747: Shadow certificate valid

Sep  9 08:47:56.747: Received shadow router cert from CA

Sep  9 08:47:56.747: PKI: Shadow state for Root-CA now HAVE_NEW_ROUTER_CERT

섀도우 인증서가 설치되면 SHADOW 타이머는 현재 활성 ID 인증서 및 CA 인증서가 만료되는 시간을 나타냅니다. 이는 섀도우 ID 인증서 및 CA 인증서가 활성화된 시간을 나타냅니다.

PKI-Client#show crypto pki timers

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 08:49:51.993 CET Sat Sep 9 2017

PKI Timers

|       14:18.013

|       14:18.013  SESSION CLEANUP

| 29d 4:24:24.754  SHADOW Root-CA

이 단계에서 인증서 데이터베이스는 다음과 같습니다.

PKI-Client#show crypto pki certificates

Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%

Time source is NTP, 08:53:28.688 CET Sat Sep 9 2017

Router Certificate (Rollover)

Status: Available

Certificate Serial Number (hex): 08

Certificate Usage: General Purpose

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

Name: PKI-Client.cisco.com

Serial Number: 104

serialNumber=104+hostname=PKI-Client.cisco.com

cn=PKI-Client

ou=Root

Validity Date:

start date: 13:14:16 CET Oct 8 2017

end   date: 14:15:10 CET May 15 2018

Associated Trustpoints: Root-CA

CA Certificate (Rollover)

Status: Available

Certificate Serial Number (hex): 03

Certificate Usage: Signature

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

Name: RootCA

cn=RootCA

ou=TAC

o=Cisco

Validity Date:

start date: 13:14:16 CET Oct 8 2017

end   date: 13:14:16 CET Oct 8 2019

Associated Trustpoints: Root-CA

Certificate

Status: Available

Certificate Serial Number (hex): 07

Certificate Usage: General Purpose

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

Name: PKI-Client.cisco.com

Serial Number: 104

serialNumber=104+hostname=PKI-Client.cisco.com

cn=PKI-Client

ou=Root

Validity Date:

start date: 14:15:10 CET May 15 2017

end   date: 13:14:16 CET Oct 8 2017

Associated Trustpoints: Root-CA

Storage: nvram:RootCA#7.cer

CA Certificate

Status: Available

Certificate Serial Number (hex): 01

Certificate Usage: Signature

Issuer:

cn=RootCA

ou=TAC

o=Cisco

Subject:

cn=RootCA

ou=TAC

o=Cisco

Validity Date:

start date: 13:14:16 CET Oct 9 2015

end   date: 13:14:16 CET Oct 8 2017

Associated Trustpoints: Root-CA

Storage: nvram:RootCA#1CA.cer

이 단계에서는 시스템 클럭이 이러한 롤오버 인증서의 유효 시작 날짜에 도달하면 롤오버 ID 및 CA 인증서가 활성화됩니다. 이 날짜는 섀도우 타이머가 만료될 때 트리거됩니다.

PKI 서버 롤오버에 대한 클라이언트 섀도우 작업의 종속성

SHADOW 타이머 만료 후 처음 발생하는 일은 GetNextCACert 작업이 포함된 SCEP 요청이므로 PKI 클라이언트의 SHADOW 등록은 발급 CA의 Rollover 인증서 없이 계속할 수 없습니다.

CA가 클라이언트로부터 GetNextCACert SCEP 요청을 받으면 CA는 여기와 같이 Rollover CA Certificate로 표시된 인증서가 있는지 확인합니다.

CA가 롤오버 CA 인증서를 찾으면 HTTP 콘텐츠 유형이 application/x-x509-ca-cert로 설정된 HTTP 응답 본문에서 전송됩니다.SCEP 초안에서 content-type을 application/x-x509-next-ca-cert로 설정해야 한다고 제안하지만, IOS 구현에서는 GetCACert 응답 도중 동일한 content-type을 사용합니다.

CA가 롤오버 CA 인증서를 찾지 못하면 "HTTP 404 Not Found" 메시지가 클라이언트에 전송됩니다.클라이언트는 이를 실패로 처리합니다.사실상 content-type이 엄격하게 "application/x-x509-ca-cert"로 설정된 HTTP 응답 이외의 모든 HTTP 응답은 실패로 처리됩니다.클라이언트가 롤오버 CA 인증서로 응답하지 않는 한 다음 20일 동안 20초마다 롤오버 CA 인증서 가져오기를 재시도합니다.

참고: GetNextCACert를 지원하는 CA를 사용하여 수백 개의 PKI 클라이언트가 구축되면 관리자가 CA에 생성된 롤오버 인증서 없이 PKI 클라이언트가 GetNextCACert 요청을 시작하지 않도록 해야 합니다.그렇지 않으면 CA가 합법적인 요청을 포함한 모든 요청에 완전히 응답하지 못할 수 있습니다.올바른 타이머 디자인에 대한 자세한 내용은 배포 예를 참조하십시오.

PKI 클라이언트 등록 - 재시도 메커니즘

PKI 클라이언트 등록이 SCEP 대기 중 메시지로 인해 실패하거나 지연될 수 있습니다. 이 경우 클라이언트가 재시도를 수행할 것으로 예상됩니다.

연결 재시도 타이머

PKI 클라이언트에서 PKI 서버로의 통신이 TCP 소켓 실패 또는 HTTP 요청 시간 제한으로 인해 실패할 경우 PKI는 클라이언트에서 CONNECT RETRY 타이머를 초기화합니다.이 타이머를 초기화하는 동안 SCEP 오류 메시지가 고려되지 않습니다.CONNECT RETRY 타이머는 모든 실패 후 기본적으로 1분으로 초기화되며 기본적으로 999번 반복됩니다.다음을 사용하여 확인할 수 있습니다.

crypto pki trustpoint <TP>

enrollment retry count <total retry count>

enrollment retry period <first retry period in minutes>

이 타이머는 초기, 갱신 또는 섀도우 등록 등 모든 유형의 등록에 적용됩니다.

폴링 타이머

PKI 클라이언트가 GetCertInitial 메시지(초기 인증서 서명 요청 또는 후속 인증서 폴링)에 대한 응답으로 서버에서 SCEP Pending 메시지를 수신하면 POLL 타이머를 시작합니다.첫 번째 POLL 타이머는 기본적으로 1분으로 초기화됩니다.후속 POLL 타이머는 기하급수적 백오프 알고리즘을 따릅니다.

Assuming that we get SCEP Pending at time "t",

and the Pending messages are sent after every GetCertInitial message -

1st POLL Timer = 1 minute [t + 1]

2nd POLL Timer = 2 minutes [t + 1 + 2 = t + 3]

3rd POLL Timer = 4 minutes [t + 7]

4th POLL Timer = 8 minutes [t + 15]

...

여기서 첫 번째 POLL 타이머 간격은 다음을 사용하여 구성할 수 있습니다.

crypto pki trustpoint <TP>

enrollment retry count <total retry count>

POLL 타이머는 발급 CA 인증서 만료 범위를 초과하여 확장되지 않습니다.여기서 논리는 발급 CA 인증서 만료 이후에 발급되었을 수 있는 인증서를 폴링하는 것은 더 이상 유용하지 않습니다.

갱신/섀도우 타이머

HTTP 응답 구문 분석 실패 또는 SCEP 오류 메시지로 인해 PKI 클라이언트 등록이 실패할 경우 자동 등록 <백분율> 및 현재 시스템 시간에 따라 RENEW 타이머 또는 SHADOW 타이머가 다시 초기화됩니다.

재계산된 타이머 값이 현재 ID 인증서 만료 시간을 초과하거나 현재 ID 인증서가 만료되면 이러한 타이머는 더 이상 초기화되지 않습니다.

PKI 클라이언트 수동 갱신

관리자는 IOS PKI 클라이언트에서 수동 인증서 갱신을 수행할 수 있습니다.수동 인증서 갱신은 다음 논리를 따릅니다.

여기서 문제의 신뢰 지점은 이미 CA에 등록되었다고 가정합니다.

자동 갱신(auto-enroll <percentage> [regenerate])이 신뢰 지점 아래에 구성된 경우:

- RENEW 타이머가 실행 중인 경우, 이는 CA 인증서를 발급하기 전에 라우터 ID 인증서가 만료됨을 나타내는 것입니다. 이 명령을 실행하면 여기에 설명된 대로 RENEW 작업이 수행됩니다. <link RENEW Operation Overview>

crypto pki enroll <trustpoint-name>

- SHADOW 타이머가 실행 중인 경우, 이는 라우터 ID 인증서가 발급 CA 인증서와 동시에 만료됨을 나타내는 것입니다. 이 명령을 실행하면 여기서 설명한 대로 SHADOW 작업을 수행합니다. <link SHADOW Operation Overview>

crypto pki enroll <trustpoint-name>

신뢰 지점 아래에 자동 갱신이 구성되지 않은 경우, 여기에 설명된 대로 CA 인증서의 90% 수명에서 GetNextCACert를 수행하도록 SHADOW 타이머가 초기화됩니다.그러나 수동 갱신은 갱신 중인 ID 인증서의 유효성 및 발급 CA 인증서의 유효성 여부에 따라 RENEW 및 SHADOW 작업의 동일한 논리를 따릅니다.

참고:POLL 타이머가 실행 중인 경우 수동 갱신을 수행하려면 관리자는 다음 config level 명령을 실행하여 POLLed 등록을 취소해야 합니다.crypto pki enroll <trustpoint> 없음

PKI 서버 - 클라이언트 갱신 요청의 인증된 자동 부여

IOS PKI 서버에서는 수동 부여 방법을 사용하여 초기 등록을 제어하고 클라이언트에서 갱신 인증서 요청을 자동으로 부여할 수 있습니다.

crypto pki server ROOTCA

database level complete

database archive pkcs12 password 7 01100F175804575D72

issuer-name CN=RootCA,OU=TAC,O=Cisco

grant auto trustpoint ROOTCA

lifetime certificate 365

lifetime ca-certificate 730

database url ftp://10.1.1.1/DB/ROOTCA/

auto-rollover 90

참고:

- IOS CA/PKI 서버가 활성화되면 신뢰 지점은 PKI 서버 인증서 및 롤오버 PKI 서버 인증서를 포함하는 PKI 서버와 동일한 이름으로 자동으로 생성됩니다.

- 이 명령은 인증서 서명 요청에 서명하는 데 사용된 클라이언트 인증서가 신뢰 지점 ROOTCA에 로드된 PKI 서버 인증서에 의해 서명/발급된 경우, 즉 인증서 서명 요청이 ROOTCA라는 PKI 서버에서 이전에 발급한 인증서의 갱신 요청인 경우 요청이 자동으로 부여된다고 자동 신뢰 지점 ROOTCA는 설명합니다.

- 초기 인증서 서명 요청 중에 IOS PKI 클라이언트는 자체 서명 인증서를 사용하여 요청에 서명합니다. 이 인증서는 위에서 정의한 자동 부여 기준을 충족하지 않으므로 초기 인증서 서명 요청은 PKI 서버에 보류 중인 대기열로 저장됩니다. show crypto pki server ROOTCA requests

- 이러한 요청은 다음을 사용하여 수동으로 부여해야 합니다.
crypto pki server ROOTCA grant [all | request-id-number]

- 이 컨피그레이션은 PKI 서버가 롤오버 상태(예: PKI 서버가 롤오버 PKI 서버 인증서를 생성한 경우)일 때도 작동합니다.

PKI 타이머 종속성

신중하게 설계해야 하는 모든 타이머의 요약:

- CA 서버 인증서 수명

CA 서버 인증서의 수명

- 클라이언트 인증서 수명

지정된 PKI 서버에서 클라이언트에 발급한 인증서의 수명

- 하위 CA 인증서 수명

Subordinate-CA는 Root-CA와 관련된 클라이언트이므로 Root-CA에 정의된 클라이언트 인증서 수명은 Subordinate-CA에도 적용됩니다

- CA 롤오버 시간

CA 인증서 수명 만료 시간까지의 일 수.

- 클라이언트 갱신 시간

총 클라이언트 인증서 수명의 백분율입니다.

PKI 서버:

crypto pki server ROOTCA

lifetime certificate 365         -----> 2 and 3

lifetime ca-certificate 730      -----> 1

auto-rollover 90                 -----> 4

PKI 클라이언트:

crypto pki trustpoint Root-CA

auto-enroll 80                  -----> 5

IOS CA 서버는 항상 클라이언트 인증서 만료 시간이 CA 서버 인증서 만료 시간과 같거나 이전인지 확인합니다.

PKI 구축을 설계할 때 이러한 타이머를 고려해야 합니다.

Root-CA 또는 Subordinate-CA는 PKI 클라이언트가 섀도우 등록을 시작하기 전에 롤오버 인증서를 생성해야 합니다.

위의 컨피그레이션 조각에서 예제를 가져오는 방법:

- Root-CA는 만료 90일 전에 롤오버 CA 인증서를 생성합니다.

- 여기서 가장 긴 클라이언트 인증서 유효 기간은 365일입니다.

- 섀도우 등록 조건이 발생하면 클라이언트는 365일 중 80%에 GetNextCACert를 수행합니다. 즉, 인증서 만료 시간 292일 또는 73일 전에 수행됩니다.
그리고 CA가 이 시점까지 롤오버 인증서를 생성했으므로 GetNextCACert가 성공했습니다.