목차
저자 소개 ... 5
옮긴이의 말 ... 6
옮긴이 소개 ... 7
들어가며 ... 21
1부 개요 ... 29
   1장 암호학의 배경 ... 31
      1.1 암호학의 역할 ... 32
      1.2 가장 약한 연결 고리 속성 ... 33
      1.3 대립적 설정 ... 35
      1.4 전문가적 편집증 ... 37
      1.5 위협 모델 ... 39
      1.6 암호학≠해결책 ... 41
      1.7 어려운 암호학 ... 42
      1.8 암호학에서의 쉬운 부분 ... 43
      1.9 일반적인 공격 ... 44
      1.10 보안과 기타 설계 기준 ... 44
      1.11 참조 자료 ... 48
      1.12 보안 편집광을 위한 훈련 ... 49
      1.13 연습문제 ... 52
   2장 암호학 소개 ... 55
      2.1 암호화 ... 55
      2.2 인증 ... 57
      2.3 공개키 암호 ... 60
      2.4 전자 서명 ... 62
      2.5 공개키 기반 구조 ... 63
      2.6 공격 ... 64
      2.7 자세히 살펴보기 ... 67
      2.8 보안 수준 ... 70
      2.9 성능 ... 71
      2.10 복잡성 ... 72
      2.11 연습문제 ... 73
2부 메시지 보안 ... 75
   3장 블록 암호 ... 77
      3.1 블록 암호란 ... 77
      3.2 공격 유형 ... 79
      3.3 이상적인 블록 암호 ... 80
      3.4 블록 암호의 안전에 관한 정의 ... 81
      3.5 실제 블록 암호 ... 85
      3.6 연습문제 ... 98
   4장 블록 암호 모드 ... 101
      4.1 패딩 ... 102
      4.2 ECB ... 103
      4.3 CBC ... 104
      4.4 OFB ... 107
      4.5 CTR ... 109
      4.6 암호화와 인증의 결합 ... 110
      4.7 사용할 모드 선택 ... 110
      4.8 정보 유출 ... 111
      4.9 연습문제 ... 115
   5장 해시 함수 ... 119
      5.1 해시 함수의 안전성 ... 120
      5.2 실제 해시 함수 ... 122
      5.3 해시 함수의 취약점 ... 126
      5.4 취약점 개선 ... 128
      5.5 해시 함수의 선택 ... 131
      5.6 연습문제 ... 131
   6장 메시지 인증 코드 ... 133
      6.1 MAC의 역할 ... 133
      6.2 이상적인 MAC과 MAC의 안전성 ... 134
      6.3 CBC-MAC과 CMAC ... 135
      6.4 HMAC ... 138
      6.5 GMAC ... 139
      6.6 MAC의 선택 ... 140
      6.7 MAC의 사용 ... 141
      6.8 연습문제 ... 143
   7장 보안 채널 ... 145
      7.1 보안 채널의 특성 ... 145
      7.2 인증과 암호화 순서 ... 149
      7.3 보안 채널 설계: 개요 ... 151
      7.4 설계 세부 사항 ... 154
      7.5 대안 ... 159
      7.6 연습문제 ... 161
   8장 구현 이슈 (1) ... 163
      8.1 올바른 프로그램 작성법 ... 164
      8.2 안전한 소프트웨어 작성법 ... 168
      8.3 기밀 유지 ... 169
      8.4 코드 품질 ... 178
      8.5 부채널 공격 ... 182
      8.6 다루지 못한 것 ... 183
      8.7 연습문제 ... 184
3부 키 협상 ... 185
   9장 난수 생성 ... 187
      9.1 실제 난수 ... 188
      9.2 PRNG에 대한 공격 모델 ... 191
      9.3 포르투나 ... 193
      9.4 생성기 ... 193
      9.5 누산기 ... 199
      9.6 시드 파일 관리 ... 209
      9.7 무작위 요소의 선택 ... 213
      9.8 연습문제 ... 215
   10장 소수 ... 217
      10.1 가분성과 소수 ... 217
      10.2 작은 소수 생성 ... 220
      10.3 모듈로 소수의 계산 ... 222
      10.4 큰 소수 ... 228
      10.5 연습문제 ... 236
   11장 디피-헬만 ... 237
      11.1 군 ... 238
      11.2 기본 DH ... 239
      11.3 중간자 공격 ... 240
      11.4 함정 ... 242
      11.5 안전한 소수 ... 243
      11.6 작은 부분군 사용 ... 244
      11.7 p의 크기 ... 246
      11.8 실용 규칙 ... 248
      11.9 잘못될 수 있는 것 ... 250
      11.10 연습문제 ... 252
   12장 RSA ... 253
      12.1 소개 ... 253
      12.2 중국인의 나머지 정리 ... 254
      12.3 모듈로 n 곱셈 ... 257
      12.4 RSA 정의 ... 259
      12.5 RSA 위험 ... 265
      12.6 암호화 ... 266
      12.7 전자 서명 ... 270
      12.8 연습문제 ... 272
   13장 암호 프로토콜 소개 ... 275
      13.1 역할 ... 275
      13.2 신뢰 ... 276
      13.3 인센티브 ... 278
      13.4 암호 프로토콜에서의 신뢰 ... 280
      13.5 메시지와 단계 ... 281
      13.6 연습문제 ... 289
   14장 키 협상 ... 291
      14.1 설정 ... 291
      14.2 첫 번째 시도 ... 292
      14.3 프로토콜의 영원한 삶 ... 294
      14.4 인증 규칙 ... 294
      14.5 두 번째 시도 ... 295
      14.6 세 번째 시도 ... 297
      14.7 최종 프로토콜 ... 298
      14.8 프로토콜의 다양한 관점 ... 301
      14.9 프로토콜의 계산 복잡도 ... 304
      14.10 프로토콜 복잡도 ... 306
      14.11 가벼운 경고 ... 307
      14.12 패스워드 기반의 키 협상 ... 307
      14.13 연습문제 ... 308
   15장 구현 이슈 (2) ... 309
      15.1 큰 정수 연산 ... 309
      15.2 빠른 곱셈 ... 316
      15.3 부채널 공격 ... 317
      15.4 프로토콜 ... 320
      15.5 연습문제 ... 323
4부 키 관리 ... 325
   16장 클록 ... 327
      16.1 클록 사용 ... 327
      16.2 실시간 클록 칩 사용 ... 329
      16.3 보안 위험 ... 330
      16.4 신뢰성 있는 클록 생성 ... 332
      16.5 동일 상태 문제 ... 333
      16.6 시간 ... 336
      16.7 마무리 추천 ... 337
      16.8 연습문제 ... 337
   17장 키 서버 ... 339
      17.1 기본 원리 ... 340
      17.2 커버로스 ... 340
      17.3 간단한 해결책 ... 341
      17.4 선택의 문제 ... 344
      17.5 연습문제 ... 344
   18장 이상적인 PKI ... 347
      18.1 PKI의 간단한 개요 ... 347
      18.2 PKI 예제 ... 348
      18.3 추가적인 세부 사항 ... 349
      18.4 정리 ... 353
      18.5 연습문제 ... 353
   19장 PKI의 현실 ... 355
      19.1 이름 ... 355
      19.2 인가 ... 358
      19.3 신뢰 ... 358
      19.4 간접 인가 ... 359
      19.5 직접 인가 ... 360
      19.6 자격 증명 시스템 ... 361
      19.7 수정된 설계 ... 364
      19.8 인증서 폐기 ... 364
      19.9 PKI를 사용하기 좋은 곳 ... 368
      19.10 PKI 타입과 키 서버 타입 ... 370
      19.11 연습문제 ... 370
   20장 PKI 실현 가능성 ... 373
      20.1 인증서 형식 ... 373
      20.2 키의 생명주기 ... 375
      20.3 키의 교체이유 ... 377
      20.4 정리 ... 378
      20.5 연습문제 ... 379
   21장 비밀 정보 저장 ... 381
      21.1 디스크 ... 381
      21.2 인간의 기억 ... 382
      21.3 이동식 저장 매체 ... 386
      21.4 보안 토큰 ... 387
      21.5 보안 UI ... 388
      21.6 바이오메트릭 ... 389
      21.7 싱글 사인온 ... 390
      21.8 손실 위험 ... 391
      21.9 비밀 공유 ... 392
      21.10 비밀 삭제 ... 393
      21.11 연습문제 ... 395
5부 기타 ... 397
   22장 표준과 특허 ... 399
      22.1 표준 ... 399
      22.2 특허 ... 405
   23장 전문가 활용 ... 407
참고 문헌 ... 411
찾아보기 ... 427
닫기