بخشی از مقاله
مروري بر روش هاي نهان نگاري صوت MP3
چکيده
امروزه با گسترش استفاده از اينترنت و ارتباط الکترونيکي و وجود هکرها و نفوذگرها، يکي از نگراني هاي به وجود آمده انتقال اطلاعات به صورت امن م باشد. راه حل اين مسئله نهان نگاري است . نهان نگاري علم مخفي کردن اطلاعات است ، پيامي را در يک پيام ديگر مخفي ميکند طوريکه دشمن نتواند به وجود پيام مخفي در پيام ميزبان پي ببرد. نهان نگاري ميتواند در دو حوزه فشرده يا غير فشرده انجام شود. فايل هاي MP3 به خاطر محبوبيت بالايي که دارند و در اينترنت رايج هستند، اگر به عنوان شي ء حامل براي مخفي کردن استفاده شوند، کمتر جلب توجه مي کنند. بنابراين به خاطر اهميت فايل هاي MP3، در اين مقاله مروري بر روش هاي حوزه فشرده مربوط به فايل هاي صوتي MP3 داريم . هرکدام از روش ها را به صورت جداگانه موردبحث قرار داده و سپس به مقايسه ويژگيهاي سيستم هاي نهان نگاري در روش هاي مختلف ميپردازيم .
کلمات کليدي: نهان نگاري MP3، نهان نگاري در اطلاعات جانبي، MDCT، MP3
١- مقدمه
نهان نگاري علم مخفي کردن اطلاعات است ، يک پيام را در يک شي ديگر مخفي ميکند و امنيت انتقال داده و بايگاني آن را افزايش ميدهد. در فرآيند نهان نگاري، شيء مخفي کننده که داده در آن پنهان ميشود، شيء حامل ناميده ميشود و شيء جديد شي stego يا نهان نگاري شده ناميده ميشود. يک سيستم نهان نگاري داراي سه ويژگي اساسي شفافيت ادراکي، قدرتمندي و ظرفيت ميباشد. شفافيت ادراکي: فايل حامل و فايل نهان نگاري شده ي شامل داده رمز نبايد ازلحاظ ادراکي از هم قابل تشخيص باشند[١]. ظرفيت : مقدار داده اي که ميتواند با استفاده از يک روش مخفي کردن اطلاعات تعبيه شود و 810 به موجب اين تعبيه سازي شفافيت ادراکي فايل صوتي به هم نخورد و بنابراين يک شنونده نتواند حضور داده رمز را تشخيص دهد[٢]. قدرتمندي: توانايي آشکارسازي داده پنهان شده بعد از حمله هاي عمدي و غيرعمدي[3]. اين سه ويژگي در تضاد باهم هستند، افزايش هرکدام ، منجر به کاهش ديگري ميشود.
بنابراين بايد مصالحه اي بين اين سه ويژگي برقرار شود و متناسب با کاربرد موردنظر، ويژگي مطلوب را بيشتر بهبود دهيم .
روش هاي مختلفي براي نهان نگاري فايل هاي صوتي پيشنهادشده است ، اما فايل هاي MP3 به خاطر محبوبيت بالا و رايج بودن در اينترنت به عنوان يک نوع شي مهم براي نهان نگاري ميباشند.
نهان نگاري در فايل هاي MP3 مي تواند در اطلاعات جانبي، در ضرايب MDCT و يا در حوزه زمان انجام شود. در ادامه ابتدا به معرفي ساختار MP3 و نحوه کدگذاري آن پرداخته ميشود و سپس روش هايي را که در اين زمينه پيشنهادشده اند بررسي مي شوند و درنهايت مقايسه ويژگيهاي اين روش ها ميآيد.
شناسايي آستانه ماسکينگ براي همه فرکانس ها استفاده م شود.
از طرفي سيگنال از يک فيلتربانک عبور مي کند و به 3٢ زيرباند فرکانسي تبديل م شود[٤]. با توجه به خروجي بلوک روان - شنيداري پنجره MDCT بلند يا کوتاه انتخاب ميشود و بعد از پنجره گذاري نمونه هاي زيرباند با پنجره انتخاب شده ، تبديل
MDCT گرفته شده و به حوزه فرکانس برده ميشوند و ٥٧٦ ضريب MDCT ايجاد ميشود. سپس اين ضرايب کوانتيزه ميشوند. براي کوانتيزاسيون ، دو حلقه تودرتو در MP3 استفاده
3- نهان نگاري فايل هاي MP3 در حوزه اطلاعات جانبي
3-١روش MPStego3
MP3Stego يکي از جديدترين ابزارهاي پنهان نگاري است [٦]. در MP3Stego اطلاعات در هنگام فشرده سازي فايل MP3 تعبيه ميشوند. اصول تعبيه سازي در MP3Stego، استفاده از توازن متغير طول بلوک ١ براي تعبيه داده در گرانول ميباشد[٧]. طول بلوک شامل تعداد بيت هاي داده اصلي در گرانول جريان بيت MP3 ميباشد. ابتدا داده فشرده و رمزگذاري ميشود و گرانول هايي که قرار است داده در آن ها تعبيه شود، با استفاده از يک توليدکننده بيت شبه رندم مبتني بر ١-SHA انتخاب ميشوند.
کدگذاري نرمال MP3 براي گرانول موردنظر انجام ميشود، سپس توازن طول بلوک با بيت مورد نظر رمز مقايسه ميشود، در صورت تطابق هيچ تغييري ايجاد نميشود و بلوک کدگذاري شده ي در فايل MP3 قرار داده ميشود در غيراين صورت گام فرآيند کدگذاري MP3. تغییر میکند و فرآيند کوانتيزاسيون تکرار ميشود تا و
٢- کدگذاري MP3
فريم هاي ١١٥٢ نمونه اي سيگنال به دو گرانول ٥٧٦ نمونه اي تقسيم مي شوند. سپس FFT و مدل روان شنيداري براي ميشود. حلقه داخلي چک ميکند که ٥٧٦ نمونه مربوط به هر گرانول با تعداد بيت در دسترس کد شوند، اگر شرط برقرار نشود گام کوانتيزاسيون را افزايش ميدهد و دوباره حلقه اجرا ميشود.
بعد از اتمام حلقه داخلي، اعوجاج ايجادشده در باندهاي ضريب مقياس توسط حلقه خارجي چک ميشود که از اعوجاج مجاز تجاوز نکند. سپس نمونه هاي کوانتيزه شده وارد بلوک کدگذاري هافمن ميشوند و از جدول هاي هافمن براي کدگذاري اين نمونه ها استفاده ميشود.
زماني که توازن موردنظر براي بلوک مربوطه براي مخفي کردن اطلاعات در فايل MP3 به دست آيد. اگر فايل نتواند فايل مخفي را به هر دليلي تعبيه کند، MPStego3 شکست ميخورد. براي استخراج ، در طرف گيرنده با استفاده از کليد رمز گرانول هايي که داده در آن ها تعبيه شده ، انتخاب ميشوند. سپس با توجه به توازن طول بلوک داده مخفيشده ، استخراج ميشود. اگر توازن طول بلوک ١ باشد، بيت تعبيه شده "١" و اگر توازن طول بلوک ٠ باشد، بيت تعبيه شده "٠" ميباشد. از مشکلات اين روش ، احتمال رخداد حلقه بيپايان [٨]، ظرفيت پايين به دليل پرش تصادفي روي گرانول ها و از بين رفتن واترمارک با خارج کردن فايل از حالت فشرده و دوباره فشرده سازي آن ميباشد[٩].
3-٢ روش UnderMPCover3
UnderMPCover3 [١٠] يک نرم افزار نهان نگاري ميباشد که از global_gain براي مخفي کردن داده استفاده ميکند. برخلاف MPStego3،UnderMPCover 3 داده را در يک فايل MP3 که قبلا کدگذاري شده است ، مخفي ميکند. تغييرات روي LSB متغير global_gain در گرانول هاي انتخاب شده براي بازتاب بيت تعبيه شده ، انجام مي شود. اين ابزار يک پارامتر فاصله ٢ براي انتخاب گرانول ها براي تعبيه ، استفاده ميکند. در [١١] يک روش براي آشکارسازي فايل هاي پنهان نگاري شده با UnderMP3Cover پيشنهادشده است . ماکزيمم ظرفيت حامل وقتيکه MPStego3 و UnderMPCover3 استفاده شود، ٤*(تعداد فريم ها) بيت ميباشد. اگر سيگنال stereo باشد، هر دو برنامه ميتوانند حداکثر ٤ بيت در يک فريم تعبيه کنند چون يک سيگنال stereo، ٢ کانال دارد و هر کانال ٢ گرانول دارد.
3-3 نها نگاري مبتني بر توازن گام کوانتيزاسيون براي صوت MP3
روش [١٢] با در نظر گرفتن توازن گام کوانتيزاسيون به جاي توازن اندازه بلوک، مشکل حلقه بيپايان
MP3Stego را حل ميکند و غيرقابل کشف بودن آماري آن را بهبود ميدهد و شفافيت بهتر و امنيت بالاتري را نسبت به MP3Stego به دست ميآورد. در حلقه داخلي الگوريتم MP3، بيت توازن طول بلوک ممکن است در چندين تکرار مقدار يکساني داشته باشد، اما بيت توازن گام کوانتيزاسيون هميشه تغيير ميکند، زيرا گام کوانتيزاسيون در هر تکرار با يک افزايش مييابد. در تعبيه سازي گرانول هاي مورد نظر براي تعبيه سازي، با استفاده از يک توليدکننده بيت شبه تصادفي انتخاب مي - شوند. اگر بيت توازن گام کوانتيزاسيون مشابه با بيت مخفي باشد و شرط عمومي حلقه يعني تعداد بيت ها از کدگذاري هافمن ، کمتر از تعداد بيت هاي در دسترس باشد، حلقه دروني خاتمه مييابد. در غيراينصورت گام کوانتيزاسيون با يک افزايش مييابد و کوانتيزاسيون با گام آپديت شده جديد تکرار ميشود تا اينکه شرط خاتمه حلقه برقرار شود. زماني که شرط عمومي حلقه برقرار شود، تعبيه سازي ميتواند در کمتر يا مساوي با ٢ تکرار کامل شود. با اين تغييرات ، از مشکل حلقه بيپايان ، جلوگيري ميشود. براي استخراج واترمارک در هنگام کدگشايي، اگر اندازه گام کوانتيزاسيون زوج باشد، بيت تعبيه شده "١" و اگر گام کوانتيزاسيون فرد باشد، بيت تعبيه شده ، "٠" ميباشد.
3-٤ الگوي واترمارکينگ بدون اتلاف و امن در صوت MP3 با تغيير بيت افزونه
در [١3] بيت خصوصي براي تعبيه داده استفاده ميشود.
چون داده اصلي بدون تغيير باقي مي ماند، واترمارک هيچ انحرافي را براي صوت حامل ، ايجاد نميکند. داده واترمارک، قبل از تعبيه سازي با تبديل آرنولد رمزگذاري ميشود تا امنيت سيستم بهبود يابد. به علت رويداد گم شدن بسته طي انتقال ، يک نماد همزماني در واترمارک درج ميشود، تا کيفيت دوباره سازي واترمارک بهبود يابد.
n بيت از داده واترمارک با n بيت در داده اصلي (موقعيت اين n بيت در فرستنده و گيرنده معلوم است ) موجود در گرانول مقايسه ميشود، اگر n بيت داده واترمارک و n بيت فايل MP3 باهم برابر باشند، بيت خصوصي به ١ تنظيم ميشود، در غيراين صورت بيت خصوصي ٠ ميشود. داده واترمارک و فايل MP3 داراي توزيع يکنواخت هستند. اگر n برابر با ٢ باشد، در هر چهار فريم
٢ بيت ميتوان مخفي کرد. پس ظرفيت ٠,٥ بيت در هر فريم ميباشد. براي مقابله با مشکل گم شدن داده در کاربردهاي بيدرنگ ، نمادهاي همزمان سازي به داده واترمارک اضافه ميشوند. براي استخراج واترمارک، ابتدا بيت خصوصي فريم فايل MP3 نهان نگاري شده بررسي ميشود. سپس n بيت داده ي فايل MP3 در يک آرايه قرار ميگيرد. نمادهاي همزمان سازي از دنباله ايجادشده حذف ميشوند. تبديل معکوس آرنولد اعمال ميشود و واترمارک اصلي به دست ميآيد.
٤-نهان نگاري فايل هاي MP3 در حوزه MDCT
٤- ١ روش BvSteg
اين ابزار، داده را در big_value بلوکهاي طولاني مخفي ميکند. تعبيه در ناحيه 3٢ انجام ميشود که براي يک نرخ نمونه برداري 44.1KHz مطابق با رنج فرکانسي -٥ 14KHz ميباشد. به خاطر خواص تراکم انرژي MDCT [١٤]، اغلب انرژي طيف در ناحيه ٠ ٤ و ناحيه ١ ٥ سيگنال ، متمرکزشده اند. تغييرات در ناحيه ٢، مؤلفه هاي نويزي کمي را در سيگنال ايجاد ميکند و ازاين رو سيگنال همراه با اعوجاج ايجادشده نسبت به حالت بدون تعبيه سازي تفاوت قابل درکي ندارد. در تعبيه سازي براي هر جدول هافمن آرايه اي ايجاد ميشود، اگر تعداد بيت هاي هافمن براي کدگذاري جفت (x,y) با تعداد بيت هاي هافمن موردنياز براي کدگذاري جفت (y,x) يکسان باشد، مقدار آن خانه آرايه را "١" ميکند. سپس در انتهاي حلقه داخلي و بعد از کوانتيزاسيون و کد کردن هافمن ، ابتدا چک ميکند که از بلوک طولاني استفاده شده باشد، در غير اين صورت در آن ضريب MDCT داده تعبيه نميشود. چون تعداد تغيير در هر گرانول به ٤ محدود شده است ، چک ميکند که هنوز ٤ تا ضريب در گرانول جاري تغيير نکرده باشند. اگر همه شرط ها برقرار بودند، آخرين شرط که برابري طول کد هافمن مربوط به کد کردن جفت (x,y) و (y,x) ميباشد، چک ميشود. در صورت برقراري اين شرط ، اگر بخواهيم بيت "٠" را تعبيه کنيم و x>y باشد، جفت (x,y) را کد ميکنيم ولي اگر
x<y باشد، (y,x) کد ميشود. براي تعبيه بيت "١" عکس بيت "٠" عمل ميشود. در استخراج واترمارک، جفت هاي مقدارهاي طيفي به دست آمده بعد از کدگشايي هافمن ، براي ارتباط دامنه هايشان مقايسه ميشوند. اگر به جفت (x,y) برسيم و همه شرط هايي که در هنگام تعبيه سازي اعمال شدند، برقرار باشند، آنگاه اگر x>y باشد، بيت "٠" تعبيه شده و اگر x<y باشد، بيت "١" تعبيه شده است .
٤-٢ جايگزيني LSB انتخابي براي انتقال اطلاعات جانبي
هدف در اين روش همانند [١٥] و [١٦]، تعبيه ٢٠-٥٠ بيت به ازاي هر گرانول براي پنهان کردن گم شدن بسته ميباشد. بنابراين يک جايگزيني LSB ساده [١٧] تعيين ميشود که اطلاعات جانبي به LSB ضرايب کوانتيزه شده ي MDCT تعبيه ميشوند. وقتيکه يک مقدار معين از اطلاعات جانبي به يک فيلد داده کمکي بسته بندي ميشوند، نرخ بيت براي جريان صوت کوچک تر ميشود، اگر نرخ بيت کل ثابت باشد، کيفيت صوت منحرف ميشود. در [١٨] براي تعبيه اطلاعات جانبي از کدگذار گفتار ٧١١.G استفاده ميکند. چون ٧١١.G از يک کوانتيزاسيون غيرخطي استفاده ميکند، با افزايش دامنه سيگنال ميزبان ، اعوجاج ايجادشده با جايگزيني LSB
بزرگ تر ميشود. بنابراين روش جايگزيني LSB انتخابي، اطلاعات جانبي را در نمونه هاي با دامنه کوچک تعبيه ميکند. تعبيه در بخش بالايي چون ضرايب آن صفر هستند و کد نميشوند، بهره وري فشرده سازي را کم ميکند و کيفيت کل صوت را تخريب ميکند. چون بخش پاييني به صورت درشت تر کوانتيزه شود تا نرخ بيت کلي ثابت نگه داشته شود. بنابراين اطلاعات جانبي در بخش پاييني ضرايب MDCT تعبيه ميشود، طوريکه دامنه ضرايب اصلي براي جايگزيني کوچک باشد. براي برقراري اين دو شرط ، m ضريب پاييني از گرانول انتخاب ميشوند، LSB آن ها پاک مي شود و سپس به صورت صعودي مرتب ميشوند. n ضريب پاييني معادل با بيت هاي رمز تغيير داده ميشوند هنگام استخراج مانند تعبيه سازي عمل ميشود، ابتدا LSB مربوط به m ضريب ابتدايي پاک ميشود و ترتيب صعودي m ضريب مشخص ميشود. از بين آن ها n ضريب پايين انتخاب ميشوند.
LSB اين n ضريب قبل از پاک شدن LSB آن ها معادل با بيت هاي واترمارک است . طبق آزمايش ها اين روش کيفيت صوت بهتري نسبت به تعبيه سازي اطلاعت جانبي در فيلد داده کمکي دارد.
٤-3 نهان نگاري ژنتيک مبتني بر محتوا در حوزه
MDCT
در [١٩] از الگوريتم ژنتيک براي انتخاب بهترين L ضرايب براي تعبيه واترمارک در يک گرانول استفاده شده است .
اين انتخاب ژنتيک مطابق با پارامترهايي که از محتواي شنيداري صوت استخراج ميشوند، براي بهينه کردن شفافيت و قدرتمندي، انجام ميشود. امنيت واترمارک به دليل ماهيت تصادفي انتخاب ژنتيک ، افزايش مييابد.
چون انتخاب ضرايب وابسته به محتواي فايل ميباشد، اطلاعات ضرايب MDCT انتخاب شده که بيت واترمارک را حمل ميکنند، در پايگاه داده اي براي استخراج واترمارک در آينده ذخيره ميشوند. تعبيه هر بيت در ضرايب
MDCT مشابه روش [٢٠] انجام ميشود. در کوانتيزاسيون ، مقدارهاي ضرايب MDCT تغيير ميکنند (مقدارهاي خيلي نزديک به صفر، جايگزين صفر ميشوند)، اما تعداد نقاط بعد از نقطه دسيمال به صورت نادر تغيير ميکند. بنابراين ، مخفي کردن بيت هاي واترمارک ميتواند مطابق با زوج و فرد بودن تعداد صفرهاي بعد از نقطه دسيمال روي ضرايب انجام شود.
يک انتخاب براي اضافه کردن يک صفر به صفرهاي يک ضريب اين است که مقدار آن را بر ١٠ تقسيم کنيم ، اما اين روش به خاطر تغييرات زياد مقدار ضريب در فرآيند کوانتيزاسيون انتخاب بهينه نيست . درنتيجه ، براي افزايش تعداد صفرهاي ضريب X، مقدار آن با جايگزين ميشود که تعداد صفرها بعد از نقطه دسيمال است . با اين سياست براي مقدار جديد X، احتمال تغيير در طي کوانتيزاسيون ، کاهش مييابد. بنابراين احتمال از دست دادن واترمارک کاهش مييابد. وقتي افزايش مييابد، احتمال تغيير در کوانتيزاسيون بيشتر ميشود. بنابراين براي در طي کوانتيزاسيون با صفر جايگزين ميشود. درنتيجه ، کروموزوم هاي با چنين Xاي، يک بهره وري بالا به دست نميآورند.
در هنگام استخراج ، دنباله بيت واترمارک مطابق با پسورد و واکشي کليدهاي ثانويه واترمارکينگ مربوطه از پايگاه داده ساخته ميشود. ضرايب MDCT که انديس هاي آن ها در تطابق با انديس هاي ضرايب حامل بيت هستند، استخراج ميشوند. سپس براي هر ضريب ، اگر تعداد صفرهاي بعد از نقطه دسيمال زوج باشد، بيت مخفي صفر است و برعکس .
٤-٤ مخفي کردن در صوت MP3 با تغيير ضرايب MDCT
در [٢١] به علت مدل ماسکينگ سيستم شنوايي انسان (HAS) در فاز کوانتيزاسيون ، نويز ايجادشده با تعبيه داده کنترل ميشود تا انحراف مجاز باشد. اين روش ساده است و ظرفيت مخفي کردن بالا و شفافيت خوبي دارد. نتايج آزمايش ها نشان ميدهد که مقدار زيادي داده به ويژه در نرخ فشرده سازي بالا در صوت MP3 درج ميشود، تا زمانيکه اعوجاج ، غيرقابل شنيدن نگه داشته شود. بعد از فرآيند کوانتيزاسيون ، ضرايب MDCT براي تعبيه پيام مخفي انتخاب ميشوند. سپس LSB ضرايب QMDCT (صحيح ) با بيت هاي رمز جايگزين ميشود و از حلقه خارجي براي کنترل اينکه نويز زير آستانه ماسکينگ قرار بگيرد، استفاده ميشود. زماني که هر باند منحرف شود، حلقه داخلي دوباره فراخواني ميشود. بنابراين بيت هاي رمز به صورت تکراري درج ميشوند تا زماني که باندها انحراف نداشته باشند. براي جلوگيري از اضافه شدن نويز خيلي بزرگ ، QMDCTهايي که مقدار آن ها بزرگ تر از d است براي مخفي کردن بيت پيام پنهاني، انتخاب مي - شوند، با آزمايش تعيين ميشود. در طرف گيرنده بيت هاي پنهاني م توانند فقط با چک کردن LSB ضرايب MDCT استخراج شوند.
٤-٥ الگوريتم نهان نگاري صوت MP3 در حوزه VLC