Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

스테가노그래피(정보 은닉)의 핵심 요구 사항 총정리

스테가노그래피란 무엇인가?

스테가노그래피(Steganography)는 데이터를 다른 정보 속에 숨겨 통신이 이루어지고 있다는 사실 자체를 감추는 기술입니다. 다양한 종류의 운반체(Carrier) 파일 구조를 사용할 수 있지만, 그중에서도 디지털 이미지가 컴퓨터 네트워크에서 가장 널리 사용되기 때문에 특히 중요한 역할을 합니다.

이미지에 기밀 데이터를 숨기기 위한 스테가노그래피 기법은 매우 다양합니다. 어떤 방법은 다른 방법보다 복잡하며, 각각 고유한 장점과 단점을 지니고 있습니다.

또한 응용 분야에 따라 스테가노그래피 기법에 요구되는 조건도 달라집니다. 예를 들어, 어떤 소프트웨어는 숨겨진 정보의 완전한 비가시성을 필요로 하는 반면, 다른 소프트웨어는 더 많은 양의 비밀 메시지를 숨길 수 있는 능력을 중시합니다.

스테가노그래피의 6가지 핵심 요구 사항

1. 비가시성(Invisibility)

비가시성은 스테가노그래피 알고리즘의 첫 번째이자 가장 중요한 조건입니다. 스테가노그래피의 강점은 인간의 눈으로 보이지 않는 능력에 있기 때문입니다. 만약 이미지가 변조되었다는 사실을 누군가 알아차릴 수 있다면, 그 알고리즘은 실패한 것입니다.

2. 페이로드 용량(Payload Capacity)

저작권 정보처럼 소량의 데이터만 삽입하면 되는 워터마킹(Watermarking)과 달리, 스테가노그래피는 비밀 통신을 목적으로 하기 때문에 충분한 데이터 삽입 용량이 필요합니다.

3. 통계적 공격에 대한 강건성(Robustness Against Statistical Attacks)

통계적 스테가노분석(Steganalysis)은 이미지 데이터에 통계적 검정을 적용하여 숨겨진 데이터를 식별하는 절차입니다. 일부 스테가노그래피 알고리즘은 데이터를 삽입할 때 '서명(Signature)'과 같은 흔적을 남기는데, 이는 통계 분석을 통해 쉽게 발견될 수 있습니다.

감시자(Warden)에게 들키지 않고 통과하기 위해서는, 스테가노그래피 알고리즘이 통계적으로 유의미한 흔적을 이미지에 남기지 않아야 합니다.

4. 이미지 조작에 대한 강건성(Robustness Against Image Manipulation)

스테고 이미지가 신뢰할 수 없는 시스템을 통해 전송되는 과정에서, 악의적인 감시자가 숨겨진 정보를 제거하려고 이미지를 변형할 수 있습니다.

여기서 이미지 조작에는 크롭(Cropping)이나 회전(Rotating) 등이 포함되며, 이러한 조작은 이미지가 목적지에 도달하기 전에 수행될 수 있습니다. 메시지가 삽입된 방식에 따라 이러한 조작은 숨겨진 메시지를 파괴할 수 있습니다.

따라서 스테가노그래피 알고리즘은 이미지에 가해지는 악의적인 변경이나 우발적인 변경 모두에 대해 견고해야 합니다.

5. 파일 형식 독립성(Independent of File Format)

인터넷에서는 다양한 이미지 파일 형식이 사용되므로, 두 당사자 사이에서 항상 동일한 한 가지 파일 형식만 전송된다면 오히려 수상하게 보일 수 있습니다.

따라서 강력한 스테가노그래피 알고리즘은 어떤 종류의 파일에도 데이터를 삽입할 수 있는 능력을 갖추어야 합니다. 이는 커버 이미지(Cover Image)로 사용할 적절한 이미지를 원하는 시점에 원하는 형식으로 찾지 못하는 문제도 함께 해결해 줍니다.

6. 수상함이 없는 파일(Unsuspicious Files)

이 조건은 스테가노그래피 알고리즘이 생성하는 이미지가 일반적으로 사용되지 않는 특징을 가져 의심을 불러일 수 있는 문제와 관련됩니다. 예를 들어, 비정상적인 파일 크기는 감시자가 해당 이미지를 더 면밀히 조사하게 만드는 요인이 될 수 있습니다.