تیم امنیت سایبری حامیان ولایت

اللهم إیّاک نعبد و إیّاک نستعین

تیم امنیت سایبری حامیان ولایت

اللهم إیّاک نعبد و إیّاک نستعین

تیم  امنیت سایبری حامیان ولایت

تیم امنیت سایبری حامیان ولایت در سال 1392 فعالیت خود را در زمینه های هک و امنیت آغاز کرد و به زودی به کمک کاربران فعال و مدیران لایق یکی از بزرگ ترین انجمن های هک و امنیت ایران خواهد شد . تیم امنیت سایبری ولایت فقط جهت اشنایی و بالا بردن سطح اطلاعات هم وطنان عزیزمان در زمینه ی هک و امنیت و طبق قوانین جمهوری اسلامی ایران فعالیت میکند. گروه ما از همین جا اعلام می دارد که هدف ما ارتقای امنیت سایت های ایرانی است وبه هیچ عنوان به سایت های ایرانی حمله نخواهیم کرد و هرگونه حمله ای بنام تیم ما، مورد تایید گروه ما نیست.

پیوندهای روزانه

۱۵۰ مطلب در آذر ۱۳۹۳ ثبت شده است

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

اجازه دهید تا باز گردیم به سئوال ابتدای بحث. پاسخ به این سئوال منفی ست. هرچند اعمال قواعد امنیتی، به روزرسانی نرم افزارها و سایر راهکارهای امنیتی (از جمله توصیه های IRCERT)  شما را تا حدود زیادی ایمن میکند اما هیچکدام تضمین صددرصدی به شما نمیدهند. واقعیت نه چندان خوشایند اینکه این راه حلها تنها افراد را در برابر تعدادی آماتور یا اصطلاحا Script Kiddies  و یا ویروسها مصون می سازند. اما کلاه سیاهها (حساب سازمانهای جاسوسی و شرکتهای بزرگ جداست!) کماکان هر زمان که بخواهند با چند کلیک میتوانند وارد کامپیوتر شخصی ما شوند. اخیرا یکی از موسسات مرتبط با سازمان جدید التاسیس امنیت داخلی آمریکا  طی گزارشی که برای این سازمان تهیه شده به یک فاکتور تعیین کننده اشاره کرده است: پنجره آسیب پذیری.

پنجره آسیب پذیری مدت زمان آسیب پذیری سیستم شما در برابر یک شکاف امنیتی یا حمله اینترنتی است. این زمان عبارت از فاصله میان کشف یک مشکل امنیتی (عموما توسط هکرها) تا پیدا شدن راه حل مربوطه (توسط شرکت مسئول) و در نهایت اعمال راه حل مربوطه توسط شما. سیکل متداول این ماجرا به این شکل است:

  • روز اول: انتشار خبر وجود یک شکاف امنیتی در یکی از بولتنها و گروههای امنیتی
  • روز چهاردهم تا شصتم: متخصصیت شرکت مسئول به وجود شکاف امنیتی مربوطه اعتراف میکنند. و شروع به تولید وصله امنیتی میکنند
  • روز سی ام تا نود ام: تولید وصله امنیتی در شرکت مسئول و تست نرم افزار. این مرحله مهم ترین مرحله است زیرا در سالهای اخیر بسیار پیش آمده که یک وصله امنیتی بدون انجام تستهای کافی وارد بازار شده است و در نتیجه گرچه مشکل امنیتی اولیه را حل کرده است اما خود مشکلات جدیدی را ایجاد کرده است. این مشکلات جدید عمدتا مشکلات پایداری هستند اما گهگاه مشکلات امنیتی را نیز شامل شده اند. به این دلایل این روزها قبل از ارائه یک وصله امنیتی تستهای بسیاری  بر روی آن انجام میشود که این کار به زمان زیادی نیاز دارد. این زمان مهمترین بخش پنجره آسیب پذیری است.
  • روز 60 تا 180: در این دوره وصله امنیتی مربوطه در دسترس عموم قرار میگیرد. جالب است بدانید این زمان در مورد شکاف ASN.1 چیزی در حدود 200 روز بود.
  • روز 90 تا 270: طی این دوره وصله امنیتی به صورت عام توسط کاربران مورد بهره برداری قرار میگیرد.

  • مدیرکل

فیلتر اسپم، نرم‌افزاری است که به سرویس دهنده ایمیل کمک می‌کند تا از عبور اسپم‌ (هرزنامه‌) جلوگیری کند. این فیلتر این عمل را معمولاً با شناسایی فرستنده ایمیل یا کلماتی که در موضوع و متن ایمیل بکار رفته انجام می‌دهد. در مقاله اسپم چیست به مواردی که موضوع اصلی بیشتر اسپم‌هاست اشاره شد. این فیلترها سعی در تشخیص این نوع ایمیل‌ها و جلوگیری از ورود آنها به صندوق‌پستی کاربرانشان یا نشانه‌گذاری آنها بعنوان اسپم می‌کنند.  اگر مدتهاست که از سرویسهای ایمیل معروف مانند Yahoo یا Hotmail استفاده می‌کنید،‌ حتماً با هر بار سر زدن به صندوق پستی خود با انبوهی از ایمیلها با عنوان Bulk mail یا Junk mail برخورد می‌کنید. قرار گرفتن این ایمیلها در این فولدرها بدلیل اینست که سرویس‌دهنده ایمیل آنها را بعنوان اسپم تشخیص می‌دهد. البته گاهی نیز این ایمیلها از Inbox شما سر در میاورند که نشاندهنده این است که عیلرغم اسپم بودن، توانسته‌اند از فیلتر اسپم عبور کنند. حتی گاهی شنیده می‌شود که بعضی ایمیلهای اصلی به فولدر مربوط به اسپم هدایت می‌شوند که باز هم نشان از تشخیص اشتباه فیلتر است. البته نیازی به نگرانی نیست. این اتفاق بندرت رخ می‌دهد.

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

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

  • مدیرکل

در حملاتی که تا اینجا مورد بررسی قرار گرفتند، یک SQL ساده به برنامه تزریق می شد. در صورتی که تدابیر لازمه اندیشیده نشود همه پایگاه های داده در برابر این نوع حملات آسیب پذیر هستند. به عنوان یک واقعیت همه سیستم های مدیریت پایگاه داده نقاط ضعف و قوت خاص خود را دارند و بنابراین امکان نفوذ به آنها برای مهاجم ها در هر زمانی وجود دارد.

یکی دیگر از حملات که از موارد قبلی پیشرفته تر است اجرای دستورات خارجی سیستم عامل می باشد از درون محیط سیستم مدیریت پایگاه داده است. به عنوان مثال SQL Server به کاربران اجازه می دهد که با استفاده از روال ذخیره شده۱ xp-cmdshell دستورات خارجی سیستم عامل را اجرا کند.

برای بهره گرفتن از این قابلیت کاربر می تواند در بخش ورود اطلاعات صفحه وب متن زیر را وارد نماید:

'exec master..xp-cmdshell 'net user HackUser Mypassword /ADD'--

در این صورت برنامه کاربردی عبارت SQL  زیر را ساخته و آن را به SQL Server  ارسال می نماید:

SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers WHERE CustomerID = ''exec master..xp-cmdshell 'net user HackUser Mypassword /ADD'--

SQL Server با این عبارت Sql  به عنوان دو دستور مجزا که به صورت دسته ای صادر شده اند برخورد می کند. این دو دستور به صورت زیر هستند:

  • مدیرکل

اسپم چیست؟

مدیرکل |

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

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

 

درصدهایی که از کل ایمیل‌ها،

 بعنوان اسپم شناخته شده‌اند

(در مدت یک سال)

March 2004

63%

February 2004

62%

January 2004

60%

December 2003

58%

November 2003

56%

October 2003

52%

September 2003

54%

August 2003

50%

July 2003

50%

June 2003

49%

May 2003

48%

April 2003

46%

 

 دسته‌بندی اسپم‌ها

برای اینکه بدانید اسپم‌ها بیشتر حاوی چه موضوعاتی هستند و هر موضوع چند درصد از کل اسپم‌ها را شامل می‌شود، می‌توانید به جدول زیر نگاهی بیندازید:

(در قسمت بعد، در مورد روشهای مقابله با اسپم‌ها برای شما خواهیم نوشت.)

 

توضیح

درصد

دسته

ارائه کننده یا تبلیغ‌کننده کالاها و خدمات عمومی

مانند: ابزار، خدمات تحقیقی، پوشاک و لوازم آرایشی

25%

محصولات

ارائه‌کننده یا ارجاع دهنده مربوط به پول، بازار بورس و سایر فرصتهای مالی

مانند: سرمایه‌گذاری، گزارشهای اعتباری، دارایی‌های ثابت و وام‌ها

20%

مالی

ارائه‌کننده محصولات یا سرویس‌هایی که مربوط به افراد بالای ۱۸ سال است که معمولا نامناسب و اهانت‌آمیر هستند

مانند: تبلیغات مربوط به مسائل جنسی

15%

بزرگسالان

ارائه‌کننده یا تبلیغ‌کننده کالاها و خدمات مربوط به اینترنت و کامپیوتر

مانند: میزبانی و طراحی وب.

7%

اینترنت

ارائه‌کننده یا تبلیغ‌کننده محصولات و خدمات مربوط به  سلامتی

مانند: معالجات پزشکی، دارویی و درمانهای گیاهی

7%

تندرستی

موبوط به فعالیتهای کلاهبردای و فریبنده که تعمدا جنبه گمراه‌کننده دارند

مانند: سرمایه‌گذاری در نیجریه، طرحهای هرمی و نامه‌های زنجیره‌ای

7%

فریبنده

ارائه‌کننده یا تبلیغ‌کننده جوایز یا انجام فعالیتهای تفریحی با تخفیف

مانند: پیشنهادهای گذارندن تعطیلات، کازینوهای آنلاین و بازیها

6%

اوقات فراغت

بظاهر ولی نه واقعاً از طرف شرکتهای معروف که برای گول زدن کاربران بمنظور افشاشدن اطلاعات شخصی آنها مانند آدرس ایمیل، اطلاعات مالی و کلمات عبورشان است.

مانند: اطلاعات شماره حساب، تایید کارت اعتباری و بروزرسانی صدور صورتحساب

5%

کلاهبرداری

پیامهای تبلیغ کننده یک کاندیدای سیاسی، پیشنهادها  برای اهدای پول به یک حزب سیاسی، پیشنهادها برای محصولات مربوط به مبارزات انتخاباتی و غیره.

مانند: حزب سیاسی و  انتخابات

2%

سیاسی

پیامها با اطلاعات متعلق به تبلیغات یا خدمات مذهبی یا معنوی

مانند: فیزیک، ستاره‌شناسی، بعضی مذاهب

1%

معنوی

پیامهایی که به هیچ‌یک از گروههای فوق تعلق ندارند.

5%

سایر

 

 
  • مدیرکل

پاشنه آشیل

شاید تا کنون نام Buffer Overflow یا سرریز بافر را  شنیده باشید. بعنوان یک متخصص امنیت شبکه این نام قاعدتا کابوس همیشگی شما بوده است. اگر این نام را نشنیده اید اجازه دهید تا به شکل دیگری مساله را معرفی کنیم: بعنوان یک مدیر شبکه یا کارشناس کامپیوتر بدترین خاطره ماههای گذشته خود را مرور کنید... Blaster!

یک کرم کامپیوتری که برای آلوده کردن تمامی کامپیوترهای سازمان شما تنها به چند ثاینه وقت و یک ارتباط معمولی با اینترنت نیاز داشت و البته یکعدد سیستم عامل ویندوز. طبق معمول پس از شیوع یک کرم اینترنتی با آلودگی بالا همه به دنبال مقصرین اصلی میگردند. میکروسافت در طی تنها چند ماه بارها مجبور به انتشار Patchهای جدید شد و البته بیش از هر زمان دیگری اعتبارش به چالش کشیده شد. اما آیا  واقعا مقصر اصلی میکروسافت بود؟

تاریخچه

شروع این ماجرا مربوط به سالها پیش است. طراحان زبان برنامه نویسی C و سپس C++ ظاهرا بیش از حد لازم دمکرات بودند. باید قبول کرد که اغلب اوقات کمکی محافظه کاری اگر چاشنی کار شود نتیجه بهتر خواهد بود! در حالی که اغلب زبانهای برنامه نویسی به شکلی برنامه نویس را در تخصیص و یا کاربری حافظه محدود میکنند این زبان دست برنامه نویس را تا حد امکان باز گذاشته تا جایی که برنامه نویس میتواند یک رشته صد بایتی را در یک حافظه ده بایتی کپی کند. همین ویژگی باعث شد تا برنامه نویسان C کمتر حساسیتی در زمینه چک کردن طول رشته هایی که در یک بافر کپی میشوند از خود نشان دهند. نتیجه همه اینها بوجود آمدن یک سرگرمی بسیار پر طرفدار برای هکرها بود. با چند کلک فنی میتوان به جای رشته ورودی یک رشته طولانی حاوی کد یک Back Door را وارد کرد و نتیجه؟ افتادن کنترل کامل کامپیوتر مورد نظر در دست هکر.

اصل ماجرا به همین سادگی است و در واقع پایه فنی بسیاری از کرمهای اینترنتی و بسیاری از خرابکاری ها همین خطاست. Blaster هم بر اساس وجود یک چنین خطایی در یکی از سرویسهای RPC ویندوز عمل میکرد. اما اگر مشکل به این سادگی است چرا تا کنون برای حل آن اقدامی نشده است؟ خواهید گفت دستکم می شد به برنامه نویسان پیشنهاد کرد که لطفا در هنگام نوشتن برنامه طول رشته های ورودی را حتما با طول بافر چک کنید. بسیار پیشنهاد خوبی است اما دو مشکل بزرگ برای عملی کردن آن وجود دارد. اول اینکه برنامه نویسان C اصلا از این پیشنهاد شما خوششان نخواهد آمد. آنها همیشه کارهای مهمتری از چک کردن طول رشته ها دارند! و دومین نکته اینکه حجم بسیار عظیمی از کدهایی را که قبلا نوشته شده نمیتوان دوباره تغییر داد. این مشکل دوم دقیقا چیزی است که میکروسافت با آن روبروست : کد ویندوز بنا به برخی روایتها ملغمه عجیب و غریبی است که هنوز حتی یادگارهایی از کد داس نیز در آن موجود است.

راه حلهایی برای آینده

واقعیت اینست که تا کنون یک دوجین راه حل برای حل این مشکل پیشنهاد شده است و بسیاری از تکنولوژیهای جدید یکی از اولین ویژگیهای خود را حل این مشکل عنوان میکنند. جاوا و .NET دو مثال خوب برای این قضیه هستند. این دو زبان (اجازه دهید با کمی اغماض .NET را زبان بنامیم هر چند اینگونه نیست) مکانیزمهای   سخت گیرانه ای برای مدیریت حافظه دارند و عملا کنترل کامل حافظه برنامه را از دست برنامه نویس خارج میکنند.

اما همانگونه که حدس میزنید این دو نیز همان اشکالهای قبلی را دارند: تغییر تمام کدهای موجود و تبدیل آنها به کدهای جاوا و یا .NET عملی نیست. اینها مشکل را فقط در آینده دور حل کرده اند اما اکنون چاره چیست؟

تغییر دیدگاه

اخیرا شرکت AMD پروسسورهایی را روانه بازار کرده است که مهمترین ویژگی آنها اینست : مقاومت در برابر حمله سرریز بافر. این اولین بار نیست که برای مشکلات  نرم افزاری راه حلهای سخت افزاری پیشنهاد میشود. در واقع به نظر میرسد مشکل دارد در جایی حل میشود که اساسا انتظار آن نمیرفت: در پایین ترین سطح سیستم: پروسسور.

همانگونه که پیشتر دیدیم این حمله تنها زمانی امکان پذیر میشود که هکر بتواند بهشی از کد را وارد داده کند و به اجرای آن بپدازد. هر برنامه در هنگام اجرا از بخشهای مختلفی در حافظه تشکیل میشود که مهمترین بخشهای آن عبارتند از دو بخش کد و داده. تا کنون این دو بخش از دید پردازنده ها یکسان بودند و پردازنده تفاوتی بین آنها نمیگذاشت . این تنها نرم افزارها بودند که این تفاوت را درک میکردند. اما ازین پس پردازنده های AMD سری Athlon 64 (برای کامپیوترهای شخصی) و سری Opteron (برای سرورها) این تفاوت را خواهند فهمید. به محض اینکه هکر سعی کند یک قطعه کد را در قسمت مربوط به داده برنامه اجرا کند پردازنده جلوی آنرا خواهد گرفت و یک پیغام خطا برای سیستم عامل ارسال خواهد کرد و سیستم عامل برنامه عامل خطا را خواهد بست.

دقت کنید که کارکرد نهایی این تکنیک وابسته به همکاری کامل سیستم عامل و پردازنده است . به همین دلیل مدیران AMD عملکرد نهایی این تکنیک را در نسخه آینده XP وعده داده اند. البته Intel نیز برای اینکه از قافله عقب نماند خبر از همکاری با میکروسافت برای حل این مشکل داده است. سری آینده Itanium از شرکت اینتل خصلتی مشابه Athlon های AMD خواهد داشت.

افق

آیا این به معنی پایان داستان Blaster یا Slammer است. به نظر نمی رسد اینگونه باشد هر چند باید  منتظر نتایج عملی این تکنولوژی باشیم اما از همین اکنون میتوان پیش بینی کرد که هکرها هم راههای جدیدی خواهند یافت. بهر حال این نکته را باید یادآوری کنیم که تا به امروز مهمترین تکنیک مورد استفاده هکرها سرریز بافر بوده ست. با توجه به این نکته روزهای سختی برای آنها در پیش است.

 

 
  • مدیرکل

چه طول کلیدی در رمزنگاری مناسب است؟

امنیت هر الگوریتم مستقیماً به پیچیده بودن اصولی مربوط است که الگوریتم بر اساس آن بنا شده است.

امنیت رمزنگاری بر اساس پنهان ماندن کلید است نه الگوریتم مورد استفاده. در حقیقت، با فرض اینکه که الگوریتم از قدرت کافی برخوردار است (یعنی که ضعف شناخته‌شده‌ای که بتوان برای نفوذ به الگوریتم استفاده کرد، وجود نداشته باشد) تنها روش درک متن اصلی برای یک استراق سمع کننده، کشف کلید است.

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

  • مدیرکل

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

تزریق SQL

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

به مثال زیر توجه کنید:

Dim StrSQL as String = "SELECT CustomerID, CompanyName, ContactName, " & -

     "ContactTitle FROM Customers WHERE CustomerID =  '" & txtCustID.Text & "'"

در عبارت فوق با استفاده از روش ساخت رشته به صورت پویا یک رشته SQL تولید می‌شود که CustomerID‌ با مقدار موجود در txtCustID جایگزین می‌شود. در شرایط عادی کاربر شناسه خود را در Box وارد می‌نماید، برنامه اقدام به جستجو در پایگاه داده نموده و پس از آن نتایج برای کاربر نمایش داده می‌شود. به عنوان مثال اگر کاربر شناسه ALFKI را وارد نماید نتایجی که برنامه تولید می‌کند به شرح زیر خواهد بود:

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

  • مدیرکل

با روشن شدن اهمیت وجود کلیدها در امنیت داده‌ها، اکنون باید به انواع کلیدهای موجود و مکان مناسب برای استفاده هر نوع کلید توجه کنیم.

۱- کلیدهای محرمانه (Secret keys)

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

۲- کلیدهای عمومی و اختصاصی (Public and private keys)

امتیاز اصلی و مهم سیستمهای کلید نامتقارن این است که آنها اجازه می‌دهند که یک کلید (کلید اختصاصی) با امنیت بسیار بالا توسط تولید کننده آن نگهداری شود در حالیکه کلید دیگر (کلید عمومی)می‌تواند منتشر شود. کلیدهای عمومی می‌توانند همراه پیامها فرستاده شوند یا در فهرستها لیست شوند (شروط و قوانینی برای کلیدهای عمومی در طرح فهرست پیام‌رسانی الکترونیکی ITU X.500 وجود دارد)، و از یک شخص به شخص بعدی داده شوند. مکانیسم توزیع کلیدهای عمومی می‌تواند رسمی (یک مرکز توزیع کلید) یا غیررسمی باشد.

محرمانگی کلید اختصاصی در چنین سیستمی مهمترین مساله است؛ باید توسط ابزار منطقی و فیزیکی در کامپیوتری که ذخیره شده، محافظت گردد. کلیدهای اختصاصی نباید هرگز بصورت رمزنشده در یک سیستم کامپیوتر معمولی یا بشکلی که توسط انسان قابل خواندن باشد، ذخیره شوند. در اینجا نیز کارت هوشمند برای ذخیره کلیدهای اختصاصی یک فرد قابل استفاده است، اما کلیدهای اختصاصی سازمانهای بزرگ معمولا نباید در یک کارت ذخیره شود.

۳- کلیدهای اصلی و کلیدهای مشتق‌شده (Master keys and derived keys)

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

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

۴- کلیدهای رمزکننده‌کلید (Key-encrypting keys)

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

از مفهوم دامنه کلید (key domain) برای محدود کردن میدان کلیدها و محافظت کردن کلیدها در دامنه‌شان استفاده می‌کنیم. معمولا یک دامنه، یک سیستم کامپیوتری خواهد بود که می‌تواند بصورت فیزیکی و منطقی محافظت گردد.  کلیدهای استفاده شده در یک دامنه توسط یک کلید رمزکننده‌کلید محلی ذخیره می‌شوند.هنگامی که کلیدها می‌خواهند به یک سیستم کامپیوتری دیگر فرستاده شوند، رمزگشایی و تحت یک کلید جدید رمز می‌شوند که اغلب بعنوان کلید کنترل ناحیه (zone control key) شناخته می‌شوند. با دریافت این کلیدها در طرف دیگر، تحت کلید محلی سیستم جدید رمز می‌شوند. بنابراین کلیدهایی که در دامنه‌های یک ناحیه قرار دارند از دامنه‌ای به دامنه دیگر بصورتی که بیان گردید منتقل می‌شوند.

۵- کلیدهای نشست (Session keys)

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

بخشی از تراکنش که در آن کلید منتقل می‌شود اغلب در مقایسه با بقیه تراکنش کوتاهتر است؛ بنابراین بار اضافی این بخش نسبت به کل تراکنش قابل صرفنظر است. چنانچه بقیه تراکنش بسبب استفاده از کلید متقارن با بالاسری کمتری رمز شود، زمان پردازش برای فاز تایید هویت و انتقال کلید قابل پذیرش است. (توضیح اینکه روشهای رمز متقارن از نامتقارن بمراتب سریعتر هستند بنابراین می‌توان ابتدا یک کلید متقارن را با استفاده از روش نامتقارن انتقال داد و سپس از آن کلید متقارن برای انجام بقیه تراکنش استفاده کرد.)

شکل خاصی از کلید نشست، سیستم انتقال کلید است که در برخی سیستمهای پرداخت الکترونیک و مبادله دیتای الکترونیک استفاده می‌شود. بدین صورت که در پایان هر تراکنش، یک کلید جدید منتقل می‌شود و این کلید برای تراکنش بعدی مورد استفاده قرار می‌گیرد.
  • مدیرکل