پنهان‌نگاری

پنهان‌نگاری اصطلاحاً استگانوگرافی  هنر و علم برقراری ارتباط پنهانی است و هدف آن پنهان کردن ارتباط به وسیله قرار دادن پیام در یک رسانه پوششی است به گونه‌ای که کمترین تغییر قابل کشف را در آن ایجاد نماید و نتوان موجودیت پیام پنهان در رسانه را حتی به صورت احتمالی آشکار ساخت. پنهان‌نگاری شاخه‌ای از دانشی به نام اختفاء اطلاعات (Data Hiding) است. دانش اختفاء اطلاعات خود شامل چندین شاخه از جمله رمزنگاری، ته نقش نگاری  می‌باشد. افرادی که می‌خواهند به صورت سری با یکدیگر ارتباط داشته باشند، اغلب سعی می‌کنند که آن ارتباط را به هر نحوی پنهان کنند.
استگانوگرافی، برگرفته از دو کلمه ی یونانی stego به معنای پوشیده و graphy به معنای نوشتن است؛ بنابراین کل کلمه به معنای پوشیده‌نویسی یا پنهان‌نگاری می‌باشد.
در حقیقت در ابتدا یونانیان باستان از این روش استفاده می‌کردند. به اینصورت که نوشته‌های داخل لوح سنگ به‌وسیله نوعی از واکس، پوشیده می‌شدند. اگر فرستنده اطلاعات می‌خواست که پیغامش را مخفی کند برای اهداف نظامی از پوشیده‌نویسی استفاده می‌کرد. به این‌صورت که پیغام در لوح بطور مستقیم حکاکی می‌شد؛ سپس واکس از بالای پیغام ریخته می‌شد؛ بنابراین پوشیده‌نویسی نه به این معنا اما وجود داشت.

کلمات معادل

گاهی به جای کلمه پنهان‌نگاری از کلمه نهان‌نگاری یا الگوگذاری یا خفیه نگاری استفاده می‌گردد اما در واقع نهان نگاری ترجمه Watermarking است.

تفاوت پنهان‌نگاری(Steganography) و رمزنگاری(Cryptography)

تفاوت اصلی رمزنگاری و پنهان‌نگاری آن است که در رمزنگاری هدف اختفاء محتویات پیام است و نه به‌طور کلی وجود پیام، اما در پنهان‌نگاری هدف مخفی کردن هر گونه نشانه‌ای از وجود پیام است. در مواردی که تبادل اطلاعات رمز شده مشکل آفرین است باید وجود ارتباط پنهان گردد. به عنوان مثال اگر شخصی به متن رمزنگاری شده‌ای دسترسی پیدا کند، به هر حال متوجه می‌شود که این متن حاوی پیام رمزی می‌باشد. اما در پنهان‌نگاری شخص سوم ابداً از وجود پیام مخفی در متن اطلاعی حاصل نمی‌کند. در موارد حساس ابتدا متن را رمزنگاری کرده، آنگاه آن را در متن دیگری پنهان‌نگاری می‌کنند.

روش‌های پنهان‌نویسی

همان‌طور که گفته شد پوشیده‌نویسی در عکس، صدا، فیلم و متن امکان‌پذیر است. در زیر به‌طور مختصر توضیحاتی دربارهٔ پوشیده‌نویسی در هر یک از رسانه‌های گفته شده خواهیم پرداخت. پوشیده‌نویسی در متن: پوشیده‌نویسی در متن به سادگی صورت نمی‌گیرد چرا که تغییر در متن به آسانی توسط انسان درک می‌شود و مهم‌تر اینکه بعد از پوشیده‌نویسی متن خوانا و درست باشد. روشهای زیر برای پوشیده‌نویسی در متن استفاده می‌شوند.

open space methods

در این روش از درج و تغییر کاراکترهای فاصله یا newline در متن استفاده می‌شود. مثلاً یک فاصله بعد از انتهای عبارت می‌تواند معرف یک و دو فاصله بعد از انتهای عبارت، معرف صفر باشد. در مقالات مختلف بحث‌ها و روش‌های گوناگونی مطرح شده‌است.

syntactic methods

در این روش از تغییر punctuations و همین‌طور از تغییر متن تا آنجا که معنا عوض نشود، استفاده می‌شود. مثلاً:
Bread, butter, and milk
Bread, butter and milk

semantic methods

در این روش از کلمات مترادف استفاده می‌شود.

پوشیده‌نویسی در صدا

محدودیت مهم در مورد صدا این است که بعد از پوشیده‌نویسی صدا باید همچنان قابل شنیدن باشد. یک مورد دیگر آن است که اکثر فایلهای صوتی توسط الگوریتمهای فشردهسازی فشرده می‌شوند و نباید در حین این فشرده‌سازی داده‌های مخفی ما ازبین برود. تکنیک‌هایی مانند «bitstream watermarking» و «PCM watermarking» برای این‌کار استفاده می‌شوند.
در تکنیک «bitstream watermarking» داده‌ها در یک فایل صوتی فشرده‌شده ذخیره می‌شوند. البته باید توجه نمود که دو پارامتر «sample quantization» و «sample rating» و همچنین نوع انتقال صوت در انتخاب تکنیک مناسب (تکنیک‌هایی مانند Spread Spectrum , Encoding, Phase Coding و Echo Data Hiding) نقش تعیین‌کننده‌ای دارد.

پوشیده‌نویسی در تصویر

پوشیده‌نویسی در تصویر را می‌توان به دو دسته کلّی تقسیم کرد:

دسته نخست: Spatial Domain Techniques

در این دسته با کمک الگوریتم‌هایی، پیکسل‌هایی انتخاب می‌شوند، سپس روش LSB بر روی تصویر اعمال می‌شود.

دسته دوم: (Spread Spectrum Techniques(frequency domain

این روش‌ها برای تصاویر با پسوند JPEG، که فشرده‌اند مناسب هستند و در این دسته یک تابع تبدیل مانند (DCT(Discrete Wavelet Transform یا (FFT(Fast Fourier Transform بر روی تصویر اعمال می‌شود. ضرایب مهم (coefficient) انتخاب می‌شوند. برای آن که در نهایت داده‌های ما در برابر تغییراتی که بر عکس ممکن است پیش بیایند مقاوم باشند (مثلاً مهاجم‌ها نتوانند داده‌های ما را به راحتی حذف کنند و سپس داده‌ها در دامنهٔ DCT یا FFT از طریق تغییر ضرایب درج می‌شوند. در نهایت تبدیل معکوس DCT یا FFT به ما تصویر حاوی داده را می‌دهد.

پوشیده نویسی در فیلم

پوشیده‌نویسی در فیلم مانند پوشیده‌نویسی در تصویر است، چراکه فیلم دنباله‌ای از تصاویر است، تکنیک DCT در آنجا نیز کاربرد دارد. نکته مهم در پوشیده‌نویسی در فیلم این است که نباید bit-rate فیلم تغییر کند.
روش (DWT (Discrete Wavelet Transform نیز درمخفی کردن داده‌ها در فیلم استفاده می‌شود. باید فشرده بودن فایل‌ها که در مورد فایلهای صوتی مطرح است، این‌جا هم رعایت شود.

تقابل امنیت، ظرفیت و مقاومت

به صورت کلی در سیستم‌های اختفاء اطلاعات سه عنصر اصلی ظرفیت، امنیت و مقاومت دخیل هستند. در روش‌های پنهان‌نگاری عناصر ظرفیت و امنیت اهمیت اصلی را دارند.
در دنیای امروز، جوهر نامرئی و کاغذ که در گذشته برای برقراری ارتباط پنهانی به کار برده می‌شد به وسیله رسانه‌های عملی‌تر مثل تصویر، ویدئو، فایل‌های صوتی جایگزین شده‌اند. به دلیل اینکه این رسانه‌های دیجیتال دارای افزونگی اطلاعاتی زیادی هستند می‌توانند به عنوان یک پوشش مناسب برای پنهان کردن پیام استفاده شوند.
تصاویر مهم‌ترین رسانه مورد استفاده به خصوص در اینترنت هستند و درک تصویری انسان از تغییرات در تصاویر محدود است. تصاویر نوعی رسانه پوششی مناسب در نهان‌نگاری محسوب می‌شوند و الگوریتم‌های پنهان نگاری متعددی برای ساختارهای مختلف تصاویر ارائه شده‌است. هیچ‌یک از این الگوریتم‌ها تاکنون امنیت را به‌طور کامل تأمین نکرده‌اند.
به‌طور کلی روش‌های پنهان‌نگاری در تصویر از الگوریتم جاسازی و الگوریتم استخراج بیت‌ها تشکیل شده‌اند. به تصویر مورد استفاده برای پنهان‌نگاری پوشانه و به تصویری که در اثر قرار دادن پیام به وسیله الگوریتم جاسازی به دست می‌آید تصویر میزبان یا گنجانه می‌گوییم.
الگوریتم‌های پنهان‌نگاری به صورت عمومی از افزونگی در فضای مکانی یا افزونگی در فضای تبدیل استفاده می‌کنند. در هر کدام از این فضاها به شیوه‌های گوناگونی می‌توان داده‌ها را پنهان کرد که یکی از ساده‌ترین روشها، استفاده از بیت‌های کم ارزش فضای مورد نظر است.
در پنهان‌نگاری نیز همانند رمزنگاری فرض بر آن است که الگوریتم‌های بکار رفته در پنهان‌نگاری برای همه آشکار است. امنیت در این روش‌ها بر پایه پنهان بودن کلید تعریف می‌گردد به‌طوری‌که نتوان بدون داشتن کلید هیچ اطلاعی از وجود پیام پنهان کسب کرد.

تعریف پنهان شکنی

نهان شکنی هنر کشف حضور اطلاعات پنهان است. روش‌های پنهان‌نگاری در صورتی امن هستند که تصویر میزبان یا گنجانه دارای نشانه‌های قابل کشف نباشد. به بیان دیگر، خواص آماری تصویر میزبان یا گنجانه باید همانند خواص آماری پوشانه باشد.
توانایی کشف پیام در تصویر به طول پیام پنهان بستگی دارد. واضح است که هرچه مقدار اطلاعاتی که در یک تصویر قرار می‌دهیم کمتر باشد امکان کمتری هست که نشانه‌های قابل کشف به وجود آید.
انتخاب فرمت تصویر نیز تأثیر زیادی بر سیستم پنهان‌نگاری دارد. فرمت‌های فشرده نشده‌ای مثل BMP، فضای زیادی برای پنهان‌نگاری فراهم می‌کنند ولی استفاده از آن‌ها به دلیل حجم اطلاعات زائد بالای آن‌ها شک‌برانگیز است.