پنهان‌نگاری

پنهان‌نگاری اصطلاحا استگانوگرافی یا «استیگانوگرافی» هنر و علم برقراری ارتباط پنهانی است و هدف آن پنهان کردن ارتباط به وسیله قرار دادن پیام در یک رسانه پوششی است به گونه‌ای که کمترین تغییر قابل کشف را در آن ایجاد نماید و نتوان موجودیت پیام پنهان در رسانه را حتی به صورت احتمالی آشکار ساخت. پنهان‌نگاری شاخه‌ای از دانشی به نام ارتباطات پوشیده‌است. دانش ارتباطات پوشیده خود شامل چندین شاخه از جمله رمزنگاری، ته نقش نگاری و غیره می‌باشد. افرادی که می‌خواهند به صورت سری با یکدیگر ارتباط داشته باشند، اغلب سعی می‌کنند که آن ارتباط را به هر نحوی پنهان کنند.
استگانوگرافی، برگرفته از دو کلمه‌ایونانی 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، فضای زیادی برای پنهان‌نگاری فراهم می‌کنند ولی استفاده از آن‌ها به دلیل حجم اطلاعات زائد بالای آن‌ها شک‌برانگیز است.