인디노트

오픈소스 PKI 문서 - 제 7 장. 오픈 소스 구현 본문

인증기술/PKI 기술

오픈소스 PKI 문서 - 제 7 장. 오픈 소스 구현

인디개발자 2018. 9. 27. 13:45

제 7 장. 오픈 소스 구현

공개 키 인프라 스트럭처의 오픈 소스 또는 오픈 소스 구현 목록을 제시하고 있습니다. 다음 섹션 에서는 각 구현에 대해 자세히 설명합니다.

  1.  pyCA, by Michael Stroeder, available at the pyCA WWW site.

  2. OpenCA, by Massimiliano Pala and the OpenCA Team, available at the OpenCA WWW site.

  3. Oscar, by DSTC Pty Ltd, Australia, available at the DSTC PKI WWW site.

  4. Jonah, by IBM (and subsidiaries Lotus, Iris), available at the Jonah WWW site.

  5. Mozilla Open Source PKI projects, by the Mozilla Organisation, available at the Mozilla WWW site.

  6. MISPC, by the National Institute of Standards and Technology (NIST) available at the MISPC WWW site.  

pyCA 인증 기관

pyCA 는 인증 기관에 WWW 인터페이스를 제공하는 CGI 스크립트 세트입니다 스크립트는 Python 프로그래밍 언어로 작성 되었으므로 pyCA 라는 이름을 사용합니다. 이것은 OpenSSL 을 암호화 인프라의 기본 메커니즘으로 사용합니다. pyCA 는 GPL 라이센스에 따라 배포됩니다.



OpenCA 프로젝트 [TODO]

OpenCA 는 공개 키 인프라를 만드는 공동 작업 입니다. 프로그래밍 방식으로, PyCA 대신에 Perl 을 사용하는것을 제외하고는 pyCA 와 유사합니다. 기본 암호화 아키텍처에 OpenSSL 을 사용합니다. OpenCA 는 Apache 스타일의 라이센스와 함께 배포됩니다.

OpenCA 레이아웃

현재 OpenCA 에서 사용 되는 CA 구조를 설명합니다.

그림 7-1. 현재 OpenCA 레이아웃

인증 기관은 보안상의 이유로 현재 레이아웃에 따라 네트워크에 연결하면 안됩니다. 이동식 미디어를 사용하여 등록 기관과 수동으로 통신합니다.

등록 기관은 인터넷에 직접 액세스 할 수 없으며 RA 운영자를 통해 액세스 해야 합니다.

RA 운영자는 사용자와 인터넷 간의 OpenCA 인터페이스 입니다.

OpenCA 약어

문서 전반에 걸쳐 다음 용어를 사용합니다.

표 7-1. OpenCA 약어

기간OpenCA 개체 이름
인증 기관CAServer
등록 기관RAServer
RA 운영자RAOperator

노트

독자는 조직 또는 회사로서의 CA 와 CAServer 로서의 CA 의 차이점을 알아야합니다. 현재 우리는 명시적으로 구별하지 않으며 사용자는 상황에 따라 올바른 의미를 식별해야합니다.

노트

문서의 여러 부분에서 우리는 인증서 서명 요청 이라는 용어와 동일한 것을 설명하는 요청을 사용합니다. 후자의 용어는 프로그래밍 컨텍스트에서 일반적 입니다.

소프트웨어 패키지

이것은 OpenCA 를 구현하는데 사용 되는 기본 소프트웨어입니다. 현재 (2000 년 5 월) 버전은 목록 다음의 표에 나와 있습니다.

  1. Linux® 와 호환되는 운영 체제 http://www.linux.org 에서 구할 수 있습니다 .

  2. http://www.openssl.org 에서 구할 수 있는 OpenSSL

  3. Apache WWW 서버, http://www.apache.org 에서 구할 수 있습니다 .

  4. mod-ssl Apache 모듈, http://www.modssl.org 에서 구할 수 있습니다 .

  5. http://www.openldap.org 에서 구할 수 있는 OpenLDAP


우리는 이후 OpenCA 소프트웨어를 설치합니다. 작성 당시 최신 버전은 0.2.0 이며 http://www.openca.org/download.shtml 에서 구할 수 있습니다 .

표 7-2. OpenCA 필수 소프트웨어의 최신 버전

소프트웨어현재 버전
레드햇 ®Linux6.2
OpenSSL SSL / TLS 소프트웨어0.9.5a
아파치 웹 서버1.3.12
modssl SSL / TLS 아파치 모듈2.6.4
OpenLDAP LDAP 소프트웨어1.2.10
펄 인터프리터5.6.0

CA 서버 (CAServer)의 기능

인증 기관 서버의 기능은 다음과 같습니다.

소스 코드는 CA 서버를 CAServer 로 설명합니다 .

다음 섹션 과 하위 섹션은 CA 를 관리하기 위해 WWW 인터페이스에 의해 사용자에게 제공되는 옵션입니다. 이 인터페이스는 권장되는 관리 방입니다.

노트

이 섹션의 내용은 앞으로 변경 될 수 있습니다.

초기화 / CA 관리

  • 새로운 CA 개인 키 생성

    이 절차는 4 장의 사용자 / 서버 에 대한 RSA 키 쌍 생성 절 에서 설명 합니다 . 이전에 발급 된 인증서가 유효하지 않으므로 CA 에 대한 새로운 비밀 (개인) 키를 생성하고 이전 인증서를 덮어 쓰는 것이 중요한 절차입니다. 현재 CA 개인 키가 겹쳐 쓰여질 것이라는 경고 메시지가 표시됩니다.

    노트

    실제로 OpenCA 의 현재 버전에서는 소프트웨어가 현재 키를 확장자가 .old 인 파일에 저장하기 때문에 이전의 현재 키를 덮어 쓰지 않습니다. 그러나 이전의 이전 키는 덮어 씁니다.

    사용자에게 CA 암호 키 대화 상자가 표시됩니다. 이 CA 비밀 키 는 사실 CA 개인 키를 보호하는 암호 구문 입니다. 예를 들어 공개 키 알고리즘으로 RSA 를 사용하는 경우 키 생성 절차에서는 매우 큰 숫자 집합을 생성합니다. 그 중 일부가 개인 키를 구성합니다. 이 정보는 절충 해서는 안됩니다. 보안을 강화하기 위해이 정보를 DES , Triple-DES 또는 IDEA 와 같은 블록 암호로 암호화합니다그 후, 개인 키의 값을 가질 필요가 있을 때, 응용 프로그램은 암호 문구를 요구하고, 암호화 된 개인 키를 암호 해독하고, 암호문을 사용합니다.

    노트

    암호화 알고리즘에 대한 안전한 선택은 Triple-DES ( 3DES 또는 때때로 DES3 로 작성 ) 와 IDEA 입니다. 키 복구가 문제가 아니라면 DES 는 안전한 선택으로 간주되지 않습니다. :) 농담 뿐만 아니라 사용자는 고급 암호화를 사용한다고 해서 시스템이 안전하다는 것을 의미하지는 않습니다. 보안 시스템을 갖추기 위해서는 시스템의 모든 구성 요소가 안전해야합니다. OpenCA 의 경우 많은 구성 요소가 있습니다.

    노트

    개인 키가 응용 프로그램에서 사용되면 더 이상 컴퓨터의 메모리에 보관 해서는 안됩니다. 개인 키가 필요하면 응용 프로그램이 개인 키를 요청해야합니다. 이것은 보다 안전하지만 개인 키가 필요 할 때 사람의 개입이 필요합니다. 예를 들어, 서버를 다시 시작해야 할 때 입니다.

    다음으로 사용자는 CA 키의 크기를 비트 단위로 요구합니다. 이것은 두 개의 큰 소수의 결과 인 RSA 의 N 크기 입니다. 이것은 인증 기관의 보안에 영향을 미칩니다.

    512 비트의 선택은 안전하다고 간주되지 않지만 1024 비트 중 하나는 비교적 안전하다고 간주됩니다. 2048 비트는 factorisation 에 대한 최신 (May, 2000) 정보로 안전한 선택으로 간주됩니다.

    노트

    키 길이가 증가하면 키를 생성하고 조작하는 데 필요한 시간도 증가합니다. 예를 들어, Pentium ® Pro 컴퓨터에서 1024 비트 크기의 키를 생성 하려면 약 3 초가 걸립니다. 2048 비트는 약 13 초를 필요로 합니다. 테스트는 OpenSSL 소프트웨어를 사용하고 Linux® 운영 체제를 실행하여 수행되었습니다 키 생성은 키의 수명 기간 동안 한 번 발생합니다. 디지털 서명의 서명 및 검증과 같은 기타 작업은보다 자주 발생하며 벤치 마크 대상이됩니다.

    노트

    펜티엄 ® II 이상의 컴퓨터에서 2048 비트의 크기는 빠르고 안전한 선택 모두를 충족합니다. 확인을 클릭하면 키 생성이 수행됩니다. 몇 초가 걸립니다. 사용자는 완료 될 때까지 기다려야합니다.

    부록 B에 있는 PEM 형식의 샘플 암호화 된 개인 키 (2048 비트) 섹션 에서 샘플 암호화 된 개인 키를 PEM 형식으로 찾을 수 있습니다 .

  • 새 CA 인증서 서명 요청 생성

    이것은 4 장의 인증서 요청 생성  절에 설명 된 절차 입니다. 본질적으로 인증서 요청은 이전 옵션으로 생성 된 CA 의 공개 키로 나중에 자체 서명되도록 생성됩니다.

  • CA 인증서 요청 내보내기

    이 옵션은 위에 생성 된 CA 인증서 요청을 내 보냅니다. 파일 시스템에서 CSR 에 해당하는 파일이 작성됩니다.

  • 자체 서명 된 CA 인증서 생성

    이 옵션은 생성 된 CSR 을 사용하여 CA 인증서를 만듭니다. 이것은 CA 의 공개 키로 서명합니다.

  • CA 인증서 내보내기

    이 옵션은 생성 된 CA 인증서를 루트 CA 인증서로 내보내거나 때로는 루트 CA 인증서 라고도 합니다. 이 증명서의 사본은 대중에게 제공되어야합니다.

요청

  • 가져 오기 요청

    CA 에 서명하기 위한 요청 (CSR) 을 가져옵니다. RAServer 관리자는 요청 내보내기 명령을 사용하여 인증서 서명 요청을 이동식 매체로 내보낼 수 있습니다. 이 명령을 사용하면 CAServer 관리자가 서명을 검색합니다.

  • 대기중인 요청

    CA 에 있는 보류 중 요청을 표시합니다. 우리는 같은 점에 유의해야합니다. 우리가 인증서 서명 요청을 설명합니다. 보류중인 요청은 인증 기관에 업로드 되고 서명을 기다리는 요청입니다. <= 번역이 좀 이상함 ㅠㅠ

    노트

    동일한 용어, 보류중인 요청 은 등록 기관에서 다른 의미로 사용됩니다. 등록 기관에서 보류중인 요청은 등록 기관 관리자가 승인하고 인증 기관으로 전송되는 인증서 서명 요청입니다.

  • 삭제 된 요청

    CA 에 대한 삭제 된 요청을 표시합니다. 인증 기관에 업로드 된 인증서 서명 요청에 최종적으로 권한이 부여되고 서명 될 수 없습니다. CAServer 와 RAServer 의 관계에 대한 현재 레이아웃에서 RAServer 는 각 인증서 서명 요청에 자체 개인 키로 서명합니다. CAServer 는 서명을 검사하고 확인되면 인증서를 만듭니다. 그렇지 않으면 삭제하고 여기에 표시됩니다.

  • 삭제 된 요청 삭제

    CA 에서 삭제 된 요청이 제거됩니다. 이는 요청이 CAServer 의 파일 시스템에서 실제로 제거 됨을 의미합니다.

인증서

  • 발행 된 인증서

    여기에는 인증 기관에서 발행 한 모든 인증서가 표시됩니다.

  • 인증서 내보내기

    이렇게하면 RAServer 에 전달할 수 있도록 인증서가 이동식 미디어로 내보내집니다. 개별 소유자에게 인증서를 배포하는 것은 RAServer 의 책임입니다.

인증서 해지 목록 CRL

  • CRL 내보내기

    인증서 해지 목록을 RAServer 로 내 보냅니다. RAServer 는 인증서 해지 목록을 알리고 개별 사용자가 사용할 수 있도록 하는 책임이 있습니다.

RA 서버 (RAServer)의 기능

이 기능은 등록 기관 (RAServer) 서버의 기능입니다. 다양한 지역 등록 기관 운영자는 CA 에 액세스 하기 위해 사용자의 요청을 대신 하여 이 중개자와 통신합니다. 사용자는 RA 서버와 직접 통신하지 않습니다. RA 서버는 무단 액세스를 방지하기 위해 매우 높은 수준의 보안 수준을 유지해야합니다. RAServer 는 등록 기관 관리자가 관리합니다. 사용 가능한 작업은 다음에 나열됩니다.

소스 코드를 숙독하는 동안 주 등록 기관 서버가 RAServer 로 설명됩니다 .

노트

이 섹션의 내용은 앞으로 변경 될 수 있습니다.

요청

  • 요청 내보내기

    승인 된 요청을 CAServer 로 내보냅니다.

  • 대기중인 요청

    RAServer 관리자의 승인을 기다리는 인증서 서명 요청 표시. 승인은 신원 확인 서류 또는 기타 신임장을 기반으로 할 수 있습니다.

  • 승인 된 요청

    RAServer 관리자가 이미 승인한 인증서 서명 요청 표시. 이 인증서 서명 요청은 요청 내보내기 기능을 사용하여 CAServer 로 전송됩니다 .

  • 내 보낸 요청 삭제

    승인 된 요청을 CAServer 에 내보낸 후 이 옵션을 사용하여 제거 할 수 있습니다.

인증서

  • CA 인증서 가져 오기

    인증 기관 인증서를 가져와 로컬 파일 시스템에 저장합니다. 이 증명서 사본은 이해 관계자에게 인접한 명령을 사용하여 발행됩니다.

  • 새 인증서 가져 오기

    CAServer 에서 새로 서명한 인증서를 가져옵니다. 인증서는 로컬 파일 시스템으로 복사됩니다.

  • 인증서를 LDAP 로 내보내기

    이 명령은 인증서를 지정된 LDAP 서버로 내보냅니다 사용자는 RAServer 에 직접 문의하는 대신 LDAP 서버에 액세스 하여 인증서를 검색합니다 .

인증서 해지 목록 CRL

  • CRL 가져 오기

    인증서 발급 요청을 인증 기관에서 가져와 게시 할 수 있습니다.

  • 인증서 해지 요청 내보내기

    승인된 해지 요청을 CAServer 로 내 보냅니다. 그런 다음 CAServer 는 이러한 인증서를 취소합니다.

기타 유틸리티

  • 새로 발급된 인증서에 대해 사용자에게 전자 메일 보내기

    이는 인증서가 준비되었고 지시된 절차에 따라 인증서를 수집해야 함을 사용자에게 알려줍니다.

  • 임시 파일 삭제 (인증서를 가져온 후에).

    이것은 정리 명령입니다. OpenCA 의 현재 구현을 통해 사용자에게 알림이 전송되면 임시파일이 생성되어 전송할 전자 메일을 나타냅니다. 이러한 파일이 삭제 되지 않으면 다음번 메일 발송에서 이미 알림을 받은 사용자에게 다시 알림이 전송됩니다.

RA 운영자 ( RA 운영자 )의 기능

공용 서버 (사용자가 실제로 액세스 할 수있는 서버)는 인증서를 요청하고 배달하는 등 안전하게 구성된 서버입니다. 이것은 인터넷의 CA 인프라에 대한 유일한 진입 점입니다.

소스 코드는 로컬 보안 RA 서버를 RAOperator 로 설명합니다.

노트

이 섹션의 내용은 앞으로 변경 될 수 있습니다.

루트 CA 인증서 받기

이를 통해 사용자는 인증 기관의 루트 인증서를 브라우저로 가져올 수 있습니다. 이것은 기본적이고 중요한 절차입니다. 인증서 발급 기관 인증서의 유효 기간중 한 번만 발생합니다. 다른 문서에서는 이 인증서를 루트 인증서 로 설명합니다클라이언트가 인증 기관과 안전하게 통신 할 수 있도록 하는 시작 지점입니다.

인증서 해지 목록

인증서 해지 목록 페이지가 나타납니다. 여기에서 인증 기관에서 생성한 인증서 해지 목록을 브라우저 또는 다른 응용 프로그램으로 가져옵니다.

  • OpenCA 의 인증서 해지 목록 (DER 형식)

    이 옵션을 사용하면 브라우저에서 가져올 수 있는 인증서 해지 목록이 생성되어 브라우저의 CRL 목록에 자동으로 포함됩니다. CRL 은 DER 형식입니다.

  • OpenCA 의 인증서 해지 목록 (PEM 형식)

    이 옵션을 사용하면 인증서 해지 목록이 PEM 형식으로 생성됩니다. 위와 비슷합니다.

  • OpenCA 의 인증서 해지 목록 (TXT 형식)

    이 옵션을 사용하면 인증서 해지 목록이 텍스트 형식으로 생성됩니다. 이 명령으로 생성 된 파일은 매우 클 수 있습니다.

인증서 요청

인증서를 요청하는 절차를 시작하십시오.

요청 된 인증서 얻기

이를 통해 사용자는 발급된 인증서를 검색한 다음 응용 프로그램으로 가져 올 수 있습니다. 사용자는 등록 기관 (RA, Registration Authority) 에서 통지 전자 우편을 수신하고 인증서를 검색하기 위한 지시 사항을 프롬프트 합니다. 전자 우편에는 인증서를 검색하기 위해 RAOperator 에게 제시해야 하는 인증서의 일련 번호가 있습니다. 일련 번호는 어떤 인증서가 검색 되는지에 대한 식별 정보로 사용됩니다. 이것은 인증 목적으로는 사용 되지 않습니다.

발행 된 인증서 목록

이 옵션은이 인증 기관의 발급 된 인증서 목록을 제공합니다.

OpenCA 프로젝트 현황

OpenCA 프로젝트는 빠르게 진화하고 있습니다. 현재 (2000 년 5 월) 당시의 버전은 0.2.0입니다. 최신 릴리스 정보는 OpenCA 상태 페이지에서 찾을 수 있습니다.

미래의 OpenCA 작업

이 절에서는 OpenCA 에 필요한 향후 작업에 대해 설명합니다.

  • OpenCA 의 현재 레이아웃 ( 그림 7-1 참조 )은 아직 여러 CAServer 또는 RAServer 를 지원하도록 확장 할 수 없습니다. 현재 CA 를 간단하고 안전하며 깨끗하게 구현하는 것이 더 중요하기 때문에 우선 순위가 높은 문제는 아닙니다.

  • LDAP 지원에 대한 추가 작업을 수행하십시오.

  • 또한 OpenCA 사용율이 높을수록 확장성 문제가 있습니다. 현재 구현은 Perl CGI 스크립트를 사용합니다이 스크립트는 openssl 응용 프로그램을 호출합니다 이 두 개의 큰 실행 파일 ( perl 과 openssl ) 을 호출하는 오버 헤드는 상당합니다. 하드웨어 구성에 따라 실제 메모리가 모두 소모되는 한계가 있습니다. 시스템이 심하게 스와핑을 시작하고 부하가 높습니다.

    가능한 해결책은 Apache WWW 서버에 mod-perl 을 사용하는 것입니다이렇게 하면 향후 보안 검토에 포함되어야 하는 새로운 구성 요소가 추가됩니다.

    OpenSSL 라이브러리를 호출하면 openssl 응용 프로그램을 호출하는 것보다 훨씬 더 효율적 입니다. Perl 과 C 는 모두 라이브러리 함수 호출을 지원합니다.

  • 현재 OpenCA 레이아웃 ( 그림 7-1 참조 ) 에서 CAServer 는 네트워크에 연결되지 않은 것으로 표시됩니다. 이동식 매체를 사용하여 RAServer 와 통신합니다. 네트워크로 연결된 구성을 허용하고 고도의 보안을 유지하는 솔루션이 있을 수 있습니다.

  • 정확성을 위해 설치를 테스트하고 스풋 기능을 평가하려면 테스트 슈트가 필요합니다. cURL 과 같은 OpenCA 응용 프로그램의 현재 구현은 테스트 스위트 작성에 사용 될 수 있습니다. cURL 은 SSL / TLS 연결을 지원합니다. 그것은 오픈 소스 명령 줄 응용 프로그램입니다. cURL - URL 링크를 가져오는 클라이언트 에서 찾을 수 있습니다.

  • OpenCA 소프트웨어 및 그 구성 요소에는 보안 검토가 필요합니다.

  • 스마트 카드는 OpenCA Project 에서 사용할 수 있습니다. Linux® 는 스마트 카드를 지원합니다. 정보는 MUSCLE 스마트 카드 홈페이지에 있습니다. PC / SC 와 OCF ( JNI를 통해 ) 를 지원합니다. PC / SC 의 지원은 더 완료하고 필요에 따라서 필요한 성능을 제공 할 수 있습니다. 또한 Perl 및 C 를 통해 액세스 할 수 있습니다.

  • OpenCA 는 다양한 언어로 구현 될 수 있습니다. 이것에 대한 결정은 이익과 소스 코드 포크 문제의 가중치가 되어야합니다.

  • OpenCA 의 국제화.  perl 이 가지고 있는 gettext 지원으로 이 작업을 수행 할 수 있습니다. 그러나 이것은 소프트웨어가 안정화 될 때까지 기다려야합니다.


오스카 (Oscar) 공개 키 인프라 프로젝트

오스카 (Oscar)는 퀸즐랜드 공과 대학 (Queensland University of Technology)의 분산 시스템 기술 센터 (Distributed Systems Technology Center) 에서 공개 키 기반 구조를 만드는 프로젝트입니다. OpenSSL 을 사용하는 다른 구현과 달리 GMP 라이브러리를 직접 사용하여 암호화 기능을 구현합니다. 선택한 프로그래밍 언어는 C ++입니다.

오스카의 라이센스는 비상업적인 소프트웨어 사용을 허용합니다. 상업적으로 사용하려면 라이센스를 얻어야합니다. 이것은 GNU 또는 Apache 스타일 라이센스와 호환되지 않습니다.



Jonah : 프리웨어 PKIX 참조 구현

Jonah 는 공개 키 인프라에 사용할 수 있는 PKIX 표준을 프리웨어 (IBM에서 사용하는 용어로 오픈 소스 로 언급하지 않음) 입니다. PKIX 표준을 처음부터 준수하도록 설계된 구현 중 하나이며 표준화 프로세스에 대한 중요한 피드백을 생성했습니다. Jonah 의 핵심은 C++로 작성 되었으며 서버 구성 요소는 Java 애플릿을 사용하여 액세스 합니다. C++ 코드는 Windows NT, Solaris 및 AIX 와 호환됩니다. Jonah 는 IBM 과 IBM 의 자회사 인 Lotus 및 Iris 의 내부 목적을 다른 구현 간의 상호 운용성 도구로 사용하고 향후 IBM 제품의 일부로 기본으로 작성 되었음 을 강조해야합니다.

아직 Linux 포트가 없으며, 이는 여러 가지 문제로 인한 것일 수 있습니다. 처음에 선택된 개발 환경은 Windows NT 에 유닉스 환경을 제공하는 MKS 툴킷을 사용하고 있었습니다. 다음 버전에서는 ODE 환경이 선택되었습니다. 둘 다 Linux 와 호환되지 않으며 함께 작동하게 하려면 약간의 작업이 필요합니다. 또한 암호화 지원을 위해서는 현재 제한된 Cylink 암호화 라이브러리를 사용해야 합니다. 다음 버전에서는 RSA Security 의 BSafe Toolkit 이 선택되었습니다. 암호 학적으로 현명한 BSafe 는 훨씬 성숙하고 인기가 있습니다. 그러나 이 제품은 상용 제품이며 라이센스 문제를 조사한 상태입니다.

Jonah 는 CDSA (Common Data Security Architecture) 를 사용하여 암호화 지원 선택에 투명성을 부여합니다. CDSA (Common Data Security Architecture)는 클라이언트 - 서버 환경에서 플랫폼 간, 상호 운용 가능한 보안 기반 응용 프로그램을 만들 수 있는 인프라를 제공하는 계층화된 보안 서비스 및 암호화 프레임 워크 세트입니다. CDSA 솔루션은 보안 기능의 모든 필수 구성 요소를 다루고, 전자 상거래 및 기타 비즈니스 응용 프로그램을 암호화, 인증서 관리, 신뢰 정책 관리 및 키 복구 기능을 제공하는 서비스로 보호합니다. CDSA 는 Intel 에서 개발했으며 OpenGroup 에서 표준화되었습니다.

Jonah 는 암호 문제로 인해 완전한 기능을 제공하지 않습니다. 정확히 말하자면 Jonah 는 CDSA 지원에 관한 라이센스 문제로 인해 현재 사용할 수 없습니다. Intel 은 CDSA 버전 2를 발표함으로써 Jonah 가 사용하는 CDSA 버전을 배포하는 것을 불법으로 만들었습니다. Jonah 의 마지막 무료 배포본은 CDSA 버전 1.2를 사용하고 있었습니다.

Jonah 는  라이센스 하에서 배포됩니다.



Mozilla 오픈 소스 PKI 프로젝트

현재 PKI 기술을 최대한 활용하는 소프트웨어 응용 프로그램은 WWW 브라우저입니다. 이 중요성은 넷스케이프에 의해 실현 되었으며, 브라우저와 서버 소프트웨어 모두에 대한 암호화 및 보안의 통일된 지원을 돕기위해 두 개의 라이브러리를 생성하게되었습니다. 이 라이브러리는 NSS (Network Security Services) 및 PSM (Personal Security Manager) 이며 PKI 의 기능을 제공합니다.

이 라이브러리들은 수출 통제 규정에 시달리고 있으며 현재 수출 허가를 받기 위해 검토 중입니다. 그러나 이 경우 소스 코드의 릴리스를 더욱 어렵게 만드는 암호화 소프트웨어의 일부를 다루는 특허 및 라이센스에 대한 추가 문제가 있습니다. 현재 배포 된 소스 코드에는 전체 기능이 포함되어 있지 않으므로 컴파일 할 수 없습니다. 이 절차의 결과는 아직 알 수 없습니다. 반면에 이 라이브러리의 바이너리 버전은 모두 미국에서 사용할 수 있고 내보낼 수 있습니다. 라이센스 및 암호화 문제에 대한 자세한 내용은 적절한 Mozilla Crypto FAQ 를 참조하십시오 .

이 라이브러리 (제 3 자의 암호 및 특허 구성 요소에 대한 코드 제외) 는 Mozilla Public License 및 GNU General Public License 의 적용을 받습니다. 사용은 MPL 조건 또는 GPL 조건 중 하나 인 소스 코드를 사용하는 두 가지 라이센스 중 자유롭게 선택할 수 있습니다.

개인 보안 관리자 ( PSM )

개인 보안 관리자 (PSM)는 클라이언트 독립적인 데스크톱 보안 모듈입니다. 인증서 및 키 관리, SSL, S/MIME, 암호화 토큰 지원 및 중앙 집중식 관리를 포함하여 데스크톱 클라이언트 응용 프로그램 대신 PKI 작업을 수행합니다.

자세한 정보는 Personal Security Manager (PSM) WWW 페이지 에서 찾을 수 있습니다 .

네트워크 보안 서비스 ( NSS )

NSS (Network Security Services)는 보안이 활성화 된 서버 응용 프로그램의 플랫폼 간 개발을 지원하도록 설계된 라이브러리 세트입니다. NSS 로 구축 된 응용 프로그램은 SSL v2 및 v3, TLS, PKCS # 5, PKCS # 7, PKCS # 11, PKCS # 12, S / MIME, X.509 v3 인증서 및 기타 보안 표준을 지원할 수 있습니다.

자세한 내용은 NSS (Network Security Services) WWW 페이지를 참조하십시오.

클라이언트 인증서 관리를위한 JavaScript API

Personal Security Manager의 일부로 클라이언트 인증서 관리를위한 새로운 JavaScript API가 구현되었습니다. 이것의 효과는 특정 클라이언트 PKI 기능이 같은 구현 수 있도록 브라우저로 이동할 수있다 라는 부분 OpenCA 프로젝트 [TODO] 와 라는 섹션 pyCA 인증 기관이 완전히 활용할 수 있습니다.

다음은 PSM 버전 1.0에서 지원되는 기능입니다.

  1. 사용자가 등록 양식을 작성

  2. 사용자 조치는 스크립트를 시작합니다 (예 : 제출을 누르십시오).

  3. 스크립트는 키 생성 메소드를 호출합니다.

  4. 암호화 및 서명 키 쌍이 생성됩니다.

  5. 암호화 개인 키는 KRA (Key Recovery Authority)의 공개 키로 래핑 됩니다 KRA 의 공개 키는 스크립트의 일부로 인증서 형태로 전달되며 로컬 인증서 데이터베이스에 미리 설치된 인증서 사본과 비교하여 검사됩니다.

  6. 암호화 및 공개 키, 랩핑 된 암호화 공개 키 및 스크립트의 텍스트 문자열은 모두 사용자의 개인 키로 서명됩니다. 텍스트 문자열은 이름 지정 또는 등록 정보를 포함 할 수 있습니다.

  7. 서명 된 정보는 스크립트 (PSM 에서)로 리턴 됩니다.

  8. 스크립트는 서명 된 정보 및 기타 필요한 정보를 CA / RA 에 제출합니다.

  9. CA / RA 는 서명 된 정보의 서명을 검증합니다.

  10. CA / RA 는 사용자의 신원을 확인합니다.

  11. CA / RA 는 포장 된 암호화 개인 키를 KRA 에 보냅니다.

  12. KRA 는 에스크로 확인 정보를 다시 CA 에 보냅니다.

  13. CA 는 인증서를 만들고 서명합니다.

  14. CA 는 작성된 인증서를 다시 PSM 가능 브라우저로 보냅니다.

  15. 인증서가 저장됩니다.

자세한 내용은 클라이언트 인증서 관리 WWW 페이지 JavaScript API 를 참조하십시오.



MISPC 참조 구현

미국 정부 표준 기술 연구소 (NIST) 는 AT & T, BBN, Certicom, Cylink, DynCorp, IRE, Motorola, Nortel 등 10 개 파트너의 도움을 받아 버전 1 의 PKI 구성 요소 (MISPC) 버전 최소 상호 운용성 사양을 개발했습니다 . Entrust, Spyrus 및 Verisign 이 있습니다. 사양에는 인증서 및 CRL 프로필, 메시지 형식 및 서명 인증서를 발급하는 PKI 의 기본 트랜잭션이 포함됩니다. 또한 다양한 보안 정책을 지원하기 위해 여러 서명 알고리즘 및 트랜잭션을 지원합니다.

사양과 함께 NIST 의 CDROM 을 주문 해야만 사용할 수 있는 참조 구현이 있습니다. CDROM 에는 암호화 모듈에 대한 지원이 없습니다. 이 구현은 Windows 에서만 실행되는 것으로 보입니다. 소스 코드는 C++ 입니다.

참조 구현에 대한 자세한 내용은 MISPC 참조 구현 WWW 페이지를 참조하십시오.










반응형
Comments