تعریف پنهان نگاری
قبل از بررسی روش های پنهان نگاری در متن بایستی تعریف دقیقی از پنهان نگاری ارائه شود. پنهان نگاری معادل فارسی واژه استگانوگرافی Steganography است. این کلمه در اصل کلمهای یونانی بوده و از دو کلمه Steganos (به معنای پنهان کردن) و Graphy (به معنای نوشتن) تشکیل شده است.
هدف پنهان نگاری، انتقال پیام در کانالهای ارتباطی در قالب متن، تصویر، صوت، ویدیو و غیره به طور پنهانی است. از بین قالبهای ذکر شده، برای ذخیره سازی فایلهای متنی حافظه کمتری مورد نیاز است. روش های پنهان نگاری مبتنی بر متن را میتوان در متنهای صفحات وب نیز استفاده کرد پس این نوع از پنهان نگاری از اهمیت ویژهای برخوردار است. پنهان نگاری متن، یکی از پیچیدهترین روش های پنهان نگاری است.
کاربرد پنهان نگاری اطلاعات
امروزه پنهان نگاری اطلاعات در هر جا استفاده میشود. به طور کلــی موضوعاتی که پنهان سازی اطلاعات دربرگیرنده آنها میباشــد عبارتند از:
- حق مالکیت تولیدات نرم افزاری و الکترونیکی
- استفاده از پنهان سازی در ارسال و دریافت پیام
- آشکارسازی جعل
- کاربردهای پزشکی
- جاسوسی و ضد جاسوسی
- عملیاتهای مربوط به هک
- و غیره
تاریخچه پنهان نگاری
استفاده از پنهان سازی اطلاعات در گذشته دارای قدمت طولانی است. اولین استفادههای پنهان نگاری توسط هرودوت که یک مورخ یونانی است به ثبت رسیده و ماجرای آن به یونان باستان باز میگردد. سربازان یونانی برای انتقال پیام سر بردگان را میتراشیدند و روی پوست سر آنان نقشه یا پیام را خالکوبی میکردند و مدتی بعد که موی سر این بردگان بلند میشد و روی پیام را میپوشاند آنها میتوانستند به راحتی از میان سرزمینها و اراضی مربوط به دشمن عبور کنند و در مقصد با تراشیدن مجدد موی سر آنان پیام استخراج میشد.
همچنین استفاده از جوهرهای نامرئی از زمانهای بسیار دور در نقــاط مختلف دنیا مرسوم بوده است. جوهرهـای نامرئـی یکــی از عمومیتریــن ابزارها برای پنهان نگاری هستند. در روم باستان از جوهرهایی مانند آبلیـمو برای نوشتن پیام استفاده میکردند. سپس متن پیام در معرض حرارت تیره و نمایان میشد.
جوهرهای نامرئی در جنگ جهانی دوم نیز مورد استفاده قرار میگرفتند. یکــی از پیشــگامان پنهان نگاری و رمزنگاری، جان که یک روحانی آلمانی بود. کتاب وی حاوی جداولی از تصاویر بود که پیام در آن پنهان شده بود. اولین کتاب در مورد پنهان نگاری توسط گاسپاری در سال ۱۶۶۵ با عنوان استگانوگرافیکا اسکاتی شده است.
پنهان نگاری در قرن های ۱۵ و ۱۶ توسعه یافت. به دلیل این که اکثر نویسندگان این کتابها از ایجاد تفرقه بین احزاب و فرقهها میترسیدند؛ نام خود را مانند داستانها در میان کتــاب مخفی میکردنــد. یکی از رسالههایی که در این زمینه نوشــته شده توسط بیشاپ به استادی است که بعدها در کالج ترینیتی جان ویلکینس رسید. او روشهایی را از کد گذاری پیامها در آهنگها تا جوهرهای نامرئی پیشنهاد داد. همچنین او اولین طرحها را در رمزگشایی با استفاده از تناوب کلمات ساخت.
در جنگ جهانی دوم توجه زیادی به پنهان نگاری شــد و تجربیات زیادی در این مورد کسب شــد. در اوایل جنگ از جوهرهای نامرئی استفاده میشد ولی پس از آن از حروف و متنهای معمولی برای مخفی کردن پیام اصلی استفاده کردند. این متنها درباره اتفاقات بسیار ساده و پیش پا افتاده بودند که توجه هیچ کس را جلب نمیکردند، بنابراین بدون اینکه کسی مشکوک بشود آن متنها انتقال داده میشدند.
از طرح بنـدی متنها نیز برای مخفــی کردن اطلاعات استفاده میشــد. به وسیله تنظیم کردن مکان خطها و کلمههای متن، پیام نشــانه گذاری شــده و قابل شناسایی میشود. از وسایلی مانند سوزن نیز برای مشخص کردن لغات مورد نظر استفاده میشد. همانطور که به دلیل پیشــرفت فناوری، مخفی کردن اطلاعات با حجم زیاد بدون نمایان شدن انجام میگرفت، علم آشکار کردن متون مخفی نیز در حال پیشرفت بود.
در حقیقــت فضای فرستادن متنها بــه این روشها آن چنان بود که محدودیتهای زیادی برای ارسال متن و حتــی عکس اعمال میشــد؛ محدودیتهایــی که امروز بسیار بی معنی هستند. بهعنوان مثال در آمریکا پست کردن شطرنج، نقشههای بافندگی، تکههای روزنامه و حتی نقاشی کودکان ممنوع بود. حتی فرستادن گل در انگلستان و آمریکا ممنوع شد. پــس از آن محدودیتها، در قرن بیستم پنهان نگاری شکوفا شد.
با پیشرفت علم کامپیوتر پنهان نگاری پیشرفت چشمگیری داشت. روشهای قدیمی مخفی کردن در عکس با ورود کامپیوترهای پر قدرت قوت گرفتند. در طول دهه ۱۹۸۰ مارگارت تاچر که از نشت اطلاعات و اسناد کابینهاش بسیار ناراحت بود توانست با استفاده از یک پردازشگر کلمات، مشخصات هر وزیر را در فاصله بین کلمات به نحوی ثبت کنــد و از این طریق وزرای خائــن را ردیابی نماید.
در حال حاضر نیز روشــی مشابه در ردیابی انتشارات الکترونیکی مورد استفاده قرار میگیــرد. امروزه پنهان نگاری با پیشرفت شــماره ردیف نرم افزارها گسترش یافته و نهان نــگاری نیز به عنوان یک روش نزدیک به پنهان نگاری مورد توجه واقع شده است.
پنهان نگاری در متن
با بهره گرفتن از قوه درک انسان میتوان دادهها را در فایلهـای مختلف پنهان کرد بدون اینکه بیننده یا شــنونده آن متوجه شــود. برای مثال، پوشــش فرکانسی فایلهای صوتی پدیدهای است که زمانــی رخ میدهد که دو صوت با فرکانسهای مشــابه و همزمان پخش میشوند.
شنونده تنها صوت بلندتر را میشــنود و صوت دیگر پوشش داده میشود. به طور مشابه، پوشش زمانی، مواقعی رخ میدهد که یک سیگنال ضعیف بلافاصله بعد یا قبل از یک سیگنال قویتر و در زمانی که شنونده نیاز به صرف زمان برای تنظیم کردن سیستم شنوایی خود جهت شنیدن سیگنال جدید دارد ظاهر میشود.
این موارد امکانی برای ذخیره کردن اطلاعات بهطور پنهان در یک فایل را فراهم میآورند. روشهای زیادی برای پنهان سازی در تصویر، ویدئو و صوت ارائه شده است پنهان سازی در متن را میتوان سختترین نوع پنهان سازی به حساب آورد و علت آن را نیز میتوان نداشتن اطلاعات افزونه در فایلهای متنی در مقایسه با تصویر و صدا دانست.
ساختار دادههای متنی همان چیزی است که مشاهده میشــود در حالی که به طور مثال در یک تصویر ساختار متفاوت است و به دلیل اینکه پنهان سازی باید طوری انجام گیرد که اطلاعات پنهان شده قابل مشاهده نباشند این کار در متن مشکلتر است. پنهان سازی در متن به دلیل اینکه استفاده از دادههای متنی در مقایسه با بقیه دادهها بیشتر است و با توجه به هزینه پایین استفاده و چاپ آن و همچنین نیاز به حافظه کمتر، قابل توجه است.
برای پنهان سازی اطلاعات در یک فایل متنی، میتوان به سادگی بعضی خصوصیات آن را تغییر داد. این خصوصیات میتواند قالب بندی متن یا خصوصیات حروف باشد. ممکن است به نظر برسد. تغییر این خصوصیات برای خواننده متن واضح است اما کلید این مشــکل این است که سند متنی را طوری تغییر دهیم که توسط چشم انسان قابل تشخیص نباشد، اما کامپیوتر بتواند آن را کشف و رمزگشایی کند.
روش های پنهان نگاری در متن های انگلیسی
در این بخش روشهای موجود پنهان نگاری اطلاعات در متنهای انگلیسی مورد بررسی قرار میگیرند.
۱- روش نحوی Syntactic Method
در این روش از ساختار و قواعد نحوی متن برای پنهان سازی داده استفاده میشود؛ به طوری که با قرار دادن نقطه گذاری در متن پوششی مانند نقطه یا کاما و غیره در محل مشخص، اطلاعات پنهان سازی میشود.
۲- روش معنایی Semantic Method
در این روش از مترادف کلمات برای پنهان سازی داده استفاده میشود و کلمه مورد نظر با مترادف آن جایگزین میشــود. اما در برخی از مواقع معنی واقعی فایل متنی تغییر میکند.
۳- روش اختصاری Abbreviation or acronym Method
در ایــن روش از جایگزینی مخفف کلمــات بــرای پنهان سازی داده استفاده میشــود. حجم بسیار کمی از دادهها در این روش میتوانند مخفی شوند.
۴- املای کلمات Word Spelling
کشورهای مختلف دارای فرهنگ لغات متنوعی هستند. به عنــوان مثــال از کلمات مشــابه در زبانهای انگلیسی بریتانیایی و انگلیسی آمریکایی که دارای املاهای متفاوتی میباشند، میتوان برای پنهان سازی داده استفاده کرد.
۵- انتقال خط line shifting
در این روش خطهای متن مقداری به طور عمودی به سمت بالا یا پایین انتقال داده میشود. معمولاً این روش برای پنهان سازی اطلاعات در متنهای چاپ شده مورد استفاده قرار میگیرد.
۶- انتقال کلمه Word Shifting
در ایــن روش فاصلــه افقی بین کلمات بــا وارد کردن فضای خالی سفید تغییر میکند. این روش از نظر زمانی به همان اندازهای که متن پنهان شده برای انسان قابل مشاهده است، وقت گیر میباشد.
۷- رمزگذاری ویژگی Feature Coding
در این روش حروف با توجه به ابعاد آنها کشــیده یا کوتاه میشوند. همچنین این روش برای پنهان سازی داده از خصوصیات مختلف متن مانند رنگ استفاده میکند.
۸- توالی نویسههای تصادفی Random Character Sequence
در این روش یک رشــته تصادفی از نکاراکترهای مجزا ایجاد شده است که شــامل همان نویسههایی میباشد که برای پوشش در پنهان سازی استفاده میشود. دو گروه برای عملیات پنهان سازی تشــکیل میشود. اگر بیت پیام مخفی صفر باشد، گروه A و اگر یک باشد از گروه B برای پنهان سازی استفاده میگردد.
۹- فضای خالی بین جملات Inter sentence space
این روش از فضای بین جملات برای پنهان سازی متن استفاده میکند. اشکال اصلی این روش، قابلیت پنهان سازی حجم بسیار کمی از دادهها است.
۱۰- روش مبتنی بر انحنا Method based on curves
این روش بر پایه شکل ظاهری حروف استوار میباشد. حروف بر اساس ساختارشان به دو گروه تقسیم میشوند. گروه A شامل حروف دارای انحنا و گروه B شامل حروف فاقد انحنا میباشد. این دو دسته از حروف برای پنهان سازی بیت صفر و یک مورد استفاده قرار میگیرند.
۱۱- روش مبتنی بر خط صاف عمودی Approach Based on Vertical Straight Line
در ایــن روش حروف بر اساس داشــتن خط صاف عمودی گروه بندی می شــود. گروه A شامل کلماتی است که دارای خط عمودی و گروه B شــامل کلماتی است که فاقد خط صاف عمودی هستند. این دو دسته از کلمات برای پنهان سازی بیت صفر و یک مورد استفاده قرار میگیرند.
۱۲- دسته بندی چهارگانه Quadruple categorization
در این روش حروف به چهار گروه بر اساس انحنا، خط صاف افقی متوسط، یک خط عمودی صاف و خط های عمــودی صاف چندگانه تقسیم بندی میشــود. ظرفیت پنهان نگاری در این روش نسبت به روشهای مشابه قبل بیشتر است.
روش های پنهان نگاری در متن های فارسی
روشهای پنهان نگاری پیام در متنهای فارسی در این بخش به صورت خلاصه شرح داده میشوند.
۱- روش نقطه ها
این روش جزء روشهای مبتنی بر خصیصه است. در الفبای فارسی تعــداد زیادی از حــروف دارای نقطه هستند. ۱۸ حرف از ۳۲ حرف که ۳ حرف دو نقطه، ۵ حرف سه نقطه و ۱۰ حرف یک نقطــه دارند. از بین چهار حرف فارسی که با عربی متفاوت است سه حرف نقطه دار هستند. بنابراین در عربی ۱۵ حرف از ۲۸ حرف نقطه دار هستند. پس میتوان گفت تعداد نقطهها در هر متن فارسی یا عربی قابل توجه است.
در این روش اطلاعاتی که باید مخفی شوند ابتدا فشرده میشوند. سپس در متن مورد نظر اولین حرف نقطه دار پیدا میشــود. با پیدا کردن آن به سراغ اطلاعات فشرده شده میرویم که این اطلاعات به صورت بیتهای ۰ و ۱ هستند.
بیت به بیت اطلاعات خوانده میشود اگر مقدار بیت ۰ بود، حرفی که از متن برای پنهان سازی انتخاب شــده، بدون تغییر باقی میماند. اما اگر ۱ بود نقطه مربوط به حرف به سمت بالا کمی جابه جا میشود. این روش تکرار میشود تا همه اطلاعات در متن مخفی شــوند.
برای منحرف کردن توجه خوانندگان بعد از مخفــی کردن همه اطلاعات، نقاط مربوط به بقیه حروف به صورت تصادفی تغییر میکنند. برای حروفی که دو یا سه نقطه دارند، همه نقاط تغییر مکان میدهنــد؛ به دلیل اینکه تغییــر دادن یک نقطه از بین نقاط دیگر یک حرف توجه افراد را جلب میکند.
۲- استفاده از شکل حروف
در این روش که جزء روشهای پنهان نگاری است و بــر روی تصاویر متن کار میکنــد، از چهار حرف (ر ز ژ و) استفاده میشود. این حروف شیب خاصی در شکل شان دارند و میتوان از این شیب برای پنهان نگاری داده استفاده کرد.
از بین این چهار حرف، سه تای آنها در الفبای عربی هم موجود است، بنابراین بجز متنهای فارسی در متنهای عربی نیز میتوان از این روش استفاده کرد. سه حــرف (ر ز ژ) تنهـا در تعــداد نقاط بــا یکدیگر متفاوتانــد بنابراین در این روش متغیری که برای شــیب این سه حرف در نظر گرفته میشود از متغیر شیب مربوط به حرف (و) جدا میشود.
الگوریتم از چهار متغیر استفاده میکند که دو متغیر اول مربوط به شیب حروف (ر ز ژ) و حــرف (و) در تصویر متن اصلی و دو متغیر دیگر مربوط به شیب تغییر یافته حروف (ر ز ژ) و حرف (و) در تصویر متن نهان نگاری شده است. روش پنهان سازی با استخراج حروف شیبدار (حروف ذکر شده در بالا) از تصویر متن اصلی شروع میشود.
اگر بیت مورد نظر برای پنهان سازی ۰ بود تغییری در شیب حرف ایجاد نمیشــود اما اگر بیت مورد نظر ۱ بود شیب حرف تغییر میکند. این روش ادامه مییابد تا همه اطلاعات، مخفی شوند. شــیب تمــام حروف شــیبدار اندازه گیری شــده و اختلاف آن با متغیر مربوط به شــیب اصلی حروف مقایسه میشود. اگر اختلافی وجود داشت یعنــی بیــت پنهان شــده در این حرف ۱ است و در غیر اینصورت بیت ۰ میباشد.
۳- استفاده از کارکتر کشش
در استاندارد یونیکد حرفی با کد شانزدهی ۰۶۴۰ موجود است. این حرف به عنوان یک حرف مازاد تنها برای اهداف ساختاری و چیدمانی استفاده میشود. این حرف در همه جا قابل استفاده نیست و تنها در فضای بین حروف متصل شونده عربی استفاده میشود به عبارت دیگر بعد از حروف آخر کلمات یا قبل از حروف اول کلمات قرار نمیگیرد. وقتی این حرف بین دو حرف متصل شونده قرار میگیرد اندکی بین دو حرف کشش ایجاد میکند. از این نویسه برای اهداف پنهان سازی استفاده شده است که در ادامه توضیح داده میشــود.
برای پنهان کردن یک رشته بیتی به عنوان مثال با مقــدار ۱۱۰۰۱۰ از کم ارزشتریــن بیت که در این مثال ۰ است، الگوریتم آغاز میشــود. اگر بیت مربوطه ۰ بود، در اولین حرف بدون نقطهای که بعد از آن امکان اضافه کردن حرف کشــش وجود داشته باشــد؛ بیت را با اضافه کردن حرف کشش مخفی میکند.
اگر بیت مربوطه ۱ بود، در اولین حرف نقطــه داری که بعد از آن امــکان اضافه کردن حرف کشش وجود داشته باشــد بیت را مخفی میکند. به عبارت دیگر بیت ۰ را با اضافه کردن حرف کشــش بعد از حروف بدون نقطه و بیت ۱ را با اضافه کردن حرف کشــش بعد از حروف نقطه دار پنهان سازی میکند.
استخراج اطلاعات در این روش عکس عمل پنهان سازی است. اگر بعد()قبــل) از حرف نقطه دار حرف کشش وجود داشت، بیت پنهان شده ۱ است و اگــر بعد (قبل) از حرف بدون نقطه حرف کشــش وجود داشت، بیت پنهان شده ۰ است.
۴- روش توسعه یافته استفاده از کاراکتر کشش
ایده اصلــی این روش افزایش ظرفیت پنهان سازی با استفاده از همه موقعیتهای ممکن برای استفاده از نویسه کشش در حروف عربی است. ۲۸ حرف در زبان عربــی وجــود دارد که بعضی از این حروف بیشــتر از یک شــکل دارند برای مثال حرف الف شش شکل متفاوت دارد(ا آ ؤ إ أ ئ). بــه ایــن صــورت ۲۸ حــرف عربی میتوانند با ۳۵ شــکل مختلف ظاهر شوند.
در این روش تمام مکانهای بین حروف که امکان اضافه کردن نویسه کشــش قبل یا بعد از آنها وجود دارد با استفاده از تمام شکلهای حروف عربی بررسی شده است. در این روش که در واقع توسعه یافته روش قبلی است، پنهان سازی و استخراج پیام نیز مانند قبل است. این روش MSCUKAT نامیده شده است.
۵- روش پنهان سازی با استفاده از قابلیت های یونیکد
در استاندارد یونیکد، برای حــروف عربی دو حالت ذخیره سازی کد وجــود دارد یک کد کــه نماینده حرف است و بستگی به موقعیت حرف در کلمه ندارد. نوع دیگر ذخیره سازی کد بستگی به موقعیت حرف در کلمه دارد و به چهار نوع ظاهر میشــود و برای هر نوع یک کد جدا وجــود دارد.
در یونیکد تنها کد نماینده حرف در فایل متنی ذخیره میشــود و برنامه بر حسب موقعیت حرف در کلمه شــکل صحیح را نشان میدهد. اگرچه میتوان کد شکلی را نیز ذخیره کرد. از این ویژگی یونیکد در این روش پنهان سازی استفاده شده است.
برای پنهان سازی بیت ۰ ،کد نماینده حروف در هر کلمه ذخیره میشــود و برای بیت ۱ ،کد شــکلی حروف در کلمه ذخیره میشود. نمیتوانیم از کد شکلی و کد نماینده حروف در یک کلمه با یکدیگر استفاده کنیم به دلیل اینکه برنامه نمیتواند شکل حروف را در کلمه به طور صحیح تشخیص دهد.
کد حروف کلمه بررسی میشود. اگر کدهای ذخیره شده کلمه، کد نماینده حروف باشد نتیجه گرفته میشــود که کد ۰ مخفی شده اما اگر با شکل حرفی ذخیره شده باشد کد ۱ مخفی شده است.
۶- روش بهبود یافته ال
کلمه ال یک نویسه با کد FEFB در استاندارد یونیکد است. میتوان به صورت دیگری نیز کلمه ال را نشان داد که به صورت حرف ل+نویسه فاصله بین حروف با کد شانزدهی ۰۶۴۰+حرف ا است که به صورت لـــا نشان داده میشود.
برای پنهان سازی بیت ۱ از نویسۀ ال و برای بیت ۰ از لـــا استفاده میشــود. این روش در نمونه قبلی ال استفاده میشده است اما به دلیل مشکلاتی که این روش داشته است از قبیل افزایش حجم فایل و به دلیل گذاشتن فاصله بیــن ل و ا کلمه را پهنتر کــرده و ظاهر متن را غیرطبیعــی میکنــد.
در روش بهبود یافته به جای وارد کردن کد فاصله بین ل و ا کد شکلی آنها آورده میشود و کلمه به صورت لـا نشان داده میشود. عکس عمل پنهان سازی است و اگر در متن ال باشد بیت مخفی شده ۱ و اگر لـــا باشد بیت مخفی شــده ۰ است. این روش مشــکلات روش قبلی ال را برطرف کرده است.
ک در عربی به صورت ک نشان داده میشود. از این قابلیت میتوان برای پنهان سازی استفاده کرد. این روش به این صورت است: برای پنهان کردن بیت ۱ از شــکل عربی حروف و برای بیت ۰ از شــکل فارسی آنها استفاده می شود.
استفاده از فاصله نمادین بین کلمات در فارسی و عربی، فاصلهای بین کلمات وجود دارد. در بعضی کلمات مثل رفته ام یک فاصله کم بین دو قسمت یــک کلمه وجود دارد. این فاصلــه به عنوان فاصله نمادین شناخته میشــود. درسیستم یونیکد فاصله معمولی کد شانزدهی ۰۰۲۰ را دارد ولی فاصله نمادین یا نیم فاصله که کد zwnj نیز نامیده میشود کد C200 را دارد.
مخفی کردن اطلاعات در این روش به این صورت است که اگر در کلمه ی فاصله نمادین وجود داشــت، یکی از دو فرم فاصله را بسته به اطلاعاتی کــه میخواهیم در متن پنهان کنیم انتخاب میکنیم. برای پنهان کردن بیت ۱ فاصله معمولی را بعد از فاصله نمادین در کلمه اضافه میکنیم و اگــر بخواهیم بیت ۰ را پنهان کنیم، فاصله نمادین را تغییر نمی٬دهیم.
اگر در کلمــهای از فاصله نمادین استفاده شده بود یعنی بیت ۰ در آن پنهان شده و اگر هم از فاصله نمادین و هم فاصله معمولی استفاده شده باشد، بیت ۱ در آن پنهان شده است.
۷- استفاده از عبارات منظم zwnj و zwj در سیستم یونیکد
نویسۀ zwj با کد D200 و نویسۀ zwnj با کد C200 جزء نویسههای شفاف هستند. نویسۀ zwj وقتــی بیــن دو حرف قرار میگیــرد باعث اتصال دو حرف به یکدیگر میشود و نویسۀ zwnj برخلاف آن هنگام قــرار گرفتن بین دو حرف آن دو را از یکدیگر جدا میکند. بــرای مثال م zwj ح به صورت مــح و م zwnj ح به صورت م ح دیده می۲شود.
این روش با بهبود روش اطلاعات را به جای پنهان zwj joiner width-zero کــردن یک بیت درون حرفها، درون کلمات پنهان میکند. در این حالت نویسۀ zwj معادل بیت ۱ و zwnj معادل بیت ۰ هستند. برای پنهان سازی، یک گروه از zwj و zwnj ها با اندازه بلوک مشــخص به کلمات اضافه میشود. از دو نوع عبارت منظم برای پنهانسازی استفاده میکند. یک حرف غیرمتصل یا نویسۀ فاصله +zwnj +گروهی از zwj یا zwnj ها+ یک حــرف غیرمتصل یا نویسۀ فاصله. حروف غیر متصل در زبان عربی شامل (د، ذ، ر، ز، و، ا) هستند.
۸- استفاده از عبارت منظم LZW
ساتیر و ایسیک۲۲ در سال ۲۰۱۲ روش پنهان نگاری متن مبتنی بر فشردهسازی LZW را ارائه کردند که در آن عوامل امنیت و ظرفیت در نظر گرفته شده است. در این روش از رمزگذاری LZW برای بالا بردن ظرفیت و امنیت، استفاده میشود.
علاوه براین کلیدهای پنهان نگاری ایجاد میشوند و رمزگذاری مبتنی بر ترکیبات برای بالا بردن امنیت و تأمین موارد تصادفی دلخواه به کار میرود. در این روش اطلاعات پنهان شده بدون استفاده از کلیدهای پنهان نگاری به راحتی قابل رمزگشایی نمیباشند. همچنین روال رمزگشــایی توسط رمزگذاری LZW پیچیده میباشد.
روش های پنهان نگاری در متن در صفحات وب
روشهـای مختلفی برای پنهان کــردن متن داخل کد منبــع فایــل XML وجود دارد، که در حــال حاضر برای پنهان سازی متــن در HTML نیز مورد استفاده قرار میگیــرد. در این روشها، از برچسبهای خاص برای پنهان نگاری استفاده میشود.
۱- استفاده از عناصر خالی Representation of empty
در ایــن روش ممکن است بعد از برچسب شــروع بلافاصله برچسب پایان نوشته شود و یا از برچسبهای خالی استفاده شــود. با این دو عمل میتوان دادهها را در کدهـای HTML مخفی نمود. یک بیت از داده بعد از هر برچسب پایانی یا عناصر خالی پنهان میشود.
۲- فضای خالی در برچسب ها White spaces in tags
در این روش با اضافه کردن فضای خالی در برچسبها، امکان پنهان کردن دادهها را فراهم میکند. با قرار دادن یا حذف کردن یک فضا ارائه شده است. فضای خالی در برچسبها هیچ تاثیری در شکل ظاهری صفحات وب ندارد.
۳- ترتیب قرار گرفتن عناصر Appearing order of the elements
در ایــن روش اطلاعات با تغییــر در نحوه قرار گرفتن برچسبها در کدها پنهان میشود. در مثال زیر هر بیت با استفاده از دو عنصر پنهان میشود.
۴- ترتیب قرار گرفتن ویژگیها Appearing order of the attributes
در این روش اطلاعــات محرمانه با تبادل نظم ظاهری ویژگیهـای موجود در عناصــر در کدهای HTML پنهان میشوند.
۵- استفاده از چند عنصر Elements containing other elements
در این روش از دو یا چند عنصر به صورت تودرتو استفاده میشــود. با استفاده از برچسبهای درونی ارزش هر بیت اطلاعات مشخص میشود.
۶- تغییر شکل حروف برچسبها Change Case of letter in tag
در ایــن روش با تغییر در بزرگــی و کوچکی حروف در برچسبها، دادهها به صورت بیتهای صفر و یک در کد پنهان میشــوند، حروف بزرگ برای پنهان کردن بیت ۱ و حــروف کوچک برای پنهان سازی بیت صفر. در این روش پیام محرمانه ابتدا تبدیل به کد اسکی میشود و بعد از آن به کد دودویی تبدیل میشــود و سپس با استفاده از خاصیــت فوق پیام محرمانــه در کدهای HTML پنهان میشود.
۷- تغییر علامت گیومه ارزش ویژگیها در برچسبها Change quotation marks of attributes value in tags
در این روش با تغییر در تعداد گیومهها در برچسبها دادهها پنهان میشود. برای مثال دو تا گیومه نماد بیت یک و یک گیومه نماد بیت صفر است.
۸- تکرار ویژگیها Repeat attributes
در ایــن روش دادههـای محرمانــه با تکــرار ویژگی برچسبها در متــن کدهـای HTML پنهان میشــوند. در واقع یــک بیــت داده با تکــرار ویژگــی پنهان شده است.
جمع بندی مقاله روش های پنهان نگاری در متن
در این مقاله به بررسی و مقایسه روشهای موجود پنهان نگاری در متن اعم از متنهای انگلیسی، متنهای فارسی و صفحات وب پرداخته شــد. با وجود آنکه هر یک از روش هـای پنهان نگاری با یــک روش تحلیلی قابل کشف است اما از آنجا که می توان اطلاعات محرمانه را در رسانههای مختلف مانند تصویر، صوت، ویدیو، موسیقی و غیره پنهان نمود، بررسی تمام رسانههای موجود از نظر دارا بودن اطلاعات محرمانه کار سادهای نیست.
اما چنانچه تمرکز بر روی متن یا برچسبهای کد صفحات وب باشد کشف اطلاعات سادهتر خواهد بود. باید به این نکته توجه داشت که استفاده از کلیدهای محرمانه و تصادفی سازی اطلاعات محرمانه قبل از پنهان سازی کشف اطلاعات را با چالش بزرگتری مواجه میکنــد. حتی برای افزایش امنیت اطلاعــات میتوان اطلاعات را قبل از مخفی کردن توسط روش پنهان نگاری رمزنگاری کرد.
منبع مقاله روش های پنهان نگاری در متن
- هدیه ساجدی, شبنم رهبر یعقوبی “مروری بر روش های پنهان نگاری در متن”، علوم رایانشی, زمستان ۱۳۹۶
یک پاسخ
نظرات و دیدگاه های خود را برای هرچه بهتر قرار دادن مطالب با ما در میان بگذارید.