본문 바로가기
Language/Java

자바 보안

by 태하팍 2012. 6. 4.
반응형

 

[1. 자바 보안] 2012.05.29  출처 : 해킹과 보안 (주)사이버출판사

- class loadiing : 실행시에 클래스를 동적으로 로드

- 코드 스푸핑(code spoofing) : class loading press를 가로채서 악성 클래스를 넣어 공격 함.

- 보호 도메인(Protection Domains) : 현재 자바 보안 모델의 핵심, 도메인이란, 보안을 적용할 운영 환경의
  한 부분을 나타낸다. 보호 도메인 내에서 실행되는 클래스들은 이들과 관련된 특수한 퍼미션을 가진다.
  보안 도메인 제공 => 코드소스+퍼미션(보안정책)
  클래스로더(코드 소스로부터 클래스들을 로드) -> 클래스 로더가 바이트 검증기 호출(검증 오퍼레이션 수행,
  타입 검사, 스택 활용 검사, 클래스 파일 포맷 검사 등)
  로드된 클래스에 프린서펄 세트와 퍼미션 모음이 결합.
  해당 프린서펄과 퍼미션은 해당 클래스와 함께 로드되지 않고, 현재 적용 중인 보안 정책 파일을 통해서 정의.

- 보호 도메인의 종류
  1) 시스템 보호 도메인 : 파일 시스템이나 네트워크 소켓과 같은 시스템 자원으로의 접근을 통제.
  2) 애플리케이션 보호 도메인 : 여러 컴포넌트 및 한 애플리케이션의 한 부분을 통제.
 
- 클래스 로더의 생성 제한

[2. JAAS, 자바암호화, JSSE]
 - JAAS
  1) 자바 보안에서 인증과 권한 작업이 매우 중요!
  2) 자바에서는 인증기능와 권한기능을 모두 수행 할 수 있는 JAAS 패키지 제공.
  3) 인증 : 신뢰성과 확실성을 가지고 코드의 실행자를 결정.
     권한 : 어떤 사용자가 어떤 액션을 수행할 퍼미션(접근 제어 권한)을 가지는 것을 결정.
  4) API 제공
     : LoginModule, LoginContext, CallbackHandler
 - 자바암호화
  1) 암호화 프로세싱 기법(비밀 키 암호화, 공개 키 암호화)
  2) 디지털 서명.
  3) 메시지 인증 코드
  4) 디지털 증명
  5) JCE(Java Cryptography Extension)
  6) Keytool 유틸리티

 - JSSE(Java Secure Sockets Extension)
  1) TCP/IP 소켓 상에서 SSL 커넥션을 제공하는 자바 API
  2) SSL 프로토콜은 1994년 Netscape 사에 의해 개발.
  3) 라이브러리와 증명서 설치
    : JDK 1.4.0 이전의 JDK를 사용 또는 다른 SSL 제공자를 사용 =>JSSE를 지원하는 클래스 lib를 설치.
    : 필수 증명서 설치(SSL이 사용하는 공개 키와 비공개 키는 보안 증명서에 의해 생성.)-keytool 유틸리티
  4) 실제로 SSL 통신을 수립하려면 핸드쉐이크 프로토콜을 통해 여러단계를 거쳐야 한다.
    : (1) 암호화에 사용 할 암호문 슈트를 결정.
      (2) 옵션으로 서버를 인증.
      (3) 암호화 메커니즘에 동의하고 필요한 키들을 교환한다.
      (4) 암호화된 통신을 시작한다.

반응형

'Language > Java' 카테고리의 다른 글

[용어] JNDI  (0) 2012.11.12
Failed to create the Java Virtual Machine  (0) 2012.09.07
쓰레드(스윙사용)  (0) 2012.03.09
이클립스 팁  (0) 2012.02.24
[Study 01] Java 문자열 simple source  (0) 2012.01.30