000 | 00000cam c2200205 c 4500 | |
001 | 000046140760 | |
005 | 20230203173142 | |
007 | ta | |
008 | 230203s2023 ggka 001c kor | |
020 | ▼a 9791192469539 ▼g 93000 | |
035 | ▼a (KERIS)REQ000058295558 | |
040 | ▼a 211063 ▼c 211063 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 005.82 ▼2 23 |
085 | ▼a 005.82 ▼2 DDCK | |
090 | ▼a 005.82 ▼b 2023 | |
100 | 1 | ▼a Wong, David |
245 | 1 0 | ▼a 리얼월드 암호학 / ▼d 데이비드 웡 지음 ; ▼e 임지순 옮김 |
246 | 1 9 | ▼a Real-world cryptography |
260 | ▼a 파주 : ▼b 제이펍, ▼c 2023 | |
300 | ▼a xxvii, 396 p. : ▼b 삽화 ; ▼c 25 cm | |
500 | ▼a 색인수록 | |
650 | 0 | ▼a Computer security |
650 | 0 | ▼a Cryptography |
650 | 0 | ▼a Computer networks |
700 | 1 | ▼a 임지순, ▼e 역 |
900 | 1 0 | ▼a 웡, 데이비드, ▼e 저 |
945 | ▼a ITMT |
소장정보
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.82 2023 | 등록번호 121262276 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.82 2023 | 등록번호 121262339 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
No. 3 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.82 2023 | 등록번호 121262426 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
세상에서 가장 실용적인 암호학 가이드북. 암호학은 IT 보안의 필수 기반이다. 시스템 공격자보다 앞서려면 네트워크와 애플리케이션을 보호할 도구, 프레임워크, 프로토콜을 이해해야 한다. 이 책은 개발자, 시스템 관리자, 보안 실무자를 위한 실용적인 기술을 가르친다.
복잡한 수학이나 전문용어 대신 다양한 그림과 실제 사례를 통해 현대 암호학 기법을 설명한다. 해시 함수, 서명, HTTPS, 보안 메시징, 양자 내성 암호학, 암호화폐 등 기본 요소부터 최첨단 기술까지 배울 수 있다. TLS를 포함한 인터넷 표준에 적극적으로 기여하고 있는 암호학 엔지니어가 필드에 처음 입문하는 실무자도 읽을 수 있게 집필했다.
수식 대신 그림, 역사 대신 사례, 이론 대신 응용으로 배우는 암호학의 현재와 미래
암호학은 웹 API, 유저 서비스, 블록체인 등 IT 보안의 근간이지만, 유달리 읽을 만한 책이 없다. 카이사르 암호나 비즈네르 암호 같은 역사로 시작하는 책은 지겹다. 현대 암호학이 어떤 요소로 구성되었는지, 어떤 프로토콜이 자주 쓰이며, 어떤 공격 사례가 있었는지, 양자 컴퓨터가 나온 마당에 암호학의 미래는 어떻게 될 것인지. 실무자가 궁금한 건 이런 내용이다.
이 책의 저자는 암호학의 역사나 레거시 알고리즘 대신 TLS, 노이즈 프로토콜 프레임워크, 시그널 프로토콜, 암호화폐(저자는 이 책이 암호화폐를 한 챕터로 다루는 최초의 암호학 책이라고 주장한다!), HSM, 임곗값 암호학 등 오늘날 실제로 대규모로 사용되는 사례로 이 책을 채웠다. 수식이 없을 수는 없지만, 우리에게 친숙한 앨리스와 밥을 포함해 수많은 그림을 삽입해 알기 쉽게 설명하려 노력했다. 저자 본인 역시 대학에서 배운 타원 곡선 수학이 현실 세계 알고리즘에서 어떻게 사용되는지 알 수 없었고, 많은 개발자가 ‘구현’을 잘못해 보안 실패를 초래하고 있기에, 장마다 ‘좋은’ 라이브러리를 골라 자바, 자바스크립트, 고랭, 러스트 등 다양한 언어로 작성한 예제 스니펫을 담았다.
풍부한 도표와 사례 덕분에 개발자, 시스템 관리자, 보안 실무자는 인증, 암호화, 비밀 유지 등 암호학 개념을 익히고 공격자보다 앞서기 위한 도구, 프레임워크, 프로토콜을 배울 수 있다. 해시 함수와 서명 등 기초부터 HTTPS와 보안 메시징 등 암호학 프로토콜, 그리고 양자 후 암호학(양자 내성 암호학)과 암호화폐 등 첨단 기술까지 살펴보는, 가장 실용적이며 가장 현대적인 암호학 책이다.
주요 내용
■ 암호학 활용 시의 베스트 프랙티스
■ 암호학 알고리즘에 대한 그림과 해설
■ 디지털 서명 및 영지식 증명 구현
■ 공격 등에 대비하기 위한 하드웨어 솔루션
■ 나쁜 프랙티스를 식별하고 고치는 법
■ 문제별로 적합한 암호학 도구 선택하기
정보제공 :

저자소개
데이비드 웡(지은이)
O(1) Labs의 수석 암호학 엔지니어로서 미나(Mina) 암호화폐를 연구하고 있다. 그 전에는 메타의 자회사 노비에서 디엠(전 리브라) 암호화폐의 보안 리더였고, 그 전에는 NCC 그룹의 암호학 서비스의 보안 컨설턴트였다. OpenSSL과 Let’s Encrypt 등 여러 공적 자금 지원 오픈소스 감사에 참여했다. 블랙햇과 DEFCON 등 다양한 콘퍼런스에서 강연했으며, 블랙햇에서 암호학 과정을 정기적으로 맡았다. TLS 1.3과 노이즈 프로토콜 프레임워크 등의 표준에 기여했다. 고 언어 표준 라이브러리(CVE-2016-3959)라든가 여러 TLS 라이브러리(CVS-2018-12404 등)에서 보안 취약점을 찾아내기도 했다. 디스코 프로토콜(www.discocrypto.com), 스마트 계약용 댑 보안 프로젝트(www.dasp.co) 등의 창시자이며, RSA 캐시 공격, QUIC 기반 프로토콜, ECDSA 타이밍 공격, 디피-헬먼 백도어 등의 연구를 발표했다. 블로그(www.cryptologie.net)에 암호학 관련 글을 꾸준히 올리고 있다.
임지순(옮긴이)
낮에는 계약서와 코드를 두드리고 밤에는 신시사이저와 기타를 난도질하는 공학과 미디어의 주변인. 임베디드 프로그래머, 미들웨어 개발자, 프로젝트 매니저, 사업 개발 등 다양한 직군에 종사해왔으며 최근에는 엔터테인먼트 산업에서 다양한 웹 프로젝트를 진행 중이다. 사회적인 덕후로 생존하기 위해 오늘도 코드, 그리고 글과 씨름하고 있다. 참여 도서로는 《쉽게 배우는 AWS AI 서비스》(한빛미디어, 2022), 《모던 자바스크립트 핵심 가이드》(한빛미디어, 2021), 《초소형 머신러닝 TinyML》(한빛미디어, 2020), 《라즈베리 파이로 배우는 컴퓨터 아키텍처》(위키북스, 2017) 등이 있다.

목차
옮긴이 머리말 xii 추천의 글 xiii 베타리더 후기 xv 시작하며 xvii 감사의 글 xxii 이 책에 대하여 xxiii 표지에 대하여 xxvii PART I 프리미티브: 암호학의 재료 CHAPTER 1 시작하며 3 1.1 암호학은 프로토콜을 보호한다 4 1.2 대칭 암호학: 대칭 암호화란? 5 1.3 케르크호프스의 원칙: 키만은 비밀로 지키자 7 1.4 비대칭 암호학: 키 두 개가 하나보단 낫지 10 __1.4.1 비밀을 공유하는 방법, 키 교환 10 __1.4.2 비대칭 암호화, 대칭 암호화와는 다르다! 13 __1.4.3 디지털 서명: 펜과 종이의 서명과 그리 다르지 않다 15 1.5 암호학의 분류 17 1.6 이론 암호학 vs 실세계 암호학 19 1.7 이론에서 현실로: 암호학의 현실화를 위한 시뮬레이션 20 1.8 경고장 25 요약 26 CHAPTER 2 해시 함수 27 2.1 해시 함수란? 27 2.2 해시 함수의 보안 속성 30 2.3 해시 함수의 보안 제약 32 2.4 해시 함수의 실사용 34 __2.4.1 커밋 34 __2.4.2 서브리소스 무결성 35 __2.4.3 비트토렌트 35 __2.4.4 토르 35 2.5 표준화된 해시 함수 36 __2.5.1 SHA-2 해시 함수 37 __2.5.2 SHA-3 해시 함수 41 __2.5.3 두 가지 XOF, SHAKE와 cSHAKE 44 __2.5.4 튜플해시, 모호성을 해결하다 46 2.6 비밀번호 해시 48 요약 50 CHAPTER 3 메시지 인증 코드 51 3.1 MAC의 대표적 예, 무상태성 쿠키 51 3.2 코드 예제 54 3.3 MAC의 보안 속성 56 __3.3.1 인증 태그의 위조 56 __3.3.2 인증 태그의 길이 57 __3.3.3 리플레이 공격 58 __3.3.4 주기적 인증 태그 검증 59 3.4 실세계의 MAC 61 __3.4.1 메시지 인증 61 __3.4.2 키 파생 61 __3.4.3 쿠키의 정합성 61 __3.4.4 해시 테이블 62 3.5 실무에서의 MAC 62 __3.5.1 해시 기반 MAC, HMAC 62 __3.5.2 cSHAKE 기반 MAC, KMAC 63 3.6 SHA-2와 가변 길이 공격 64 요약 67 CHAPTER 4 인증 암호화 69 4.1 암호문이란? 70 4.2 AES 블록 암호화 71 __4.2.1 AES가 제공하는 보안의 수준 72 __4.2.2 AES의 인터페이스 73 __4.2.3 AES의 내부 74 4.3 암호화된 펭귄, 그리고 CBC 모드 75 4.4 인증이 필요하면? AES-CBC-HMAC 78 4.5 올인원 구조: 인증 암호화 80 __4.5.1 AEAD 80 __4.5.2 AES-GCM AEAD 82 __4.5.3 ChaCha20-Poly1305 86 4.6 그 밖의 대칭 암호화 90 __4.6.1 키 래핑 91 __4.6.2 논스 오용 방지 인증 암호화 91 __4.6.3 디스크 암호화 91 __4.6.4 데이터베이스 암호화 92 요약 92 CHAPTER 5 키 교환 95 5.1 키 교환이란? 96 5.2 DH 키 교환 99 __5.2.1 군론 99 __5.2.2 디피-헬먼의 기반, 이산 로그 문제 103 __5.2.3 디피-헬먼 표준 105 5.3 ECDH 키 교환 106 __5.3.1 타원 곡선이란? 107 __5.3.2 ECDH 키 교환의 작동 원리 110 __5.3.3 타원 곡선 디피-헬먼의 표준 112 5.4 작은 부분군 공격과 그 밖의 보안 고려 사항 114 요약 117 CHAPTER 6 비대칭 암호화와 하이브리드 암호화 119 6.1 비대칭 암호화란? 120 6.2 실전 비대칭 암호화와 하이브리드 암호화 122 __6.2.1 키 교환 및 키 캡슐화 122 __6.2.2 하이브리드 암호화 123 6.3 RSA 비대칭 암호화: 최악과 차악 127 __6.3.1 교과서 RSA 127 __6.3.2 RSA PKCS#1 v1.5를 쓰지 않는 이유 131 __6.3.3 RSA-OAEP 비대칭 암호화 133 6.4 ECIES 하이브리드 암호화 136 요약 138 CHAPTER 7 서명과 영지식 증명 139 7.1 서명이란? 140 __7.1.1 실전에서 서명하고 서명을 검증하는 방법 141 __7.1.2 서명의 주된 사용: 인증된 키 교환 142 __7.1.3 실세계의 사용 사례: 공개 키 인프라 143 7.2 ZKP: 서명의 근원 144 __7.2.1 슈노어 식별 프로토콜: 대화형 ZKP 145 __7.2.2 비대화형 ZKP로서의 서명 148 7.3 권장하는 서명 알고리즘 149 __7.3.1 불안한 표준, RSA PKCS#1 v1.5 150 __7.3.2 개선된 표준, RSA-PSS 153 __7.3.3 ECDSA 154 __7.3.4 EdDSA 157 7.4 서명 체계의 미묘한 속성 160 __7.4.1 대체 공격 160 __7.4.2 서명의 가단성 162 요약 162 CHAPTER 8 무작위성과 비밀 165 8.1 무작위성이란? 166 8.2 느린 무작위성? PRNG를 쓰세요 167 8.3 실전에서 무작위성 확보하기 171 8.4 난수 생성과 보안 고려 사항 173 8.5 공개적 무작위성 175 8.6 키 파생과 HKDF 177 8.7 키 관리와 비밀 관리 181 8.8 임곗값 암호학을 통한 신뢰의 탈중앙화 183 요약 186 PART II 프로토콜: 암호학의 레시피 CHAPTER 9 보안 전송 189 9.1 보안 전송 프로토콜, SSL과 TLS 190 __9.1.1 SSL에서 TLS로 190 __9.1.2 실전에서 TLS 활용하기 191 9.2 TLS 프로토콜의 작동 원리 193 __9.2.1 TLS 핸드셰이크 194 __9.2.2 TLS 1.3이 애플리케이션 데이터를 암호화하는 방법 207 9.3 암호화된 웹의 현재 208 9.4 기타 전송 프로토콜 211 9.5 TLS에 대한 현대적인 대안, 노이즈 프로토콜 프레임워크 211 __9.5.1 노이즈의 다양한 핸드셰이크 212 __9.5.2 노이즈의 핸드셰이크 213 요약 214 CHAPTER 10 종단 간 암호화 215 10.1 종단 간 암호화가 왜 필요한가? 216 10.2 어디에서도 찾을 수 없는 신뢰의 근원 217 10.3 이메일 암호화의 실패 219 __10.3.1. PGP? GPG? 어떻게 작동할까? 219 __10.3.2 사용자 간의 신뢰를 확장시키는 신뢰의 웹 222 __10.3.3 진짜 이슈는 키 발견 223 __10.3.4 PGP가 아니라면, 대안은? 224 10.4 보안 메시징: 시그널을 활용한 현대적 종단 간 암호화 226 __10.4.1 신뢰하되, 검증하라. WOT보다 사용자 친화적으로 227 __10.4.2 시그널 프로토콜의 핸드셰이크, X3DH 230 __10.4.3 시그널의 핸드셰이크 후 프로토콜, 더블 래칫 233 10.5 종단 간 암호화의 현재 238 요약 240 CHAPTER 11 사용자 인증 243 11.1 인증 복습하기 243 11.2 사용자 인증, 비밀번호를 없애기 위한 여정 245 __11.2.1 비밀번호의 지배자, SSO와 비밀번호 관리자 248 __11.2.2 비밀번호 노출을 막고 싶다고요? 비대칭 비밀번호 인증 키 교환을 쓰세요 249 __11.2.3 O TP는 실제 비밀번호가 아니다. 대칭 키를 사용하여 비밀번호 없이 전환하기 253 __11.2.4 비대칭 키로 비밀번호 대체하기 257 11.3 사용자 지원 인증: 사람의 도움으로 장치 페어링하기 260 __11.3.1 미리 공유된 키 261 __11.3.2 CPace를 사용한 대칭 비밀번호 인증 키 교환 263 __11.3.3 내 키 교환이 MITM 공격을 당했나? SAS를 확인하자 264 요약 267 CHAPTER 12 ‘암호화폐’의 ‘암호’? 269 12.1 BFT 합의 알고리즘에 대한 간단한 소개 270 __12.1.1 회복력의 문제: 구조를 위한 분산 프로토콜 270 __12.1.2 신뢰의 문제를 해결하는 탈중앙화 272 __12.1.3 규모의 문제: 무허가 및 검열 방지 네트워크 273 12.2 비트코인의 작동 방식 275 __12.2.1 비트코인이 사용자 잔고와 트랜잭션을 관리하는 방법 276 __12.2.2 디지털 금광 시대, BTC를 채굴한다는 것 278 __12.2.3 포크 지옥! 채굴 분쟁 해결 281 __12.2.4 머클 트리를 사용하여 블록 크기 줄이기 284 12.3 암호화폐 둘러보기 286 __12.3.1 변동성 286 __12.3.2 지연 시간 286 __12.3.3 블록체인의 크기 287 __12.3.4 기밀성 287 __12.3.5 에너지 효율 288 12.4 디엠BFT: BFT 합의 프로토콜 288 __12.4.1 BFT 합의 프로토콜의 두 속성, 안전성과 활성 288 __12.4.2 디엠BFT 프로토콜의 라운드 289 __12.4.3 프로토콜은 부정직함을 어느 정도까지 허용할 수 있는가? 290 __12.4.4 디엠BFT 투표 규칙 291 __12.4.5 트랜잭션은 언제 확정되는가? 292 __12.4.6 디엠BFM의 안전성에 숨은 직관 293 요약 295 CHAPTER 13 하드웨어 암호학 297 13.1 현대 암호학의 공격자 모델 297 13.2 비신뢰 환경의 구원자, 하드웨어 299 __13.2.1 화이트박스 암호학 300 __13.2.2 스마트 카드와 보안 요소 300 __13.2.3 은행이 사랑한 HSM 303 __13.2.4. 보안 요소의 훌륭한 표준화, TPM 305 __13.2.5 TEE를 이용한 보안 컴퓨팅 308 13.3 어떤 솔루션을 고를까? 309 13.4 누출 저항 암호학, 그리고 사이드채널 공격 방어법 311 __13.4.1 상수 시간 프로그래밍 313 __13.4.2 마스킹과 블라인드 315 __13.4.3 결함 공격 대처법 316 요약 316 CHAPTER 14 양자 컴퓨터 시대의 암호학 319 14.1 양자 컴퓨터가 뭐길래? 320 __14.1.1 작은 것에 대한 탐구, 양자역학 320 __14.1.2 양자 컴퓨터의 탄생으로부터 양자 우위까지 323 __14.1.3 그로버와 쇼어의 알고리즘 324 __14.1.4 양자 컴퓨터에 맞서는 양자 후 암호학 326 14.2 해시 함수만 있으면 된다! 해시 기반 서명 326 __14.2.1 램포트 서명을 통한 OTS 327 __14.2.2 WOTS와 작은 키 329 __14.2.3 XMSS와 SPHINCS+를 통한 다회 서명 330 14.3 격자 기반 암호학을 사용한 더 짧은 키 및 서명 333 __14.3.1 격자란? 333 __14.3.2 오류를 통한 학습 335 __14.3.3 격자 기반 키 교환, 카이버 337 __14.3.4 격자 기반 서명 체계, 다이리튬 339 14.4 양자 컴퓨터는 공포인가? 340 요약 342 CHAPTER 15 차세대 암호학 345 15.1 함께할수록 좋은 MPC 346 __15.1.1 PSI 347 __15.1.2 범용 MPC 348 __15.1.3 MPC의 현재 350 15.2 FHE, 그리고 암호화 클라우드의 미래 350 __15.2.1 RSA 암호화와 동형 암호화의 예 351 __15.2.2 다양한 동형 암호화 351 __15.2.3 FHE의 열쇠, 부트스트래핑 352 __15.2.4 오류를 통한 학습 기반 FHE 체계 354 __15.2.5 어디에 사용할까? 356 15.3 범용 ZKP 357 __15.3.1 zk-SNARK의 작동 원리 359 __15.3.2 증거의 일부를 숨기는 동형 커밋 360 __15.3.3 동형 커밋을 개선하는 쌍선형 페어링 361 __15.3.4 간결성은 어디에? 361 __15.3.5 프로그램을 다항식으로 362 __15.3.6 프로그램은 컴퓨터를 위한 것. 우리에게 필요한 것은 산술 회로 363 __15.3.7 R1CS 산술 회로 364 __15.3.8 R1CS에서 다항식까지 364 __15.3.9 지수에 숨은 다항식을 계산하기 365 요약 367 CHAPTER 16 암호학의 끝 369 16.1 알맞은 암호학 프리미티브 또는 프로토콜을 찾는 지루한 작업 370 16.2 암호학 프리미티브 및 프로토콜을 사용하는 법? 표준과 형식 검증 371 16.3 좋은 라이브러리는 어디에? 374 16.4 개발자가 적? 암호학의 오용 376 16.5 사용이 편한 보안 377 16.6 암호학은 섬이 아니다 378 16.7 암호학 실무자의 책임: 자신의 암호학을 시험하지 말자 379 요약 381 연습 문제 정답 383 찾아보기 388