표제지
제출문
요약문
SUMMARY
목차
Contents 13
제1장 서론 20
제1절 연구 개발의 필요성 20
제2절 연구 개발의 목표 및 내용 21
1. 연구 개발 목표 21
2. 내용 및 범위 22
제2장 정형 명세 언어의 소개 29
제1절 정형 명세 언어 Z와 응용 29
1. 기본형들(basic types)과 생략형 정의들(abbreviation definitions) 30
2. 공리 기술들(Axiomatic descriptions) 31
3. 상태 스키마 (State schema) 31
4. 스키마 초기화(Initialization schema) 32
5. 동작 스키마(Operation schema) 33
6. 함축성 있는 선 조건들(Implicit preconditions) 35
7. 스키마 칼큘러스 (schema calculus) 37
제2절 Statechart와 그 응용 39
1. Statechart의 명세 40
2. Statechart의 구성요소 41
3. Statechart의 특징 45
제3장 EAL6 등급의 ADV 클래스 기술 46
제1절 ARC (보안구조) 46
1. 공통평가기준 요구사항 46
2. 수행내용 47
3. 결론 및 제안 54
제2절 FSP (기능명세) 55
1. 공통평가기준 요구사항 55
2. 수행내용 56
3. 결론 및 제안 58
제3절 IMP (구현의 표현) 60
1. 공통평가기준 요구사항 60
2. 수행내용 61
3. 결론 및 제안 65
제4절 INT (TSF 내부) 66
1. 공통평가기준 요구사항 66
2. 수행내용 67
3. 결론 및 제안 78
제5절 SPM (보안정책모델) 81
1. 공통평가기준 요구사항 81
2. 수행내용 81
3. 결론 및 제안 83
제6절 TDS (TOE 설계) 84
1. 공통평가기준 요구사항 84
2. 수행내용 86
3. 결론 및 제안 94
제4장 테스트방법론 96
제1절 모델 기반 테스팅 96
제2절 개발단계의 테스팅과 모델의 역할 97
제3절 테스트케이스 생성과 테스트 수행 100
제4절 결론 및 향후 연구 104
제5장 결론 105
부록 A. CC v2.3 EAL4 KCOS 제출물 분석결과 106
제1절 ST 분석 결과 106
1. 영·한 문서의 불일치 106
2. 오타 107
3. 모호한 용어 정의 108
제2절 SPM 분석결과 108
1. SFR과 동일한 SPM 108
2. 요구사항 부합 않는 시스템 109
3. 애매한 용어사용 112
4. 오역 114
제3절 HLD, LLD 분석결과 115
1. 존재하지 않는 모듈에 대한 정의 115
2. 동작의 기술과 실제소스코드의 불일치 116
3. 서브시스템별 수정사항 116
제4절 IMP 분석 결과 126
1. 서브시스템 및 모듈 정의의 모호성 126
2. 모듈의 비정의 126
3. CC v2.3에서의 소스코드와 실제 코드의 불일치성 128
부록 B. CC v3.1 EAL6 KCOS 평가 제출물 129
K-현금카드 내장소프트웨어 V1.0 TSF 보안 구조 V1.0 / 강미영 130
문서승인 131
목차 132
제1장 개요 134
제1절 목적 134
제2절 보안 구조 설명 식별 134
제3절 용어정의 134
제2장 보안구조 특성 135
제1절 자체 보호(self-protection) 135
제2절 영역 분리(domain isolation) 135
제3절 우회불가성(non-bypassability) 136
제3장 TOE 보안 구조 137
제1절 TSF 초기화 137
제2절 자체 보호 138
1. TSF 데이터 무결성 138
2. TSF 데이터 접근통제 138
제3절 영역 분리 139
제4절 우회 불가성 140
1. 보안관리자의 접속 경로 140
K-현금카드 내장소프트웨어 V1.0 구현의 표현 V1.0 / 정연오 144
문서승인 145
목차 146
제1장 개요 150
제1절 목적 150
제2절 구현의 표현 식별 150
제3절 구성 150
제4절 개발 환경 151
1. 프로그래밍 언어 151
2. 컴파일러 151
3. 운영체제 151
제2장 구현의 표현(IMP) 152
제1절 상세설계서와 소스코드의 일치성 152
1. 개요 152
2. 각 모듈과 소스코드와의 관계 152
제2절 접근통제 서브시스템 153
1. IsAuthenticated 모듈 153
2. IsAllowed 모듈 155
3. SetLifeCycle 모듈 158
4/3. GetLifeCycle 모듈 160
5/4. ResetACSts 모듈 161
6/5. SetACSts 모듈 162
제3절 데이터 관리 서브시스템 164
1. FindFile 모듈 164
2. FileChecksum 모듈 166
3. SelectFile 모듈 168
4. CreateFile 모듈 170
5. UpdateRecord 모듈 176
6. ReadRecord 모듈 178
7/6. UnblockFile 모듈 180
8/7. BlockFile 모듈 183
9/8. GetData 모듈 185
10/9. PutData 모듈 187
제4/5절 인증 서브시스템 191
1. ExtAuth 모듈 191
2. CreateSession 모듈 195
3. GetChallenge 모듈 199
4. Verify 모듈 200
5/4. Getkey 모듈 203
6/5. Putkey 모듈 205
7/6. GetSessionKey 모듈 207
제5/6절 시동 관리 서브시스템 208
1. InitAutoWait 모듈 208
2. InitEEPStack 모듈 209
3. InitEEPData 모듈 209
4. CreateInitFile 모듈 210
5. CheckRam 모듈 213
6. TRMInit 모듈 214
7. Backup 모듈 215
제6/7절 명령어 관리 서브시스템 216
1. SendApdu 모듈 216
2. ReceiveApdu 모듈 216
3. ApduCmdHandler 모듈 217
4. IsoHandler 모듈 219
5. SetApduSw 모듈 221
제7/8절 암호 서브시스템 222
1. DesCrypt 모듈 222
2. GetCardRandom 모듈 226
3. DecryptApdu 모듈 226
4. VerifyApduMac 모듈 227
제8/9절 칩 드라이버 서브시스템 229
1. DsSecurity 모듈 229
2. DsIo 모듈 229
3. DsCrypto 모듈 229
4. DsEepManager 모듈 230
참고문헌 232
K-현금카드 내장소프트웨어 V1.0 TSF 내부 패밀리 V1.0 / 최정란 233
문서승인 234
목차 235
제1장 개요 239
제1절 목적 239
제2절 보안정책모델 식별 239
제3절 용어정의 239
제2장 TSF 내부(TSF internal) 240
제1절 개요 240
1. 절차적 소프트웨어 구조 240
2. 절차적 소프트웨어의 복잡도 241
제2절 개념 정의 241
1. Cyclomatic Complexity(CC) 242
2. Halstead's Complexity(HC) 243
3. Information Flow 메트릭 243
4. 모듈의 응집도와 결합도 244
제3절 TOE 메트릭 246
1. 추적 도구 246
가. SourceMonitor Version 2.5 246
나. Understand for C++ version 1.4 247
다. Boland Together 247
라. SD메트릭 249
2. 모듈 구조도 250
3. 모듈별 측정 결과 251
가. 복잡도 251
나. TOE의 구조적 메트릭 254
4. 종합 결과 257
가. TOE의 복잡도와 구조적 메트릭 257
나. 재구조화를 적용한 TOE 분석 결과 261
5. 평가 및 제안 266
가. 코드 복잡도와 구조에 대한 평가 266
나. 문제점 267
참고문헌 269
약어표 270
K-현금카드 내장소프트웨어 V1.0 보안정책모델 V1.0 / 박준길 271
문서승인 272
목차 273
제1장 개요 276
제1절 목적 276
제2절 보안정책모델 식별 276
제3절 용어정의 276
제2장 보안 정책 모델(SPM) 278
제1절 개요 278
제2절 기본 특성 278
제3절 TOE 보안 정책 279
1. 명령어 접근통제 보안정책(SPM.1) 280
2. 파일 접근통제 보안정책(SPM.2) 285
3. 비밀정보 접근통제 보안정책(SPM.3) 287
4. 데이터 객체 접근통제 보안정책(SPM.4) 291
5. 차폐행동 보안정책(SPM.5) 292
6. 무결성 보호 보안정책(SPM.6) 293
7. 식별 및 인증 보안정책(SPM.7) 294
제4절 보안정책모델의 일관성 299
1. 초기화 정리 299
2. 선조건 조사 300
제3장 이론적 근거 320
제1절 보안 기능 요구사항(SFR) vs. 보안정책모델 320
제2절 TOE 보안 기능 vs. 보안정책모델 322
참고문헌 324
약어표 325
K-현금카드 내장소프트웨어 V1.0 기능명세 V1.0 / 신지훈 326
문서승인 327
목차 328
제1장 개요 340
제1절 목적 340
제2절 용어정의 340
제2장 TOE 보안기능 342
제1절 SF_ACC_CNTL(데이터 접근통제) 342
1. MF 접근 342
2. DF 접근 343
3. EF 접근 344
4. 데이터 객체 접근 345
제2절 SF_AUTH(관리자 인증) 346
제3절 SF_BKP(백업 관리) 346
제4절 SF_CMD_MNG(명령어 관리) 347
제5절 SF_CMP(안전한 비교) 348
제6절 SF_CRYPTO(암호 연산) 348
제7절 SF_DRV(칩 드라이버) 348
제8절 SF_INT(데이터 무결성) 351
제9절 SF_KEY(암호키 관리) 351
제10절 SF_LOCK(카드 생명주기 상태 관리) 352
제11절 SF_PIN(PIN 관리) 352
제12절 SF_RATIFI(승인 관리) 353
제13절 SF_SEC(보안 관리) 353
제14절 SF_SD_LOAD(안전한 비밀 데이터 탑재) 354
제15절 SF_TST(자체 시험) 354
제16절 보안기능과 TOE 보안기능요구사항 매핑 355
제3장 TOE 운영모드 357
제4장 TSF 외부 인터페이스 359
제1절 get response 365
1. 사용 목적 365
2. 방법 365
3. 효과 365
4. 예외사항 및 오류 메시지 366
5. 운영모드 366
6. TSF 366
제2절 read record 367
1. 사용 목적 367
2. 방법 367
3. 효과 368
4. 예외사항 및 오류 메시지 368
5. 운영모드 368
6. TSF 369
제3절 update record 370
1. 사용 목적 370
2. 방법 370
3. 효과 370
4. 예외사항 및 오류 메시지 371
5. 운영모드 371
6. TSF 372
제4절 get data 373
1. 사용 목적 373
2. 방법 373
3. 효과 374
4. 예외사항 및 오류 메시지 374
5. 운영모드 375
6. TSF 375
제5절 put data 376
1. 사용 목적 376
2. 방법 376
3. 효과 377
4. 예외사항 및 오류 메시지 377
5. 운영모드 378
6. TSF 378
제6절 select file 379
1. 사용 목적 379
2. 방법 379
3. 효과 379
4. 예외사항 및 오류 메시지 380
5. 운영모드 380
6. TSF 380
제7절 get challenge 381
1. 사용 목적 381
2. 방법 381
3. 효과 382
4. 예외사항 및 오류 메시지 382
5. 운영모드 382
6. TSF 382
제8절 external authenticate 383
1. 사용 목적 383
2. 방법 383
3. 효과 384
4. 예외사항 및 오류 메시지 384
5. 운영모드 385
6. TSF 385
제9절 block 386
1. 사용 목적 386
2. 방법 387
3. 효과 387
4. 예외사항 및 오류 메시지 387
5. 운영모드 388
6. TSF 388
제10절 unblock 389
1. 사용 목적 389
2. 방법 389
3. 효과 390
4. 예외사항 및 오류 메시지 390
5. 운영모드 391
6. TSF 391
제11절 put key 392
1. 사용 목적 392
2. 방법 393
3. 효과 393
4. 예외사항 및 오류 메시지 394
5. 운영모드 394
6. TSF 394
제12절 verify 396
1. 사용 목적 396
2. 방법 396
3. 효과 397
4. 예외사항 및 오류 메시지 397
5. 운영모드 398
6. TSF 398
제13절 set life cycle 400
1. 사용 목적 400
2. 방법 400
3. 효과 400
4. 예외사항 및 오류 메시지 401
5. 운영모드 401
6. TSF 401
제14절 create file 402
1. 사용 목적 402
2. 방법 402
3. 효과 405
4. 예외사항 및 오류 메시지 405
5. 운영모드 406
6. TSF 406
제15절 create session 407
1. 사용 목적 407
2. 방법 407
3. 효과 408
4. 예외사항 및 오류 메시지 408
5. 운영모드 408
6. TSF 409
제16절 get life cycle 410
1. 사용 목적 410
2. 방법 410
3. 효과 410
4. 예외사항 및 오류 메시지 410
5. 운영모드 411
6. TSF 411
제17절 take shield action 412
1. 사용 목적 412
2. 방법 412
3. 효과 413
4. 예외사항 및 오류 메시지 414
5. 운영모드 414
6. TSF 414
제18절 cold reset 414
1. 사용 목적 414
2. 방법 414
3. 효과 415
4. 예외사항 및 오류 메시지 415
5. 운영모드 415
6. TSF 415
제5장 예외사항 및 오류 메시지 416
제6장 이론적 근거 417
약어표 419
K-현금카드 내장소프트웨어 V1.0 TOE 설계 V1.0 / 정연오 420
문서승인 421
목차 422
제1장 개요 430
제1절 목적 430
제2절 TOE 설계 식별 430
제3절 용어정의 430
제2장 TOE 설계(TDS) 432
제1절 TOE 서브시스템 432
1. 구성 432
2. 준정형화 표현 433
제2절 TOE 모듈 434
1. 구성 434
제3/4절 접근통제 서브시스템 436
1. 개요 436
2. 다른 서브시스템과의 상호관계 436
3. IsAuthenticated 모듈 437
4. IsAllowed 모듈 443
5. SetLifeCycle 모듈 449
6. GetLifeCycle 모듈 454
7. ResetACSts 모듈 457
8. SetACSts 모듈 460
제4/5절 데이터 관리 서브시스템 465
1. 개요 465
2. 다른 서브시스템과의 상호관계 465
3. FindFile 모듈 467
4. FileChecksum 모듈 473
5. SelectFile 모듈 477
6. CreateFile 모듈 482
7. UpdateRecord 모듈 490
8. ReadRecord 모듈 495
9. UnblockFile 모듈 500
10. BlockFile 모듈 505
11. GetData 모듈 511
12. PutData 모듈 515
제5/6절 인증 서브시스템 520
1. 개요 520
2. 다른 서브시스템과의 상호관계 521
3. ExtAuth 모듈 523
4. CreateSession 모듈 530
5. GetChallenge 모듈 536
6. Verify 모듈 540
7. GetKey 모듈 545
8. PutKey 모듈 549
9. GetSessionKey 모듈 555
제6/7절 시동 관리 서브시스템 559
1. 개요 559
2. 다른 서브시스템과의 상호관계 559
3. InitAutoWait 모듈 560
4. InitEEPStack 모듈 560
5. InitEEPData 모듈 560
6. CreateInitFile 모듈 560
7. CheckRam 모듈 561
8. TRMInit 모듈 561
9. Backup 모듈 561
제7/8절 명령어 관리 서브시스템 561
1. 개요 561
2. 다른 서브시스템과의 상호관계 561
3. SendApdu 모듈 562
4. ReceiveApdu 모듈 563
5. ApduCmdHandler 모듈 563
6. IsoHandler 모듈 563
제8/9절 암호 서브시스템 563
1. 개요 563
2. 다른 서브시스템과의 상호관계 563
3. DesCrypt 모듈 564
4. GetCardRandom 모듈 564
5. DecryptApdu 모듈 564
6. VerifyApduMac 모듈 564
제9/10절 칩 드라이버 서브시스템 564
1. 개요 564
2. 다른 서브시스템과의 상호관계 565
3. DsSecurity 모듈 565
4. DsIo 모듈 565
5. DsCrypto 모듈 566
6. DsEepManager 모듈 566
참고문헌 567
약어표 568
판권기 569
[표 1-1] 개발 클래스 패밀리의 요구사항 22
[표 1-2] 개발 클래스 패밀리의 특성화 분류 23
[표 1-3] 정형, 준정형, 비정형 간의 의미차 23
[표 1-4] FSP와 TDS의 목적 25
[표 1-5] 보안 구조, 구현의 표현, TSF 내부의 목적 26
[표 2-1] EVENT 44
[표 2-2] CONDITI0N 44
[표 2-3] ACTION 45
[표 3-1] read record APDU 구조 57
[표 3-2] read record TSF 세부사항 58
[표 3-3] CC v2.3과 CC v3.1에서 구현의 표현 패밀리 차이점 60
[표 3-4] CC v3.1에서 ADV_IMP.2 컴포넌트 요구사항 61
[표 3-5] 서브시스템별 모듈과 소스코드의 관계 62
[표 3-6] CC 2.3과 CC3.1에서의 ADV_INT의 차이점 67
[표 3-7] KCOS 모듈 코드의 복잡도 69
[표 3-8] KCOS 모듈의 결합도 관련 속성 73
[표 3-9] CC v2.3과 CC v3.1에서 TOE 설계 패밀리 차이점 84
[표 3-10] CC v3.1에서 ADV_TDS.5 컴포넌트 요구사항 85
[표 3-11] TOE를 구성하는 서브시스템 87
[표 3-12] TOE를 구성하는 모듈 88
[표 3-13] SS_AC 서브시스템 간 상호관계 91
[표 3-14] 모듈 IsAuthenticated와 다른 모듈의 상호관계 92
K-현금카드 내장소프트웨어 V1.0 구현의 표현 V1.0 149
[표 1] 각 모듈과 소스코드의 관계 152
K-현금카드 내장소프트웨어 V1.0 TSF 내부 패밀리 V1.0 238
[표 1] CC 권고사항(Recommendations) 243
[표 2] CC에 따라 결점이 추가될 확률 243
[표 3] Understand for C++의 메트릭 247
[표 4] KCOS 모듈 코드의 복잡도 252
[표 5] KCOS 모듈의 결합도 관련 속성 255
[표 6] KCOS 모듈내 함수의 결합도 관련 속성 256
K-현금카드 내장소프트웨어 V1.0 보안정책모델 V1.0 275
[표 1] 차폐행동 293
[표 2] 보안 기능 요구사항(SFR) vs. 보안 정책 모델 321
[표 3] TOE 보안 기능 vs. 보안 정책 모델 323
K-현금카드 내장소프트웨어 V1.0 기능명세 V1.0 336
[표 1] MF 접근조건 342
[표 2] MF 접근조건 값 343
[표 3] DF 접근조건 343
[표 4] DF 접근조건 값 344
[표 5] EF 접근조건 344
[표 6] EF 접근조건 값 345
[표 7] 데이터 객체 읽기 접근조건 345
[표 8] 데이터 객체 읽기 접근조건 값 345
[표 9] 데이터 객체 갱신 접근조건 345
[표 10] 데이터 객체 갱신 접근조건 값 346
[표 11] 위반별 차폐 행동 350
[표 12] 보안기능과 TOE 보안기능요구사항 대응 356
[표 13] 명령어 APDU 내용 359
[표 14] CLA 코딩 - 최상위 4비트 360
[표 15] CLA 코딩 - 최하위 4비트 360
[표 16] INS 코딩 361
[표 17] 응답 APDU 내용 362
[표 18] FID/FDB of Bank DF 364
[표 19] Structure of File Header 364
[표 20] get response APDU 구조 365
[표 21] get response 예외사항 및 오류 메시지 366
[표 22] get response TSF 세부사항 367
[표 23] read record APDU 구조 367
[표 24] read record의 P2 코딩 367
[표 25] read record 예외사항 및 오류 메시지 368
[표 26] read record TSF 세부사항 369
[표 27] update record APDU 구조 370
[표 28] update record의 P2 코딩 370
[표 29] update record 예외사항 및 오류 메시지 371
[표 30] update record TSF 세부사항 373
[표 31] get data APDU 구조 374
[표 32] get data의 P2 및 Le 코딩 374
[표 33] get data 예외사항 및 오류 메시지 375
[표 34] get data TSF 세부사항 376
[표 35] put data APDU 구조 376
[표 36] put data의 P2 및 Lc 코딩 377
[표 37] put data 예외사항 및 오류 메시지 377
[표 38] put data TSF 세부사항 378
[표 39] select file APDU 구조 379
[표 40] select file의 P1 코딩 379
[표 41] select file 예외사항 및 오류 메시지 380
[표 42] select file TSF 세부사항 381
[표 43] get challenge APDU 구조 382
[표 44] get challenge 예외사항 및 오류 메시지 382
[표 45] get challenge TSF 세부사항 383
[표 46] external authenticate APDU 구조 384
[표 47] external authenticate의 P2 코딩 384
[표 48] external authenticate 예외사항 및 오류 메시지 385
[표 49] external authenticate TSF 세부사항 386
[표 50] block APDU 구조 387
[표 51] block의 P1 코딩 387
[표 52] block 예외사항 및 오류 메시지 388
[표 53] block TSF 세부사항 389
[표 54] unblock APDU 구조 390
[표 55] unblock의 P1 코딩 390
[표 56] unblock 예외사항 및 오류 메시지 391
[표 57] unblock TSF 세부사항 392
[표 58] put key APDU 구조 393
[포 59] put key의 P1 코딩 393
[표 60] put key 예외사항 및 오류 메시지 394
[표 61] put key TSF 세부사항 396
[표 62] verify APDU 구조 397
[표 63] verify의 P2 코딩 397
[표 64] verify 예외사항 및 오류 메시지 398
[표 65] verify TSF 세부사항 399
[표 66] set life cycle APDU 구조 400
[표 67] set life cycle의 P2 코딩 400
[표 68] set life cycle 예외사항 및 오류 메시지 401
[표 69] set life cycle TSF 세부사항 402
[표 70] create file APDU 구조 403
[표 71] create file의 Pl 코딩 403
[표 72] create file의 P2 코딩 404
[표 73] create file의 DF 생성 조건 404
[표 74] create file의 EF 생성 조건 404
[표 75] create file의 키/PIN 파일 생성 조건 405
[표 76] create file 예외사항 및 오류 메시지 405
[표 77] create file TSF 세부사항 407
[표 78] create session APDU 구조 407
[표 79] create session의 P2 코딩 408
[표 80] create session 예외사항 및 오류 메시지 408
[표 81] create session TSF 세부사항 409
[표 82] get life cycle APDU 구조 410
[표 83] get life cycle 예외사항 및 오류 메시지 411
[표 84] get life cycle TSF 세부사항 412
[표 85] 예외사항 및 오류 메시지 416
[표 86] TSF 외부 인터페이스 및 보안기능 매핑 418
K-현금카드 내장소프트웨어 V1.0 TOE 설계 V1.0 427
[표 1] TOE를 구성하는 서브시스템 433
[표 2] TOE를 구성하는 모듈 434
[표 3] SS_AC 서브시스템 간 상호관계 437
[표 4] 모듈 IsAuthenticated와 다른 모듈의 상호관계 438
[표 5] 모듈 IsAuthenticated 인터페이스 isAuthenticated() 442
[표 6] 모듈 IsAllowed와 다른 모듈간의 상호관계 443
[표 7] 모듈 IsAllowed 인터페이스 isAllowed() 448
[표 8] 모듈 SetLifeCycle과 다른 모듈간의 상호관계 450
[표 9] 모듈 SetLifeCycle 인터페이스 proSetLifeCycle() 453
[표 10] 모듈 GetLifeCycle과 다른 모듈간의 상호관계 455
[표 11] 모듈 GetLifeCycle 인터페이스 getLifeCycle() 456
[표 12] 모듈 ResetACSts와 다른 모듈간의 상호관계 457
[표 13] 모듈 ResetACSts 인터페이스 resetGlobalACSts() 459
[표 14] 모듈 ResetACSts 인터페이스 resetLocalACSts() 460
[표 15] 모듈 ResetACSts와 다른 모듈간의 상호관계 461
[표 16] 모듈 SetACSts 인터페이스 setGlobalACSts() 464
[표 17] 모듈 SetACSts 인터페이스 setLocalACSts() 464
[표 18] SS_DM의 서브시스템 간 상호관계 466
[표 19] 모듈 FindFile과 다른 모듈간의 상호관계 468
[표 20] 모듈 FindFile 인터페이스 findFile() 471
[표 21] 모듈 FindFile 인터페이스 findRecord() 472
[표 22] 모듈 FileChecksum과 다른 모듈간의 상호관계 473
[표 23] 모듈 Filechecksum 인터페이스 verifyFile() 476
[표 24] 모듈 Filehecksum 인터페이스 generateFileChecksum() 476
[표 25] 모듈 Filechecksum 인터페이스 updateFileChecksum() 476
[표 26] 모듈 SelectFile과 다른 모듈간의 상호관계 478
[표 27] 모듈 Selectfile 인터페이스 selectFile() 482
[표 28] 모듈 CreateFile과 다른 모듈간의 상호관계 483
[표 29] 파일 생성 시 매개변수 Pl 코딩 485
[표 30] 파일 생성 시 DF 생성 조건 485
[표 31] 파일 생성 시 EF 생성조건 485
[표 32] 파일 생성 시 키/PIN 파일 생성 조건 486
[표 33] 모듈 CreateFile 인터페이스 proCreateFile() 489
[표 34] 모듈 CreateFile 인터페이스 appendFile() 489
[표 35] 모듈 UpdateRecord와 다른 모듈간의 상호관계 491
[표 36] 모듈 UpdateRecord 인터페이스 isoUpdateRecord() 495
[표 37] 모듈 ReadRecord와 다른 모듈간의 상호관계 496
[표 38] 모듈 ReadRecord 인터페이스 isoReadRecord() 500
[표 39] 모듈 UnblockFile과 다른 모듈간의 상호관계 501
[표 40] 모듈 UnblockFile 인터페이스 isoUnblockFile() 505
[표 41] 모듈 BlockFile과 다른 모듈간의 상호관계 506
[표 42] 모듈 BlockFile 인터페이스 proBlockFile() 510
[표 43] 모듈 BlockFile 인터페이스 setBlockFile() 510
[표 44] 모듈 GetData와 다른 모듈간의 상호관계 512
[표 45] 모듈 GetData 인터페이스 isoGetData() 515
[표 46] 모듈 PutData와 다른 모듈간의 상호관계 516
[표 47] 모듈 PutData 인터페이스 isoPutData() 520
[표 48] SS_AUTH의 서브시스템 간 상호관계 522
[표 49] 모듈 ExtAuth와 다른 모듈간의 상호관계 525
[표 50] 모듈 ExtAuth 인터페이스 extAuth() 530
[표 51] 모듈 CreateSession과 다른 모듈간의 상호관계 532
[표 52] 모듈 CreateSession 인터페이스 createSession() 536
[표 53] 모듈 GetChallenge와 다른 모듈간의 상호관계 537
[표 54] 모듈 GetChallenge 인터페이스 getChallenge() 540
[표 55] 모듈 Verify와 다른 모듈간의 상호관계 541
[표 56] 모듈 Verify 인터페이스 verify() 545
[표 57] 모듈 GetKey와 다른 모듈간의 상호관계 546
[표 58] 모듈 GetKey 인터페이스 getKey() 549
[표 59] 모듈 PutKey와 다른 모듈간의 상호관계 550
[표 60] 모듈 PutKey 인터페이스 putKey() 555
[표 61] 모듈 GetKey와 다른 모듈간의 상호관계 556
[표 62] 모듈 GetSessionKey 인터페이스 getSessionKey() 558
[표 63] SS_INI의 서브시스템간 상호관계 560
[표 64] SS_CMD의 서브시스템간 상호관계 562
[표 65] SS_CRYPTO의 서브시스템간 상호관계 564
[표 66] SS_DS의 서브시스템간 상호관계 565
(그림 1-1) 개발 클래스 문서간의 관계 28
(그림 2-1) Statechart의 Clustering 개념 41
(그림 2-2) Statecharts의 상태(states)들 42
(그림 3-1) IC 카드 메모리 파일 구조 50
(그림 3-2) 세션키 생성 과정 52
(그림 3-3) 세션 생성 과정 53
(그림 3-4) 관리자 인증 과정 54
(그림 3-5) ADV_FSP.4 이하 요구사항 55
(그림 3-6) ADV_FSP.5 요구사항 56
(그림 3-7) read record TSF 58
(그림 3-8) KCOS 모듈 구조도 69
(그림 3-9) 보안 기능 수행도 69
(그림 3-10) LOC와 CC의 관계 75
(그림 3-11) CC와 LOS 차트 (로그눈금 사용) 76
(그림 3-12) KCOS IFC의 파이 차트 77
(그림 3-13) KCOS 모듈의 FO, CBO 관계 78
(그림 3-14) K-현금카드의 서브시스템 구성도 87
(그림 3-15) 모듈 IsAuthenticated와 다른 모듈의 상호관계 93
(그림 3-16) IsAuthenticated 모듈의 준정형화 표현 94
(그림 4-1) 개발 프로세스와 모델 98
(그림 4-2) 테스팅단계에서의 모델의 활용 100
(그림 4-3) 벤딩 머신 UML 모델 101
(그림 4-4) 테스트 목적을 모델링한 상태 다이어그램 102
(그림 4-5) 모델로부터 생성된 테스트 케이스 102
(그림 4-6) 테스트 커버리지 분석 103
(그림 4-7) 모델과 소스코드의 매개변수 연결 103
(그림 4-8) 테스트의 결과 확인 104
K-현금카드 내장소프트웨어 V1.0 TSF 보안 구조 V1.0 133
(그림 1) IC 카드 메모리 파일 구조 139
(그림 2) 세션키 생성 과정 141
(그림 3) 세션 생성 과정 142
(그림 4) 관리자 인증 과정 143
K-현금카드 내장소프트웨어 V1.0 TSF 내부 패밀리 V1.0 237
(그림 1) KCOS 모듈 구조도 250
(그림 2) 서브시스템내의 보안 기능 수행도 251
(그림 3) LOC와 CC의 관계 257
(그림 4) CC와 LOS 차트 258
(그림 5) CC와 LOS 차트 (로그눈금 사용) 259
(그림 6) KCOS IFC의 파이 차트 261
(그림 7) KCOS 모듈의 FO, CBO 관계 262
(그림 8) M_AUTH에 대한 NOC, CBO 263
(그림 9) M_BKP에 대한 NOC, CBO 263
(그림 10) M_CMD에 대한 NOC, CBO 비교 263
(그림 11) M_CRYPTO에 대한 NOC, CBO 비교 264
(그림 12) M_FDOM에 대한 NOC, CBO 비교 264
(그림 13) M_INI에 대한 NOC, CBO 비교 264
(그림 14) M_INT에 대한 NOC, CBO 비교 265
(그림 15) M_LOAD에 대한 NOC, CBO 비교 265
(그림 16) M_SAM에 대한 NOC, CBO 비교 265
(그림 17) M_SDM에 대한 NOC, CBO 비교 266
K-현금카드 내장소프트웨어 V1.0 기능명세 V1.0 334
(그림 1) TOE 운영모드 358
(그림 2) 명령어 APDU 구조 359
(그림 3) 응답 APDU 구조 361
(그림 4) Answer To Reset 단계 362
(그림 5) 파일 구조 364
(그림 6) get response TSF 366
(그림 7) read record TSF 369
(그림 8) update record TSF 372
(그림 9) get data TSF 375
(그림 10) put data TSF 378
(그림 11) select file TSF 381
(그림 12) get challenge TSF 383
(그림 13) external authenticate TSF 386
(그림 14) block TSF 389
(그림 15) unblock TSF 392
(그림 16) put key TSF 395
(그림 17) verify TSF 399
(그림 18) set life cycle TSF 402
(그림 19) create file TSF 406
(그림 20) create session TSF 409
(그림 21) get life cycle TSF 411
(그림 22) 전력 및 클럭의 이상검출 영역 412
(그림 23) 보안통제 레지스터(SECCON) 413
K-현금카드 내장소프트웨어 V1.0 TOE 설계 V1.0 425
(그림 1) K-현금카드의 서브시스템 구성도 432
(그림 2) 서브시스템 상호관계의 준정형화 표현 433
(그림 3) 모듈 IsAuthenticated와 다른 모듈의 상호관계 439
(그림 4) IsAuthenticated 모듈의 statechart를 이용한 준정형화 표현 441
(그림 5) 모듈 IsAllowed와 다른 모듈간의 상호관계 444
(그림 6) IsAllowed 모듈의 statechart를 이용한 준정형화 표현 447
(그림 7) 모듈 SetLifeCycle과 다른 모듈간의 상호관계 451
(그림 8) SetLifeCycle 모듈의 statechart를 이용한 준정형화 표현 453
(그림 9) 모듈 GetLifeCycle과 다른 모듈간의 상호관계 455
(그림 10) GetLifeCycle 모듈의 statechart를 이용한 준정형화 표현 456
(그림 11) 모듈 ResetACSts와 다른 모듈간의 상호관계 458
(그림 12) ResetACSts 모듈의 statechart를 이용한 준정형화 표현 459
(그림 13) 모듈 ResetACSts와 다른 모듈간의 상호관계 461
(그림 14) SetACSts 모듈의 statechart를 이용한 준정형화 표현 463
(그림 15) 모듈 FindFile과 다른 모듈간의 상호관계 469
(그림 16) FindFile 모듈의 statechart를 이용한 준정형화 표현 471
(그림 17) 모듈 FileChecksum과 다른 모듈간의 상호관계 474
(그림 18) FileChecksum 모듈의 statechart를 이용한 준정형화 표현 475
(그림 19) 모듈 SelectFile과 다른 모듈간의 상호관계 478
(그림 20) SelectFile 모듈의 statechart를 이용한 준정형화 표현 481
(그림 21) 모듈 CreateFile과 다른 모듈간의 상호관계 484
(그림 22) CreateFile 모듈의 statechart를 이용한 준정형화 표현 488
(그림 23) 모듈 UpdateRecord와 다른 모듈간의 상호관계 492
(그림 24) UpdateRecord 모듈의 statechart를 이용한 준정형화 표현 494
(그림 25) 모듈 ReadRecord와 다른 모듈간의 상호관계 497
(그림 26) ReadRecord 모듈의 statechart를 이용한 준정형화 표현 499
(그림 27) 모듈 UnblockFile과 다른 모듈간의 상호관계 502
(그림 28) UnblockFile 모듈의 statechart를 이용한 준정형화 표현 504
(그림 29) 모듈 BlockFile과 다른 모듈간의 상호관계 507
(그림 30) BlockFile 모듈의 statechart를 이용한 준정형화 표현 509
(그림 31) 모듈 GetData와 다른 모듈간의 상호관계 512
(그림 32) GetData 모듈의 statechart를 이용한 준정형화 표현 514
(그림 33) 모듈 PutData와 다른 모듈간의 상호관계 517
(그림 34) PutData 모듈의 statechart를 이용한 준정형화 표현 519
(그림 35) 모듈 ExtAuth와 다른 모듈간의 상호관계 526
(그림 36) ExtAuth 모듈의 statechart를 이용한 준정형화 표현 529
(그림 37) 모듈 CreateSession과 다른 모듈간의 상호관계 533
(그림 38) CreateSession 모듈의 statechart를 이용한 준정형화 표현 535
(그림 39) 모듈 GetChallenge와 다른 모듈간의 상호관계 538
(그림 40) GetChallenge 모듈의 statechart를 이용한 준정형화된 표현 539
(그림 41) 모듈 Verify와 다른 모듈간의 상호관계 542
(그림 42) Verify 모듈의 statechart를 이용한 준정형화 표현 544
(그림 43) 모듈 GetKey와 다른 모듈간의 상호관계 546
(그림 44) GetKey 모듈의 statechart를 이용한 준정형화 표현 548
(그림 45) 모듈 PutKey와 다른 모듈간의 상호관계 551
(그림 46) PutKey 모듈의 statechart를 이용한 준정형화 표현 554
(그림 47) 모듈 GetKey와 다른 모듈간의 상호관계 556
(그림 48) GetSessionKey 모듈의 statechart를 이용한 준정형화 표현 557