기본 콘텐츠로 건너뛰기

keytool 사용법

keytool.exe -genkey -alias juheon -keyalg RSA -keypass 1234qwer -storepass 1234qwer -keystore juheon.jks  keytool.exe -export -alias juheon -storepass 1234qwer -file juheon.cer -keystore juheon.jks  keytool.exe -importkeystore -srckeystore juheon.jks -destkeystore juheon.key.p12 -deststoretype PKCS12  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert  D:\Java\32bit\jdk1.5.0_22\bin\keytool.exe -import -alias tsasample -keystore  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert -file D:\workspace\Servers\tsa-server-web-config\tomcat.cer  keytool -import -alias somansa -keystore C:\Program Files\Java\jdk1.8.0_102\jre\lib\security\cacert -file c:\somansa.cer #인증서 생성  keytool -genkey -alias keyAlias -keyalg RSA -keypass changeit -storepass changeit –validity 9999 -keystore keystore.jks  keytool -export -alias keyAlias -storepass changeit -file server.cer -keystore keystore.jks  keytool -import -v -trustcacerts -alias keyAlias -file server.cer ...

FIPS

FIPS

FIPS 지원 제품을 의무적으로 사용해야 하는 환경에서 이 애플리케이션을 운영하거나 FIPS 인증 암호화 모듈을 통한 보안을 구축하고자 하는 경우 FIPS 모드를 설정해야 합니다. 이 애플리케이션은 FIPS 가이드라인을 도입한 정부 기관 및 기업에 필요한 FIPS(Federal Information Processing Standard: 연방 정보처리 규격) 140-2 암호화 사용을 지원합니다.

FIPS란?

FIPS는 컴퓨터 보안 제품 지침에 대한 일련의 표준입니다. FIPS 인증은 암호화를 사용하는 제품의 모든 부분에 적용됩니다. FIPS 인증 제품은 연구소를 통해 FIPS 140-2(암호화 모듈 보안 요건 표준)를 준수하며 하나 이상의 FIPS 인증 알고리즘을 지원하는 것으로 검증된 제품입니다.

여러 국가의 정부 기관 및 몇몇 민영 기업은 FIPS 인증 제품을 의무적으로 사용하고 있습니다.

FIPS 모드란?

FIPS 모드란 FIPS 승인 알고리즘만 사용하는 구성을 말합니다. 이 애플리케이션을 FIPS 모드에서 운영하도록 구성하면 애플리케이션은 브라우저와 API 인터페이스 모두에서 보안 콘솔과 스캔 엔진 그리고 보안 콘솔과 사용자 간의 통신을 암호화하도록 FIPS 인증 암호화 라이브러리를 구현합니다.


FIPS 단계

FIPS 140-2 에서는 레벨 1 에서 레벨 4 까지 4개의 단계가 있다
  • 레벨 1 : 가장 낮은 수준이며, 최소한의 조건만 충족
  • 레벨 2 : 암호 모듈에 접근하지 못하도록 장치가 되어있으며, 외부 침입자가 접근하였을 경우 흔적이 남도록 되어있음. 암호 모듈에속한 소프트웨어나 펌웨어가 표준 상용 OS에서 동작할수 있어야함.
  • 레벨 3 : 외부 침입자가 물리적으로 접근하였을 경우 저장된 암호키를 삭제함, 암호 모듈에속한 소프트웨어나 펌웨어가 표준 상용 OS에서 동작할수 있어야함.
  • 레벨 4 : 암호 모듈 보호장치의 내부로 침입하기위해 물리적 또는 전기적 접근 시도가 있을시 저장된 암호키를 삭제함, 외부 환경 변화를 감지한 경우 저장된 암호키를 삭제함, 암호 모듈에속한 소프트웨어나 펌웨어가 표준 상용 OS에서 동작할수 있어야함.

FIPS 요구사항 범위

  • 암호화 모듈의 사양 (무엇이 문서화돼야 하는가)
  • 암호 모듈의 포트 및 인터페이스 (무슨 정보가 입출력되는가, 어떻게 분리되는가)
  • 역할, 서비스 및 인증 (누가 무엇을 모듈로 할수 있는가, 그것은 어떻게 확인이 가능한가)
  • 유한 상태 모델 (모듈이 할수 있는 고위레벨의 문서화 및 상태전이가 어떻게 발생하는가)
  • 물리적 보안 (변조 흔적을 남길수 있는 내성을 가져야함, 또 극단적인 환경에서의 내구성)
  • 실행 환경 (어떤 운영체제가 이용되는지)
  • 암호화 키 관리 ( 키 생성,등록,이용,기록 및 폐기)
  • EMI / EMC (전자파에 의한 장애가 생기지 않는가)
  • 자가 진단 테스트 (무엇을 언제 테스트하는가, 테스트를 실패했을때 무엇을 하는가)
  • 설계 보증 (모듈이 충분한 설계 및 구현이 이루어졌음을 나타내야함)
  • 다른 공격의 위험 완화

댓글

이 블로그의 인기 게시물

Tomcat : JDBC JSP

JNDI를 이용하여 Database 연동을 해본다. 1. Oracle XE 설치 Oracel 11g XE를 다운받아 설치.  Download URL  사용자 까지 생성. 2. Resource 등록 %CATALINA_HOME%\conf\server.xml 파일에 DB Resource를 GlobalNamingResources에 등록. 그래야 다른 context에서 참조해서 사용할 수 있다. <GlobalNamingResources>     <!-- Editable user database that can also be used by          UserDatabaseRealm to authenticate users     -->     <Resource name="UserDatabase" auth="Container"               type="org.apache.catalina.UserDatabase"               description="User database that can be updated and saved"               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"               pathname="conf/tomcat-users.xml" />     <Resource name="portal.ds"             auth="Container" ...

keytool 사용법

keytool.exe -genkey -alias juheon -keyalg RSA -keypass 1234qwer -storepass 1234qwer -keystore juheon.jks  keytool.exe -export -alias juheon -storepass 1234qwer -file juheon.cer -keystore juheon.jks  keytool.exe -importkeystore -srckeystore juheon.jks -destkeystore juheon.key.p12 -deststoretype PKCS12  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert  D:\Java\32bit\jdk1.5.0_22\bin\keytool.exe -import -alias tsasample -keystore  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert -file D:\workspace\Servers\tsa-server-web-config\tomcat.cer  keytool -import -alias somansa -keystore C:\Program Files\Java\jdk1.8.0_102\jre\lib\security\cacert -file c:\somansa.cer #인증서 생성  keytool -genkey -alias keyAlias -keyalg RSA -keypass changeit -storepass changeit –validity 9999 -keystore keystore.jks  keytool -export -alias keyAlias -storepass changeit -file server.cer -keystore keystore.jks  keytool -import -v -trustcacerts -alias keyAlias -file server.cer ...

전자서명, 인증서 파일 종류 별 확장자

확장자는 그 파일의 특성이 무엇인지 쉽게 알아 보기 위해서 붙이는 것이지만, 바이너리 이진 파일에 .txt 확장자를 붙일수도 있는 것처럼 말그대로 이름일 뿐이다. 그래서 확장자 보다는 해당 파일의 실제 형식을 확인하는 것이 중요하다. .pem   PEM (Privacy Enhanced Mail)은 Base64 인코딩된 ASCII 텍스트 이다. 파일 구분 확장자로 .pem 을 주로 사용한다.  노트패드에서 열기/수정도 가능하다. 개인키, 서버인증서, 루트인증서, 체인인증서 및  SSL 발급 요청시 생성하는 CSR 등에 사용되는 포맷이며, 가장 광범위하고 거의 99% 대부분의 시스템에 호환되는 산업 표준 포맷이다. (대부분 텍스트 파일) .crt 거의 대부분 PEM 포맷이며, 주로 유닉스/리눅스 기반 시스템에서 인증서 파일임을 구분하기 위해서 사용되는 확장자 이다. 다른 확장자로 .cer 도 사용된다. 파일을 노트패드 등으로 바로 열어 보면 PEM 포맷인지 바이너리 포맷인지 알수 있지만 99% 는 Base64 PEM 포맷이라고 봐도 무방하다. (대부분 텍스트 파일) .cer 거의 대부분 PEM 포맷이며, 주로 Windows 기반에서 인증서 파일임을 구분하기 위해서 사용되는 확장자 이다. crt 확장자와 거의 동일한 의미이며, cer 이나 crt 확장자 모두 윈도우에서는 기본 인식되는 확장자이다. 저장할때 어떤 포맷으로 했는지에 따라 다르며, 이름 붙이기 나름이다. .csr Certificate Signing Request 의 약자이며 거의 대부분 PEM 포맷이다. SSL 발급 신청을 위해서 본 파일 내용을 인증기관 CA 에 제출하는 요청서 파일임을 구분하기 위해서 붙이는 확장자 이다. (대부분 텍스트 파일) .der Distinguished Encoding Representation (DER) 의 약자이며, 바이너리 포맷이다. 노트패드등으로 열어 봐서는 알아 볼수 없다.  바이너리 인코딩 포맷을 읽을수 있는 인증서 라이브...