خدمات امنیت شبکه

در محاسبات، **سرویس‌های امنیتی شبکه** (**NSS**) شامل مجموعه ای از کتابخانه‌هایی است که برای پشتیبانی از توسعه چند سکویی(cross platform) برنامه‌های سرویس گیرنده و سرور فعال شده با امنیت با پشتیبانی انتخابی از شتاب TLS / SSL سخت‌افزار در سمت سرور و کارت‌های هوشمند سخت‌افزاری در سمت مشتری (کاربر) طراحی شده‌اند.

NSS پیاده‌سازی کامل منبع آزاد کتابخانه‌های رمزنگاری را پشتیبانی می‌کند که از لایه امنیتی حمل و نقل (TLS) / لایه سوکت‌های امن (SSL) و S / MIME پشتیبانی می‌کنند. NSS قبلاً تحت مجوز عمومی Mozilla 1.1، GNU General Public License و GNU Lesser General Public License سه مجوز داشت، NSS با نسخه ۳٫۱۴ به MPL 2.0 سازگار با GPL ارتقا یافت.

## تاریخچه
NSS از کتابخانه‌هایی ایجاد شدکه توسعه یافتند زمانیکه Netscape پروتکل امنیتی SSL را اختراع کرد.

### اعتبار سنجی FIPS 140 و تست NISCC
ماژول رمزنگاری نرم‌افزار NSS پنج بار اعتبار سنجی شده‌است (۱۹۹۷، ۱۹۹۹، ۲۰۰۲، ۲۰۰۷ و 2010) برای انطباق با FIPS 140 در سطوح امنیتی ۱ و 2.

NSS اولین کتابخانه رمزنگاری منبع باز بود که اعتبار FIPS 140 را دریافت کرد.

کتابخانه‌های NSS از مجموعه آزمون‌های NISCC TLS / SSL و S / MIME (1.6 میلیون مورد آزمون داده‌های ورودی نامعتبر) عبور کردند.

## برنامه‌هایی که از NSS استفاده می‌کنند
AOL، Red Hat، Sun Microsystems / Oracle Corporation، Google و سایر شرکت‌ها و افراد NSS را توسعه داده‌اند.

موزیلا مخزن کد منبع، سیستم ردیابی اشکال و زیرساخت‌های لیست‌های پستی و گروه‌های بحث را فراهم می‌کند. آنها و سایرین که در زیر ذکر شده‌اند از NSS در محصولات مختلفی از جمله موارد زیر استفاده می‌کنند:
* محصولات مشتری موزیلا، از جمله Firefox، Thunderbird، SeaMonkey و Firefox برای تلفن همراه (Fennec).
* AOL Communicator و AOL Instant Messenger (AIM)
* اپرا
* برنامه‌های مشتری متن بازمانند Evolution، Pidgin و OpenOffice.org 2.0 به بعد (و فرزندان آن).
* محصولات سرور از Red Hat: Red Hat Directory Server , Red Hat Certificate System و ماژول SSL mod nss برای وب سرور Apache.
* محصولات Sun server از Sun Java Enterprise System، از جمله Sun Web System Web Server , Sun Java System Server Server , Sun Java System Portal Server , Sun Java System Messaging Server و Sun Java System Application Server، نسخه منبع باز Directory Server OpenDS.
* Libreswan IKE / IPsec به NSS احتیاج دارد. این یک چنگال Openswan است که می‌تواند به صورت اختیاری از NSS استفاده کند.

## معماری
NSS شامل چارچوبی است که توسعه دهندگان و OEMها می‌توانند تکه‌هایی مانند کد اسمبلی را برای بهینه‌سازی عملکرد در سیستم عامل خود به آنها کمک کنند.

موزیلا NSS 3.x را در ۱۸ سیستم عامل تأیید کرده‌است. NSS از Netscape Portable Runtime (NSPR) استفاده می‌کند، یک API منبع باز خنثی در سیستم عامل برای عملکردهای سیستم که برای تسهیل توسعه کراس پلتفرم طراحی شده‌است. مانند NSS , NSPR به شدت در چندین محصول استفاده شده‌است.

### بسته توسعه نرم‌افزار
علاوه بر کتابخانه‌ها و APIها، NSS ابزارهای امنیتی مورد نیاز برای اشکال زدایی، تشخیص، مدیریت گواهی و کلید، مدیریت ماژول رمزنگاری و سایر کارهای توسعه را فراهم می‌کند. NSS دارای مجموعه مستندات گسترده و در حال رشد است، از جمله مطالب مقدماتی، منابع API، صفحات `man` برای ابزارهای خط فرمان و کد نمونه.

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

### قابلیت همکاری و استانداردهای باز
NSS از طیف وسیعی از استانداردهای امنیتی، از جمله موارد زیر پشتیبانی می‌کند:
* TLS 1.0 (RFC 2246)، 1.1 (RFC 4346)، 1.2 (RFC 5246) و 1.3 (RFC 8446). پروتکل Transport Layer Security (TLS) از IETF جایگزین SSL v3.0 می‌شود در حالی که با پیاده‌سازی SSL v3 سازگار با سیستم عامل عقب است.
* SSL 3.0 پروتکل Secure Sockets Layer (SSL) امکان احراز هویت متقابل بین سرویس گیرنده و سرور و ایجاد یک اتصال معتبر و رمزگذاری شده را فراهم می‌کند.
* DTLS 1.0 (RFC 4347) و 1.2 (RFC 6347).
* DTLS-SRTP (RFC 5764).
* استانداردهای PKCS زیر:
** PKCS # 1. استاندارد RSA که بر اجرای رمزنگاری کلید عمومی بر اساس الگوریتم RSA حاکم است.
** PKCS # 3. استاندارد RSA حاکم بر اجرای توافق‌نامه اصلی دیفی هلمن.
** PKCS # 5. استاندارد RSA حاوی رمزنگاری مبتنی بر رمز عبور، به عنوان مثال برای رمزگذاری کلیدهای خصوصی برای ذخیره‌سازی.
** PKCS # 7. استاندارد RSA که حاوی کاربرد رمزنگاری در داده‌ها است، به عنوان مثال امضاهای دیجیتالی و پاکت‌های دیجیتالی.
** PKCS # 8. استاندارد RSA حاکم بر ذخیره و رمزگذاری کلیدهای خصوصی.
** PKCS # 9. استاندارد RSA حاکم بر انواع مشخصه‌های انتخاب شده، از جمله مواردی که با PKCS # 7، PKCS # 8 و PKCS # 10 استفاده می‌شوند.
** PKCS # 10. استاندارد RSA حاکم بر نحو درخواست‌های گواهی.
** PKCS # 11. استاندارد RSA که ارتباط با نشانه‌های رمزنگاری (مانند شتاب‌دهنده‌های سخت‌افزاری و کارت‌های هوشمند) را کنترل می‌کند و استقلال برنامه را از الگوریتم‌ها و پیاده‌سازی‌های خاص مجاز می‌کند.
** PKCS # 12 استاندارد RSA حاکم بر قالبی است که برای ذخیره یا حمل کلیدهای خصوصی، گواهینامه‌ها و سایر مواد مخفی استفاده می‌شود.
* نحو پیام رمزنگاری، مورد استفاده در S / MIME (RFC 2311 و RFC 2633). مشخصات پیام IETF (براساس استاندارد محبوب MIME اینترنت) که روشی ثابت برای ارسال و دریافت داده‌های MIME امضا شده و رمزگذاری شده را فراهم می‌کند.
* X.509 v3. استاندارد ITU که حاوی قالب گواهینامه‌هایی است که برای تأیید اعتبار در رمزنگاری کلید عمومی استفاده می‌شود.
* OCSP (RFC 2560). پروتکل وضعیت گواهی آنلاین (OCSP) تأیید صحت گواهی در زمان واقعی را کنترل می‌کند.
* گواهی PKIX و مشخصات CRL (RFC 3280). اولین بخش از استاندارد چهار بخشی تحت تدوین گروه کاری کلید عمومی (X.509) از IETF (معروف به PKIX) برای زیرساخت کلید عمومی برای اینترنت.
* RSA، DSA , ECDSA، Diffie – Hellman , EC Diffie – Hellman، AES، Triple DES، کاملیا، IDEA , SEED، DES , RC2، RC4، SHA-1، SHA-256، SHA-384، SHA-512، MD2، MD5، HMAC: الگوریتم‌های رمزنگاری متداول مورد استفاده در رمزنگاری کلید عمومی و کلید متقارن.
* مولد تعداد شبه عادی FIPS 186-2.

### پشتیبانی سخت‌افزار
NSS از رابط PKCS # 11 برای دسترسی به سخت‌افزار رمزنگاری مانند شتاب‌دهنده‌های TLS / SSL، ماژول‌های امنیتی سخت‌افزار و کارت‌های هوشمند پشتیبانی می‌کند. از آنجا که اکثر فروشندگان سخت‌افزار مانند SafeNet , AEP و Thales نیز از این رابط پشتیبانی می‌کنند، اگر فروشندگان میان افزار لازم را ارائه دهند، برنامه‌های دارای NSS می‌توانند با سخت‌افزار رمزنگاری پرسرعت کار کنند و از کلیدهای خصوصی مستقر در کارت‌های هوشمند مختلف استفاده کنند. NSS نسخه ۳٫۱۳ به بالا از استاندارد رمزگذاری پیشرفته جدید (AES-NI) پشتیبانی می‌کند.

### پشتیبانی از جاوا
خدمات امنیت شبکه برای جاوا (JSS) از یک رابط جاوا به NSS تشکیل شده‌است. این برنامه از اکثر استانداردهای امنیتی و فناوری‌های رمزگذاری پشتیبانی شده توسط NSS پشتیبانی می‌کند. JSS همچنین یک رابط خالص جاوا برای انواع ASN.1 و رمزگذاری BER / DER فراهم می‌کند.

## جستارهای وابسته
* امنیت اطلاعات
* مقایسه پیاده‌سازی TLS

## منابع

## پیوند به بیرون
* 

رده:استانداردهای اینترنت
رده:پروتکل‌های اینترنت
رده:موزیلا
رده:نرم‌افزارهای رمزنگاری