메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

자바 시큐리티 프로그래밍

  • 저자 : 스콧 오크스
  • 번역 : 이재광 , 홍상욱
  • 출간 : 2001-10-23
  • 페이지 : 744 쪽
  • ISBN : 8979141548
  • 물류코드 :1154
TAG :
초급 초중급 중급 중고급 고급
2점 (3명)
좋아요 : 14
인터넷 비즈니스 솔루션을 안전하게
    -- 안전한 자바를 사용한 보안 프로그래밍

자바는 안전한 프로그래밍 환경을 제공한다. 그러나 자바에서 안전한 프로그래밍 환경이라는 것이 무엇이고, 어떻게 그 환경을 제공하는지 논의는 많지만 정확히 이해하는 사람은 거의 없다. 이 책은 개발자, 네트워크 관리자, 자바 보안 메커니즘을 이해하고자 하는 사람을 위한 책이다. 보안의 정확한 의미, 자바 기본 보안 규칙, 자체 규칙 작성과 구현 방법 등을 설명한다.

이 책에서는 보안 관리자, 클래스 로더, 접근 제어기, java.security 패키지 등을 상세히 설명한다. 메시지 다이제스트, 인증서, 전자 서명을 소개하고, 자바에서 제공하는 도구를 이용해서 클래스에 서명하거나 서명 도구를 직접 작성하는 방법을 볼 수 있다. 또한 서명한 클래스를 인식하고, 서명을 검증한 다음에 보안 관리자를 이용하여 추가 권한을 부여하는 클래스 로더를 작성하는 방식도 설명한다. 암호화 키를 관리하는 데 생길 수 있는 문제점을 소개하고 자체 키 관리 시스템을 구현하는 방법을 제시한다. JSSE를 이용해서 안전한 소켓층 암호화를 수행하고, JAAS를 이용해서 인증과 권한을 처리하는 방법도 소개한다.

이 책은 인터넷에서 작동하는 애플리케이션을 개발하는 개발자에게 필수 서적이다. 자바로 작성한 프로그램을 배포할 때, 클래스 상호간 권한 부여 방법을 이해해야 한다. 외부 침입에 맞서 컴퓨터를 보호하는 방법도 알아야 한다. 자바 언어에는 도구들이 있으며, 이 책은 사용법을 제시한다.

주요 내용
  • 보안 관리자
  • 접근 제어기
  • 자바 클래스 로더
  • 보안 프로바이더
  • 메시지 다이제스트
  • 전자 서명
  • JSSE, JAAS의 사용법
  • JCE 1.2.1
  • 기본 샌드박스의 개요와 관리
  • SSL과 HTTPS
주요 특징
  • 한남대학교 네트워크 연구실의 이재광 교수(컴퓨터공학과)가 직접 부록("JCE 프로바이더 활용")을 집필하였다. 불모지나 다를 바 없는 국내 보안 연구 분야에서 이룬 성과이기에 더욱 돋보인다.
  • 이 책은 자바 1.1, 자바 2를 모두 다룬다. 썬사의 자바 성능 엔지니어 그룹에서 소프트웨어 엔지니어로 근무하고 있어, 누구보다도 자바를 속속들이 파헤쳐 보여줄 수 있는 저자의 역량을 이 책으로 확인할 수 있을 것이다.
저자

스콧 오크스

썬 마이크로시스템즈(Sun Microsystems)의 자바 성능 엔지니어 그룹에서 소프트웨어 엔지니어로 근무하고 있다. 그는 1987년부터 썬에서 근무했으며 SunOS 커널, 네트워크 프로그래밍과 RPC, X 윈도우 시스템, 스레딩 등 다양한 기술 연구에 참여했다. 1995년 초부터 주로 자바 기술 연구를 하여 사용자에게 전파하는 역할을 하였다. 자바 리포트(The Java Report)에 주기적으로 칼럼을 저술하고 있으며, 오라일리사에서는 이 책과 더불어 『자바 쓰레드』(한빛미디어, 2000), 『지니 인어넛셀』(한빛미디어, 2001) 3권을 저술했다(마지막 2권은 헨리 웡과 함께 저술). 인터넷에서 스콧은 OPEN LOOK 윈도우 관리자 olvwm의 저자로 가장 잘 알려져 있다.

역자

이재광

광운대학교 대학원 전자계산학과(박사) / 현 한남대학교 컴퓨터공학 부교수

역자

홍상욱

서강대학교 컴퓨터학과를 졸업한 후 미국 존스 홉킨스 대학교에서 컴퓨터학 석사과정을 밟고 있다. 자연어 처리, 인공지능, 프로그래밍 언어 등에 관심이 많다. 컴퓨터 분야 외에 영어, 라틴어, 불어, 스페인어 등 다양한 언어를 공부해 왔다. 언어, 번역, 컴퓨터에 대한 관심을 바탕으로 한영/영한 자동 번역을 연구하고 있다.

차례

역자서문
서문
차례

1장. 자바 응용프로그램 보안

    보안이란 무엇인가?
    이 책에서 사용한 프로그램
    자바 샌드박스
    보안 디버깅
    요약

2장. 기본 샌드박스
    자바 샌드박스의 구성 요소
    접근 권한
    키 저장소
    코드 소스
    정책 파일
    기본 샌드박스
    java.security 파일
    이전 버전과 비교
    요약

3장. 자바 언어 보안
    자바 언어 보안 구성
    자바 언어 규칙의 수행
    이전 버전과 비교
    요약

4장. 보안 관리자
    보안 관리자 개요
    보안 관리자 작업
    보안 관리자 메소드
    이전 버전과 비교

5장. 접근 제어기
    CodeSource 클래스
    Permissions 클래스
    Policy 클래스
    보호 영역
    AccessController 클래스
    Guarded 객체
    이전 버전과 비교
    요약

6장. 자바 클래스 로더
    클래스 로더와 이름 공간
    클래스 로딩 구조
    클래스 로더 구현
    여러 가지 클래스 로딩 주요 사항
    이전 버전과 비교
    요약

7장. 암호에 대한 개요
    인증 요구
    인증의 역할
    암호학 엔진
    요약

8장. 보안 프로바이더
    보안 프로바이더 구조
    Provider 클래스
    Security 클래스
    Engine 클래스 구조
    이전 버전과 비교 
    요약

9장. 키와 인증서
    키
    키 생성
    키 팩토리
    인증서
    키, 인증서, 그리고 객체 직렬화
    이전 버전과 비교
    요약

10장. 키 관리
    키 관리 용어
    keytool
    키 관리 API
    키 관리 예제
    비밀 키 관리
    이전 버전과 비교
    요약

11장. 메시지 다이제스트
    MessageDigest 클래스 사용
    안전한 메시지 다이제스트
    메시지 다이제스트 스트림
    MessageDigest 클래스 구현
    이전 버전과 비교
    요약

12장. 전자 서명
    Signature 클래스
    서명된 클래스
    Signature 클래스 구현
    이전 버전과 비교
    요약

13장. 암호 기반 암호화
    암호 엔진
    암호 스트림
    봉인된 객체
    이전 버전과 비교
    요약

14장. SSL과 HTTPS
    SSL과 JSSE 개요
    SSL 클라이언트와 서버 소켓
    SSL 세션
    SSL 문맥과 키 관리자
    여러 가지 SSL 주요 사항
    HTTPS 프로토콜 핸들러
    JSSE 디버깅
    요약

15장. 인증과 권한 허가
    JAAS 개요
    간단한 JAAS 프로그래밍
    간단한 JAAS 관리
    개선된 JAAS 주요 사항
    요약

부록 A. java.security 파일
부록 B. 보안 자원
부록 C. 신원 기반 키 관리
부록 D. 안전한 자바 컨테이너
부록 E. JCS 보안 프로바이더 구현
부록 F. 참조

찾아보기

  • 시큐리티를 홈페이지에서 긁어 보다가

    지치다 못해 책을 하나 사보기로 해서

    이책을 무심결에 골랐다.

    원서보다 반정도 가격이기에 번역상태를

    반신반의 하면서 구입한 결과 실망이 좀 컸다.



    자바 시큐리티에 대한 설명이 매우 상세하게

    된 이 책이 도저히 암호화 되어서 읽을 수 가

    없다. 반정도 읽다가 조금 열받아서 여기 글을

    쓴다.



    한빛 책은 이번이 처음 구매한 건데, 번역에

    신경좀 써 주었으면 한다.

    아니면 번역하기 힘든 부분은 그냥 원문을 적어 주기를 바란다.

  • 얼마전부터 한빛에서 번역한 책이 좀 이상하다.
    예전엔 원서로 보다가 최근에 번역이 빨리 이루어지면서 번역서를 기다렸다가 보게되는 경우가 많다. 근데 좀 이상타. 최근에 나온 지니인어넛셀도 그렇고 이번에 나온 자바시큐리티도...



    단도직업적으로 말하면, 번역이 엉망이다.
    비전공자가 번역했다면 아마 영문과사람이 번역했다해도 이것보다도 낫겠다. 비전공자들은 단어의 의미는 잘 모르더라도 문맥은 맞추어 주어야 할 것이다. 하지만 이 책은 자바를 공부한 사람이 번역했음에도 불구하고 단어의 사용이나 문맥이 너무 난해할 정도로 맞지 않는다.



    예를 들어 볼까?
    [23쪽 중간즈음에] 자바프로그램은 설치,실행,바이러스 파급등을 할 수 없고 사용자 컴퓨터 환경에 해를 끼치는 작업을 할 수 없기 때문에 안전하다고 한다.
    [원문을 함 볼까?] Java programs are considered safe because they cannot
    install, run, or propagate viruses and because the program itself cannot perform
    any action that is harmful to the user"s computing environment.
    대부분의 사람은 틀린 번역이 없다고 생각할 것이다. 하지만 이사람은 빠뜨린 게 있다. itself 라는 잘 보이지 않지만 의미있는 단어를 강조하지 않았다.



    [하나더 72쪽에서 final에 대해 설명하고 있따. 변수,메소드,클래스를 final 로 지정하고 이것ㅇㄹ 무시했을 때 일어날 수 있는 일들에 대해 나열하고 있는데, 번역자는 엉뚱하게도 번역해두었따. 즉, "세부클래스가 final 메소드를 오브라이드해서 클래스의 행동을 변경한 경우"라고 해석해야 함에도 불구하고 "세부클래스가 final 메소드를 오브라이드해서 클래스의 행동을 변경할 수 있다"라고 해석해 햇갈리게 만들고 있다.



    이것은 확연히 드러나는 번역상의 실수에 지나지 않는다.
    지니인어넛셀 등 최근에 한빛에서 번역한 책을 접한 이들은 불신감을 금하지 못할 것이다. 자꾸 이러지 않았으면 좋겠다.



    어떤 방법으로 번역을 하는 지는 모르겠지만, 좀 제대로 퇴고를 거치고 했으면 좋겠다. 아무리 시간이 급해도 말이다.



    예전에 이런 출판사가 하나 있었다. 원서가 나오기가 무섭게 한글판을 만들어 내는 출판삭 있었다. 근데, 그 출판사가 번역한 원서 대부분을 우리는 쓰레기로 취급한다. 엉뚱하고 신경쓰지 않은 번역때문에 더 이해하기 어려웠기 때문이다. 그래서 그 출판사 책을 더 이상 권하는 사람은 없으며 서서히 컴퓨터서적 업계에서 자리를 감추고 있다. 다 아시겠지만 삼각형이라는 출판사다.



    아직은 한빛에 대해 좋은 이미지를 갖고 있다. 앞으로 이점에 더 심혈을 기울여 줬으면 좋겠다.

  • ▶ 대상 독자층

    현재 우리나라의 네트워크 보안수준은 현저히 낮은 상태이다. 나날이 고도화된 해킹기법과 네트워크의 취약성 문제에 있어 보안은 이제 빠질래야 빠질 수 없는 한 분야로 자리를 잡아가고 있다. 이제 시스템 관리자 뿐만 아니라 개발자도 보안에 신경 쓰지 않고 프로그래밍을 할 수 없는 예민한 상태이다. 이런 측면에서 이 책은 보안 관계자 뿐만 아니라 자바 개발자에게는 프로그래밍을 하는 데 있어 바른길을 인도해주는 책이 아닐까 한다. 물론 보안쪽 애플리케이션 뿐만 아니라 네트워크쪽으로 개발하는 사람이 필히 정독해야 할 도서인 것은 분명하다. 자바에 대해서는 아는데 자바보안에 대해서는 기초지식이 없거나, 보안에 대해 조금 알고 있는 사람도 이 책을 봄으로써 개발자가 나가야 할 방향과 기본적인 자바 보안 프로그래밍에 대해 자바다운 보안 프로그래밍 기법을 터득할 수 있을 것이다.



    ▶ 이 책의 주요내용과 구성

    1장은 자바보안이란 무엇인가와 간략한 자바보안 모델에 대해 설명하고 있다.



    2장은 기본 샌드박스와 자바보안 규칙에 대해서 개념을 설명하고 있으며, 3장부터는 샌드박스의 구현과 자바가 보안을 유지하는 방법, 자바보안 구성, 자바 언어 규칙, 메모리 사용에 대한 보호와 바이트코드 확인기에 대해 설명하고 있다.



    4장은 보안 관리자와 자바 API, 파일 접근 관련 메소드, 네트워크 접근 메소드 등에 대해 나와 있으며, 5장은 시스템에서 중요한 자원을 보호해주는 접근제어 클래스에 대해 상세히 다루고 있어 매우 유용하게 쓰일 것이다.



    6장은 자바 클래스 로더에 대해 단계적으로 자세히 설명되어 있어 클래스 로더에 대한 개념을 바로 잡을 수 있을 것이며, 서명한 클래스를 인식하고, 서명을 검증한 다음에 보안 관리자를 이용하여 추가 권한을 부여하는 클래스 로더를 작성하는 방법을 설명하고 있다.



    7장부터 개발에 필요한 인증, 메시지 다이제스트, 전자 서명, 키, 암호에 대해 나오기 시작한다. 그래서 7장은 암호에 대한 개요를 설명하고, 8장은 보안 패키지와 엔진들을 서로 연동시켜 주는 보안 프로바이더에 대해 설명하며, 개발자가 보안 엔진과 알고리즘에 대해 무엇을 선택할 것인가 제시하고 있다.



    9장은 전자 서명과 암호화에 필요한 키와 인증서에 대해 살펴보며, 공개키 기반의 비대칭키와 그 반대인 대칭키에 대해서도 설명하고 있다. 10장은 9장의 키에 대한 설명을 토대로 키에 대한 용어, 키툴, 키 관리 및 예제를 보여주고 있으며, 키에 대한 배포방식도 설명되어 있다..



    11장은 보안 구조에서 중요한 전자 서명을 생성하고 검증하는 첫 단계인 메시지 다이제스트에 대해 설명하고 있고, 12장은 전자 서명에 대한 내용으로 전자 서명 된 클래스를 다루는 방법과 엔진 알고리즘을 구현하는 방법에 대해 나와 있다.



    13장은 데이터를 암호화하고 복호화하는 방법을 설명하며, 14장에서는 네트워크에서 중요한 암호화 통신인 SSL과 JSSE(자바 안전 소켓 확장)을 이용하여 암호화하고 SSL을 사용하기 위한 HTTPS 프로토콜에 대해서 다루고 있다.



    15장은 인증과 권한 허용여부와 보호에 대해서 설명하며, 자바 인증과 권한부여 서비스인 JAAS에 대해 프로그래밍 기법과 예제를 다루고 있다.



    마지막으로 부록에서는 java.security 파일, 보안자원(버그), 신원기반 키 관리, 안전한 자바 컨테이너, JCE 보안 프로바이더 구현, 자바 보안 패키지와 클래스들의 API, 그리고 JCE 보안 프로바이더 활용 예제가 나와 있어 실전 프로그래밍을 하는 데 매우 유용할 것이다.



    ▶ 내용 평가

    이 책은 자바보안 규칙에 대해 알기 쉽고 자세하게 설명하고 있어 보안에 대한 기본지식이 없는 자바 개발자에게는 훌륭한 보안 지침서가 될 것이며, 자바에서 보안에 최고로 취약한 애플릿에 대해 강조하고 또 강조하고 있다. 구성 또한 자바 언어 보안에서부터 자바보안 패키지에서 사용하는 암호화의 기본 알고리즘에 대한 프로바이더까지 설명하고 있다.



    요즘 전자상거래에서 중요시 하고 있는 전자서명과 인증에 대해서도 다루고 있으며, 데이터를 암호화하고 복호화하는 방법과 자바 암호화 확장(JCE)에 대해서도 설명하고 있다. 그리고 네트워크에서의 중요한 암호화 통신인 SSL에 대해서도 놓치지 않고 있으며, 부록으로 표준 JCE 보안 프로바이더를 구현할 수 있는 기본적인 구현 알고리즘에 대해 살펴보고 있어 개발자에게는 크나큰 도움이 될 것이다. 또한 자바 보안 표준 API와 클래스를 찾아볼 수 있도록 해놓았다. 항상 개발자들이 주의해야 할 버그에 대한 설명이 있어 프로그래밍하는 데 참고로 쓰일 수 있을 것이다. 또한 JCE 보안 프로바이더 활용예제가 부록으로 첨가되어 있어 실전 프로그래밍하는 데 많은 도움이 될 것이다. 전체적으로 내용 및 구성이 주제단위로 짜임새 있게 구성되어 있어 독자가 쉽게 이해하고 찾아 보는 데 유용할 것이다.



    ▶ 번역 및 편집 상태

    항상 외국서적의 문제점은 우리말 문장으로 독자들을 얼마나 쉽게 이해시키냐가 중요한 관건인데, 그러한 면에서 번역 또한 다른 책에 비해 대체적으로 매끄러운 편이어서 독자들이 읽어나가기에 별 무리가 없을 뿐더러, 편집상태 또한 기존에 나와 있는 책보다 깔끔하게 처리되어 있다. 이해를 돕기 위한 굵은 글씨 처리법은 찾고자하는 부분이 한눈에 들어오도록 가독성을 높이고 있다.



    모든 설명이 RFC 문서를 토대로 하기 때문에 기술 또한 정확하게 풀이하고 있어 자바에 대한 매력을 한층 더 느낄 수 있을 것이다.



    ▶ 검토 의견

    이 책은 전반적으로 자바보안에 대한 기초지식과 기본적인 프로그래밍 기법에 대한 흐름을 간략하게 설명하고 있다. 그렇기 때문에 실전 프로그래밍을 하기에는 약간 부족한 면이 있으므로 더 자세한 것을 알고 싶거나 공부하고 싶다면 『자바보안과 암호화』를 추천한다. 『자바 보안과 암호화』는 이 책, 『자바 시큐리티 프로그래밍』을 뒷받침 하는 암호화와 보안에 대한 내용을 상세히 다루고 있어 자바 보안 관련자에게는 많은 도움이 될 것이다.



    끝으로 현실세계에서 완벽한 보안은 없다. 암호학의 대가인 브루스 슈나이어는 이렇게 말했다. “보안은 하나의 과정이다.” 이처럼 보안적인 측면은 매우 예민하면서 까다로운 것이다. 앞으로 많은 개발자들이 스스로 버그와 취약점에 발 빠르게 대처해야만 크랙과 해킹에 대해 보완하고 발전할 수 있을 것이다.




    정해윤(o2man@joeunsecurity.com)님은 보안업체 "조은 시큐리티"에서 침입탐지 시스템을 개발하는 전문 개발자로 『해킹과 보안 내가 최고』(2000, 영진.com)라는 보안 도서의 저자이기도 하십니다.

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 예제소스 2016-04-06 다운로드
결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
자바 시큐리티 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
자바 시큐리티 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
자바 시큐리티 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실