2. Outline
• Generic Models
– Strict Authentication
– Non-Strict Authentication
• State of the Art
– Strict Authentication
– Non-Strict Authentication
• Design Issues
– Error Detection
– Error Correction
– Security
• Conclusions
3. Generic Models
• public key cryptosystem → digital signature → digital
•
signature-based image authentication
digital signature
– sender 가 hash function 을 이용 , original data 를 digest 로 만듬
– digest 를 sender 의 private key 로 encrypt 하여 signature 로 사
용
– signature 와 original information 을 같이 receiver 에게 보냄
– receiver 는 sender 의 public key 로 signature 를 decrypt
– decrypt 된 digest 와 받은 information 를 hash function 을 이용
하여 만든 digest 와 비교
– 일치하면 합법성과 무결성이 증명
5. • The plaintext is not limited to text file
– Original data → digital image
– Image 의 legitimacy 와 integrity 를 검증 가능
– 즉 , digital signature-based image authentication 을 뜻
함
• The hash function is a mathematical digest
function
– Image 의 1bit 만 바뀌어도 결과가 달라짐
– 즉 , image 의 무결성 검증이 가능
6. Strict Authentication
• digital signature-based strict authentication
–
–
–
–
–
–
–
h=H(I)
S=EKr(h)
M=I||S
h’=H(I’)
h^=DKp(S^)
If (h^ =h’) then (legitimacy 와 integrity 검증 )
일방성을 지님 (one-way property)
7. • encryption function-based strict authentication
–
–
–
–
sender 와 receiver 가 같은 key 를 공유
정직한 형태의 image authentication
cutting and pasting 과 같은 위조에 약함
message authentication code(MAC) 로 해결
8. • MAC-based strict authentication
– sender 와 receiver 가 같은 key 를 공유
– sender 가 image I 를 보낼 때 I 를 key 로 암호화한
MAC 와 함께 보냄
– receiver 는 받은 image I’ 을 sender 의 key 와 같은
key 로 암호화하여 MAC 와 비교
– “legitimate” forgery 는 피할 수 없음
9. Non Strict Authentication
• Non-strict authentication
–
–
–
–
–
–
–
–
C=fc(I)
S=EKr(C)
M=I||S
C’= fc(I’)
C^=DKu(S^)
d(C^, C’) → C^ 과 C’ 의 유사도
T → tolerable threshold
d(C^, C’) < T → legitimacy 와 integrity 검증
10. State of the Art
• Strict Authentication
– trustworthy digital camera
• Non-Strict Authentication
–
–
–
–
–
Feature-Based Methods
Edge-Based Methods
Mean-Based Methods
Relation-Based Methods
Structure-Based Methods
11. Strict Authentication
• 1993 년 Friedman 이 digital signature 와 digital
•
camera 를 연관시켜 “ trustworthy digital
camera” 를 제안
Original image 를 MD5 와 같은 cryptographic
algorithm 을 이용하여 해싱
– 원 영상의 1bit 만 틀어져도 인증이 안됨
– lossy compression 에 부적합
• Non strict-based authentication 으로 해결
12. • Trustworthy digital camera 의 동작
– Digital camera 로 영상 캡춰
– 캡춰한 image 를 해싱하여 private key 로 암호화 ,
digital signature 생성
– image 와 digital signature 를 함께 디스크에 저장
※ public key 는 camera 의 겉 표면과 image 의 테두리
에 표시되어 있음
13.
14. • Verification process of Friedman’s idea
– Verification software 를 이용 ( 공개 software)
– Verification software 의 동작
• Image 를 해싱
• Digital signature 를 camera 겉 표면에 나와있는 public key
로 복호화
• 두 개의 hash value 를 비교
• 일치하면 인증 완료
15.
16. Non Strict Authentication
• Schneider and Chang(1996) used content-based
•
•
data as the authentication code
Image feature 를 authentication 에 이용
Image feature is invariant
– Edge information, DCT coefficients, color, and
intensity histogram
• Schneider and Chang’s method 에서는 image 를
일정 블록으로 나누고 , 각 블록의 intensity
histogram 을 이용하여 authentication 을 구현
17. Feature-Based Methods
• large-size image 의 경우에는 signing procedure
•
•
•
가 오래 걸림 → Bhattacharjee and Kutter 가
scale interaction model 을 제안
보다 작은 크기의 feature 를 image 에서 추출
Mexican-Hat wavelets 를 사용
Algorithm
18. • Pij(·) 가 최대인 point 들을 feature point 로 이용
– 단 , 인접 픽셀과의 변화가 threshold 보다 크면 이
용
– featureless 한 region 의 최대값을 제거하기 위함
• feature point 들의 가로 좌표와 세로 좌표를
•
•
string 의 형태로 바꿈
좌표 값의 string 을 암호화하여 signature 를 생
성
Authentication
– Image A 의 feature set 와 image B 의 signature 를 복
호화 한 것과 비교하여 검증함
19. Edge-Based Methods
• Edge 는 image 에 대한 강력한 content feature
•
•
•
•
임
일반적인 image 에서는 edge 의 위치 계산에서
큰 overhead 를 초래
Li, Lou and Liu(2003) 가 binary map 을 이용하
여 overhead 를 해결
그러나 high compression 에 의해 edge 가 변화
하는 문제가 존재
Queluz(2001) 가 해결 방안을 제시
20. Process of edge extraction proposed by Queluz(2001)
Feature extraction : CI=E(I)
Binary edge pattern : EPCI=f(CI)
Feature code : VLC(EPCI)
21. Process of edge integrity evaluation proposed by Queluz(2001)
Extract feature : CT=E(T), EPCT=f(CT)
Extract Binary pattern : EPCI=Decompress(VLC(EPCI))
Check EPCI = EPCT
22. Mean-Based Methods
• Mean 을 이용하는 것은 단순하고 실용적임
• Lou and Liu(2000) 가 mean-based feature code
생성 algorithm 을 제안
– Image 를 non-overlapping 한 block 으로 나눔
– 각 block 에 대한 mean 을 계산하고 양자화 함
– Entropy encoding 으로 compress
23. (a) : 256 × 256 의 original image
(b) : block 에 대한 mean 을 계산한 이미지 맵
(c) : 16 단계로 양자화 한 결과
24. • Verification process
– 받은 image 의 mean 테이블을 구하여 양자화
– 양자화 된 code 와 original quantized code 를 이용하
여 comparison algorithm 수행 → binary error map
생성
– binary error map 으로 검증
• 1 이면 match
• 0 이면 mismatch
25. Relation-Based Methods
• Lin and Chang(1998, 2001) 이 SARI 를 제안
• SARI
– Image 를 8×8 의 겹치지 않는 N 개의 block 들로 나
눔
– 각 block 들을 DCT 변환
– 변환된 DCT block 들을 두 개의 그룹으로 나눔
– Secret key 로써 mapping 하여 N/2 개의의 DCT 블
록들을 비교
– 비교 값에 따라 0 또는 1 의 결과를 추출
– 추출된 값을 feature code 로 사용
27. • SARI 의 verification process
–
–
–
–
받은 image 로 feature code 를 구함
단 , 송신자의 secret key 와 같은 키를 적용함
추출된 feature code 와 original feature code 를 비교
Authentication 완료
28. Structure-Based Methods
• Proposed by Lu and Liao(2000, 2003)
• Image content 의 structure 로써 feature code 계산
• Content structure 는 wavelet domain 에서의 parent node
•
와 children node 의 pair
Inter-scale relationship
– |ws+1,o(x,y)| ≥ |ws,o(2x+i, 2y+j)|
– |ws+1,o(x,y)| ≤ |ws,o(2x+i, 2y+j)|
0≤i, 0≤1
• 다음 조건을 만족하는 pair 로 authentication code 생성
– | |ws+1,o(x,y)| - |ws,o(2x+i, 2y+j)| | > ρ
ρ>0
29. Design Issues
• Digital signature-based image authentication
– blind authentication(or obliviousness)
– Based on strict authentication or non-strict
authentication
• Error Detection
• Error Correction
30. Error Detection
• image 의 modification 을 찾아내는 기능이 있으
면 , 좋은 application 이라 할 수 있음
• 단 , error 를 찾아낼 뿐만 아니라 , distortion 을
복구 할 수도 있어야만 가치가 있음
31. Error Type
• Strict authentication 은 error 의 type 을 구분 못
•
함
Non-strict authentication 에서 error type 을 구분
– Authenticity 對 modification curve
•
•
•
•
Yes or No 의 결과가 아닌 수치형 결과
Authenticity 의 값이 1.0 이면 completely authentic
Authenticity 의 값이 0.0 이면 unauthentic
Authenticity 의 값의 범위는 (0.0, 1.0)
32. Error Location
• Error 의 위치 측정
–
–
–
–
–
–
Block-oriented approach 로 해결
Image 를 전송하기 전에 block 단위로 나눔
각 block 에 대하여 authentication code 를 생성
authentication code 들을 분산된 파일로 전송
각 block 별로 authenticating process 수행
Block 의 크기가 작으면 error localization 이 정교해
지지만 , signing 과 decoding 에 걸리는 시간이 많아
짐
33. Error Correction
• Error Correction 의 요점은 manipulated image
•
•
를 original image 로 복구하는 것
Non-strict authentication 에 주로 사용
Example
– Xie, Arce and Graveman(2001)
35. Brute-force Attacks
• Hash function 에 가능한 모든 값을 다 입력해보
•
•
는 방법
MD5 의 hash code 의 길이가 N bit 라면 , 입력
가능한 sample 의 수는 2N/2
Example
– Hash code 길이 = 128bit
– Sample 수 = 264 개
– 24days, $10 million 의 비용
36. Cryptanalysis Attacks
• Cryptanalysis( 암호해독학 ) 를 이용한 attack
– Hash function 의 내부 구조를 이용하여 분석
→ Cryptanalysis 에 강한 hash function 이 필요
– Cryptanalysis 는 non-strict scheme 에 적용 안됨
– 이런 경우 attacker 는 다양한 key 를 feature code 에
서 추출해내려고 시도함
37. Conclusions
• Digital signature-based authentication
– Strict authentication
– Non-strict authentication
• New requirements
– Large-size 의 image 도 적은 overhead 로 처리
– Watermark 와 digital signature 의 결합
– Watermark 에 의한 새로운 authentication scheme