محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

TPM چیست؟ آشنایی با Trusted Platform Module به زبان بسیار ساده

TPM یا Trusted Platform Module در واقع یک Microchip یا به زبانی دیگر یک Microcontroller است که به گونه ای طراحی شده است که بتواند برخی از فرآیند های امنیتی سیستم را انجام دهد ، بیشتر این فرآیند های امنیتی مربوط به کلید های رمزنگاری مورد استفاده در سیستم می باشد. TPM معمولا بر روی مادربورد لپ تاپ یا کامپیوتر نصب می شود و با استفاده از یک Bus سخت افزاری با سایر قسمت های دستگاه ارتباط برقرار می کند. در واقع TPM ماژولی است که دستگاه لپ تاپ یا کامپیوتر شما را احراز هویت می کند و به شما اطمینان می دهد که با دستگاه سالم و درستی ارتباط برقرار کرده اید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

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

TPM چیست

همانطور که گفتیم کلید های رمزنگاری و ... درون TPM قرار می گیرند ، به اینکار Wrapping و Binding کلیدهای رمزنگاری هم گفته می شود ، اینکار از افشا شدن کلیدهای رمزنگاری به شدت جلوگیری می کند و یک قابلیت امنیتی بسیار مناسب برای کلیدهای رمزنگاری ایجاد می کند. هر TPM برای خودش دارای یک کلید ریشه یا Root wrapping Key است که به آن Storage Root Key یا SRK هم گفته می شود ، این کلید درون TPM قرار می گیرد.

قسمت محرمانه و خصوصی کلید رمزنگاری که درون TPM قرار گرفته است به هیچ عنوان برای هیچ Component ، نرم افزار ، پردازش یا حتی شخص در دسترس نخواهد بود و کاملا محرمانه درون TPM نگهداری می شود. کامپیوترهایی که از TPM استفاده می کنند هم می توانند یک کلید تولید کنند که نه تنها درون TPM قرار می گیرد بلکه برای بررسی معیارها و صحت و درستی احراز هویت Platform های خاصی مورد استفاده قرار می گیرند.

TPM چیست

این نوع از کلیدهای امنیتی فقط می توانند توسط معیارهای امنیتی همان Platform ای رمزگشایی شوند که همان مقادیر کلید را درون TPM خود داشته باشد ، در صورت تغییر کردن این مقادیر و برابر نبودن آنها با مقادیری که در TPM از قبل وجود دارد ، Platform ما احراز هویت نخواهد شد. به این فرآیند که ما یک کلید ایجاد می کنیم و در TPM برای Platform مورد نظر خودمان قرار می دهیم در اصطلاح فنی Sealing گفته می شود و به عملیات رمزگشایی آن هم Unsealing گفته می شود. TPM همچنین امکان Seal و Unseal کردن داده های بیرون TPM را نیز دارد.

شما زمانیکه از نرم افزارهایی مثل Windows BitLocker یا Drive Encryption استفاده می کنید می توانید با استفاده از فرآیند Seal کاری کنید که فقط و فقط در صورتیکه سخت افزار یا نرم افزار خاصی درون دستگاه قرار داشت فرآیند رمزگشایی انجام شود و شما برای رمزگشایی داده های خودتان می توانید شرط سخت افزاری یا نرم افزاری بگذارید. با توجه به اینکه TPM از مدار منطقی و Firmware داخلی خاص خودش برای پردازش دستورات استفاده می کند ، وابستگی به سیستم عامل شما ندارد و به همین دلیل در مقابل آسیب پذیری های نرم افزاری مقاوم است.

Trusted Platform Module چیست

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

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

TPM چیست

اما بایستی به یک نکته توجه کنید که TPM نمی تواند نرم افزاری که بر روی سیستم عامل شما بر روی PC ها نصب شده است را کنترل کند. TPM فقط می تواند پارامترهای پیکربندی خود را از قبل از بوت سیستم عامل تعریف کند یا در اصطلاح فنی TPM به شکل Pre-Runtime پارامترهای پیکربندی خود را اجرا می کند. بعد از اجرا شدن این پارامترها از این به بعد این نرم افزارهای ما هستند که Policy های خودشان را بر اساس پارامترهای موجود در TPM شکل می دهند. پردازش هایی که به رمزنگاری نیاز دارند و کلید رمزنگاری دارند با استفاده از TPM بسیار بسیار می توانند امن تر شوند .

برای مثال در حوزه امضای دیجیتال یا Digital Signing استفاده از TPM درجه امنیتی شما را بسیار بالا می برد. البته به غیر از این موارد شما از TPM در مواردی مثل مدیریت مستندات امن ، ایمیل های امن و هر سرویسی که نیاز به درجه امنیتی بالایی دارد استفاده می کنید. برای مثال اگر در فرآیند Boot یک سیستم ، تشخیص داده شود که در تنظیمات سیستم تغییراتی اتفاق افتاده است و سیستم دیگر همان سیستمی نیست که قبلا استفاده می شده است ، دسترسی به اطلاعاتی که از طریق TPM رمزنگاری شده اند برای کاربران مسدود خواهد شد تا زمانیکه مجددا تنظیمات به حالت درست برگردد.

این قابلیت ها و امکانات امنیتی که مکانیزم TPM در اختیار ما قرار می دهد می تواند درجه امنیتی را در بسیاری از حوزه های فناوری اطلاعات بالا ببرد که از آن جمله می توانیم به تجارت الکترونیک ، نرم افزارهای کاربردی امن ، بانکداری آنلاین ، نگهداری اطلاعات محرمانه سازمانی و مدیریت مستندات امن ، برقراری ارتباطات امن و هر جایی که نیاز به درجه امنیتی بالاتری باشد ، اشاره کنیم. امنیت در لایه سخت افزاری می تواند به شدت حفاظت اطلاعات ما را بالا ببرد از جمله در ارتباطاتی مثل VPN یا تجهیزات وایرلس و یا نگهداری از فایل های رمزنگاری شده ( مثل BitLocker ) و همچنین رمزهای عبور ، PIN Code ها و ... همه و همه با استفاده از TPM می توانند درجه امنیتی خودشان را به شدت افزایش بدهند.

بر اساس یک تحقیق که در سال 2007 انجام شد بیش از 100 میلیون کامپیوتر و لپ تاپ تا سال 2007 در بازار فروخته شدند که دارای قابلیت TPM بودند. امروزه اکثر تولید کنندگان سرور در دنیا نیز به سمت استفاده و قراردادن Chip های TPM بر روی محصولات خود هستند و در این حین Application های زیاد هم تولید شده اند که مکانیزمهای امنیتی خودشان را بر اساس TPM طراحی و تولید کرده اند ، برای مثل Application های ایمیل امن و یا رمزنگاری فایل و ...امیدوارم این مطلب مورد توجه شما قرار گرفته باشد.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات