1. 서론
스테가노그라피는 커버 미디어에 데이터를 은닉하여 스테고 미디어를 만드는 기술을 의미한다. 커버 미디어로는 이미지, 동영상, 오디오 등 다양한 미디어가 사용된다. 스테가노그라피의 대응분야는 Steganalysis이며, 스테고 미디어에 숨겨진 데이터를 예측하고 추출하는 기술이다.
이미지 스테가노그라피는 커버 이미지의 유형에 따라 일반적으로 공간 도메인의 비트맵 이미지와 변환 도메인의 JPEG 이미지 대상으로 구분된다. 스테가노그라피 알고리즘의 평가는 데이터 용량 (data capacity), 보안(security) 및 비인지성(imperceptibility) 등의 세 가지 요소에 기반 한다 [1]. 데이터 용량이 높을수록 더 많은 데이터가 커버에 내장 될 수 있다. 그러나, 은닉된 데이터가 많으면 노이즈 등의 시각적 이상 현상과 비정상적인 히스토그램이 발생 할 수 있다. 그러므로, 스테가노그라피의 목표는 가능한 많은 데이터를 은닉 하면서 동시에 스테고 이미지와 커버 이미지간의 시각적 및 통계적 유사성을 유지하는 것이다. 데이터 은닉 자체를 시각적 및 통계적으로 인지할 수 없게 하여 공격을 피할 수 있어야 한다. 이미지 스테가노그라피 데이터 용량은 픽셀 당 비트 수 bpp로 측정한다. 스테고 이미지의 품질은 커버 이미지와 차이를 측정한 PSNR 값으로 평가하며, 통계적 유사성은 히스토그램을 통해 분석한다.
공간 도메인 비트맵 이미지 스테가노그라피는 픽셀 값에 직접 데이터를 숨기고 추출하므로 비교적 빠르고 간편한 방법으로 많은 데이터를 은닉할 수 있다. 변환 도메인 JPEG 이미지 스테가노그라피는 압축으로 인한 이미지 데이터 손실로 인해 직접 픽셀 값에 접근하지 않고 변환 도메인에서 0이 아닌 계수에 데이터를 숨기는 방식이라 상대적으로 복잡하고 많은 데이터를 숨기기 어렵다. 반면에 Steganalysis 공격에 강한 방식으로 여겨진다.
본 논문에서는 공간 도메인의 컬러 비트맵 이미지 대상으로 새로운 고용량 적응형 LSB 스테가노그라피를 소개하고자 한다. 교체될 컬러 이미지 픽셀의 RGB 컴포넌트의 LSB 비트 수를 PSNR 최저값 분석에 의하여 체계적으로 결정하고, 컬러 컴포넌트의 MSB 값에 따라 적응적으로 교체하는 새로운 조합을 제시 하였다. 또한 픽셀 값 차이에 의한 행 단위의 픽셀 정렬을 통해 지역적으로 에지 영역을 찾아 데이터를 분산 은닉하여 시각적 비인지성을 높이고자 시도하였다. 그 결과, 제시된 알고리즘은 9.2bpp의 높은 데이터 용량이 가능하며, Table 1에 제시된 바와 같이 60K바이트 크기까지의 데이터를 은닉한 경우 스테고 이미지의 평균 PSNR은 43.9db로 좋은 품질도 유지할 수 있다. 테스트에 사용된 커버 이미지와 생성된 스테고 이미지 및 자연스런 히스토그램 등은 4절 실험결과에 제시되었다.
2. 관련 연구
LSB 스테가노그라피는 비트맵 이미지에 가장 많이 적용되는 기법으로, 기본적으로 커버 이미지 각 픽셀 최하위 1비트에 숨기고자 하는 데이터 1비트를 대체하는 방식으로 데이터 용량은 1bpp 이다 [1, 2]. 보안을 위해 데이터는 보통 압축하여 커버 이미지에 은닉한다. 압축된 데이터의 경우 비트 1과 0의 개수가 거의 동일하므로 LSB 스테가노그라피를 적용한 스테고 이미지의 경우, 히스토그램에 연속된 두 값이 같아지는 Pair of Value 현상이 발생하며, 이를 이용한 공격에 취약하다 [1].
보통 8비트 그레이스케일 이미지 대상으로 다양한 방향으로 진화된 LSB 기반 스테가노그라피가 많이 제시되었다. 512x512 크기 그레이스케일 이미지 경우 1bpp 용량으로 은닉할 수 있는 데이터의 최대 양은 32K 바이트 (262,144 비트)이다. 좀 더 많은 데이터를 은닉하기 위한 방법 [3, 4], Pair of Value 현상을 제거하여 보안성을 높일 수 있는 방법 [5], 에지 영역에 적응적으로 비밀데이터를 은닉하여 비인지성을 높이는 방법 [4, 6], 또는 데이터를 은닉한 후에 스테고 이미지 후처리를 통해 커버 이미지와의 차이를 줄여 PSNR 값을 높이는 방법 [7] 등이 발표되었다.
24비트 컬러이미지는 각각 8비트의 RGB 컴포넌트 세 개가 결합하여 한 개의 픽셀을 구성 한다. 컬러 이미지 대상 LSB기반 스테가노그라피는 기존의 그레이스케일 이미지 대상 방법을 단순 적용 [2] 하거나 확장하여 적용 한 방법 [8, 9, 10]과, RGB 컴포넌트 간의 적응적 선택을 도입 [11, 12] 하여 데이터 용량을 확장 한 방법 등이 소개되었다. 간단히 요약하면, 컬러 이미지 대상 적응형 LSB 스테가노그라피는 각 RGB 컴포넌트의 8비트 중 LSB 영역의 1비트에서 4비트 까지를 숨겨야할 데이터 비트로 대체한다.
기존의 컬러 이미지 대상 방법 중 이미지 텍스처를 분석하여 복잡한 텍스처에 각 R-G-B LSB 4비트씩 (4-4-4), 단순 텍스처에 R-G-B LSB에 3-3-2 비트씩 고정적으로 대체하는 방법이 제시되었으나 정확한 비율, 용량 및 실험 결과 등이 제시되지 않았다[9]. 또한, 고용량 방법으로 선택된 모든 픽셀의 RGB LSB 4비트씩 (4-4-4) 고정적 대체[10]하는 방법과, 또 다른 방식으로 파랑(B) 컴포넌트의 8비트와 초록(G) 컴포넌트의 LSB 4 비트를 고정적으로 대체 [11]하여, 12bpp 고용량 LSB 기반 스테가노그라피가 제시 되었다. 그러나, 고정적으로 높은 비트수를 대체하는 방식은 비정상적인 피크(abnormal peak)가 발생하는 히스토그램을 생성한다 [10, 11]. 1비트에서 4비트까지 적응적으로 대체하는 방법의 경우 스테고 이미지 PSNR 값이 높게 발표 되었으나, 데이터 용량의 평균값이 6.4bpp 또는 5.1bpp 등으로 상대적으로 낮고 커버 이미지 또는 은닉할 데이터 크기에 따라 데이터 용량이 가변적이다 [10, 12].
기존 적응형 LSB 스테가노그라피는 데이터가 숨겨진 자체를 시각적으로 인식하지 못하도록 비인지성을 높이기 위하여 이미지 에지 부분에 데이터를 은닉한다. 대부분의 기존 방법은 이미지 에지 영역을 찾기 위하여 복잡한 필터링이나 정렬 등의 과정을 제안하였다 [8, 9, 10, 11, 12]. 숨겨진 데이터를 추출하기 위해서 커버 이미지 없이 스테고 이미지만으로 필터링 또는 정렬 등의 처리를 통해 커버 이미지와 동일한 에지영역을 찾아야 한다.
그러므로 필터링 또는 정렬 처리는 커버와 스테고 이미지 픽셀 비트 중 변하지 않을 most-significant-bit (MSB) 4 비트 값에 적용된다. 스테고 이미지 픽셀의 LSB 비트에는 은닉된 데이터로 인해 필터링 등의 결과가 달라질 수 있다. 기존 방법은 이미지 전체의 모든 픽셀을 대상으로 먼저 필터링 또는 정렬을 실시하여 에지 영역에 속한 픽셀을 모두 찾은 다음, 은닉할 데이터 비트 수에 맞추어 에지 영역에 속한 픽셀 중에서 의사난수 방법을 적용하여 무작위로 선택하여 픽셀 값에 따라 적응적으로 1에서 4 비트 또는 고정적인 비트 수만큼의 데이터를 은닉한다. 기존 처리 방법은 별도의 메모리가 많이 요구되며 처리 시간도 오래 걸린다.
본 논문에서는 9.2bpp의 고용량 데이터 은닉을 위해 픽셀의 각 RGB 컴포넌트의 LSB 2비트에서 4비트까지 유연하게 교체하는 방법을 제시하고자 한다. 또한 에지영역 픽셀 선택을 위해 상대적으로 메모리가 적게 소요되고 처리시간도 빠른 지역적 정렬 방법도 제시하고자 한다.
3. 고용량 적응형 LSB 스테가노그라피
본 방법은 데이터 용량을 커버 이미지와 최대로 차이가 나는 스테고 이미지의 품질 분석 즉, PSNR 최저값 분석에 의해 결정하였다. 또한, 적은 메모리만 추가로 필요한 지역적인 정렬처리 방법을 사용하여 이미지의 에지 영역에 속한 픽셀을 검색하였고, 픽셀 값에 따라 적응적으로 데이터를 은닉하였다. 이러한 콘텐츠 적응적 LSB 대체 방법은 다양한 비트 수의 대체를 유도하여 자연스러운 히스토그램 생성에도 기여하였다.
기존 적응형 LSB 스테가노그라피는 데이터 은닉 자체가 발견되지 못하도록 비인지성을 높이기 위하여 MSB 값이 큰 픽셀이나 이미지의 에지영역 픽셀을 선택하여 우선적으로 LSB에 데이터를 은닉한다. 예를 들면, MxN 이미지 전체 픽셀을 RGB 세 개 컴포넌트의 MSB 4비트 값 기준 내림차순으로 정렬 한 후 픽셀을 선택 한 바 있다. 이 방법의 경우 3xMxN 추가메모리가 필요하다 [12]. 에지 영역 픽셀 검색을 위하여, 기존 pixel-value differencing (PVD)[4]에서는 이미지 내의 모든 픽셀을 겹치지 않는 블록으로 나누었다. 연속된 두 픽셀이 하나의 블록이며, 블록 내 두 픽셀 값의 차이가 큰 블록이 에지영역으로 두 픽셀에 데이터를 은닉하였다.
본 논문에서는 N 메모리만 필요한 지역적인 정렬을 통해 에지영역 픽셀을 검색하는 방법을 제안한다. 본 정렬에서는 세 RGB 컴포넌트 MSB 4비트를 결합한 12비트 정수 값을 픽셀 값으로 사용하였고, 모든 두 픽셀 간의 차이를 이용하여 기존 PVD 블록 간의 차이도 고려하였다. 픽셀 차이 값은 두 픽셀 값 차이의 절대값으로 한다 (deltai = |Xi+1 - Xi|).
기존 방법은 이미지의 모든 픽셀을 정렬 하였지만, 본 방법은 행 단위로 픽셀 정렬 처리를 반복한다. 즉,한 행에 속한 차이(deltai)기준 내림차순으로 픽셀(xi)을 정렬하여 큰 차이의 에지 픽셀에 데이터를 은닉 또는 추출한다.
제안된 본 방법의 개요는 Figure 1에 제시되었다. 데이터 은닉을 위한 입력은 압축된 데이터와 커버 이미지이다. 데이터의 크기(S)로부터 이미지 내에 데이터 은닉에 필요한 각 행 당 픽셀 수(P)를 계산 한다. 각 행에 대해 다음 처리를 반복한다. 각 행에 속한 연속된 두 픽셀 차이 deltai 기준 내림차순으로 정렬하고 P개 픽셀을 선택하여 RGB 컴포넌트 LSB의 2비트에서 4비트를 데이터 비트로 대체한다. 그 결과 데이터가 은닉된 스테고 이미지가 생성된다. 데이터 크기(S)는 이미지 특정 헤드 영역에 저장 된다.
스테고 이미지에서 데이터를 추출하기 위해서 먼저, 헤드 영역에 저장된 S에서 각 행 당 픽셀 수(P)를 계산 한다. 그 다음은 데이터 은닉과정과 동일한 델타정렬 후 P개 픽셀 선택을 각 행에 대해서 반복 실시한다. 선택된 픽셀에서 추출 된 LSB 비트를 수집하면 숨겨진 데이터가 복원된다.
Figure 2는 Lena 이미지에 위에 언급된 델타 정렬에 의해 검색된 지역적 에지영역에 데이터가 은닉된 예를 보여준다. 이미지의 빨간색 점이 데이터가 은닉된 픽셀을 나타낸다.
기존 컬러이미지 스테가노그라피에서 에지영역을 찾기 위해 MSB값의 크기를 사용한 바 있다 [9, 12]. MSB값이 큰 경우에 4비트 대체 등을 사용하였는데, 단순 크기 비교는 Figure 3 왼쪽 예와 같이 이미지의 밝은 부분에 데이터가 연속해서 은닉될 수 있다. 이미지를 확대 한 경우 노이즈 같은 시각적 특이현상으로 비인지성이 낮아질 수 있다. 제안된 델타정렬 방법은 데이터를 분산하여 은닉하여 Figure 3 오른쪽 예와 같이 시각적 비인지성을 높일 수 있었다.
보통 은닉데이터를 포함한 스테고 이미지의 품질은 PSNR 값으로 측정한다. PSNR 측정은 다음 수식 (1)과 수식 (2)를 이용하여 계산 된다 [13]. 평균제곱오차(MSE)는 커버 이미지와 스테고 이미지간의 차이를 대응하는 픽셀 간의 차이를 제곱 후 합산하여 계산한다. 컬러 이미지는 RGB 각 컴포넌트에 대하여 MSE(R), MSE(G), MSE(B)를 계산하고 수식 (2)를 이용하여 PSNR 값을 산출한다. 보통 스테고 이미지의 PSNR 값이 30dB 이상이면 좋은 품질로 간주 한다 [13].
커버 이미지와 스테고 이미지 간의 차이 MSE가 가장 큰 경우 PSNR값이 최저가 된다. 즉, coveri,j와 stegoi,j간의 차이 제곱이 (2K-1)2 (k= 1, 2, 3, 4 교체 비트 수)인 경우이다 [7]. 예로, 2비트 교체 시 커버와 스테고 픽셀 차이 값은 -3, -2, -1, 0, 1, 2, 3 중의 하나로 (-3)2 또는 32인 (22-1)2 경우 MSE는 최대로 PSNR은 최저가 된다. 모든 이미지 픽셀 RGB LSB의 고정된 비트 수를 교체한 경우 산출된 PSNR 최저값이 Table 2에 제시 되었다. LSB 4비트 대체는 스테고 품질을 현저하게 저하 시키나 고용량 은닉에 필수적이다.
이에, 본 연구에서는 RGB LSB 고정 교체 조합을 Table 3과 같이 시도 하였다. 본 논문에서는 최저 PSNR값이 30db가 넘고 고용량 9.2bpp가 도출된 4비트씩 교체 30% 와 3+2비트 교체 70%를 적용한 조합을 선택 하였다. 9.3bpp를 도출한 10% 4-4-4 교체와 90% 3-3-3 교체 조합의 경우 2비트 교체 경우가 없어 자연스런 히스토그램 생성이 어렵고, 또한 3-3-3은 은닉할 데이터를 9비트 단위로 교체해야 해서 바이트 단위 프로그래밍에 불편한 점이 있다. 4-4-4의 12비트는 1.5 바이트 교체이고 3+2비트 교체는 3-3-2, 3-2-3, 2-3-3 등으로 8비트의 바이트 단위 프로그래밍이 가능하며 2비트에서 4비트까지의 적응적 교체에 부합된다. 선택된 조 합 실험 결과, Table 1과 같이 스테고 이미지의 PSNR 값은 최저보다 높게 측정되었다. 30K - 60K바이트 데이터를 은닉한 경우 평균 PSNR은 43.9db 이다.
본 방법은 이미지 적응형 은닉을 위하여 먼저 이미지 각 행의 에지영역 픽셀을 지역적으로 찾는다. 각 행의 픽셀간의 차이 deltai를 내림차순으로 정렬 한 후 P개 픽셀 RGB LSB 에 데이터를 숨긴다.
먼저 4비트씩 교체로 데이터의 30%를 은닉한 후 70%에 3+2비트 교체를 처리해야 한다. 픽셀 값 차이가 더 큰 경우 4비트 교체를 실시하여 비인지성을 높이기 위함이다. 예를 들어 10byte 데이터를 3:7비율로 은닉 한다면, 커버 이미지 2개 픽셀에 4-4-4 교체로 12비트씩 24비트 (3바이트)가 은닉되며, 7개 픽셀에 3-3-2, 3-2-3, 또는 3-3-2 교체로 8비트씩 56비트 (7바이트)를 은닉한다.
이미지 콘텐츠 적응성을 좀 더 높이기 위해 3+2비트 교체의 경우 RGB 컴포넌트의 4 비트 MSB 값을 비교하여 Table 4와 같이 MSB 값이 가장 큰 경우에 2비트 교체를 시도하여 교체되는 값이 적도록 하였다. MSB 값이 가장 작은 경우나 중간 경우에 2비트 교체를 실시한 경우 보다 가장 큰 경우 2비트를 교체한 경우 스테고 이미지 PSNR 값이 가장 높게 측정되었다. 결과적으로 본 논문에 제안된 방법은 지역적으로 선택된 에지 영역에 2비트에서 4비트까지 이미지 콘텐츠에 따라 유연하게 대체되었다.
4. 실험 결과
본 논문에 제시된 새로운 고용량 적응형 LSB 스테가노그라피 알고리즘은 C#으로 구현하였다. Baboon, Lena, Pepper 등과 스마트 폰으로 캡쳐한 Pink-flower와 Yellow-flower 등 모두 512x512 크기의 5개 컬러 이미지를 커버이미지로 실험 하였다. 은닉할 데이터는 문자, 이미지, 녹음된 음성 등을 zip으로 압축하여 세 개의 크기로 만들었다. 245,760비트 (30,720바이트), 409,600비트(51,200바이트), 491,520비트(61,440바이트) 등의 데이터를 은닉하였고 각각 생성된 스테고 이미지를 Stego1, Stego2, Stego3으로 구분하였다.
기존 컬러 이미지 스테가노그라피 실험 중 은닉 데이터 크기가 최대 49,152바이트 (393,216비트)를 은닉한 결과가 제시된 경우 [11]가 있다. 그러나, 에지 영역에는 12bpp로 은닉하지만 그 외에는 MSB 값에 따라 2비트에서 4비트 교체하는 방법으로 이미지에 따라 bpp값이 일정하지 않고 비정상적인 히스토그램이 도출되었다. 31,072바이트 (248,576비트)를 평균 5.1bpp로 은닉한 결과도 제시되었다 [12]. 스테고 이미지 후처리를 통해 PSNR을 더 향상시킨 결과가 제시 되었지만 데이터 용량이 본 논문보다 낮고, 히스토그램이 제시되지 않았다. 또한, 기존 방법은 이미지 에지 영역의 크기에 따라 저장 할 수 있는 데이터 크기가 결정되기 때문에 정확한 용량(bpp) 산출도 어렵다.
본 논문에 제시된 방법은 이미지에 관계없이 Table 3과 같이 9.2bpp의 고용량 데이터 은닉이 가능하다. 시각적 유사성 및 비인지성 확인을 위하여, 실험에 사용된 5개 컬러 커버 이미지와 가장 많은 데이터를 은닉한 스테고 이미지 Stego3를 Figure 4의 왼쪽과 오른쪽에 나열하였다. 또한 5개의 커버 이미지에 각각 크기가 다른 데이터를 은닉한 Stego1, Stego2, Stego3 등의 스테고 이미지의 PSNR 값은 Table 1에 제시되었으며, 평균 43.9 db의 높은 값이 산출되었다. 마지막으로, Baboon 및 Lena의 커버 이미지와 Stego1, Stego2, Stego3 등 스테고 이미지의 히스토그램도 Figure 5에 나열하여 통계적 유사성도 확인 할 수 있다.
5. 결론
본 논문에서는 컬러이미지 대상 새로운 고용량 적응형 LSB 스테가노그라피를 소개하였다. 은닉한 데이터를 포함한 스테고 이미지의 PSNR 최저값 분석을 통해 컬러 이미지 픽셀의 각 RGB 컴포넌트 LSB 교체 비트 수의 조합을 결정하여, 고용량 데이터 은닉이 가능하도록 하였다. 또한 이미지 전체 픽셀을 대상이 아니라 각 행에 속한 픽셀 값의 차이를 비교하여 지역적으로 에지 영역을 검색하여 이미지 콘텐츠 에 적응적으로 2비트에서 4비트 교체되도록 하였다.
향후, 본 방법을 확장하여 스마트 폰에 적용하는 연구와 Steganalysis 연구도 수행하여 많은 데이터 은닉 시 발생하는 비정상적인 히스토그램 대비 방법도 연구할 계획이다.