SQL 쿼리 기반 텍스트 스테가노그래피 문자 단어 매핑 기법
초록
본 논문은 입력 텍스트를 65개의 문자 카테고리로 구성된 해시 기반 사전과 매핑하여, 각 문자에 해당하는 무작위 단어를 선택하고 이를 SELECT 문 형태의 SQL 쿼리로 조합하는 새로운 텍스트 스테가노그래피 방식을 제안한다. 실험을 통해 실제 데이터에 적용 가능함을 입증했으며, 향후 INSERT·DELETE·UPDATE 등 다양한 SQL 구문으로 확장할 계획을 제시한다.
상세 분석
이 연구는 스테가노그래피와 암호학의 차이를 명확히 구분한 뒤, 텍스트 기반 은닉 매체로서 SQL 쿼리를 활용한다는 점에서 독창적이다. 핵심 아이디어는 문자‑단위 매핑이다. 먼저 65개의 카테고리를 정의하는데, 이는 영문 대·소문자, 숫자, 공백 및 몇몇 특수문자를 포함한다. 각 카테고리는 해시 테이블에 저장된 단어 리스트와 연결되며, 리스트 내 단어는 의미적으로 무관하고 길이가 다양하도록 설계되어 있다. 입력 메시지의 각 문자에 대해 해당 카테고리에서 무작위 단어를 하나 선택하고, 선택된 단어들을 순차적으로 연결해 SELECT 구문의 SELECT 절, FROM 절, WHERE 절 등에 배치한다. 예를 들어, ‘A’는 카테고리 1에 매핑되고, 그 리스트에서 ‘employee’라는 단어가 선택되면 SELECT 절에 삽입된다. 이렇게 구성된 SQL 문은 정상적인 데이터베이스 질의처럼 보이지만, 실제로는 은닉된 텍스트를 복원하기 위한 키(카테고리‑단어 매핑 테이블) 없이는 원문을 추출할 수 없다.
보안 측면에서 무작위 단어 선택은 통계적 패턴을 최소화한다. 동일 문자라도 매번 다른 단어가 사용되므로 빈도 분석 공격에 대한 저항성이 높다. 또한, SQL 구문 자체가 다양하게 변형될 수 있어, 공격자는 단순히 쿼리 구조만 보고는 은닉 정보를 추정하기 어렵다. 다만, 사전이 고정되어 있으면 사전 유출 시 복호화가 가능하므로, 사전 관리와 키 교환이 필수적이다.
용량 측면에서는 문자당 하나의 단어가 필요하므로, 평균 단어 길이가 58자일 경우 원문 대비 5배8배 정도의 캐리어 길이가 발생한다. 이는 텍스트 기반 스테가노그래피에서 흔히 발생하는 오버헤드와 유사하지만, SQL 쿼리의 길이 제한(예: DBMS별 최대 문자열 길이)을 고려해야 한다. 실험에서는 200자 이하의 메시지를 1~2개의 SELECT 문에 성공적으로 삽입했으며, 복원률은 100%였다.
한계점으로는 현재 SELECT 구문에만 초점을 맞추었기 때문에, 복잡한 서브쿼리나 조인 구조를 활용한 은닉은 구현되지 않았다. 또한, 사전 크기가 커질수록 해시 테이블 관리 비용이 증가하고, 실시간 매핑 속도가 저하될 가능성이 있다. 향후 연구에서는 동적 사전 생성, 다중 쿼리 유형 혼합, 그리고 자연어 처리 기법을 이용한 문맥 적합 단어 선택 등을 통해 은닉 효율과 보안성을 동시에 향상시킬 방안을 모색한다.
댓글 및 학술 토론
Loading comments...
의견 남기기