- 인증서
- 인증기관(CA, Certificate Authority)
- 사설 인증기관 (Private CA)
- OpenSSL로 인증서 만들기
- OpenSSL 설치
- 사설 인증서 만들기
- 개인키와 공개키 만들기
- Root CA 만들기
- 서버 인증서 만들기
- 공동인증서
- 금융인증서
- 인증서 종류
- 인증 수단
- 용어
인증서
인증기관(CA, Certificate Authority)
안정한 인증서 관리를 위한 표준과 권고 사항에 대한 요구를 만족하여야 한다.
인증서 발급, 조회, 폐기 등에 대한 다양한 기능 제공
Windows에서 신뢰할 수 있는 CA 등록 방법
Windows의 운영체제에서 루트 인증서 저장소에 CA 인증서 설치
Browser에서 신뢰할 수 있는 CA 등록 방법
사설 인증기관 (Private CA)
OpenSSL로 인증서 만들기
OpenSSL 설치
#--- openssl 설치
# yum install openssl
rpm -qa openssl
openssl version
mkdir -p /work/zzwork/ssl
사설 인증서 만들기
cd /work/zzwork/ssl
#--- 2048 bits 사설 인증서(private.key) 생성
#--- 삼중 DES 암호화 적용
openssl genrsa -des3 -out private.key 2048
#--- 인증서에서 암호 삭제
openssl rsa -in private.key -out private.pem
# cp private.key private.key.enc
# openssl rsa -in private.key.enc -out private.key
개인키와 공개키 만들기
#--- 인증을 위한 키(dsa1024.pem) 생성
openssl dsaparam 1024 -out dsa1024 -out dsa1024.pem
#--- 개인키(private.pem, privateKey.pem) 생성
#--- -days 365 : 365일간 사용 가능
openssl req -x509 -nodes -days 365 -newkey dsa:dsa1024.pem -out private.pem -keyout privateKey.pem
Country Name (2 letter code) [XX]:KR
State or Province Name (full name) []:Gyeonggi-do
Locality Name (eg, city) [Default City]:Seongnam-si
Organization Name (eg, company) [Default Company Ltd]:OBCon Inc.
Organizational Unit Name (eg, section) []:Service Platform Division
Common Name (eg, your name or your server's hostname) []:www.obcon.biz
Email Address []:pnuskgh@gmail.com
#--- 공개키(mycert.pem) 생성
#--- -days 365 : 365일간 사용 가능
openssl req -x509 -new -days 365 -key privateKey.pem -out public.pem
Country Name (2 letter code) [XX]:KR
State or Province Name (full name) []:Gyeonggi-do
Locality Name (eg, city) [Default City]:Seongnam-si
Organization Name (eg, company) [Default Company Ltd]:OBCon Inc.
Organizational Unit Name (eg, section) []:Service Platform Division
Common Name (eg, your name or your server's hostname) []:www.obcon.biz
Email Address []:pnuskgh@gmail.com
Root CA 만들기
#--- 2048 bits key 파일(rootCA.key) 생성
#--- genras : RSA 방식으로 개인키 생성
#--- -aes256 : 개인카를 AES256으로 암호화
openssl genrsa -aes256 -out rootCA.key 2048
Enter pass phrase for rootCA.key:비밀번호
Verifying - Enter pass phrase for rootCA.key:비밀번호
chmod 600 rootCA.key
#--- 인증서 요청(rootCA.csr) 생성
# openssl req -new -key rootCA.key -out rootCA.csr
Enter pass phrase for rootCA.key:비밀번호
Country Name (2 letter code) [XX]:KR
State or Province Name (full name) []:Gyeonggi-do
Locality Name (eg, city) [Default City]:Seongnam-si
Organization Name (eg, company) [Default Company Ltd]:OBCon Inc.
Organizational Unit Name (eg, section) []:Service Platform Division
Common Name (eg, your name or your server's hostname) []:www.obcon.biz
Email Address []:pnuskgh@gmail.com
A challenge password []: #--- 인증서 비밀번호
An optional company name []:
vi rootCA.conf
[req]
default_bits = 2048
default_md = sha1
default_keyfile = rootCA.key
distinguished_name = req_distinguished_name
extensions = v3_ca
req_extensions = v3_ca
[v3_ca]
basicConstraints = critical, CA:TRUE, pathlen:0
subjectKeyIdentifier = hash
##authorityKeyIdentifier = keyid:always, issuer:always
keyUsage = keyCertSign, cRLSign
nsCertType = sslCA, emailCA, objCA
[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = KR
countryName_min = 2
countryName_max = 2
organizationName = Organization Name (eg, company)
organizationName_default = OBCon Inc.
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default= Service Platform Division
commonName = Common Name (eg, your name or your server's hostname)
commonName_default = www.obcon.biz
commonName_max = 64
openssl req -new -key rootCA.key -out rootCA.csr -config rootCA.conf
#--- Self Signed Certificate (rootCA.crt) 생성
#--- -days 365 : 365일간 사용 가능
openssl x509 -req -days 365 -extensions v3_ca -set_serial 1 -in rootCA.csr -signkey rootCA.key -out rootCA.crt -extfile rootCA.conf
openssl x509 -text -in rootCA.crt
서버 인증서 만들기
#--- 2048 bits key 파일(server.key) 생성
#--- genras : RSA 방식으로 개인키 생성
#--- -aes256 : 개인카를 AES256으로 암호화
openssl genrsa -aes256 -out server.key 2048
# openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
# openssl rsa -passin pass:x -in server.pass.key -out server.key
#--- key 파일에서 암호를 제거하고 싶은 경우
cp server.key server.key.enc
openssl rsa -in server.key.enc -out server.key
chmod 600 server.key
#--- 인증서 요청(server.csr) 생성
vi server.conf
[req]
default_bits = 2048
default_md = sha1
default_keyfile = rootCA.key
distinguished_name = req_distinguished_name
extensions = v3_user
[v3_user]
basicConstraints = CA:FALSE
authorityKeyIdentifier = keyid,issuer
subjectKeyIdentifier = hash
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth,clientAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.obcon.biz
DNS.2 = obcon.biz
DNS.3 = *.obcon.biz
[req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = KR
countryName_min = 2
countryName_max = 2
organizationName = Organization Name (eg, company)
organizationName_default = OBCon Inc.
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default= Service Platform Division
commonName = Common Name (eg, your name or your server's hostname)
commonName_default = www.obcon.biz
commonName_max = 64
openssl req -new -key server.key -out server.csr -config server.conf
#--- 서버 인증서 (server.crt) 생성
#--- -days 365 : 365일간 사용 가능
openssl x509 -req -days 365 -extensions v3_user -in server.csr -CA rootCA.crt -CAcreateserial -CAkey rootCA.key -out server.crt -extfile server.conf
openssl x509 -text -in server.crt
공동인증서
구 공인인증서
유효기간 : 1년
물리적인 매체에 저장
금융인증서
공인인증서의 보안을 강화하고 편의성을 개선한 인증서로 2020.12.10부터 실행
3년의 유효기간을 가지며 금융결제원 클라우드에 저장
인증서 종류
인증 | 통신사 PASS | 카카오페이 인증 | 토스 인증 | 네이버 인증 | KB모바일 인증 |
---|---|---|---|---|---|
발급 | 2000만 | 2000만 | 2300만 | 200만 | 570만 |
유효 기간 | 3년 | 2년 | 3년 | 3년 | 없음 |
제휴 | 국세청 홈택스, 정부24 | 금융, 공공기관 | 금융, 공공기관 | 지방세/자동차세 납부 | KB금융 비대면 서비스 |
보안 | 명의 인증 기기 인증 |
인증 수단
6자리 비밀번호
지문
패턴
용어
Digital Certificate (인증서)
CA (Certificate Authority, 인증기관)
ROOT CAT : 최상위 인증기관
SSC (Self Signed Certificate)
CSR (Certicate Signing Request, 인증 요청서)
인증기관에 인증서 발급을 요청하는 ASN.1 형식의 파일
PKI (Public Key Infrastructure, 공개키 기반 구조)
최종 수정일: 2024-09-30 12:26:19
이전글 :
다음글 :