보안 제품정보


진정성 증명과 프라이버시 보호 양립...감시 카메라 시스템 2010.07.14

감시 카메라 영상의 프라이버시 보호를 위해 인물이나 차량의 마스킹과 디지털 워터마킹(Digital Watermarking)을 이용한 복원 수법이 다양하게 제안되고 있다. 여기에서는 더욱이 복원 화상이 개찬(改竄)되지 않은 진성(眞性)의 것임을 증명하는 수법을 제안한다. RSA 공개키 암호방식과 전자서명, 해시를 응용함으로써, 마스킹을 원래대로 되돌리지 않고 진정성을 증명할 수 있어 진정성 증명과 프라이버시 보호를 양립시킬 수 있다. 또한, 복원 데이터의 저장에 있어서, 허프만 부호화의 특성을 이용함으로써 파일 사이즈의 증가를 막을 수 있다.

 

머리말

범죄의 억제나 원격지의 상황 파악을 위해서 감시 카메라가 다수 이용되고 있다. 그러나 감시 카메라는 감시가 불필요한 인물 등도 촬영해 버리기 때문에, 영상의 확산 등에 따른 프라이버시 침해 문제를 안고 있다.

필자들은 기술적인 해결수법으로써 프라이버시 보호와 물체의 감시나 특정이 양립 가능한 수법1)을 제안했다. 이 수법에서는, 이동물체 영역을 화상 처리에 의해 불가시화하고 물체의 식별을 불가능하게 한다. 또, 복원 정보를 디지털 워터마킹으로 저장해 둠으로써, 촬영 화상으로 되돌릴 수 있다.

그렇지만 이와 같이 복원된 화상이 법정이나 범죄 수사 등에서 증거가 되기 위해서는, 화상이 개찬·합성된 것이 아니라는 것을 증명할 필요가 있다. 디지털 화상은 원래부터 증거 능력이 부족하기 때문에 진정성을 증명할 다양한 수법2)~5)이 제안되고 있다. 그러나 이러한 수법을 그대로 적용하면 프라이버시 보호를 위한 영상 처리를 개찬이라고 판별해 버린다.

진정성 증명 기능과 프라이버시 보호를 양립하는 한 가지 방법은, 프라이버시 보호를 시행한 화상으로부터 완전히 촬영 화상으로 되돌려, 앞서 진술한 진정성 증명수법을 적용하는 것이다. 그러나 촬영 화상으로 완전하게 복원하기 위한 데이터가 필요하기 때문에, 출력 파일 사이즈가 커진다. 또, 화상을 복원하지 않으면 진정성을 증명할 수 없기 때문에 관계없는 인물의 프라이버시가 개시되고, 증명할 수 있는 기관이 한정되어 버리는 문제가 발생한다.

따라서 이것을 해결하려면 촬영 화상을 복원하지 않고 진정성을 검증할 수 있는 기능이 필요하다.

여기서는 RSA 공개키 암호방식을 응용하여, 프라이버시 보호와 진정성 증명기능을 겸비한 고정 카메라에 의한 감시 시스템을 제안한다. 촬영 화상과 복원 화상 간에, 사람이 검지할 수 있는 변화가 없는 것을 나타내 보이는 것으로 진정성을 증명한다.


 

프라이버시 보호의 정의

우선, 제안 수법의 전제가 되는 프라이버시 보호의 정의를 기술한다. 여기에서는, 프라이버시 보호는 「피사체가 누구인가」를 숨기는 것이라고 정의한다. 다만 이 때, 「피사체가 무엇을 하고 있는가」까지 숨겨서는 안 된다(그림 1). 이것은, 그림 1(c)에 나타내는 대로, 「피사체가 무엇을 하고 있는가」까지 은폐한 감시 영상에서는, 무엇이 일어났는지를 파악할 수 없기 때문이다. 「피사체가 누구인가」만을 숨긴 그림 1(b)에서는, 그림 1(a)와 같이 볼을 던지고 있는 인물 A를 특정할 수는 없지만, 누군가가 무엇인가를 던지고 있다고 하는 행동을 추측할 수 있다. 무엇이 일어나고 있는가를 아는 것으로 문제 행동을 발견할 수 있기 때문에, 감시의 유효성이 유지된다. 여기에서는, 그림 1(b)에 나타낸 이동 물체, 즉 불가시화한 화상을 masked image라고 부른다.


이동 물체의 복원을 필요로 하지 않는 진정성 증명 수법

그림 2는 제안 수법의 플로우이다. 제안수법은 (a)입력부, (b)프라이버시 보호부, (c)진정성 증명부, (d)화상 출력부의 4부로 구성된다. 이하, 각 구성부의 알고리즘을 상세하게 설명한다.


(a)입력부

제안 시스템(authentication and privacy protection system)에는, 감시 카메라로 촬영한 개찬되어 있지 않은 화상만이 입력되도록 한다. 이것은, 감시 카메라에 AES 등의 암호화 기능을 편성하여, 감시 카메라와 시스템을 전용선으로 연결함으로써 실현할 수 있다6). 입력된 JPEG 스트림으로부터 양자화 DCT 계수에 허프만 복호화하고, 프라이버시 보호부, 진정성 증명부, 화상 출력부로 각각 보낸다.


(b)프라이버시 보호부

여기에서는, 이동 물체의 추출과 불가시화를 실시한다. 우선, 입력부로부터 보내진 양자화 DCT 계수를 픽셀 단위의 화상 데이터에 디코딩한다. 다음으로, 화상으로부터 이동 물체의 추출을 실시한다. 여기에서는 이동 물체의 추출에는 배경 차분법7)~10)을 이용했다.

추출한 이동물체 영역 내를 단일색으로 전부 칠한다. 이 처리를 masking이라고 부른다. masking된 화상을 JPEG의 압축 단위인 16×16pixel의 블록으로 분할한다. 그 중 masking를 실시한 픽셀을 포함한 블록만, 다시 양자화 DCT 계수로 변환하여, 화상 출력부로 보낸다.


(c)진정성 증명부

여기에서는, 복원 화상의 진정성을 증명하기 위한 데이터와 masked image로부터 촬영 화상을 복원하기 위한 데이터를 작성한다.

(1)암호화 블록 스트림의 생성

그림 3은 암호화 블록 스트림의 생성 순서를 나타낸 것이다. 우선, 입력부에서 얻은 양자화 DCT 계수의 휘도의 AC 성분(ac)을 다음 식에 의해 ac'로 변경한다.


ac' = sign × (2[ |ac/2| ] )


여기서, sign은 AC 성분의 양수·음수를 나타낸다. 또, [x] 는 x를 넘지 않는 최대의 정수를 나타낸다.「masked image의 작성」에 있어서, 양자화 DCT 계수에는 진정성 검증용 데이터와 촬영 화상 복원용 데이터를 디지털 워터마킹에 의해 저장한다. 그 때문에 계수의 변화가 생기지만, 사전에 전처리를 실시하는 것으로, 디지털 워터마킹 후에도 같은 처리에 의해 동일한 양자화 DCT 계수로 되돌릴 수 있다. 이 AC 성분의 변경에 의한 화상의 변화는 적어 사람이 검지할 수 있는 변화는 일어나지 않는다.

전처리를 시행한 양자화 DCT 계수를 16×16pixel의 블록마다 공개키를 이용해 RSA 암호화한다. 이 블록 단위로 암호화된 각각의 스트림을 암호화 블록 스트림이라고 부른다.

암호화 블록 스트림은 다음 절의 진정성 검증용 데이터의 작성 프로세스로 보낸다. 또, 이동 물체를 포함하는 블록은 복원용 데이터로써 화상 출력부의 디지털 워터마킹 프로세스에 보낸다.

(2)진정성 검증용 데이터의 작성

앞 절에서 작성한 암호화 블록 스트림을 모두 결합하여 한 개의 스트림으로 한다. 이 스트림의 해시에 전자서명하고, 서명문을 진정성 검증용 데이터로 한다. 서명문의 작성에 이용하는 열쇠는, 앞 절에서 이용한 공개키와 짝을 이루는 비밀키로 한다. 진정성 검증용 데이터는, 촬영 화상 복원용 데이터와 같이 화상 출력부의 디지털 워터마킹 프로세스로 보내진다.


(d)화상 출력부

여기에서는, masked image의 작성과 디지털 워터마킹에 의한 촬영 화상 복원용 데이터와 진정성 검증용 데이터의 저장을 실시한다.

(1)masked image의 작성

입력부로부터 얻은 양자화 DCT 계수 중 이동 물체를 포함한 블록을, 프라이버시 보호부로부터 얻은 masking한 블록의 것과 바꿔 넣고, masked image를 작성한다. 이동 물체를 포함하지 않는 블록은 입력된 JPEG인 채로 한다.

(2)디지털 워터마킹에 의한 복원·검증 데이터의 저장

워커마크(Watermark)의 저장은 masked image의 휘도의 AC 성분에만 실시한다. 제안 수법에서는 JPEG 규정의 Annex K에 의한 표준 테이블에서의 허프만 부호화에 근거하는, 부호량의 변화를 억제한 저장을 실시한다.

허프만 부호화된 입력치는, (입력치와 제로 런 랭스(Zero Run Length)에 의해 정해진 하프만 부합)+(부가 비트)의 형태로 출력된다. 허프만 부호가 동일한 그룹 내이면, 입력치를 변경해도 허프만 부호화 후의 부호 길이는 변화하지 않는다. 그러므로 AC 성분을 입력치(ac)에 의해, |ac|≥2의 그룹과 |ac|≤1 의 그룹으로 나누어, |ac|≥2의 그룹에 우선적으로 저장을 실시한다. 크기 값을 변경하면 화질에 허용할 수 없는 열화가 생기기 때문에, 변경은 최하위 비트만으로 한다. 입력치 ac와 저장 비트 b, 디지털 워터마킹 후의 계수 ac(w)의 관계는 다음 식으로 나타내진다.


ac(w)= sign×(2[ |ac/2| ]+b)


또, |ac|≥2의 그룹의 계수만으로는 부족한 경우, |ac|≤1 의 그룹도 이용한다. 이 그룹에의 저장은, |ac|≥2의 그룹과 달리 부호 길이가 변화한다.

(3)허프만 부호화와 출력

디지털 워터마킹 저장 후의 계수를 허프만 부호화하여 헤더를 부가하고 JPEG 스트림으로써 출력한다.


진정성의 검증과 촬영 화상의 복원

masked image를 이용해 진정성을 증명하는 순서, 촬영 화상을 복원하는 순서를 나타낸다. 제안 수법은 촬영 화상을 복원하기 전에 진정성을 증명할 수 있다.


진정성의 검증

진정성의 검증 순서를 그림 4에 나타낸다. (1)디지털 워터마킹에 의해 저장된 촬영 화상 복원용 데이터와 진정성 검증용 데이터를 선발한다. (2)진정성 검증용 데이터를 공개키로 복호하여 해시치를 얻는다. (3)masked image로부터 「암호화 블록 스트림의 생성」에 나타낸 순서로 공개키를 이용하여, 암호화 블록 스트림을 생성한다. (4)(3)에서 생성된 암호화 블록 스트림은, masking의 영향으로 이동 물체를 포함한 블록의 암호화 블록 스트림이, 촬영 화상으로부터 만들어지는 것과 다르다. 촬영 화상으로부터 만들어진 암호화 블록 스트림을 복원하기 위해, (1)에서 추출한 촬영 화상 복원용 데이터에서 이동 물체를 포함한 블록을 치환한다. (5)복원한 스트림으로부터 해시를 계산한다. (6)(5)의 해시와 (2)의 해시가 일치하면, 카메라로 촬영한 화상과 복원해서 얻어진 화상과는, 전 처리를 제외하고 완전히 동일하며, 사람이 검지할 수 있는 차이는 존재하지 않는다는 것이 보증된다. 여기에 나타낸 것처럼, 촬영 화상을 복원하지 않고 진정성을 검증할 수 있다.


촬영 화상 복원

masked image로부터 촬영 화상을 복원하는 순서를 나타낸다. 「진정성의 검증」과 같이, (3),(4)의 순서에서, masked image에서 촬영 화상으로부터 얻을 수 있는 것과 동일한 암호화 블록 스트림을 복원한다. 이 암호화 블록 스트림을 비밀키에 의해 복호화하면, 16×16pixel 단위의 화상이 복원된다. 이것을 나열하는 것으로 촬영 화상을 복원할 수 있다. 이 처리에는 비밀키가 필요하기 때문에, 복원할 수 있는 것은 특정의 인물이나 기관에 한정된다.


실행 예

프라이버시 보호와 복원

제안 수법을 실행한 결과를 나타낸다. 그림 5(a)가 입력 화상, 사이즈는 640×480pixel 이다. 그림 5(b)는 「암호화 블록 스트림의 생성」의 전처리에 의해 휘도의 AC 성분의 최하위 비트를 0으로 한 화상이다. (a), (b) 사이의 PSNR는 46.9dB 로 높은 유사성을 가지며, 눈으로 차이를 찾아내는 것은 어려울 만큼, 전처리의 적용에 의한 화상의 변화는 적다. 그림 5(c)는 출력의 masked image이다. 인물이 단일색으로 전부 칠해져 특정 불가능하게 되어 있다. 그러나 그림 1(b)에 나타낸 것처럼 적절한 프라이버시 보호 처리가 되어 있기 때문에, 인물의 형상은 인식할 수 있고 거기에 사람이 있다는 것을 알 수 있다. 그림 5(d)는 masked image로부터 비밀열쇠를 이용해 복원한 화상이다. (b)와 (d)에는 1비트 차이도 없이 완전하게 동일한 화상이 복원되어 있다.

또, 제안 수법의 개찬 내성은 해시, RSA 암호의 강도에 의존한다. 양쪽 모두 충분한 강도가 보고되고 있어 11), 제안수법은 실용화가 가능한 충분한 공격 내성을 가진다.


파일 사이즈 삭감 효과

다음으로, 제안 수법을 이용했을 경우의 출력 파일 사이즈를 나타낸다. 표 1은, 제안 수법을 실행했을 때의 전 프레임 수, 이동 물체를 포함한 프레임 수, 입력파일 사이즈, 출력파일 사이즈, masking에 의한 감분, 디지털 워터마킹에 의한 증분을 나타낸 것이다. 입력 시퀀스는 그림 5에 나타낸 화상을 포함하는 것을 이용했다.

출력파일 사이즈는 입력파일 사이즈보다 감소하고 있다. masking은 이동 물체를 단일 색으로 전부 칠하기 위해 그 영역에서는 JPEG 압축효율이 높아져 파일 사이즈가 감소한다. 또한, 디지털 워터마킹에서는 파일사이즈가 증가하지만, 저장 데이터가 masked image의 |ac|≥2가 되는 AC 성분에 모두 저장될 수 있는 경우에는, 출력 파일 사이즈는 증가하지 않는다.

그림 6은 화상 가운데의 이동 물체의 면적과 masking, 디지털 워터마킹에 의한 데이터량의 증감을 나타낸 것이다. 이동 물체가 17000pixel 정도까지는 |ac|≥2가 되는 AC 성분에 모두 저장되어 있기 때문에, 디지털 워터마킹에 의한 증가는 일어나지 않는다. 그러나 디지털 워터마킹에 의한 증가는 masking에 의한 감소에 비해 급격하게 일어나기 때문에 이동 물체가 35,000pixel를 넘으면 디지털 워터마킹에 의한 증분이 웃돈다.


실행 시간

앞 절에서 이용한 데이터에 있어서의 프레임 레이트는 5.70frame/s이다. 프레임 레이트는 이동 물체가 존재하는 프레임에서만 산출했다. 이 결과는 일반적인 동영상 촬영의 풀 레이트 30frame/s를 밑돌지만, 감시 카메라에서는 프레임 레이트를 떨어뜨려 촬영·보존하는 경우가 많아 5frame/s는 감시 카메라의 촬영 레이트로써는 지장이 없는 수치라고 말할 수 있다.


마지막으로

여기에서는 RSA 공개키 암호방식과 디지털 워터마킹을 이용한 촬영 화상의 진정성 증명과 피촬영자의 프라이버시 보호를 동시에 실현하는 수법을 제안했다. 촬영 화상을 복원하지 않으면 진정성을 검증할 수 없는 종래 방법과 달리, 제안 수법에서는 복원을 실시하지 않고 진정성을 증명할 수 있다. 또, 허프만 부호화의 특징에 근거한 디지털 워터마킹을 이용함으로써, 파일 사이즈의 증가를 억제했다. 특히, 실험에 이용한 데이터에서는 출력파일 사이즈를 입력파일 사이즈보다 작게 할 수 있었다. 또한, 640×480pixel 의 화상에 적용했을 경우에, 약 5frame/s으로, 감시 카메라로써 지장이 없는 속도로 실행할 수 있었다. 앞으로, 공통키 암호를 편성하여 이용하고, 암호화의 계산 원가를 억제하는 수법 등을 통해 실행시간의 고속화를 목표로 연구를 진행하고자 한다.

<글 : 키타자와 히토시(Kitazawa Hitoshi), 야부타 켄이치(Yabuta Kenichi) 도쿄농공대학>  

 

[월간 시큐리티월드 통권 제162호(info@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>