출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

ISBN : 9791161754284 / 328쪽 188 x 235 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
정지훈
-
클리커, 강민혁
- 25,200
- 17,550
- 20,700
- 23,400
반디앤루니스 리뷰
인터넷에 안전망을 제공하는 HTTPS의 근간인 TLS(Transport Layer Security)를 다룬다. TLS 구현을 따라 하다 보면 자연스럽게 여러 암호화 통신 알고리즘의 필요성과 의미를 이해하고 암호학 전반에 걸친 통찰력을 얻을 수 있다.
예시를 제공해 암호학의 난해한 수학 내용을 쉽게 설명하고, 구체적인 코드를 구현해 독자 스스로 내용을 확인할 수 있게 구성했다. TLS가 실제로 어떻게 구현되는지 알고 싶은 독자가 참고 서적으로 활용할 수 있을 것이다.
출판사 리뷰
★ 지은이의 말 ★
처음 TLS 라이브러리를 만들기로 결심한 순간부터 긴 시간이 지났다. 당시 내가 만든 웹 개발 프레임워크에 Stateful한 가상 환경을 HTTP 프로토콜로 제공하는 기능을 완성했고, 이것을 HTTPS까지 동시에 지원하는 것으로 만들려고 했다. 내가 원하는 기능을 만들기 위해 고려하던 TLS 라이브러리 네 가지가 있는데, wolfssl, GNUTLS, openssl, Botan이었다. 내가 원하던 기능은 일반적이지 않고 약간의 tweaking이 필요해서, 라이브러리를 어느 정도 공부해야 할 필요가 있었다. 그런데 라이브러리들의 사용법이 어려워서 이런저런 매뉴얼을 조금씩 읽다가 포기하고 직접 만들자고 결심했다. 직접 만드는 것이 사용법을 배우는 시간보다 짧으리라는 중대한 오판을 했다. TLS가 얼마만큼의 방대한 지식이 누적돼 있는지도, 인증서의 내용도 아닌 형식만을 이해하는 데 Base64, PEM, DER 등 여러 가지 지식이 필요하다는 것도 몰랐다. 미리 알았더라면 어떻게든 기존의 라이브러리를 이용해서 기능을 완성했지, 직접 만들어야겠다는 생각은 꿈에도 하지 않았을 것이다.
무지와 오기가 나를 여기까지 오게 이끌었다.
돌이켜보면 “현대에 홍수처럼 쏟아지는 컴퓨터에 관한 지식 중 과연 암호학만큼 필수 불가결하고, 가치 있고, 오래 가는 지식이 얼마나 있을까”하는 생각도 든다. 내가 투자한 시간이 절대로 아깝지는 않다.
누군가는 또 어디서 나처럼 TLS의 어둡고 긴 터널을 통과하려고 하고 있을 것이다. 그 누군가의 Tunnel Loneliness Syndrome을 덜어주고자 이 책을 썼다. 조금이라도 도움이 되기를 바란다.
제Ⅰ편 암호학의 기초
제1장 키 교환 알고리즘
제1절 디피 헬만
1.1 수학적 배경
1.2 나머지를 이용한 계산의 간소화
1.3 디피 헬만 키 교환의 예
1.4 GNU Multiprecision Library
1.5 클래스 구현
1.6 테스트
제2절 타원곡선
2.1 실수상에서의 타원곡선 방정식
2.2 유한체에서의 타원곡선 방정식
2.3 클래스 구현
2.4 테스트
2.5 X25519 커브
제2장 인증
제1절 RSA
1.1 수학적 증명
1.2 오일러의 정리 mф mod K \u003d1의 증명
1.3 RSA를 이용한 암호화/복호화의 예
1.4 RSA를 이용한 인증
1.5 클래스 구현
1.6 테스트
제2절 ECDSA
2.1 클래스 구현
2.2 테스트
제3장 AES 암호
제1절 rotation 변환과 역변환
제2절 substitution 변환과 역변환
제3절 믹스 컬럼 변환과 역변환
제4절 add round key 변환과 역변환
제5절 AES의 암호화, 복호화 과정
제6절 CBC
제7절 패딩
제8절 GCM
제4장 해쉬
제1절 SHA1
제2절 SHA256
제3절 HMAC
제5장 암호학의 기초를 마치며
제1절 보안의 목표
제2절 비트코인의 암호학
제Ⅱ편 TLS 1.2의 구조
제6장 TLS의 개괄
제1절 TLS의 진행 과정
제2절 TLS 헤더
제3절 핸드쉐이크 헤더
제7장 Client Hello
제8장 Server Hello
제9장 Cerificate
제1절 DER
제2절 PEM
제3절 Base64 인코딩
제4절 인증서에서 공개키의 추출
제5절 인증서 체인의 확인
제10장 Server Key Exchange
제1절 Server Key Exchange 메시지 구조체
제2절 해쉬할 구조체
제3절 서명할 구조체
제11장 Server Hello Done
제12장 Client Key Exchange
제1절 Premaster Secret
제2절 PRF
제3절 Master Secret
제4절 키 확장
제5절 키 재료의 분할 사용
제13장 Change Cipher Spec
제14장 Finished
제15장 레코드 메시지
제1절 AAD 혹은 HMAC 해쉬
제2절 암호화할 구조체
제3절 상대방에게 보낼 레코드 메시지
제16장 Alert 메시지
제Ⅲ편 TLS 1.2의 구현
제17장 디자인 선택
제18장 헤더 구현
제1절 구조체의 패딩과 pragma pack(1)
제2절 TLS 헤더의 구현
제3절 핸드쉐이크 헤더의 구현
제4절 헤더의 구현
제19장 Alert 함수의 구현
제20장 Client Hello 함수의 구현
제21장 Server Hello 함수의 구현
제22장 Certificate 함수의 구현
제23장 Server Key Exchange 함수의 구현
제24장 Server Hello Done 함수의 구현
제25장 Client Key Exchange 함수의 구현
제26장 Change Cipher Spec 함수의 구현
제27장 encode, decode 함수의 구현
제28장 Finished 함수의 구현
제Ⅳ편 TLS 1.2의 테스트
제29장 TCP/IP를 거치지 않는 테스트
제30장 브라우저 세팅과 와이어샤크
제31장 TCP/IP
제1절 네트워크 전송 계층
제2절 브라우저 세팅과 와이어샤크
제3절 네트워킹 클래스의 구현
제4절 암호화되지 않은 TCP/IP 통신
제32장 TLS 1.2를 이용한 통신
제Ⅴ편 TLS 1.3
제33장 TLS 1.3에서 변한 것
제1절 대폭 축소된 사이퍼 수트
제2절 패킷 교환 횟수를 줄인 핸드쉐이킹
제3절 많은 익스텐션의 활용
제34장 HKDF
제1절 함수 정의
제2절 테스트
제3절 HKDF를 이용한 키 스케줄링
제35장 TLS 1.3의 구현
제1절 클라이언트 익스텐션
제2절 서버 익스텐션
제3절 Client Hello와 Server Hello 메시지의 구현
제4절 암호화된 익스텐션
제5절 인증서
제6절 인증서 확인 메시지
제7절 Finished
제8절 TLS 1.3의 인코딩과 디코딩
제9절 핸드쉐이크 함수
제36장 TLS 1.3 테스트
제1절 TLS 1.3 클라이언트
제2절 TLS 1.3을 이용한 미들서버





































