2008년 02월 15일
블로그 이사 갑니다.
# by | 2008/02/15 17:03 | 트랙백 | 덧글(0)
2. PKCS 구성 및 현황
PKCS는 1991년 3월 NIST/OSI Implementator´s Workshop에서 문서 SECSIG9116으로 발표된 이후, 1993년 11월 1일 여러 부분의 편집 과정을 거쳐 일관성 있는 문서 방식으로 개선되어 발표되었으며, 이후 수많은 갱신과정을 거쳐 현재는 <표 1>와 같은 현황을 보이고 있다.
<표 1> PKCS 구성 및 현황
구 분 제 목 버 전 일 시
PKCS#1 RSA Encryption Standard(PKCS2/PKCS4포함) 1.5 1993. 11
PKCS# 3 DiffieHellman KeyAgreement Standard 1.4 1993. 11
PKCS# 5 PasswordBased Encryption Standard 1.5 1993. 11
PKCS# 6 ExtendedCertificate Syntax Standard 1.5 1993. 11
PKCS# 7 Cryptographic Message Syntax Standard 1.5 1993. 11
PKCS# 8 PrivateKey Information Syntax Standard 1.2 1993. 11
PKCS# 9 Selected Attribute Types 1.1 1993. 11
PKCS#10 Certification Request Syntax Standard 1.0 1993. 11
PKCS#11 Cryptographic Token Interface Standard 2.01 1997. 12
PKCS#12 Personal Information Exchange Syntax Standard 1.0(Draft) 1997. 4
PKCS#13 Elliptic Curve Cryptography Standard Project 진행중
PKCS#14 Pseudorandom Generator Standard Project 진행중
3. PKCS 각 표준에 대한 요약 ·
PKCS#1 : RSA Encryption Standard PKCS#1은 RSA 공개키를 이용해 데이터를 암호화시키는 rsaEncryption이란 메쏘드에 대한 내용을 다루고 있다.
이러한 RSA 암호화는 PKCS#7에서 설명될 디지털 서명(digital signature)과 디지털 봉투(digital envelope)을 위해 사용된다.
또한, PKCS#1은 RSA 공개키와 비밀키를 위한 구문(syntax)을 설명하고 있다.
공개키 구문은 인증서(certificate)에서 사용되며, 비밀키 구문은 일반적으로 암호화된 비밀키(PKCS#8)에 사용된다.
여기서 공개키 구문은 X.509 및 PEM에서의 구문과 동일하기 때문에 X.509/PEM RSA 키들은 PKCS#1에서도 사용될 수 있다.
PKCS#1은 또한 X.509/PEM 인증서, 인증서 취소 리스트(certificaterevocation list), PKCS #6의 확장된 인증서(extended certificate)를 위한 서명이나 X.400 메시지 토큰과 같은 디지털 서명을 위해서 세 개의 서명 알고리즘(md2WithRSAEncryption, md4WithRSAEncryption, md5WithRSAEncryption)들을 정의하고 있다. ·
PKCS#3 : DiffieHellman Key Agreement Standard PKCS#3은 DiffieHellman 키 분배 구현을 위한 메쏘드를 설명한다.
DiffieHellman 키 분배는 일반적으로 대칭형 암호 시스템을 사용하고자 하는 두 사용자간의 비밀키(secret key) 셋업을 위해 사용된다.
여기서는 OSI의 전송 및 네트워크 계층에서의 안전한 연결을 구축하기 위한 프로토콜에 사용되는 것을 기본 목적으로 한다. ·
PKCS#5 : PasswordBased Encryption Standard PKCS#5는 패스워드로부터 파생된 비밀키(secret key)를 가지고 8진 스트링을 암호화시키는 메쏘드를 설명한다.
이것은 PKCS#8에서 설명된 것처럼 한 컴퓨터에서 다른 컴퓨터로 비밀키(secret key)들을 전송시키는 경우 그러한 키들에 대한 암호화를 응용 목적으로 한다. ·
PKCS#6 : Extendedcertificate Syntax Standard PKCS#6은 확장된 인증서들에 대한 구문을 설명한다.
확장된 인증서는 X.509 공개키 인증서와 속성(attribute)들의 집합들을 포함한 서명문으로 구성된다.
이러한 확장된 인증서는 서명 검증과정을 통해 검증이 되며, PEM과 같은 응용을 위해 공개키 인증서만을 추출할 수 있다. ·
PKCS#7 : Cryptographic Mesage Syntax Standard PKCS#7은 디지털 서명이나 디지털 봉투와 같은 암호 응용에 대한 결과가 가질 수 있는 일반적인 구문 표현에 대해 설명한다.
PKCS#7은 PEM과 호환이 되며, 이것은 PKCS에서의 서명 등이 어떠한 변환 작업 없이 PEM에서도 사용될 수 있다는 것을 의미한다.
물론, 이것의 역도 가능하다. 또한, PKCS#7에 따라 생성된 값들은 전형적으로 8진 스트링을 취하는 BER(Basic Encoding Rule) 인코딩이 된다. ·
PKCS#8 : PrivateKey Information Syntax Standard PKCS#8은 비밀키 정보를 위한 구문을 정의한다.
비밀키 정보는 어떤 공개키 알고리즘에 대한 비밀키와 그것에 대한 속성들로 구성된다. 또한, 본 표준은 암호화된 비밀키에 대한 구문 설명도 포함한다. ·
PKCS#9 : Selected Attribute Types PKCS#9는 PKCS#6의 확장된 인증서, PKCS#7의 디지털 서명된 메시지, 그리고 PKCS#8의 비밀키 정보에서 사용될 선택된 속성 타입들을 정의한다. ·
PKCS#10 : Certification Request Syntax Standard PKCS#10은 인증(certification) 요구서를 위한 구문을 정의한다.
인증 요구서는 식별자(distinguished name), 공개키, 그리고 선택사항인 속성들의 집합으로 이루어지며, 인증기관(certification authority)에 전송된다.
PKCS#10의 초기 목적은 PKCS#7의 암호학적 메시지 지원을 위한 것이며, 다른 응용들도 개발될 것으로 기대된다. ·
PKCS#11 : Cryptographic Token Interface Standard PKCS#11은 일반적으로 CAPI라고 불리우는 보안 서비스 API를 정의한 것이다.
이 표준은 “Cryptoki"라는 API로 불리우며, ANSI C 프로그래밍 언어를 사용함으로써 암호학적 서비스 구현에 이용 가능한 데이터 타입과 함수들을 상술한다.
본 문서에서 상술되는 “Cryptoki"의 장점은 개발할 응용서비스와 암호학적 서비스를 제공하는 장치들 간의 상호 관계를 상호 독립적으로 만들어 준다는 점이다.
즉, 개발자들은 “Cryptoki"에 명시된 데이터나 함수들만을 사용함으로써 암호학적 장치의 사용 방법이나, 장치에 대한 세부적인 지식 없이도 암호 응용 서비스를 쉽게 구현 할 수 있다.
이것은, 바꾸어 말하면, “Cryptoki"에 의해 개발된 암호 응용은 시스템들 간에 쉽게 호환 가능하다는 것이다
# by | 2008/01/24 11:08 | 보안 | 트랙백 | 덧글(0)
# by | 2007/11/20 17:27 | 코코아?팥빙수? | 트랙백 | 덧글(0)
IT 업계에 일하면서 정품 소프트웨어에 대한 인식이 부족했던게 사실이다.
공부한다는 변명으로 몇백만원짜리 소프트웨어를 어둠의 경로로 받아쓰고 휴대용 게임역시 많은 비용이 든다고 에뮬레이터를 이용하고... 왠지 부끄럽게 느껴진다.
대부분의 가정에서 사용되고 있는 윈도우역시 비용을 들이지 않고 사용하는것이 당연시 되어왔는게 사실이다.
마이크로소프트라는 거대 괴물을 상대로 새총들고 싸우는 사람들도 있지만 그 영향력은 미비할뿐이다.
마소라는 괴물이 쓰러지기를 바라는 사람으로 쓸만한 오픈소스, 프리웨어를 몇가지 올린다.
1. 리눅스 : 윈도우를 대신할 수 있는 운영체제이다.
(사실 사용하기는 여러가지 어려운점이 있다...ㅡㅡ;)
http://fedoraproject.org/ (요즘은 페도라를 쓰는군...)
2. 파이어폭스 : 인터넷 서핑의 필수품(?) 브라우저다. 쓸만한 플러그인이 많다.
http://www.mozilla.or.kr/products/firefox/
3. 이미지 뷰어 / 에디트 툴
- XnView (한글가능하고 캡처기능 및 뷰잉기능이 뛰어나다. 포털사이트에서 찾으면 많이 나온다.)
- PicBear (pbse200rc5.exe) / Print.NET(http://www.getpaint.net/index.html)
포토샵 대용으로 쓸만한 프로그램입니다.
물론 포토샵만큼 수많은 기능은 없지만 간단하게 이미지에 글자를 넣거나 할때 쓰기 편하다.
이건 디자이너 분들에게 추천하는게 아닙니다.
참고 : PicBear설치시 오류는 무시하고 설치 하면 된다.
4. OpenOffice 2.0 (http://openoffice.or.kr/main/)
: MS office 파일뿐 아니라 한글파일까지 읽을 수 있다
5. Filezilla (FTP clieant : 포털사이트에서 찾으면 많이 나온다)
: 이미 많은 분들이 사용하고 있으며 사용하기 편하다.
6. 압축 유틸리티 : 빵집(http://www.bkyang.com/)
: 다양한 압축 포맷을 지원하고 사용하기 쉽다.
7. PDF 전환툴 (http://www.primopdf.com/)
: pdf로 파일 프린팅이 가능하다.
8. 개발툴 (http://www.bloodshed.net/dev/devcpp.html)
: Dev-C++ (gcc 기반 개발툴)
이것저것 생각나는데로 올려보았다.
필요한 분들이나 호기심이 많은 분들은 사용해보시기 바랍니다.
추천하고 싶은 프로그램이 있으시면 코멘트 달아주세요.
P.S. 이클립스를 깜빡했네요...ㅡㅡ;
C/C++개발이라 생각을 못했네요...^^;;
# by | 2007/11/20 13:31 | int main() | 트랙백 | 덧글(3)
◀ 이전 페이지 다음 페이지 ▶