목차

소개

문제

원인

문제 확인

사례 1:Expressway-C는 MD5 해시 인증서를 사용하며 Expressway-E에는 SHA 알고리즘(Secure Hash Algorithm)이 있는 인증서가 있습니다.

사례 2:Expressway-E는 MD5 해시된 인증서를 사용하며 Expressway-C는 SHA 알고리즘이 있는 인증서를 가지고 있습니다.

사례 3:Expressway-E와 Expressway-C 모두 MD5 해시 인증서 사용

인증서 알고리즘 확인

솔루션

소개

이 문서에서는 MD5(Message Digest 5) 해시된 알고리즘 인증서가 사용되는 경우 MRA(Mobile and Remote Access)를 통해 전화기를 등록할 때 발생할 수 있는 문제를 설명하고, 이 문제를 해결할 수 있는 솔루션을 제공합니다.

문제

MD5 서명 알고리즘을 사용하여 Expressway-C/VCS(Video Communication Server)-C에서 사용된 인증서가 생성된 경우 MRA를 통해 전화 등록이 실패합니다.

원인

인증서에서 MD5 해시 알고리즘을 사용하면 공격자가 콘텐츠를 스푸핑하거나 피싱 공격을 수행하거나 중간자 공격(man-in-the-middle) 공격을 수행할 수 있습니다. 또한 Microsoft는 MD5 해시 알고리즘으로 인증서 사용을 제한하는 보안 권고 사항을 작년에 해제했습니다. 이 제한은 Microsoft 루트 인증서 프로그램에서 루트 인증서로 발급된 인증서로 제한됩니다.Microsoft 보안 자문: Microsoft 루트 인증서 프로그램에 대한 MD5 해싱 알고리즘의 사용 중단 업데이트: 2013년 8월 13일

Cisco 버그 ID CSCuq95204가 VCS 문서를 업데이트하여 Cisco가 MD5 해시 알고리즘 인증서를 지원하지 않음을 나타냅니다.

문제 확인

이 섹션에서는 이 문제로 인해 등록이 실패했는지 확인하는 방법에 대해 자세히 설명합니다.

Jabber가 에지/MRA 인프라를 통해 소프트폰을 등록하려고 시도하면 Expressway 시스템에서 MD5 해시 인증서를 사용하는 경우 Jabber 소프트폰 등록이 실패합니다.그러나 오류의 특성은 다양하며 어떤 시스템에서 MD5 해시 인증서를 사용하는지에 따라 달라집니다.

사례 1:Expressway-C는 MD5 해시 인증서를 사용하며 Expressway-E에는 SHA 알고리즘(Secure Hash Algorithm)이 있는 인증서가 있습니다.

Expressway-C 진단 로그에 다음 오류가 발생했습니다.

2014-09-20T06:06:43+05:30 Expressway-C UTCTime="2014-09-20 00:36:43,837" Module=

"developer.cvs.server" Level="INFO" CodeLocation="cvs(132)" Detail="Certificate

verification failure" SubjectCommonName="Expressway-E.edge.com" Error="(SEC_ERROR_

CERT_SIGNATURE_ALGORITHM_DISABLED) The certificate was signed using a signature

algorithm that is disabled because it is not secure."

이 오류 후 Expressway-E에 대한 "437 unsupported certificate" 메시지가 나타납니다.

2014-09-20T06:06:43+05:30 Expressway-C tvcs: UTCTime="2014-09-20 00:36:43,840"

Module="network.sip" Level="DEBUG":  Action="Sent"  Local-ip="127.0.0.1"  Local-

port="22210"  Dst-ip="127.0.0.1"  Dst-port="25011"  Msg-Hash="5047300400093470988"

SIPMSG:

|SIP/2.0 437 Unsupported Certificate

Via: SIP/2.0/TCP 127.0.0.1:5060;egress-zone=DefaultZone;branch=z9hG4bKeaaf784fd792

c156da3ff2b664a2eee751464.eb53ca5fcac328dc0f61631ec583fdf4;proxy-call-id=0e01fda1-

6704-4066-bcfd-06e2f3ded8f9;received=127.0.0.1;rport=25011

Via: SIP/2.0/TLS 10.106.93.182:7001;egress-zone=TraversalserverzoneMRA;branch=z9hG

4bKc4ad3ddb1c5a24099882b10815ee247196.afc37861e975b930c7e624e1d5c6e967;proxy-call-id=

4436ec58-81a4-47a2-b4be-9f0b8b551209;received=10.106.93.182;rport=7001;ingress-zone=

TraversalclientzoneMRA;ingress-zone-id=1

Via: SIP/2.0/TCP 127.0.0.1:5060;branch=z9hG4bKaa0592c35ecf47289c8efe37792f0c5095;

received=127.0.0.1;rport=25000;ingress-zone=DefaultZone

Call-ID: 5050433d0d38b156@127.0.0.1

CSeq: 35384 SERVICE

From: <sip:serviceproxy@10.106.93.187>;tag=31976bf5fd009665

To: <sip:serviceserver@10.106.93.187>;tag=f35f010a358ec6dd

Server: TANDBERG/4130 (X8.2.1)

Content-Length: 0

사례 2:Expressway-E는 MD5 해시된 인증서를 사용하며 Expressway-C는 SHA 알고리즘이 있는 인증서를 가지고 있습니다.

Expressway-E 진단 로그에서 이 오류가 발생했습니다.

2014-11-28T20:17:38+05:30 Expressway-E UTCTime="2014-11-28 14:47:38,393" Module=

"developer.cvs.server" Level="INFO" CodeLocation="cvs(132)" Detail="Certificate

verification failure" SubjectCommonName="Expressway-C.edge.local" Error="(SEC_ERROR_

CERT_SIGNATURE_ALGORITHM_DISABLED) The certificate was signed using a signature

algorithm that is disabled because it is not secure."

이 오류 후 Jabber 클라이언트에 대한 "403 금지됨" 메시지가 나타납니다.

2014-11-28T20:17:38+05:30 Expressway-E tvcs: UTCTime="2014-11-28 14:47:38,395"

Module="network.sip" Level="DEBUG": Action="Sent" Local-ip="10.106.93.182" Local-

port="5061" Dst-ip="10.106.93.185" Dst-port="49174" Msg-Hash="8732905073947938174"

SIPMSG:

|SIP/2.0 403 Forbidden

Via: SIP/2.0/TLS 10.106.93.185:49174;branch=z9hG4bK00006db3;received=10.106.93.185

Call-ID: 005056ad-6bf90002-000038a2-00003b0a@10.106.93.185

CSeq: 104 REGISTER

From: <sip:8002@10.106.93.187>;tag=005056ad6bf9000200007e3c-000005e2

To: <sip:8002@10.106.93.187>;tag=baa86af3aca9e844

Server: TANDBERG/4130 (X8.2.1)

Content-Length: 0

사례 3:Expressway-E와 Expressway-C 모두 MD5 해시 인증서 사용

Expressway-C 진단 로그에서 이 오류가 발생했습니다.

2014-11-28T20:50:44+05:30 Expressway-C UTCTime="2014-11-28 15:20:44,943" Module=

"developer.cvs.server" Level="INFO" CodeLocation="cvs(132)" Detail="Certificate

verification failure" SubjectCommonName="Expressway-E.edge.com" Error="(SEC_ERROR_

CERT_SIGNATURE_ALGORITHM_DISABLED) The certificate was signed using a signature

algorithm that is disabled because it is not secure."

이 오류 후 Expressway-E에 대한 "437 unsupported certificate" 메시지가 나타납니다.

2014-11-28T20:50:44+05:30 Expressway-C tvcs: UTCTime="2014-11-28 15:20:44,945"

Module="network.sip" Level="DEBUG": Action="Sent" Local-ip="127.0.0.1" Local-

port="22210" Dst-ip="127.0.0.1" Dst-port="25753" Msg-Hash="136016498284976281"

SIPMSG:

|SIP/2.0 437 Unsupported Certificate

Via: SIP/2.0/TCP 127.0.0.1:5060;egress-zone=DefaultZone;branch=z9hG4bK22df47

ed2281a3bf3d88ece09bfbbc3a231977.0dbe343429e681275f6160e8c8af25fe;proxy-call-

id=2ee40ecc-4a1b-4073-87a6-07fbc3d7a6be;received=127.0.0.1;rport=25753

Via: SIP/2.0/TLS 10.106.93.182:7001;egress-zone=TraversalserverzoneMRA;branch=

z9hG4bK35a8b2cbb77db747c94e58bbf1d16cf1108.1c42f037f9ac98c59766cb84d0d3af10;

proxy-call-id=a8938902-2e0c-4a49-b900-a3b631920553;received=10.106.93.182;rport=

7001;ingress-zone=TraversalclientzoneMRA;ingress-zone-id=1

Via: SIP/2.0/TCP 127.0.0.1:5060;branch=z9hG4bKb2da522d9f1b5ad1bc2f415f5f01d0d2107;

received=127.0.0.1;rport=25000;ingress-zone=DefaultZone

Call-ID: 019ed17f1344e908@127.0.0.1

CSeq: 54313 SERVICE

From: <sip:serviceproxy@10.106.93.187>;tag=3426bb81de53e3b6

To: <sip:serviceserver@10.106.93.187>;tag=2128ce8a1f90cb7b

Server: TANDBERG/4130 (X8.2.1)

Content-Length: 0

인증서 알고리즘 확인

이 스크린샷은 사용된 인증서 알고리즘을 확인하는 방법을 보여줍니다.

솔루션

일반적으로 CA(Certificate Authority)는 더 이상 MD5 알고리즘으로 인증서를 제공하지 않습니다.그러나 Expressway-C의 인증서가 Enterprise Microsoft CA와 Expressway-E에서 생성되는 혼합 방식을 사용하는 고객은 GoDaddy와 같은 공용 CA에서 발급한 인증서를 사용합니다.

엔터프라이즈 Microsoft 루트 CA가 MD5 알고리즘을 사용하는 경우 이 문제가 발생합니다.Microsoft Windows Server 2008에서 실행되는 CA 서비스가 있는 경우 SHA1 알고리즘을 사용하기 위해 루트 CA를 수정할 수 있습니다. 해싱 알고리즘을 수정하려면 루트 CA  문서를 갱신할 때 해시 알고리즘을 변경할 수 있습니까?를  참조하십시오.