텍스트를 난독화하여 PDF 문서에서 텍스트 추출을 방지합니다.

블로그 카테고리: PDF.NET

2020/05/18

VintaSoft Imaging .NET SDK는 모든 글꼴 유형에 대한 텍스트 인코딩을 난독화하는 기능을 지원합니다.

목적은 무엇입니까? 예를 들어, 문서를 공개적으로 게시하거나 제3자에게 제공할 때 PDF 뷰어에서 복사/붙여넣기를 통해 문서의 텍스트가 쉽게 추출되는 것을 원하지 않는 경우입니다.

해결책 1: PDF 문서 보안 설정의 플래그를 사용하여 텍스트 추출을 금지합니다. 그러나 이 설정이 제대로 적용되는지는 사용자가 문서를 보는 데 사용하는 애플리케이션에 따라 달라집니다. PDF 뷰어가 PDF 문서 보안 설정을 무시하는 경우 텍스트를 쉽게 추출할 수 있습니다.

해결책 2: 텍스트 인코딩 정보를 완전히 제거하고, 글꼴의 글리프를 섞고, 페이지의 심볼 코드를 섞습니다. 이는 VintaSoft PDF .NET Plug-in에서 제공하는 텍스트 인코딩 난독화 기능을 사용하여 수행할 수 있습니다. 난독화 메커니즘은 텍스트 인코딩에 대한 정보를 완전히 제거하고, 글꼴과 페이지의 기호 글리프를 혼합하고, 글꼴과 기호 글리프를 중복합니다. 이렇게 난독화된 텍스트는 OCR을 통해서만 추출할 수 있습니다.

VintaSoft PDF Editor 데모 애플리케이션을 사용하여 간단한 PDF 문서(document-without-text-obfuscation.pdf)의 난독화를 살펴보겠습니다.

이 문서는 두 페이지로 구성되어 있습니다. 네 문장이 세 가지 다른 글꼴을 사용하여 작성되었습니다.

첫 번째 페이지와 두 번째 페이지의 첫 번째 문장은 동일한 글꼴을 사용하여 작성되었습니다.
Text before text encoding obfuscation in PDF document

텍스트 추출 패널과 글꼴 보기 대화 상자에는 모든 기호의 텍스트 인코딩이 올바르게 표시되어 있습니다.
Text characters before text encoding obfuscation in PDF document

텍스트 인코딩 난독화 대화 상자는 응용 프로그램 메뉴에서 [텍스트] -> [텍스트 인코딩 난독화] -> [설정]을 통해 호출할 수 있습니다.
Standard settings for text encoding obfuscation in PDF document

기본 설정으로 난독화를 수행하고 난독화된 텍스트가 포함된 출력 문서를 살펴보겠습니다. document-with-default-text-obfuscation.pdf.

문서를 검토한 결과 글꼴이 완전히 변경되었고, 글리프가 무작위로 재배치된 것을 확인할 수 있습니다. 추출된 텍스트는 텍스트 추출 패널에서 볼 수 있습니다.
Text after text encoding obfuscation in PDF document

두 페이지의 첫 번째 문장이 동일한 글꼴로 작성되었으므로 두 페이지의 첫 번째 단어(녹색으로 강조 표시됨)의 기호가 동일합니다.
The same word is written using one font after text encoding obfuscation in PDF document

"간단한 프로그램을 작성해서 텍스트를 추출하고, 수동으로 문자 매핑 테이블을 만들어서 해독해 보겠습니다."라고 생각할 수도 있습니다. 네, 특히 문서에 사용된 글꼴이 몇 개 되지 않는 경우에는 가능합니다. 하지만 바로 이러한 이유로 해독 작업을 거의 불가능하게 만드는 난독화 설정을 구현했습니다.

다시 텍스트 인코딩 난독화 대화 상자를 열고 다음을 수행합니다. Settings for strong text encoding obfuscation in PDF document

이후 PDF 문서의 텍스트 인코딩을 다시 한 번 난독화하고 난독화된 텍스트가 포함된 출력 PDF 문서를 검토해 보겠습니다. document-with-strong-text-obfuscation.pdf.

이제 문자 "e"에 대해 서로 다른 글리프가 사용되었고 추출된 텍스트에는 이 문자의 기호가 서로 다른 코드로 포함된 것을 확인할 수 있습니다.
The same character is written using different glyphs after text encoding obfuscation in PDF document

첫 번째 줄의 "Text"라는 단어는 이제 서로 다른 글꼴로 작성되었습니다.각 글꼴에는 고유한 임의 위치와 글리프 복제 방식이 사용됩니다. 이제 첫 번째 페이지와 두 번째 페이지에서 추출한 단어는 완전히 다릅니다.
The same word is written using different fonts after text encoding obfuscation in PDF document