.TH IPSEC.SECRETS 5 "2011-12-14" "6.1.0" "strongSwan" .SH "نام (NAME)" ipsec.secrets \- اطلاعات و کلیدهای محرمانه برای احراز هویت IKE/IPsec .SH "توضیحات (DESCRIPTION)" فایل \fIipsec.secrets\fP جدولی از اطلاعات و کلیدهای محرمانه را نگه‌داری می‌کند. این اطلاعات محرمانه توسط دیمن‌های تبادل کلید اینترنتی (IKE) در strongSwan شامل pluto (برای IKEv1) و charon (برای IKEv2) جهت احراز هویت سایر میزبان‌ها استفاده می‌شوند. .LP محافظت از این کلیدهای محرمانه امری حیاتی است. مالکیت این فایل باید متعلق به کاربر ارشد (ریشه) باشد و مجوزهای دسترسی آن باید به‌گونه‌ای تنظیم شوند که هرگونه دسترسی برای دیگران مسدود گردد. .LP این فایل از توالی مدخل‌ها (ورودی‌ها) و دستورالعمل‌های include تشکیل شده است. در ادامه یک نمونه آورده شده است. .LP .RS .nf # /etc/ipsec.secrets - strongSwan IPsec secrets file 192.168.0.1 %any : PSK "v+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL" : RSA moonKey.pem alice@strongswan.org : EAP "x3.dEhgN" carol : XAUTH "4iChxLT3" dave : XAUTH "ryftzG4A" # get secrets from other files include ipsec.*.secrets .fi .RE .LP هر مدخل در فایل فهرستی از گزینش‌گرهای اختیاری شناسه (ID selectors) است که در ادامه آن یک کلید محرمانه قرار دارد. این دو بخش با یک علامت دونقطه (\fB:\fP) که با فاصله‌های خالی احاطه شده است از هم جدا می‌شوند. اگر هیچ گزینش‌گر شناسه‌ای مشخص نشده باشد، خط باید با یک دونقطه آغاز شود. .LP یک گزینش‌گر می‌تواند یک نشانی IP، یک نام دامنه کاملاً مشخص (FQDN)، ساختار user@FQDN، \fB%any\fP یا \fB%any6\fP باشد (انواع دیگری نیز ممکن است در آینده اضافه شوند). .LP تطبیق شناسه‌ها با گزینش‌گرها کاملاً سرراست است: آن‌ها باید برابر باشند. در مورد یک اتصال «مشتری سیار» (Road Warrior)، اگر تطابق برابری برای شناسه همتا (Peer's ID) یافت نشود و آن شناسه در قالب یک نشانی IP باشد، گزینش‌گر \fB%any\fP در صورت استفاده از IPv4 و گزینش‌گر \fB%any6\fP در صورت استفاده از IPv6 با نشانی IP همتا مطابقت خواهد داشت. در حال حاضر، نماد منسوخ‌شده \fB0.0.0.0\fP می‌تواند به جای \fB%any\fP استفاده شود. .LP در IKEv1 در صورت احراز هویت با استفاده از کلید محرمانه از پیش به‌اشتراک‌گذاشته‌شده، یک پیچیدگی مضاعف رخ می‌دهد: پاسخ‌دهنده باید پیش از آنکه بار داده شناسه همتا (Peer's ID payload) رمزگشایی شود، کلید محرمانه را جستجو کند، بنابراین شناسه استفاده‌شده همان نشانی IP خواهد بود. .LP برای احراز هویت یک اتصال میان دو میزبان، مدخلی استفاده می‌شود که دقیق‌ترین تطابق را با شناسه میزبان و شناسه همتا داشته باشد. مدخلی بدون هیچ گزینش‌گر با هر میزبان و همتایی مطابقت خواهد داشت. به‌طور مشخص‌تر، مدخلی با یک گزینش‌گر در صورتی با یک میزبان و همتا مطابقت می‌کند که گزینش‌گر با شناسه میزبان همخوانی داشته باشد (همتا در نظر گرفته نمی‌شود). هنوز مشخص‌تر، مدخلی با چندین گزینش‌گر در صورتی با یک میزبان و همتا مطابقت خواهد کرد که شناسه میزبان و شناسه همتا هر کدام با یکی از گزینش‌گرها تطابق داشته باشند. اگر کلید برای یک روش احراز هویت نامتقارن باشد (مانند یک سامانه کلید عمومی نظیر RSA)، مدخلی با چندین گزینش‌گر با میزبان و همتا مطابقت می‌کند حتی اگر تنها شناسه میزبان با یک گزینش‌گر مطابقت داشته باشد (فرض بر این است که همه گزینش‌گرها هویت‌های میزبان هستند). تا زمانی که دو مدخل در مورد کلید محرمانه یا کلید خصوصی با یکدیگر توافق داشته باشند، قرار گرفتن هر دوی آن‌ها به عنوان بهترین تطابق قابل قبول است. .LP احراز هویت با کلید محرمانه از پیش به‌اشتراک‌گذاشته‌شده مستلزم آن است که هر دو سیستم کلید محرمانه یکسانی را بیابند (کلید محرمانه در واقع توسط پروتکل IKE مخابره نمی‌شود). اگر هم میزبان و هم همتا در فهرست گزینش‌گرها ظاهر شوند، همان مدخل برای هر دو سیستم مناسب خواهد بود و می‌توان از رونوشت عین به عین میان سیستم‌ها استفاده کرد. این امر طبیعتاً به گروه‌های بزرگ‌تری که همان کلید محرمانه را به اشتراک می‌گذارند نیز تعمیم می‌یابد. بنابراین، مدخل‌های دارای چند گزینش‌گر بهترین انتخاب برای احراز هویت PSK هستند. .LP احراز هویت از طریق سامانه‌های کلید عمومی مانند RSA مستلزم آن است که هر میزبان کلید خصوصی ویژه خود را داشته باشد. یک میزبان می‌تواند به‌طور معقول از کلیدهای خصوصی متفاوتی برای رابط‌های مختلف و همتاهای مختلف استفاده کند، اما به اشتراک گذاشتن مدخل‌ها میان سیستم‌ها عادی نخواهد بود. بنابراین، شکل‌های بدون گزینش‌گر و تک‌گزینش‌گری مدخل‌ها اغلب برای احراز هویت کلید عمومی منطقی هستند. .LP بخش کلید در یک مدخل باید با یک نشانه (token) آغاز شود که نوع کلید را مشخص می‌کند. در حال حاضر انواع زیر از کلیدهای محرمانه پشتیبانی می‌شوند: .TP .B PSK یک کلید از پیش به‌اشتراک‌گذاشته‌شده (pre-shared key) را تعریف می‌کند .TP .B RSA یک کلید خصوصی RSA را تعریف می‌کند .TP .B ECDSA یک کلید خصوصی ECDSA را تعریف می‌کند .TP .B P12 یک نگه‌دارنده PKCS#12 را تعریف می‌کند .TP .B EAP اعتبارنامه‌های EAP را تعریف می‌کند .TP .B NTLM اعتبارنامه‌های NTLM را تعریف می‌کند .TP .B XAUTH اعتبارنامه‌های XAUTH را تعریف می‌کند .TP .B PIN کد پین (PIN) کارت هوشمند را تعریف می‌کند .LP جزئیات مربوط به هر نوع کلید محرمانه در ادامه آمده است. .LP فاصله‌های خالی انتهای خط نادیده گرفته می‌شوند. در ابتدای خط یا پس از فاصله خالی، کاراکتر \fB#\fP و متن پس از آن تا انتهای خط به عنوان توضیح (comment) در نظر گرفته می‌شود. .LP یک دستورالعمل include سبب می‌شود پیش از ادامه پردازش فایل جاری، محتویات فایل نام‌برده‌شده پردازش شود. نام فایل مشمول قابلیت تطبیق الگو («globbing») مانند \fIsh\fP(1) است، بنابراین هر فایلی با نام منطبق پردازش می‌شود. دستورهای include می‌توانند تا عمق متعارفی (در حال حاضر ۱۰ سطح) به‌صورت تو در تو باشند. اگر نام فایل با یک \fB/\fP آغاز نشود، پوشه حاوی فایل جاری به ابتدای نام اضافه می‌شود. دستورالعمل include خطی است که با واژه \fBinclude\fP آغاز شده و پس از آن فاصله خالی و سپس نام فایل (که نباید شامل فاصله خالی باشد) می‌آید. .SS "انواع اطلاعات محرمانه (TYPES OF SECRETS)" .TP .B [ ] : PSK یک کلید محرمانه از پیش به‌اشتراک‌گذاشته‌شده (\fIsecret\fP) به ساده‌ترین شکل به عنوان دنباله‌ای از کاراکترها نمایش داده می‌شود که در میان کاراکترهای نقل‌قول دوتایی (\fB"\fP) قرار گرفته است. این دنباله نمی‌تواند شامل خط جدید یا کاراکترهای نقل‌قول دوتایی باشد. .br به‌عنوان روش جایگزین، کلیدهای محرمانه از پیش به‌اشتراک‌گذاشته‌شده را می‌توان به عنوان مقادیر باینری کدگذاری‌شده با هگزادسیمال یا Base64 نمایش داد. دنباله کاراکتری که با .B 0x آغاز شود به عنوان دنباله‌ای از ارقام هگزادسیمال تفسیر می‌شود. به همین ترتیب، دنباله کاراکتری که با .B 0s آغاز شود به عنوان داده باینری کدگذاری‌شده با Base64 تفسیر می‌گردد. .TP .B : RSA [ | %prompt ] .TQ .B : ECDSA [ | %prompt ] برای فایل کلید خصوصی، هم مسیرهای مطلق و هم مسیرهای نسبی نسبت به \fI/etc/ipsec.d/private\fP پذیرفته می‌شوند. اگر فایل کلید خصوصی رمزگذاری شده باشد، عبارت عبور (\fIpassphrase\fP) باید تعریف شود. به‌جای عبارت عبور، می‌توان از .B %prompt استفاده کرد که در این صورت دیمن هر زمان که برای رمزگشایی کلید لازم باشد، رمز عبور را از کاربر درخواست می‌کند. .TP .B : P12 [ | %prompt ] برای فایل PKCS#12، هم مسیرهای مطلق و هم مسیرهای نسبی نسبت به \fI/etc/ipsec.d/private\fP پذیرفته می‌شوند. اگر نگه‌دارنده رمزگذاری شده باشد، عبارت عبور (\fIpassphrase\fP) باید تعریف شود. به‌جای عبارت عبور، می‌توان از .B %prompt استفاده کرد که سبب می‌شود دیمن هرگاه برای رمزگشایی نگه‌دارنده لازم باشد، رمز عبور را از کاربر بپرسد. کلیدهای خصوصی، گواهی‌های کلاینت و CA از نگه‌دارنده استخراج می‌شوند. برای استفاده از چنین گواهی کلاینتی در یک اتصال، مقدار leftid را روی یکی از موضوع‌های (subjects) گواهی تنظیم کنید. .TP .B : EAP قالب \fIsecret\fP همانند کلیدهای محرمانه \fBPSK\fP است. .br کلیدهای محرمانه \fBEAP\fP تنها ویژه IKEv2 هستند. .TP .B : NTLM قالب \fIsecret\fP همانند کلیدهای محرمانه \fBPSK\fP است، اما کلید محرمانه به‌جای متن آشکار، به عنوان هش NTLM که برابر با MD4(UTF-16LE(secret)) است ذخیره می‌شود. .br کلیدهای محرمانه \fBNTLM\fP تنها با افزونه \fBeap-mschapv2\fP قابل استفاده هستند. .TP .B [ ] : XAUTH قالب \fIpassword\fP همانند کلیدهای محرمانه \fBPSK\fP است. کلیدهای محرمانه \fBXAUTH\fP تنها ویژه IKEv1 هستند. .TP .B : PIN %smartcard[[@]]: | %prompt گزینش‌گر کارت هوشمند همیشه نیازمند یک keyid است تا کلید صحیح را به‌طور یکتا انتخاب کند. شماره شیار (slot number) شیار روی توکن را مشخص می‌کند، و نام ماژول به نام ماژول تعریف‌شده در strongswan.conf(5) اشاره دارد. به‌جای تعیین ایستا کد پین، می‌توان .B %prompt را مشخص کرد که باعث می‌شود دیمن کد پین را از کاربر درخواست کند. .LP .SH "فایل‌ها (FILES)" /etc/ipsec.secrets .SH "همچنین ببینید (SEE ALSO)" ipsec.conf(5), strongswan.conf(5), ipsec(8) .br .SH "تاریخچه (HISTORY)" در ابتدا توسط D. Hugh Redelmeier برای پروژه FreeS/WAN نوشته شد. توسط Tobias Brunner و Andreas Steffen برای پروژه strongSwan به‌روزرسانی و گسترش یافت. .SH "اشکالات (BUGS)" اگر شناسه برابر با \fB0.0.0.0\fP باشد، با \fB%any\fP تطابق می‌یابد؛ و اگر برابر با \fB0::0\fP باشد، با \fB%any6\fP تطابق خواهد داشت.