{"product_id":"139201","title":"리얼월드 암호학","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/uOonlWT5WUA8xLFYurHB0eU5BOS.png?v=1765073827\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\u003ccenter\u003e\n\u003cdiv style=\"width:95%\"\u003e\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e리얼월드 암호학\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/116788103\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003eDescription\u003c\/div\u003e\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e책소개\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e \u003cdiv\u003e  \u003cb\u003e세상에서 가장 실용적인 암호학 가이드북 \u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e암호학은 IT 보안의 필수 기반이다.\u003cbr\u003e시스템 공격자보다 앞서려면 네트워크와 애플리케이션을 보호할 도구, 프레임워크, 프로토콜을 이해해야 한다.\u003cbr\u003e이 책은 개발자, 시스템 관리자, 보안 실무자를 위한 실용적인 기술을 가르친다.\u003cbr\u003e복잡한 수학이나 전문용어 대신 다양한 그림과 실제 사례를 통해 현대 암호학 기법을 설명한다.\u003cbr\u003e해시 함수, 서명, HTTPS, 보안 메시징, 양자 내성 암호학, 암호화폐 등 기본 요소부터 최첨단 기술까지 배울 수 있다. TLS를 포함한 인터넷 표준에 적극적으로 기여하고 있는 암호학 엔지니어가 필드에 처음 입문하는 실무자도 읽을 수 있게 집필했다.\u003cbr\u003e\n\u003c\/div\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cul\u003e \u003cli\u003e 책의 일부 내용을 미리 읽어보실 수 있습니다.\u003cbr\u003e\u003cspan\u003e미리보기\u003c\/span\u003e\n\u003c\/li\u003e \u003c\/ul\u003e \u003c\/div\u003e \u003c\/div\u003e \u003cbr\u003e\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e목차\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e  옮긴이 머리말 xii\u003cbr\u003e추천의 글 xiii\u003cbr\u003e베타리더 후기 xv\u003cbr\u003e시작하며 xvii\u003cbr\u003e감사의 글 xxii\u003cbr\u003e이 책에 대하여 xxiii\u003cbr\u003e표지에 대하여 xxvii\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART I 프리미티브: 암호학의 재료\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003eCHAPTER 1 시작하며 3\u003cbr\u003e1.1 암호학은 프로토콜을 보호한다 4\u003cbr\u003e1.2 대칭 암호학: 대칭 암호화란? 5\u003cbr\u003e1.3 케르크호프스의 원칙: 키만은 비밀로 지키자 7\u003cbr\u003e1.4 비대칭 암호학: 키 두 개가 하나보단 낫지 10\u003cbr\u003e__1.4.1 비밀을 공유하는 방법, 키 교환 10\u003cbr\u003e__1.4.2 비대칭 암호화, 대칭 암호화와는 다르다! 13\u003cbr\u003e__1.4.3 디지털 서명: 펜과 종이의 서명과 그리 다르지 않다 15\u003cbr\u003e1.5 암호학의 분류 17\u003cbr\u003e1.6 이론 암호학 vs 실세계 암호학 19\u003cbr\u003e1.7 이론에서 현실로: 암호학의 현실화를 위한 시뮬레이션 20\u003cbr\u003e1.8 경고장 25\u003cbr\u003e요약 26\u003cbr\u003e\u003cbr\u003eCHAPTER 2 해시 함수 27\u003cbr\u003e2.1 해시 함수란? 27\u003cbr\u003e2.2 해시 함수의 보안 속성 30\u003cbr\u003e2.3 해시 함수의 보안 제약 32\u003cbr\u003e2.4 해시 함수의 실사용 34\u003cbr\u003e__2.4.1 커밋 34\u003cbr\u003e__2.4.2 서브리소스 무결성 35\u003cbr\u003e__2.4.3 비트토렌트 35\u003cbr\u003e__2.4.4 토르 35\u003cbr\u003e2.5 표준화된 해시 함수 36\u003cbr\u003e__2.5.1 SHA-2 해시 함수 37\u003cbr\u003e__2.5.2 SHA-3 해시 함수 41\u003cbr\u003e__2.5.3 두 가지 XOF, SHAKE와 cSHAKE 44\u003cbr\u003e__2.5.4 튜플해시, 모호성을 해결하다 46\u003cbr\u003e2.6 비밀번호 해시 48\u003cbr\u003e요약 50\u003cbr\u003e\u003cbr\u003eCHAPTER 3 메시지 인증 코드 51\u003cbr\u003e3.1 MAC의 대표적 예, 무상태성 쿠키 51\u003cbr\u003e3.2 코드 예제 54\u003cbr\u003e3.3 MAC의 보안 속성 56\u003cbr\u003e__3.3.1 인증 태그의 위조 56\u003cbr\u003e__3.3.2 인증 태그의 길이 57\u003cbr\u003e__3.3.3 리플레이 공격 58\u003cbr\u003e__3.3.4 주기적 인증 태그 검증 59\u003cbr\u003e3.4 실세계의 MAC 61\u003cbr\u003e__3.4.1 메시지 인증 61\u003cbr\u003e__3.4.2 키 파생 61\u003cbr\u003e__3.4.3 쿠키의 정합성 61\u003cbr\u003e__3.4.4 해시 테이블 62\u003cbr\u003e3.5 실무에서의 MAC 62\u003cbr\u003e__3.5.1 해시 기반 MAC, HMAC 62\u003cbr\u003e__3.5.2 cSHAKE 기반 MAC, KMAC 63\u003cbr\u003e3.6 SHA-2와 가변 길이 공격 64\u003cbr\u003e요약 67\u003cbr\u003e\u003cbr\u003eCHAPTER 4 인증 암호화 69\u003cbr\u003e4.1 암호문이란? 70\u003cbr\u003e4.2 AES 블록 암호화 71\u003cbr\u003e__4.2.1 AES가 제공하는 보안의 수준 72\u003cbr\u003e__4.2.2 AES의 인터페이스 73\u003cbr\u003e__4.2.3 AES의 내부 74\u003cbr\u003e4.3 암호화된 펭귄, 그리고 CBC 모드 75\u003cbr\u003e4.4 인증이 필요하면? AES-CBC-HMAC 78\u003cbr\u003e4.5 올인원 구조: 인증 암호화 80\u003cbr\u003e__4.5.1 AEAD 80\u003cbr\u003e__4.5.2 AES-GCM AEAD 82\u003cbr\u003e__4.5.3 ChaCha20-Poly1305 86\u003cbr\u003e4.6 그 밖의 대칭 암호화 90\u003cbr\u003e__4.6.1 키 래핑 91\u003cbr\u003e__4.6.2 논스 오용 방지 인증 암호화 91\u003cbr\u003e__4.6.3 디스크 암호화 91\u003cbr\u003e__4.6.4 데이터베이스 암호화 92\u003cbr\u003e요약 92\u003cbr\u003e\u003cbr\u003eCHAPTER 5 키 교환 95\u003cbr\u003e5.1 키 교환이란? 96\u003cbr\u003e5.2 DH 키 교환 99\u003cbr\u003e__5.2.1 군론 99\u003cbr\u003e__5.2.2 디피-헬먼의 기반, 이산 로그 문제 103\u003cbr\u003e__5.2.3 디피-헬먼 표준 105\u003cbr\u003e5.3 ECDH 키 교환 106\u003cbr\u003e__5.3.1 타원 곡선이란? 107\u003cbr\u003e__5.3.2 ECDH 키 교환의 작동 원리 110\u003cbr\u003e__5.3.3 타원 곡선 디피-헬먼의 표준 112\u003cbr\u003e5.4 작은 부분군 공격과 그 밖의 보안 고려 사항 114\u003cbr\u003e요약 117\u003cbr\u003e\u003cbr\u003eCHAPTER 6 비대칭 암호화와 하이브리드 암호화 119\u003cbr\u003e6.1 비대칭 암호화란? 120\u003cbr\u003e6.2 실전 비대칭 암호화와 하이브리드 암호화 122\u003cbr\u003e__6.2.1 키 교환 및 키 캡슐화 122\u003cbr\u003e__6.2.2 하이브리드 암호화 123\u003cbr\u003e6.3 RSA 비대칭 암호화: 최악과 차악 127\u003cbr\u003e__6.3.1 교과서 RSA 127\u003cbr\u003e__6.3.2 RSA PKCS#1 v1.5를 쓰지 않는 이유 131\u003cbr\u003e__6.3.3 RSA-OAEP 비대칭 암호화 133\u003cbr\u003e6.4 ECIES 하이브리드 암호화 136\u003cbr\u003e요약 138\u003cbr\u003e\u003cbr\u003eCHAPTER 7 서명과 영지식 증명 139\u003cbr\u003e7.1 서명이란? 140\u003cbr\u003e__7.1.1 실전에서 서명하고 서명을 검증하는 방법 141\u003cbr\u003e__7.1.2 서명의 주된 사용: 인증된 키 교환 142\u003cbr\u003e__7.1.3 실세계의 사용 사례: 공개 키 인프라 143\u003cbr\u003e7.2 ZKP: 서명의 근원 144\u003cbr\u003e__7.2.1 슈노어 식별 프로토콜: 대화형 ZKP 145\u003cbr\u003e__7.2.2 비대화형 ZKP로서의 서명 148\u003cbr\u003e7.3 권장하는 서명 알고리즘 149\u003cbr\u003e__7.3.1 불안한 표준, RSA PKCS#1 v1.5 150\u003cbr\u003e__7.3.2 개선된 표준, RSA-PSS 153\u003cbr\u003e__7.3.3 ECDSA 154\u003cbr\u003e__7.3.4 EdDSA 157\u003cbr\u003e7.4 서명 체계의 미묘한 속성 160\u003cbr\u003e__7.4.1 대체 공격 160\u003cbr\u003e__7.4.2 서명의 가단성 162\u003cbr\u003e요약 162\u003cbr\u003e\u003cbr\u003eCHAPTER 8 무작위성과 비밀 165\u003cbr\u003e8.1 무작위성이란? 166\u003cbr\u003e8.2 느린 무작위성? PRNG를 쓰세요 167\u003cbr\u003e8.3 실전에서 무작위성 확보하기 171\u003cbr\u003e8.4 난수 생성과 보안 고려 사항 173\u003cbr\u003e8.5 공개적 무작위성 175\u003cbr\u003e8.6 키 파생과 HKDF 177\u003cbr\u003e8.7 키 관리와 비밀 관리 181\u003cbr\u003e8.8 임곗값 암호학을 통한 신뢰의 탈중앙화 183\u003cbr\u003e요약 186\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART II 프로토콜: 암호학의 레시피\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003eCHAPTER 9 보안 전송 189\u003cbr\u003e9.1 보안 전송 프로토콜, SSL과 TLS 190\u003cbr\u003e__9.1.1 SSL에서 TLS로 190\u003cbr\u003e__9.1.2 실전에서 TLS 활용하기 191\u003cbr\u003e9.2 TLS 프로토콜의 작동 원리 193\u003cbr\u003e__9.2.1 TLS 핸드셰이크 194\u003cbr\u003e__9.2.2 TLS 1.3이 애플리케이션 데이터를 암호화하는 방법 207\u003cbr\u003e9.3 암호화된 웹의 현재 208\u003cbr\u003e9.4 기타 전송 프로토콜 211\u003cbr\u003e9.5 TLS에 대한 현대적인 대안, 노이즈 프로토콜 프레임워크 211\u003cbr\u003e__9.5.1 노이즈의 다양한 핸드셰이크 212\u003cbr\u003e__9.5.2 노이즈의 핸드셰이크 213\u003cbr\u003e요약 214\u003cbr\u003e\u003cbr\u003eCHAPTER 10 종단 간 암호화 215\u003cbr\u003e10.1 종단 간 암호화가 왜 필요한가? 216\u003cbr\u003e10.2 어디에서도 찾을 수 없는 신뢰의 근원 217\u003cbr\u003e10.3 이메일 암호화의 실패 219\u003cbr\u003e__10.3.1. PGP? GPG? 어떻게 작동할까? 219\u003cbr\u003e__10.3.2 사용자 간의 신뢰를 확장시키는 신뢰의 웹 222\u003cbr\u003e__10.3.3 진짜 이슈는 키 발견 223\u003cbr\u003e__10.3.4 PGP가 아니라면, 대안은? 224\u003cbr\u003e10.4 보안 메시징: 시그널을 활용한 현대적 종단 간 암호화 226\u003cbr\u003e__10.4.1 신뢰하되, 검증하라. WOT보다 사용자 친화적으로 227\u003cbr\u003e__10.4.2 시그널 프로토콜의 핸드셰이크, X3DH 230\u003cbr\u003e__10.4.3 시그널의 핸드셰이크 후 프로토콜, 더블 래칫 233\u003cbr\u003e10.5 종단 간 암호화의 현재 238\u003cbr\u003e요약 240\u003cbr\u003e\u003cbr\u003eCHAPTER 11 사용자 인증 243\u003cbr\u003e11.1 인증 복습하기 243\u003cbr\u003e11.2 사용자 인증, 비밀번호를 없애기 위한 여정 245\u003cbr\u003e__11.2.1 비밀번호의 지배자, SSO와 비밀번호 관리자 248\u003cbr\u003e__11.2.2 비밀번호 노출을 막고 싶다고요? 비대칭 비밀번호 인증 키 교환을 쓰세요 249\u003cbr\u003e__11.2.3 O TP는 실제 비밀번호가 아니다.\u003cbr\u003e대칭 키를 사용하여 비밀번호 없이 전환하기 253\u003cbr\u003e__11.2.4 비대칭 키로 비밀번호 대체하기 257\u003cbr\u003e11.3 사용자 지원 인증: 사람의 도움으로 장치 페어링하기 260\u003cbr\u003e__11.3.1 미리 공유된 키 261\u003cbr\u003e__11.3.2 CPace를 사용한 대칭 비밀번호 인증 키 교환 263\u003cbr\u003e__11.3.3 내 키 교환이 MITM 공격을 당했나? SAS를 확인하자 264\u003cbr\u003e요약 267\u003cbr\u003e\u003cbr\u003eCHAPTER 12 ‘암호화폐’의 ‘암호’? 269\u003cbr\u003e12.1 BFT 합의 알고리즘에 대한 간단한 소개 270\u003cbr\u003e__12.1.1 회복력의 문제: 구조를 위한 분산 프로토콜 270\u003cbr\u003e__12.1.2 신뢰의 문제를 해결하는 탈중앙화 272\u003cbr\u003e__12.1.3 규모의 문제: 무허가 및 검열 방지 네트워크 273\u003cbr\u003e12.2 비트코인의 작동 방식 275\u003cbr\u003e__12.2.1 비트코인이 사용자 잔고와 트랜잭션을 관리하는 방법 276\u003cbr\u003e__12.2.2 디지털 금광 시대, BTC를 채굴한다는 것 278\u003cbr\u003e__12.2.3 포크 지옥! 채굴 분쟁 해결 281\u003cbr\u003e__12.2.4 머클 트리를 사용하여 블록 크기 줄이기 284\u003cbr\u003e12.3 암호화폐 둘러보기 286\u003cbr\u003e__12.3.1 변동성 286\u003cbr\u003e__12.3.2 지연 시간 286\u003cbr\u003e__12.3.3 블록체인의 크기 287\u003cbr\u003e__12.3.4 기밀성 287\u003cbr\u003e__12.3.5 에너지 효율 288\u003cbr\u003e12.4 디엠BFT: BFT 합의 프로토콜 288\u003cbr\u003e__12.4.1 BFT 합의 프로토콜의 두 속성, 안전성과 활성 288\u003cbr\u003e__12.4.2 디엠BFT 프로토콜의 라운드 289\u003cbr\u003e__12.4.3 프로토콜은 부정직함을 어느 정도까지 허용할 수 있는가? 290\u003cbr\u003e__12.4.4 디엠BFT 투표 규칙 291\u003cbr\u003e__12.4.5 트랜잭션은 언제 확정되는가? 292\u003cbr\u003e__12.4.6 디엠BFM의 안전성에 숨은 직관 293\u003cbr\u003e요약 295\u003cbr\u003e\u003cbr\u003eCHAPTER 13 하드웨어 암호학 297\u003cbr\u003e13.1 현대 암호학의 공격자 모델 297\u003cbr\u003e13.2 비신뢰 환경의 구원자, 하드웨어 299\u003cbr\u003e__13.2.1 화이트박스 암호학 300\u003cbr\u003e__13.2.2 스마트 카드와 보안 요소 300\u003cbr\u003e__13.2.3 은행이 사랑한 HSM 303\u003cbr\u003e__13.2.4.\u003cbr\u003e보안 요소의 훌륭한 표준화, TPM 305\u003cbr\u003e__13.2.5 TEE를 이용한 보안 컴퓨팅 308\u003cbr\u003e13.3 어떤 솔루션을 고를까? 309\u003cbr\u003e13.4 누출 저항 암호학, 그리고 사이드채널 공격 방어법 311\u003cbr\u003e__13.4.1 상수 시간 프로그래밍 313\u003cbr\u003e__13.4.2 마스킹과 블라인드 315\u003cbr\u003e__13.4.3 결함 공격 대처법 316\u003cbr\u003e요약 316\u003cbr\u003e\u003cbr\u003eCHAPTER 14 양자 컴퓨터 시대의 암호학 319\u003cbr\u003e14.1 양자 컴퓨터가 뭐길래? 320\u003cbr\u003e__14.1.1 작은 것에 대한 탐구, 양자역학 320\u003cbr\u003e__14.1.2 양자 컴퓨터의 탄생으로부터 양자 우위까지 323\u003cbr\u003e__14.1.3 그로버와 쇼어의 알고리즘 324\u003cbr\u003e__14.1.4 양자 컴퓨터에 맞서는 양자 후 암호학 326\u003cbr\u003e14.2 해시 함수만 있으면 된다! 해시 기반 서명 326\u003cbr\u003e__14.2.1 램포트 서명을 통한 OTS 327\u003cbr\u003e__14.2.2 WOTS와 작은 키 329\u003cbr\u003e__14.2.3 XMSS와 SPHINCS+를 통한 다회 서명 330\u003cbr\u003e14.3 격자 기반 암호학을 사용한 더 짧은 키 및 서명 333\u003cbr\u003e__14.3.1 격자란? 333\u003cbr\u003e__14.3.2 오류를 통한 학습 335\u003cbr\u003e__14.3.3 격자 기반 키 교환, 카이버 337\u003cbr\u003e__14.3.4 격자 기반 서명 체계, 다이리튬 339\u003cbr\u003e14.4 양자 컴퓨터는 공포인가? 340\u003cbr\u003e요약 342\u003cbr\u003e\u003cbr\u003eCHAPTER 15 차세대 암호학 345\u003cbr\u003e15.1 함께할수록 좋은 MPC 346\u003cbr\u003e__15.1.1 PSI 347\u003cbr\u003e__15.1.2 범용 MPC 348\u003cbr\u003e__15.1.3 MPC의 현재 350\u003cbr\u003e15.2 FHE, 그리고 암호화 클라우드의 미래 350\u003cbr\u003e__15.2.1 RSA 암호화와 동형 암호화의 예 351\u003cbr\u003e__15.2.2 다양한 동형 암호화 351\u003cbr\u003e__15.2.3 FHE의 열쇠, 부트스트래핑 352\u003cbr\u003e__15.2.4 오류를 통한 학습 기반 FHE 체계 354\u003cbr\u003e__15.2.5 어디에 사용할까? 356\u003cbr\u003e15.3 범용 ZKP 357\u003cbr\u003e__15.3.1 zk-SNARK의 작동 원리 359\u003cbr\u003e__15.3.2 증거의 일부를 숨기는 동형 커밋 360\u003cbr\u003e__15.3.3 동형 커밋을 개선하는 쌍선형 페어링 361\u003cbr\u003e__15.3.4 간결성은 어디에? 361\u003cbr\u003e__15.3.5 프로그램을 다항식으로 362\u003cbr\u003e__15.3.6 프로그램은 컴퓨터를 위한 것.\u003cbr\u003e우리에게 필요한 것은 산술 회로 363\u003cbr\u003e__15.3.7 R1CS 산술 회로 364\u003cbr\u003e__15.3.8 R1CS에서 다항식까지 364\u003cbr\u003e__15.3.9 지수에 숨은 다항식을 계산하기 365\u003cbr\u003e요약 367\u003cbr\u003e\u003cbr\u003eCHAPTER 16 암호학의 끝 369\u003cbr\u003e16.1 알맞은 암호학 프리미티브 또는 프로토콜을 찾는 지루한 작업 370\u003cbr\u003e16.2 암호학 프리미티브 및 프로토콜을 사용하는 법? 표준과 형식 검증 371\u003cbr\u003e16.3 좋은 라이브러리는 어디에? 374\u003cbr\u003e16.4 개발자가 적? 암호학의 오용 376\u003cbr\u003e16.5 사용이 편한 보안 377\u003cbr\u003e16.6 암호학은 섬이 아니다 378\u003cbr\u003e16.7 암호학 실무자의 책임: 자신의 암호학을 시험하지 말자 379\u003cbr\u003e\u003cbr\u003e요약 381\u003cbr\u003e연습 문제 정답 383\u003cbr\u003e찾아보기 388 \u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \u003cbr\u003e\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e상세 이미지\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e \u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate4071\/MidCate005\/407047429(1).jpg\" border=\"0\" alt=\"상세 이미지 1\"\u003e \u003c\/div\u003e \u003c\/div\u003e \u003cbr\u003e\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e책 속으로\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e \u003cdiv\u003e  앨리스(Alice) 여왕이 멀리 있는 성에 사는 밥(Bob) 경에게 편지를 보내야 하는 상황을 가정하자.\u003cbr\u003e앨리스 여왕은 밥 경에게 귀중한 메시지를 전하기 위해 충성스러운 전령(messenger)에게 믿음직한 말을 타고 위험한 땅을 가로질러 떠나도록 요청한다.\u003cbr\u003e그러나 그녀는 전령을 완전히 믿지 못한다.\u003cbr\u003e(…) 앨리스 여왕에게 필요한 것은, 중개인 없이 밥 경에게 메시지를 전달하는 행위를 모방한 프로토콜이다.\u003cbr\u003e이는 암호학(또는 순간이동)을 도입하지 않는 한 실제 푸는 것이 불가능한 문제다.\u003cbr\u003e이를 해결하기 위해 오래전에 발명된 암호학적 알고리즘이 바로 대칭 암호화 알고리즘(symmetric encryption algorithm, 사이퍼(cipher)라고도 함)이다.\u003cbr\u003e\u003cbr\u003e--- p.5\u003cbr\u003e\u003cbr\u003e이 문제는 필자가 기술 감사 과정에서 여러 번 발견했던 취약점이기도 하다.\u003cbr\u003e인증 태그 검증 시, 수신한 인증 태그와 계산한 인증 태그의 비교가 상수 시간(constant time) 내에 이루어져야 한다.\u003cbr\u003e즉 수신된 태그가 올바른 크기라고 가정할 때 비교에 항상 동일한 시간이 소요되어야 한다.\u003cbr\u003e두 인증 태그를 비교하는 데 걸리는 시간이 일정하지 않은 것은 비교 중 두 태그가 다른 순간이 반영되었기 때문일 수 있다.\u003cbr\u003e이렇게 되면 검증에 걸리는 시간을 측정한 후 유효한 인증 태그를 바이트 단위로 다시 생성해서 공격하는 것이 가능하다.\u003cbr\u003e이러한 유형의 공격을 타이밍 공격(timing attack)이라 한다.\u003cbr\u003e다음 페이지 만화에서 비유를 통해 설명하고 있다.\u003cbr\u003e\/ 다행히도 MAC를 구현하는 암호학 라이브러리는 인증 태그를 상수 시간에 검증할 수 있는 편리한 함수도 제공한다.\u003cbr\u003e실제로 구현하는 예로, 예제 3.3에서 고랭(Golang)으로 상수 시간에 인증 태그를 비교하도록 구현하는 방법을 볼 수 있다.\u003cbr\u003e\u003cbr\u003e--- p.59\u003cbr\u003e\u003cbr\u003e먼저 앨리스에게 보내는 메시지를 암호화하려면 앨리스의 공개 키와 여기에서 생성한 키 쌍(이를 임시(ephemeral) 키 쌍이라 함)으로 (EC)DH 기반 키 교환을 사용한다.\u003cbr\u003e그런 다음 AES-GCM과 같은 인증된 대칭 암호화 알고리즘으로 획득한 공유 비밀을 사용하여 앨리스에게 보낼 더 긴 메시지를 암호화할수 있다(그림 6.19).\u003cbr\u003e\/ 그런 다음 임시 공개 키와 암호문을 앨리스에게 보낼 수 있다.\u003cbr\u003e앨리스는 임시 공개 키를 사용하여 자신의 키 쌍과 키 교환을 수행한다.\u003cbr\u003e그러면 결과를 사용하여 암호문을 복호화하고 원본 메시지를 받을 수 있다.\u003cbr\u003e\u003cbr\u003e--- p.136\u003cbr\u003e\u003cbr\u003e암호학 말고도 무작위성이 필요한 곳은 무궁무진하다.\u003cbr\u003e예를 들어 ls와 같은 간단한 유닉스 프로그램에도 무작위성이 필요하다! 프로그램의 버그가 악용되면 치명적인 일이 생길 수 있으므로, 바이너리는 다양한 트릭을 사용하여 저수준의 공격을 방어하려 시도한다.\u003cbr\u003e그중 하나는 주소 공간 레이아웃 무작위화(address space layout randomization, ASLR)로, 실행될 때마다 프로세스의 메모리 레이아웃을 무작위로 지정하므로 무작위 숫자가 필요하다.\u003cbr\u003e또 다른 예는 네트워크 프로토콜 TCP로, 연결을 생성할 때마다 난수를 사용하여 예측할 수 없는 일련의 숫자를 생성하고 연결을 가로채려는 공격을 저지한다.\u003cbr\u003e(…) (늘 그렇듯) 남들과 다르게 하기를 원하는 NIST는 PRNG를 결정론적 랜덤 비트 생성기(deterministic random bit generator, DRBG)라 부른다.\u003cbr\u003e\u003cbr\u003e--- pp.167~168\u003cbr\u003e\u003cbr\u003e어떤 공격자는 장치에 여유 있게 접근할 수 있지만 어떤 공격자는 제한된 시간 동안 공격을 해내야 한다.\u003cbr\u003e다음 시나리오를 상상해보자.\u003cbr\u003e당신이 스마트폰이나 노트북을 호텔 방에 방치해뒀는데, ‘악의적인’ 메이드가 들어와 장치를 열고 저예산의 도구를 사용하여 시스템을 수정한 다음 장치를 원래 자리에 두었다.\u003cbr\u003e당신이 방으로 돌아왔을 때 장치는 원래 자리에 있으며 아무도 손대지 않은 것 같다.\u003cbr\u003e이는 악한 메이드 공격(evil maid attack)으로 알려져 있으며 많은 상황에 일반화될 수 있다(예: 비행 중 체크인 수하물 안에 장치를 휴대하거나, 안전하지 않은 데이터 센터에 민감한 키를 저장하는 등).\u003cbr\u003e\u003cbr\u003e--- p.299\u003cbr\u003e\u003cbr\u003e오늘날 사용되는 대부분의 비대칭 알고리즘은 이산 로그 또는 인수분해 문제에 의존하기에, 쇼어의 알고리즘은 비대칭 암호학에 치명적이다.\u003cbr\u003e물론 이산 로그와 인수분해는 여전히 어려운 수학 문제며, 양자 컴퓨터에 대한 방어를 업그레이드하기 위해 알고리즘 파라미터의 크기를 키울 수도 있다.\u003cbr\u003e하지만 안타깝게도, 2017년에 번슈타인 등은 파라미터의 확장이 효과는 있지만 매우 비실용적임을 보여주었다.\u003cbr\u003e이 연구는 RSA의 매개변수를 1테라바이트까지 증가시켜야 양자 저항성을 만들 수 있다고 추정했다.\u003cbr\u003e이 정도의 파라미터 크기는 비현실적이다.\u003cbr\u003e\n\u003c\/div\u003e \u003cdiv\u003e--- p.325\u003c\/div\u003e \u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \u003cbr\u003e\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e출판사 리뷰\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e  \u003cb\u003e수식 대신 그림, 역사 대신 사례, 이론 대신 응용으로 배우는 암호학의 현재와 미래 \u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e암호학은 웹 API, 유저 서비스, 블록체인 등 IT 보안의 근간이지만, 유달리 읽을 만한 책이 없다.\u003cbr\u003e카이사르 암호나 비즈네르 암호 같은 역사로 시작하는 책은 지겹다.\u003cbr\u003e현대 암호학이 어떤 요소로 구성되었는지, 어떤 프로토콜이 자주 쓰이며, 어떤 공격 사례가 있었는지, 양자 컴퓨터가 나온 마당에 암호학의 미래는 어떻게 될 것인지.\u003cbr\u003e실무자가 궁금한 건 이런 내용이다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e이 책의 저자는 암호학의 역사나 레거시 알고리즘 대신 TLS, 노이즈 프로토콜 프레임워크, 시그널 프로토콜, 암호화폐(저자는 이 책이 암호화폐를 한 챕터로 다루는 최초의 암호학 책이라고 주장한다!), HSM, 임곗값 암호학 등 오늘날 실제로 대규모로 사용되는 사례로 이 책을 채웠다.\u003cbr\u003e수식이 없을 수는 없지만, 우리에게 친숙한 앨리스와 밥을 포함해 수많은 그림을 삽입해 알기 쉽게 설명하려 노력했다.\u003cbr\u003e저자 본인 역시 대학에서 배운 타원 곡선 수학이 현실 세계 알고리즘에서 어떻게 사용되는지 알 수 없었고, 많은 개발자가 ‘구현’을 잘못해 보안 실패를 초래하고 있기에, 장마다 ‘좋은’ 라이브러리를 골라 자바, 자바스크립트, 고랭, 러스트 등 다양한 언어로 작성한 예제 스니펫을 담았다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e풍부한 도표와 사례 덕분에 개발자, 시스템 관리자, 보안 실무자는 인증, 암호화, 비밀 유지 등 암호학 개념을 익히고 공격자보다 앞서기 위한 도구, 프레임워크, 프로토콜을 배울 수 있다.\u003cbr\u003e해시 함수와 서명 등 기초부터 HTTPS와 보안 메시징 등 암호학 프로토콜, 그리고 양자 후 암호학(양자 내성 암호학)과 암호화폐 등 첨단 기술까지 살펴보는, 가장 실용적이며 가장 현대적인 암호학 책이다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003e주요 내용\u003cbr\u003e\u003c\/b\u003e \u003cbr\u003eㆍ 암호학 활용 시의 베스트 프랙티스\u003cbr\u003eㆍ 암호학 알고리즘에 대한 그림과 해설\u003cbr\u003eㆍ 디지털 서명 및 영지식 증명 구현\u003cbr\u003eㆍ 공격 등에 대비하기 위한 하드웨어 솔루션\u003cbr\u003eㆍ 나쁜 프랙티스를 식별하고 고치는 법\u003cbr\u003eㆍ 문제별로 적합한 암호학 도구 선택하기 \u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003eGOODS SPECIFICS\u003c\/div\u003e\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003e발행일 : \u003c\/strong\u003e2023년 01월 20일\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003e쪽수, 무게, 크기 : \u003c\/strong\u003e424쪽 | 806g | 188*245*22mm\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN13 : \u003c\/strong\u003e9791192469539\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN10 : \u003c\/strong\u003e1192469534\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ccenter\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cspan\u003e\u003c\/span\u003e\n\u003c\/center\u003e\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893345779754,"sku":"139201","price":44.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/fc306e7cca2b398337e377946690888e.jpg?v=1765397549","url":"https:\/\/librairie.coreenne.fr\/ko\/products\/139201","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}