نوع مقاله : مقاله پژوهشی فارسی
نویسندگان
1 استادیار، دانشکده فنی و مهندسی-گروه مهندسی برق- دانشگاه آیت الله بروجردی (ره)- بروجرد-ایران
2 دانشجو کارشناسی، دانشکده فنی و مهندسی- دانشگاه آیت الله بروجردی (ره)- بروجرد-ایران
چکیده
کلیدواژهها
عنوان مقاله [English]
نویسندگان [English]
This paper uses the unique biometric features of fingerprints to generate random cryptographic keys. The main aspects of the security of the generated key include the privacy of the fingerprint and the randomness and complexity of the key generation algorithm. In the proposed method, first, the unique fingerprint features, which include Minutiae points, are extracted from the fingerprint image. Then, to increase the statistical properties and complexity of the algorithm, the Euclidean distance and the angle of all the points of Minutiae relative to each other are calculated and stored. In the next step, after normalizing to 8-bit numbers, these data are moved by permutation operations and combined. In the following, the proposed method is used to increase the level of security and the ability to be random from the non-linear operations of 8-bit S-boxes S0 and S1 used in the CLEFIA block cipher. Statistical analyzes performed on the generated keys show the acceptable random nature of the keys. Therefore, the proposed structure for generating a random key can be used in encrypting digital signals with large volumes of data such as image and sound.
کلیدواژهها [English]
سیستمهای رمزنگاری یکی از مباحثی است که امروزه در برقراری امنیت سیستمهای ارتباطی در هنگام انتقال یا ذخیرهسازی اطلاعات نقش اساسی دارند. از فاکتورهای مهم و اساسی در سیستم رمزنگاری، تولید کلیدهای رمزنگاری است. محرمانهبودن این کلیدها و دسترسینداشتن فرد غیر مجاز به کلید تصادفی از اصول مهم یک سیستم رمزنگاری است که باید مد نظر قرار بگیرد؛ اما تولید و ذخیره امن کلید برای سیستم کلید متقارن و کلید خصوصی برای سیستم کلید نامتقارن یک چالش مهم است. امنیت الگوریتم رمزنگاری براساس عملکرد آماری کلیدهای تصادفی است. تولید یک کلید تصادفی با کیفیت بالا کار دشواری است که سطح امنیت تأمینشده از الگوریتم رمزنگاری را افزایش میدهد. برای بهبود امنیت یک سیستم رمزنگاری، کلیدهای بهکاررفته باید تصادفی و دارای طول مناسب باشند. بسیاری از تکنیکهای رمزگذاری مانند رمزهای قالبی سبک [1]-[2] برای محافظت از دادهها در سیگنالهای دیجیتال و کاهش هزینههای پیادهسازی ارائه شدهاند. همچنین، موضوعات تحقیقاتی مانند رمزگذاری تصویر [3]-[7] و رمزگذاری صوت [8]-[11] به زمینههای مهم و ضروری تبدیل شدهاند. تولید کلیدهای تصادفی در این سیستمها یک عمل مهم است.
سه دسته اصلی برای تولید کلید تصادفی وجود دارد؛ شامل 1- تولید کلید مبتنی بر تئوری آشوب: در این روش از معادلات ریاضی مانند نقشه Cat و نقشه Baker برای ایجاد آشفتگی[i] استفاده میشود. سیستمهای آشوب ویژگیهای مشابهی از حساسیت به شرایط اولیه و پارامترهای کنترل و رفتار شبهتصادفی را فراهم میکند که نیازهای آشفتگی و پخش[ii] در رمزنگاری را برآورده میکند. 2- تولید کلید رمزنگاری مبتنی بر بیومتریک: روشی است که از اطلاعات بیومتریک برای تولید کلیدهای رمزنگاری برای محافظت از امنیت دادهها استفاده میکند. سیستمهای رمزنگاری بیومتریک یک زمینه تحقیقاتی در حوضه رمزنگاری است که در آن از بیومتریک یک فرد برای ایمنسازی تولید این کلیدهای رمزنگاری استفاده میشود. 3- تولید کلید براساس مولدهای اعداد تصادفی: در این روش از مولد اعداد شبهتصادفی و شیفت رجیستر بازخوردی خطی (LFSR) برای تولید کلیدهای تصادفی استفاده میشود.
تکنیکهای زیادی برای تولید کلید رمزنگاری [6] و [12]-[21] پیشنهاد شدهاند؛ برای مثال، در [6] یک سیستم آشوب 4 بعدی براساس استفاده از سیگنال زمان گسسته برای تولید کلید ارائه شده است. در [12] نویسندگان کلیدهای بیومتریک را از بردارهای ویژگی بیومتریک عنبیه تولید میکنند. در [13] مکانیسم بازسازی کلید فازی برای استخراج یک الگوی محافظتشده استفاده شده است. سپس خطای تصحیح کد (ECC) برای تولید کلیدهای تصادفی استفاده میشود. در [14] نویسندگان براساس آزمایشهای انجامشده از نمونههای سیگنال صوت برای تولید کلید بیومتریک تصادفی استفاده میکنند. در [15] سیستم تولید کلید از دادههای بیومتریک عنبیه استفاده میکند. در [16] ساختار تولید کلید با عبور سیگنال صوتی در چندین مرحله براساس تئوری گراف تحقق مییابد. در [17] روشی برای تولید یک کلید رمزنگاری برای رمزگذاری دادهها با استفاده از خصوصیات چهره انسان ارائه شده است. نویسندگان از این کلید برای رمزگذاری پیامهای صوتی و پنهانکردن آنها در داخل تصاویر رنگی استفاده کردهاند. در [18] تولید یک کلید ساده مخفی با استفاده از ترکیبی از روش پیشپردازش با کمیسازی چند سطح برای امنیت لایه فیزیکی ارائه شده است. در [19] روشی برای تولید کلیدهای تصادفی 256 بیت براساس صدای انسان پیشنهاد شده است. در [20] کلیدهای امنی براساس توابع درهم تولید میشوند. در مقالات [22]-[26] ساختارهایی برای استخراج دادههای الکتروانسفالوگرافی انسان (EEG) بهعنوان ویژگی بیومتریک برای تولید کلید رمزنگاری پیشنهاد شده است. این ساختارها پتانسیل بالایی را فراهم میکنند؛ زیرا جعل و تقلب در EEG غیرممکن است. ویژگیهای بیومتریک بهطور کلی به ویژگیهای فیزیولوژیکی (اثر انگشت، عنبیه، DNA) و ویژگیهای رفتاری (راه رفتن، امضاء) تقسیم میشوند. سیگنالهای EEG به دلیل وابستگی زیاد به رفتارها و احساسات، تلفیقی از ویژگیهای فیزیولوژیکی و رفتاری شناخته میشوند. در کارهای [22]، [23]، [24] و [25] بهترتیب به مطالعه تأثیر بیماری صرع، احساسات، اختلالات مغزی و مصرف الکل بر تولید کلید رمزنگاری مبتنی بر EEG پرداختهاند. در این کارها از تکنیک تخمین طیف پارامتریک برای استخراج ویژگیهای استفاده میشود و از یک تکنیک کوانتیزاسیون تصحیح خطا برای حف نویز استفاده میکنند. برای اینکه کلید تولیدشده از سیگنال EEG بهکاررفتنی باشد، باید ویژگیهای تکرارپذیر از سیگنال EEG استخراج شود تا کلید تکراری بهطور دقیق تولید شود؛ بنابراین، لازم است بهطور مکرر کلیدهای تصادفی کافی برای یک فرد تولید شود. سیگنال EEGو رابطهای مغز و کامپیوتر با مسائل امنیتی مواجهاند [25]؛ برای مثال، ممکن است به دستگاهها حمله شود و اطلاعات خصوصی درگیر در سیگنالهای EEG شخصی به بیرون درز کند.
چندین رویکرد تولید کلید رمزنگاری از ویژگیهای بیومتریک اثر انگشت در کارهای [27]-[36] یافت میشود. در [28] رویکردی برای تولید کلید رمزنگاری از الگوی اثرانگشت قابل لغو[iii] برای هر دو طرف ارتباط پیشنهاد شده است. در [29] ویژگیهای آماری مبتنی بر بیومتریک اثر انگشت را برای تولید کلمه کد[iv] یک کاربر استخراج میکنند. برای تولید یک کلمه کد، از کدینگ Reed-Solomon (RS) استفاده میشود. سپس از این کلمه کد برای تولید یک کلید استفاده میشود. در [35] یک روش تولید کلید براساس اثر انگشت با استفاده از فواصل نسبی بین جزئیات اثر انگشت کاربر برای ایجاد یک کلید بیومتریک منحصربهفرد استفاده شده است. علاوه بر این، از یک تکنیک تصحیح خطای دو لایه برای افزایش قابلیت اطمینان سیستم در طول انتقال داده استفاده میشود. در [36] یک روش برای تولید کلید رمزنگاری براساس ویژگیهای اثر انگشت و الگوریتم آستانه[v] پیشنهاد میشود.
سیستمهای رمزنگاری مانند رمزگذاری سیگنال تصویر و رمزگذاری سیگنال صوت برای انتقال اطلاعات به یک واحد تولید کننده کلید تصادفی نیاز دارند [37] و [38]. با استفاده از تولید کلید تصادفی، امنیت الگوریتمهای رمزنگاری بهبود مییابد. این مقاله یک الگوریتم تولید کلید تصادفی براساس ویژگیهای منحصربهفرد اثر انگشت پیشنهاد میکند. حریم خصوصی کلید بیومتریک تولیدشده بهصورت تصادفی و پیچیدگی الگوریتم تولید کلید، جنبههای اصلی حاکم بر امنیت کلید است. با توجه به اینکه پارامترهای بیومتریک برای هر فرد با فرد دیگر متفاوت است و هیچگاه این پارامترها از بین نمیروند، یک روش مناسب برای افزایش امنیت سیستم است. این ساختار میتواند کلیدهایی با طولهای مختلف ایجاد کند. طول کلیدهای تولیدشده برابر با 128، 196 و 256 بیت است. آنالیزهای آماری صورتگرفته روی کلیدهای تولیدشده نشاندهندۀ ویژگی تصادفیبودن پذیرفتنی کلیدها است. مهمترین ویژگیهای روش پیشنهادی در زیر آورده شدهاند:
در ادامۀ مقاله در بخش دوم بهطور خلاصه روند استخراج ویژگیهای اثر انگشت توضیح داده شده است. روش تولید کلید تصادفی پیشنهادی در بخش سوم ارائه شده است. در بخش چهارم نتایج و بحث دربارۀ روش پیشنهادی نشان داده شده است. سرانجام، مقاله در بخش پنجم جمعبندی میشود.
اثر انگشت یکی از پرکاربردترین روشهای شناسایی بیومتریک است که بیش از یک قرن استفاده شده است. اثر انگشت هر انسان منحصربهفرد است و در طول زندگی فرد بدون تغییر باقی میماند. اثر انگشت از الگوی برآمدگیهای روی انگشت شکل میگیرد. برای هر اثر انگشت ویژگیهای منحصربهفردی وجود دارد که در ادامه به مواردی از آنها اشاره میشود: 1- هر اثر انگشت منحصربهفرد است؛ یعنی هیچ دو انگشتی دارای ویژگیهای برآمدگی یکسان نیستند. 2- بسیار قابل اعتماد هستند؛ زیرا هیچ دو نفر اثر انگشت مشابهی ندارند؛ حتی دوقلوهای همسان که DNA مشابهی دارند، اثر انگشت متفاوتی دارند. 3- اثر انگشت ازنظر ساختاری در طول زندگی فرد بدون تغییر باقی میماند. 4- یکی از دقیقترین اشکال بیومتریک موجود است. 5- به دست آوردن اثر انگشت راحت است و ازاینرو، گزینه خوبی برای سیستمهای امنیتی است.
روی هر اثر انگشت دو بخش رگه و شیار وجود دارد. شکل 1 رگهها و شیارهای موجود روی تصویر اثر انگشت را نشان میدهد. پیکسلهای سفید نشاندهندۀ برجستگیها هستند و پیکسلهای سیاه مربوط به شیارها هستند. به رگههایی که بهصورت موازی در اثر انگشت وجود دارند که در مواردی خاتمه مییابند و گاهی اوقات دو شـاخه میشوند، مینوشیا گفته میشود. شکل 2 نمونهای از نقاط مهم مینوشیا را در یک اثر انگشت نشان میدهد. اگر رگهای به رگۀ دیگر متصل نباشد و در امتداد همدیگر باشد، امتداد این رگهها بهعنوان مینوشیا انتهـایی در نظر گرفته میشود. اگر هر رگه به دو رگه دیگر تبدیل شود، قسمتی که دو شاخه میشود را مینوشیا دو شاخهای در نظر میگیرند.
از بـین انواع مینوشیا دو نـوع مینوشیای انتهـایی و مینوشیای دوشاخهای بیشتر کاربرد دارد. در مرحله استخراج ویژگیهای اثر انگشت مختصات این نقاط به دست میآید. در این مقاله از روش ارائهشده در کار [40] برای بهبود تصویر و استخراج مینوشیاها استفاده میشود. در این کار از عملیات موروفولوژیک روی تصویر اثر انگشت استفاده میکند که به نازکشدن رگههای موجود در اثر انگشت منجر میشود. قبل از استخراج مینوشیاها نیاز است بر حسب نیاز بهبودها و پیشپردازشهایی روی تصویر اثر انگشت صورت پذیرد. در ادامه بهطور خلاصه این پیشپردازشها توضیح داده شدهاند.
شکل (1): خطوط سیاهرنگ «رگه» و خطوط سفید رنگ «شیار».
(b) (a)
شکل (2): تصویر (a) مینوشیا انتهـایی و تصویر (b) مینوشیا دو شاخهای.
در این بخش، مراحل پیشپردازش لازم برای استخراج نقاط مینوشیا و نحوه استخراج آنها براساس کار [40] معرفی میشود. مراحل پیشپردازش صورتگرفته در این کار شامل 1- بهبود تصویر (شامل متعادلسازی هیستوگرام و تبدیل فوریه است)؛ 2- باینریکردن تصویر و 3- نازکسازی. مرحله پیشپردازش برای بهبود تصویر و برجستهکردن ویژگی بیومتریک اثر انگشت انجام میشود. به عبارت دیگر، بهبود تصویر اثر انگشت برای حذف نویز ناشی از حسگر و تغییرات ناشی از فشار انگشت روی سنسور صورت میپذیرد. ویژگیهای بیومتریک اثر انگشت باید تقویت شوند تا بتوان از آنها برای تجزیهوتحلیل بیشتر استفاده کرد. این فرآیند با حذف پیکسلهای اضافی از تصویر و رسیدن به روشنایی و کنتراست بهتر انجام میشود. چند مرحله مهم پیشپردازش روی تصویر اثر انگشت مانند افزایش کنتراست، باینریزهکردن[vi] و نازکسازی[vii] انجام میشود. افزایش کنتراست، کیفیت اثر انگشت را با کاهش اثرات نامطلوب تاری، منافذ و برجستگیهای اولیه بهبود میبخشد. این امر به بهبود تشخیص نقاط مینوشیا کمک میکند. در بین روشهایی که تا کنون برای افزایش کیفیت اثر انگشت ارائه شـده اسـت، سـه روش وجود دارد که اساس کار در روشهای دیگرند. این سه روش عبارتاند از: یکنواختسازی هیستوگرام (این روش سادهترین روش افزایش کیفیت اثر انگشت است؛ امـا بـرای تصاویری با کیفیت کم کارآیی خود را از دست میدهد)، تبدیل فوریه سریع و فیلتر گابور.
در کار [40] برای افزایش کیفیت تصویر از روش تبدیل فوریه و متعادلسازی هیستوگرام استفاده میشود. شکل 3 (a) و (b) بهترتیب تصویر یک اثر انگشت (این تصویر از پایگاه داده [41] استفاده شده است.) و تصویر بهبود داده شده با روش تبدیل فوریه را نشان میدهد. همانطور که در تصویر دیده میشود اعمال تبدیل فوریه باعث شده است تا نقـاط شکسـته در رگهها به هم متصل شوند و اتصالات اشتباه بین رگهها از بین بروند.
هدف از این مرحله، به دست آوردن یک تصویر باینری است. میتوان یک مقدار آستانه را انتخاب کرد و تمام پیکسلهای بالای آن مقدار را سفید و زیر آن مقدار را سیاه کرد. این فرآیند یکی از سادهترین فرآیندها برای باینریزهکردن است. این عمل تصویر اثر انگشت خاکستری را به یک تصویر باینری حاوی برجستگیها و فرورفتگیها تبدیل میکند. شکل 3 (c) تصویر باینریزهشدۀ اثر انگشت را نشان میدهد.
در فرایند نازکسازی تمام خطوط موجود در تصویر باینریزهشده به ضخامت یک پیکسل متراکم میشوند. نازکشدن عرض خطوط برآمدگی باینریشده را به 1 پیکسل کاهش میدهد. فرآیندهای باینریزهکردن و نازکسازی برای مکانیابی نقاط مینوشیا مورد نیاز هستند. نازکسازی تصویر اثر انگشت روی تصویر باینری اثر انگشت انجام میگیرد. برای اینکه تشخیص و حذف پیکسلهای اضافه راحتتر انجام شود، این الگوریتم باید در حالت تکرار، طبق سه شرط (1- نقاط پایانی حذف نشوند؛ 2- اتصالات از بین نروند و 3- باعث سایش بیش از حد نشود) انجام گیرد. شکل 3 (d) تصویر نازکسازیشدۀ اثر انگشت را نشان میدهد.
(a) |
(b) |
(c) |
(d) |
شکل (3): (a): تصویر اصلی، (b): تصویر بعد از تبدیل فوریه و متعادل سازی هیستوگرام، (c): تصویر بعد از باینریسازی و (d): تصویر بعد از نازکسازی.
یکی از روشهای موجود برای پیداکردن مینوشیاهای مورد نیاز روش شماره عبور[viii] است که در مقالات مختلفی ازجمله کار [40] از آن استفاده شده است. در ادامه، دربارۀ روش پیداکردن نقاط مینوشیا با روش شماره عبور توضیح مختصری داده شده است. این روش در مقایسه با روشهای دیگر دارای کارایی محاسباتی و سادگی است. با اسکنکردن مناطق محلی هر پیکسل در تصویر نازکسازیشده با استفاده از پنجره 3 در 3 نقاط مینوشیا استخراج میشوند. مقدارCN بهصورت زیر محاسبه میشود:
|
که در آن pi برابر مقدار پیکسل است و p1=p9 است. CN بهعنوان نصف مجموع تفاوتهای بین جفت پیکسلهای همسایه در هشت پیکسل همسایه تعریف میشود. با استفاده از ویژگیهای CN در جدول ۱، پیکسل p بهعنوان مینوشیا انتهایی، دو شاخهای یا نبود مینوشیا است.
جدول (1): ویژگیهای CN.
ویژگی |
CN |
نقطه تکی |
0 |
مینوشا انتهایی |
1 |
رگه ادامهدار |
2 |
مینوشا دوشاخهای |
3 |
مینوشا نیست |
4 |
این امکان وجود دارد که به دلیل عواملی مانند تصاویر نویزی و مصنوعات تصویری مینوشیاهای غیر قابل قبول وارد تصویر شوند؛ ازاینرو، پس از استخراج نقاط، لازم است یک مرحله پسپردازش را بهمنظور تأیید نقاط مینوشیا به کار برد. در این مرحله، تمام نقاط مینوشیا نادرست مانند (نقاط مینوشیای جانبی، نقاط شناساییشده در مناطق با کیفیت پایین، جزایر، دریاچهها و غیره) حذف میشوند.
نقاط مینوشیا در شکل 4 برای تصویر اثر انگشت ارائهشده در شکل 3 (a) نشان داده شدهاند. بیشترین نقاط مینوشیا، انتهایی و دوشاخهای هستند. همانطور که دیده میشود این نقاط انتهایی و دو شاخهای در شکل شناسایی شدهاند.
شکل (4): تصویر نقاط مینوشیا تشخیص داده شده از تصویر اثر انگشت شکل 3 (a).
در این مقاله، هدف تولید کلید رمزنگاری از ویژگیهای منحصربهفرد استخراجشده از اثر انگشت است. در این رویکرد، اثر انگشت بهعنوان یک پارامتر بیومتریک برای تولید کلید رمزنگاری استفاده میشود. در این روش از مختصات نقاط مینوشیا برای تولید کلید استفاده میشود. نمای کلی از مراحل روش پیشنهادی بهصورت شماتیک در شکل 5 نشان داده شده است. بعد از استخراج نقاط مینوشیا مختصات این نقاط به دست میآیند. مؤلفه x و y نقاط بهترتیب در ماتریسهای ذخیره میشوند. در مرحله بعد به محاسبه فاصله اقلیدوسی و زاویه بین نقاط مینوشیا نسبت به یکدیگر و نرمالسازی مقادیر فاصله و زاویه برای ایجاد اعداد 8 بیتی پرداخته میشود. سپس نتایج در دو ماتریس جداگانه ذخیره میشوند. بعد از این مرحله به هر ماتریس عمل جایگشتی اعمال میشود. دو ماتریس حاصل با یک جایگشت دیگر در یکدیگر ترکیب میشوند و یک ماترس واحد را میسازند. در مرحله بعد برای افزایش تصادفیشدن اعداد، هر مقدار 8-بیتی در ماتریس به جعبههای جابجای S-box 8-بیتی S0 و S1 استفادهشده در رمز قالبی CLEFIA [39] اعمال میشود؛ بدین صورت که دادههای 8-بیتی هر یک جداگانه به S-box اعمال میشوند (دادههایی با موقعیت زوج و فرد بهترتیب به S-boxهای 8-بیتی S0 و S1، اعمال میشوند) و نتیجه ذخیره میشود. در مرحله بعد، بایتهای کلیدها از مقادیر ماتریس بهدستآمده در مرحله قبل به دست میآیند. در روش پیشنهادی با انجام مراحل محاسبه، فاصله اقلیدوسی و زاویه بین نقاط مینوشیا، عملهای جایگشت و عمل S-box میزان تصادفیبودن کلید بسیار افزایش مییابد.
شکل (5): نمای کلی از مراحل روش پیشنهادی تولید کلید براساس اثر انگشت.
الگوریتم 1 روش پیشنهادی تولید کلید تصادفی را براساس مختصات نقاط مینوشیا ، 1 ≤ i ≤ D نشان می دهد که در آن D تعداد نقاط مینوشیاها است.
منظور از بهینهسازی مصرف انرژی انتخاب الگوها، اتخاذ و بهکارگیری روشها و سیاستهایی در مصرف انرژی الکتریکی است. ساختمانهای مسکونی بخش مهمی از مصرفکنندگان انرژی الکتریکی به شمار میآیند. ورود تکنولوژی سیستم مدیریت هوشمند به ساختمانهای مسکونی، تا حدودی مصرف انرژی الکتریکی را بهینه کرده است.
الگوریتم 1: تولید کلید تصادفی براساس مختصات نقاط مینوشیا ، 1 ≤ i ≤ D که در آن D تعداد نقاط مینوشیاها است. |
Input: Input x-coordinate and y-coordinate matrices of the Minutiae.
1. =2; ; =1; 3. For from to do 5. 6. ; 8. ; 9. End For; 10. For from 1 to do // Step 2. 12. 15. 16. 18. If ( is odd) then 21. 22. End If; 23. End For; |
هر نقطه مینوشیا به صورت مختصات و نشان داده میشود. مختصات و این نقاط برای محاسبات بعدی مورد استفاده قرار میگیرد. فرض کنید مجموعه نقاط مینوشیا با نمایش داده شود و مختصات یک نقطه مینوشیا f باشد. در اینجا مجموعه نقاط مینوشیا با عبارت زیر نمایش داده می شود:
|
در ادامه نقاط مینوشیا استخراج شده در دو بردار متفاوت ذخیره میشوند. بردار شامل تمام مقادیر مختصات و بردار حاوی همه مقادیر مختصات است.
|
حال فاصله اقلیدوسی و زاویه بین تکتک نقاط مینوشیا، حساب و در دو ماتریس ذخیره میشوند. فاصله اقلیدوسی و زاویه دو نقطه فرضی براساس بردارهای در زیر نشان داده شدهاند:
|
تعداد فاصلههای اقلیدوسی و زاویه بین نقطه مینوشیا نسبت به هم برابر است. شکل 6 فاصله اقلیدوسی (شکل بالا) و زاویه (شکل پایین) بین چند نقطه مینوشیای فرضی در یک تصویر سمبولیک اثر انگشت را نشان میدهد؛ البته در شکل پایین به دلیل شلوغشدن تصویر زوایای دیگر نقاط نسبت به هم نشان داده نشده است. در بسیاری از تصاویر اثر انگشت تعداد نقاط مینوشیا محدود است و این امر ممکن است میزان تصادفیبودن و نتایج تحلیلهای آماری دادههای کلید را دچار ضعف کند. استفاده از فاصله اقلیدوسی و زاویه بین تمام نقاط نسبت به یکدیگر علاوه بر حفظ ویژگی منحصربهفرد بودن پارامترهای اثر انگشت باعث افزایش تعداد دادههای استخراجی از اثر انگشت برای تولید کلید میشود. این امر میزان تصادفیبودن نتایج آماری دادههای ماتریس کلید و الگوی بیتی آن را بهبود میدهد؛ برای مثال، اگر یک اثر انگشت 80 نقطه مینوشیا داشته باشد، تعداد دادههای مربوط به فاصله اقلیدوسی و زاویه تمام نقاط نسبت به یکدیگر بهطور جداگانه برابر 3160 است. روی هم تعداد دادههای فاصله اقلیدوسی و زاویه برابر 6320 است که این عدد نسبت به تعداد داده خام مختصات نقاط مینوشیا بسیار بزرگتر است. برای نمایش هر داده در ماتریس فاصله اقلیدوسی Dp و ماتریس زاویه Tp در قالب یک عدد 8-بیتی باقیمانده هر داده نسبت به عدد 28 به دست آورده میشود. این کار در شکل 7 نشان داده شده است. مقادیر 8-بیتی ماتریس فاصله اقلیدوسی Dp در ماتریس جدید Dp1 و برای ماتریس زاویه Tp در ماتریس جدید Tp1 ذخیره میشوند.
شکل (6): فاصله اقلیدوسی و زاویه بین چند نقطه مینوشیای فرضی در یک تصویر اثر انگشت سمبولیک.
شکل (7): روند 8-بیتی کردن اعداد بدست آمده برای ماتریسهای فاصله اقلیدوسی و زاویه.
در این مرحله، بهترتیب جایگشتهای Pr1 و Pr2 برای مقادیر نرمالشدۀ فاصله اقلیدوسی (ماتریس Dp1) و زاویه (ماتریس Tp1) در مرحله قبل اعمال میشود. عملیات جایگشت به شرح زیرند:
|
مقدار mبرابر با تعداد دادههای ماتریس Dp1 است؛ برای مثال، عمل جایگشت برای ماتریس Dp2 نمونه i از ماتریس Dp1 را به موقعیت Pr1(i) ماتریس Dp2 انتقال میدهد. شکل 8 مرحله اعمال جایگشتهای Pr1 و Pr2 را در روش تولید کلید تصادفی پیشنهادی نشان میدهد. با توجه به شکل، مقادیر ماتریسهای Dp1 و Tp1 براساس جایگشتهای Pr1 و Pr2 بهترتیب برای تولید ماتریسهای Dp2 و Tp2 استفاده میشوند.
شکل (8): مرحله اعمال جایگشتهای Pr1 و Pr2 در روش تولید کلید تصادفی پیشنهادی.
در مرحله بعد، دو ماتریس Dp2 و Tp2 با m عضو براساس یک عمل جایگشت دیگر Pr3 با همدیگر ترکیب میشوند و یک ماترس K با 2m عضو را ایجاد میکنند. این عمل جایگشت در زیر نشان داده شده است:
|
شکل 9 مرحله اعمال جایگشت Pr3 به مقادیر ماتریسهای Dp2 و Tp2 را نشان میدهد.
شکل (9): مرحله اعمال جایگشت Pr3 در روش تولید کلید تصادفی پیشنهادی.
در این مرحله مقادیر 8-بیتی ماتریس K(i) ، بهترتیب به دو S-box 8-بیتی S0 و S1 استفادهشده در رمز قالبی استاندارد CLEFIA اعمال میشوند و ماتریس جدید Key(i)، را ایجاد میکنند. CLEFIA یک الگوریتم رمز قالبی است که با شرکت Sony توسعه یافته است [39]. اندازه قالب داده در این رمز 128 بیت است و اندازه کلید میتواند 128 بیت، 192 بیت یا 256 بیت باشد. برای استفاده بهعنوان رمز قالبی در سیستمهای مدیریت حقوق دیجیتال[ix] در نظر گرفته شده است. این تکنیک رمزنگاری با CRYPTREC اصلاح و در سال 2013 برای استفاده دولت ژاپن به کار گرفته شده است. با توجه به امنیت پذیرفتنی این رمز قالبی و اینکه S-boxهای آن از بهترین S-boxهای 8-بیتی موجود و دارای مشخصههای امنیتی بسیار پذیرفتنیاند، در روش تولید کلید پیشنهادی برای افزایش میزان پیچیدگی دادههای کلید از این S-boxها استفاده شده است. ساختار S-box S0 براساس استفاده از 4 S-box 4-بیتی است. همچنین، ساختار S-box S1 براساس واحد معکوسکردن میدانی در میدان متناهی GF(28) است که دارای خصوصیات غیرخطی خوبی است. شکل 10 مرحله اعمال جعبههای جابجایی S0 و S1 به ماتریس K را نشان میدهد. در این حالت 8 بیت وارد هر S-box و 8 بیت براساس جدول آنها [35] تولید و خارج میشود.
شکل (10): مرحله اعمال S-boxهای S0 و S1 8-بیتی CLEFIA به ماتریس K.
3-4- انتخاب مقادیر کلید
در این مرحله، مقادیر ماتریسKey برای ایجاد کلید استفاده میشوند. براساس اینکه کلید چند بیتی باشد، مقادیر مختلفی انتخاب میشوند؛ برای مثال، برای طول کلیدهای 128-بیتی، 192-بیتی و 256-بیتی بهترتیب 16، 24 و 32 بایت از ماتریس Key نیاز است.
در این بخش، تجزیهوتحلیلهای مختلفی برای روش تولید کلید تصادفی پیشنهادی با استفاده از اثر انگشت ارائه میشود. در اینجا از ابزار شبیهسازی Matlab R2013b برای این کار استفاده شده است. پایگاه دادهای که تصاویر اثر انگشت از آن استفاده شده، پایگاه داده شناختهشده FVC2002 DB1_B [41] است؛ برای مثال، شکلهای 11 (a) و (b) بهترتیب، کلیدهای تصادفی اول و دوم 256-بیتی براساس تصویر اثر انگشت 102_1.tif را نشان میدهد. همانطور که دیده میشود شکل مقادیر کلید مانند یک سیگنال تصادفی است.
شکل (11): نمودار کلیدهای استخراج شده از روش تولید کلید پیشنهادی اول(a) و دوم (b)، 256-بیتی براساس تصویر اثر انگشت 102_1.tif.
دو نمونه اول کلید تولیدشده از تصویر اثر انگشت 102_1.tif در زیر نشان داده شده است.
K1=1101101101110001100100101001001010011011001010101111101010111010110110001101000010100011110110101011001110101101011110010001111100001010101101011001110100101010010100000000111001101011100111001000100111111101000111101101111001100110010001110010010010011010
K2=1001000110100011110101100111000100001010111011011010010000010001010101101110001000110000010001100000110000100000001001011101000100110111001000010000010010011001000010010011001011010100111110100101010111101110000110000001001111100000010011011101010011100110
در ادامه، این بخش ضمن انجام تحلیلهای تصادفی مقایسه با کارهای مرتبط پیشین انجام شده است.
زمان محاسبۀ کلید رمزنگاری برای کار پیشنهادی و چند کار موجود در جدول 2 آورده شده است. در این جدول برای مقایسه بهتر سختافزار استفادهشده نیز بیان شده است. همانطور که مشاهده میشود زمان لازم برای محاسبه کلید در کار پیشنهادی پذیرفتنی است.
جدول )2(: مقایسۀ زمان محاسبۀ کلید رمزنگاری برای کار پیشنهادی و چند کار موجود.
سختافزار |
زمان (میلیثانیه) |
کار |
--- |
29.8085 |
[28] |
Intel® Core TM i5 processor with 2.3 GHz |
10.11 |
[27] |
Intel ®Core TM 2 Duo processor with 2.4 GHz |
60.052 |
[42] |
ARM processor Broadcom SoC BCM2837B0 of 1.4GHz |
14 |
[38] |
Intel® Core TM i5 processor with 2.3 GHz |
20.57 |
کار پیشنهادی |
برای بررسی تصادفیبودن توالی مقادیر بیتهای کلید تجزیهوتحلیل آماری براساس تستهای ارائهشده در کار [43] و بعضی پارامترهای دیگر انجام میگیرد. در ادامه تستهای مدنظر و پارامترهای مهم در این زمینه بررسی بیشتری شدهاند.
در این تست تعداد بیتهای 1 و 0 در کل مقادیر ماتریس کلید محاسبه میشوند. اگر درصد تعداد بیتهای 1 و 0 به هم نزدیک باشند، یعنی نزدیک 50 درصد برای هرکدام باشد، نشان میدهد توزیع بیتهای 1 و 0 در کل ماترسی یکنواخت است. این امر نشاندهندۀ تصادفیبودن مقادیر کلید است. در اینجا تست برای ماتریسهای کلید تولیدشده براساس 10 تصویر اثر انگشت 101_1.tif تا 110_1.tif از پایگاه داده اثر انگشت FVC2002 DB1_B بررسی شده است. شکل 12 مقادیر تعداد بیتهای 1 و 0 در ماتریس کلید تولیدشده از این 10 تصویر اثر انگشت را نشان میدهد. محور افقی شماره تصویر است که بهترتیب از 1 تا 10 است و محور عمودی مقدار مربوط به تعداد بیتهای 1 و 0 است. نمودار آبی رنگ مربوط به تعداد بیتهای 0 است و نمودار قرمز خطچینشده مربوط به تعداد بیتهای 1 است. همانطور که در این شکل دیده میشود نمودارهای مربوط به تعداد بیتهای 1 و 0 در ماترسیهای کلید تولیدشده بر همدیگر منطبق بوده و نشاندهندۀ نزدیکبودن تعداد بیتهای 1 و 0 در کلید است؛ بنابراین، کلید تولیدشده با روش پیشنهادی دارای ویژگیهای تعادل تعداد بیتهای 0 و 1 و امنیت مناسبی است.
شکل (12): نمودار مقادیر تعداد بیتهای 1 و 0 در ماتریس کلید تولیدشده از 10 تصویر اثر انگشت 101_1.tif تا 110_1.tif از پایگاه داده FVC2002 .DB1_B.
برای به دست آوردن معیاری برای مقایسه با کارهای دیگر معیار Monobit در نظر گرفته میشود. این معیار براساس کار [43] بهصورت نسبت تعداد یکهای ماتریس کلید تقسیم بر تعداد کل بیتهای کلید تعریف میشود. در حالت ایدئال مقدار این معیار باید برابر 0.5 باشد که نشاندهندۀ برابربودن تعداد صفرها و یکهای کلید و توزیع یکنواخت آنها است. مقدار بهدستآمده برای معیار Monobit در روش پیشنهادی تولید کلید برای ماتریسهای کلید مربوط به تصاویر اثر انگشت 101_1.tif تا 110_1.tif از پایگاه داده FVC2002 DB1_B بهترتیب برابر اعداد 0.5087، 0.5066، 0.5204، 0.4978، 0.5169، 0.4902، 0.5027، 0.5100، 0.5368 و 0.5025 است. میانگین این اعداد نیز برابر عدد 0. 5093 است. براساس این اعداد بهدستآمده که همۀ آنها بسیار به عدد 0.5 نزدیکاند، میتوان به این نتیجه رسید که پراکندگی دادههای ماتریسهای کلید مطلوب است. در جدول 3 نیز مقدار معیار Monobit برای مقایسه روش پیشنهادی و چند کار مرتبط دیگر آورده شده است. همانطور که در این جدول مشاهده میشود نتیجه بهدستآمده برای روش پشنهادی در مقایسه با کارهای پیشین پذیرفتنی است.
جدول (3): مقایسه معیار Monobit برای کار پیشنهادی و کارهای مرتبط دیگر.
میانگین معیار Monobit |
کار |
0.5193 |
[29] |
0.4993 |
[43] |
0.1159 |
[44] |
0.2888 |
[18] |
0.3767 |
[18] |
0.7236 |
[18] |
0.8596 |
[18] |
0.5200 |
[45] |
0.5093 |
کار پیشنهادی |
در این تست تمام مقادیر 8-بیتی کلید تولیدشده به دو قسمت 4-بیتی تقسیم میشوند؛ برای مثال، یک عدد 8-بیتی از دو قسمت 4-بیت کمارزش و 4-بیت پرارزش تشکیل میشود. بعد از این کار آمار تعداد کل اعداد 4-بیتی حساب میشود. همانطور که میدانیم یک عدد 4-بیتی میتواند بین 0 تا 15 باشد؛ بنابراین، بعد از محاسبهکردن آمار تعداد اعداد 4-بیتی، آماری از تعداد اعداد 0 تا 15 از کل دنباله به دست آمد. حال اگر تعداد شمارششدۀ این اعداد در یک رنج باشد، نشاندهندۀ توزیع یکنواخت دادهها در کل ماتریس تولید کلید است. در این تست برای 10 تصویر اثر انگشت 101_1.tif تا 110_1.tif از پایگاه داده اثر انگشت FVC2002 DB1_B این کار انجام شد و نتایجی پذیرفتنی از این تست به دست آمد. با توجه به حجم زیاد دادهها در اینجا، برای مثال، فقط دو نمونه از نتایج مربوط به تصویر اثر انگشت 102_1.tif و 104_1.tif آورده شده است که بهترتیب در شکل 13 (a) و (b) نشان داده شدهاند. محور افقی در این نمودارها نشاندهندۀ اعداد 0 تا 15 (معادل اعداد 4-بیتی) است و محور عمودی مقدار شمارش هر عدد را نشان میدهد. همانطور که دیده میشود اندازه ستونها در سطحهای نزدیک بههماند؛ درنتیجه، تعداد شمارششدۀ اعداد 0 تا 15 در کل ماترس کلید تولیدشده با درصد پذیرفتنی به یکدیگر نزدیکاند.
(a)
(b)
شکل (13): نمونه نمودار مربوط به تست Poker برای ماتریس کلید تولید شده از تصویر اثرانگشت 102_1.tif (a) و 104_1.tif (b).
بیشترین تعداد بیت 1 یا 0 بههمپیوسته در دنباله اعداد کلید بهعنوان run تعریف میشود [43]. اگر این تعداد بیت 1 یا 0 بههمپیوسته به اعداد بسیار بزرگ منجر شود، نامطلوب است. این امر نشاندهندۀ توزیع غیر یکنواخت بیتهای 1 یا 0 در دنباله اعداد است. در اینجا تعداد بیتهای صفر و یک بههمپیوسته با طول 2 تا 16 محاسبه شدهاند. نتایج برای تعداد بیتهای 1 بههمپیوسته مشابه تعداد بیتهای 0 به دست آمدهاند؛ برای مثال، شکل 14 تعداد شمارش بیتهای 0 و 1 بههمپیوسته با طول 2 تا 16 را برای دو تصویر اثر انگشت 106_1.tif و 110_1.tif از پایگاه داده اثر انگشت FVC2002 DB1_B نشان میدهد. تعداد بیت بههمپیوسته در زیر هر ستون مشخص شده است. همانطور که در این تصاویر دیده میشود هر چقدر طول بیتهای 0 و 1 بههمپیوسته زیاد میشود، اندازه ستونها کاهش مییابد. با بررسی رفتار کاهشی تعداد بیتهای 0 و 1 بههمپیوسته با افزایش طول بیتها از 2 تا 16 این نتیجه به دست میآید که این تعداد برای طولهای بیش از 16 بیت 0 یا 1 بههمپیوسته تقریباً به صفر میرسد. این امر نشاندهندۀ توزیع بسیار مناسب بیتهای 0 و 1 در ماتریس کلید است. در کارهای [22]، [23]، [24]، [25] و [26] که براساس سیگنال EEG کلید تولید کردهاند، حداکثر تعداد یک بههمپیوسته بهترتیب برابر 100، 100، 97، 97 و 99 است. این در حالی است که در روش پیشنهادی حداکثر تعداد یک بههمپیوسته برابر عدد 16 است. برای کار [43] تعداد بیتهای صفر یا یک بههمپیوسته برای تعداد 25 تا به بالا برابر صفر میشود؛ بنابراین، در کار [43] تعداد صفرها یا یکهای بههمپیوسته نسبت به کلیدهای تولیدشده در روش پیشنهادی بیشتر است.
(a)
(b)
شکل (14): نمودار تعداد شمارش بیتهای 0 و 1 بههمپیوسته با طول 2 تا 16 بیت برای دو تصویر اثر انگشت 106_1.tif (a) و تصویر 110_1.tif (b)از پایگاه داده اثر انگشت FVC2002 DB1_B.
هیستوگرام مقادیر ماتریس کلید تصادفی بهترتیب برای دو تصویر اثر انگشت ورودی 104_1.tif و 102_1.tif در شکلهای 15 (a) و (b) نشان داده شده است. توزیع مقادیر کلید تصادفی در هیستوگرام نشان داده شده است. اگر نمودار به اندازه کافی مسطح نباشد، مقدار چشمگیری از دادهها میتواند با حمله آماری تهدید شود. در رمزنگاری، پاسخ مسطح و یکنواخت برای هیستوگرام بسیار مطلوب [46] است. تمام بایتهای کلید تصادفی در محدوده 0 تا 255 با مقدار شمارش بسیار زیاد (تعداد وقوع اعداد تصادفی) رخ میدهد. مقدار شمارش برای اعداد تصادفی کلیدهای نزدیک به یکدیگر است. این امر نشان میدهد هر مقداری در محدوده 0 تا 255 میتواند در تولید مقادیر کلید رخ دهد؛ بنابراین، هیستوگرام مقادیر تصادفی کلید توزیع یکنواختی دارد.
شکل (15): هیستوگرام مقادیر ماتریس کلید تصادفی بهترتیب برای دو تصویر اثر انگشت ورودی 104_1.tif (a) و 102_1.tif (b).
همبستگی خودکار، همبستگی سیگنال با خودش است؛ برای مثال، همبستگی خودکار مقادیر کلید تصادفی برای تصویر 102_1.tif در شکل 16 نشان داده شده است. مقادیر بسیار کمی دارد، همبستگی کمی بین مقادیر و میزان بالایی از تصادفیبودن را نشان میدهد. با توجه به اینکه بیشترین مقدار در همبستگی خودکار برابر با 0.0482 است، مقادیر کلید تصادفی هیچ شباهت درخور توجهی با خود ندارند که این امر یک ضرورت اساسی برای قابلیت تصادفیبودن است.
شکل (16): همبستگی خودکار مقادیر کلید تصادفی پیشنهادی برای تصویر 102_1.tif.
4-4- چگالی طیفی توان مقادیر کلید تصادفی
چگالی طیفی توان مقادیر کلید تصادفی برای تصویر 102_1.tif در شکل 17 نشان داده شده است. چگالی طیفی توان، توان تغییرات را تابعی از فرکانس نشان میدهد. همانطور که از این شکل دیده میشود چگالی طیفی توان مقادیر کلید تصادفی تقریباً مسطح است؛ مشابه مساوی سیگنالهای تصادفی؛ بنابراین، این مسئله، تصادفیبودن مقادیر کلید را تأیید میکند.
شکل (17): چگالی طیفی توان مقادیر کلید تصادفی پیشنهادی برای تصویر .102_1.tif
در این مقاله برای تولید کلیدهای رمزنگاری تصادفی از ویژگیهای بیومتریک اثر انگشت استفاده شده است. با استفاده از تولید کلید تصادفی، امنیت الگوریتمهای رمزنگاری بهبود مییابد. تولید کلیدهای تصادفی در رمزنگاری با حجم زیادی از دادهها مانند رمزگذاری تصویر و صدا امری ضروری است. در روش پشنهادی، ابتدا ویژگیهای منحصربهفرد اثر انگشت شامل نقاط مینوشیا از تصویر اثر انگشت استخراج میشوند، سپس برای افزایش ویژگیهای آماری و پیچیدگی، فاصله اقلیدوسی و زوایای بین تمام نقاط مینوشیا نسبت به یکدیگر، حساب و در دو ماتریس جداگانه ذخیره میشوند. در مرحله بعد، دادههای این ماتریسها بعد از نرمالیزهشدن به اعداد 8-بیتی با عملیات جایگشت مخصوص به خود جابجا میشوند. در ادامه، با یک عمل جایگشت دیگر این دو ماتریس در همدیگر ترکیب میشوند و یک ماترس ایجاد میکنند. سپس برای افزایش سطح امنیت و قابلیت تصادفیبودن بیشتر دادههای 8-بیتی این ماتریس به S-boxهای 8-بیتی S0 و S1 استفادهشده در رمز قالبی CLEFIA اعمال میشوند که واحدهایی غیر خطیاند. استفاده از این ویژگیها در تولید کلید تصادفی به آشفتگی و پخش دادههای کلید منجر میشود. آنالیزهای آماری صورتگرفته روی کلیدهای تولیدشده نشاندهندۀ ویژگی تصادفیبودن پذیرفتنی کلیدها است.
[1] تاریخ ارسال مقاله: 12/09/1400
تاریخ پذیرش مقاله: 20/01/1401
نام نویسندۀ مسئول: بهرام رشیدی
نشانی نویسندۀ مسئول: : ایران- بروجرد- دانشگاه آیت الله بروجردی (ره)- دانشکده فنی و مهندسی-گروه مهندسی برق
[i] Confusion
[ii] Diffusion
[iii] Cancelable fingerprint template
[iv] Codeword
[v] Threshold
[vi] Binarization
[vii] Thinning
[viii] Crossing Number
[ix] Digital right manager (DMR)