SlideShare a Scribd company logo
.NET FRAMEWORK APPLICATION DEVELOPMENT
FOUNDATION I
LECTURER: VAHID FARAHMANDIAN
UNDERSTANDING SECURITY
OBJECTIVES
‫بتوانید‬ ‫بایستی‬ ‫درس‬ ‫این‬ ‫انتهای‬ ‫در‬:
‫نام‬ ‫فضای‬ ‫با‬System.Security‫شد‬ ‫خواهید‬ ‫آشنا‬
Authentication‫و‬Authorization‫شناخت‬ ‫خواهید‬ ‫را‬
Cryptography‫شناخت‬ ‫خواهید‬ ‫را‬
‫با‬Code Access Security‫شد‬ ‫خواهید‬ ‫آشنا‬
UNDERSTANDING AUTHENTICATION AND AUTHORIZATION
Authentication:‫تشخیص‬ ‫و‬ ‫کاربر‬ ‫از‬ ‫اطالعات‬ ‫اخذ‬ ‫فرآیند‬
‫گویند‬ ‫را‬ ‫هویت‬.
Authorization:‫اشاره‬ ‫تشخیصی‬ ‫هویت‬ ‫براساس‬ ‫دسترسی‬ ‫سطوح‬ ‫به‬
‫دارد‬.
‫است‬ ‫شده‬ ‫پیاده‬ ‫ویندوز‬ ‫توسط‬ ‫هویت‬ ‫احراز‬ ‫روشهای‬ ‫از‬ ‫یکی‬
‫توسط‬ ‫تشخیصی‬ ‫هویت‬ ‫میشویم‬ ‫ویندوز‬ ‫وارد‬ ‫زمانیکه‬ ‫و‬.Net
‫است‬ ‫دسترس‬ ‫در‬(.Net Framework role-based Security Schema)
IIdentity:‫توسط‬WindowsIdentity‫نشان‬ ‫و‬ ‫است‬ ‫شده‬ ‫پیاده‬
‫میکند‬ ‫اجرا‬ ‫کسی‬ ‫چه‬ ‫را‬ ‫جاری‬ ‫کد‬ ‫میدهد‬
IPrincipal:‫توسط‬WindowsPrincipal‫اطالعات‬ ‫و‬ ‫است‬ ‫شده‬ ‫پیاده‬
UNDERSTANDING AUTHENTICATION AND AUTHORIZATION
‫متد‬IsInRole‫سه‬Overload‫که‬ ‫دارد‬
‫میکند‬ ‫اخذ‬ ‫را‬ ‫زیر‬ ‫های‬ ‫ورودی‬:
WindowsBuiltInRole:‫آیا‬ ‫میکند‬ ‫بررسی‬
‫ویندوز‬ ‫از‬ ‫خاصی‬ ‫گروه‬ ‫عضو‬ ‫کاربر‬
‫است؟‬
String:‫خاص‬ ‫گروه‬ ‫عضو‬ ‫کاربر‬ ‫آیا‬
‫ویئدوزی‬‫یا‬ ‫است‬ ‫شده‬ ‫ارائه‬ ‫نام‬ ‫با‬
‫خیر؟‬
Int:‫کاربر‬ ‫آیا‬ ‫که‬ ‫میکند‬ ‫بررسی‬
‫خاص‬ ‫گروه‬ ‫عضو‬‫ویندوزی‬‫با‬RID
‫خیر؟‬ ‫یا‬ ‫است‬ ‫شده‬ ‫ارائه‬
RID(Role Identifier:)‫که‬ ‫است‬ ‫کدی‬
‫و‬ ‫میشود‬ ‫ارائه‬ ‫عامل‬ ‫سیستم‬ ‫توسط‬
UNDERSTANDING AUTHENTICATION AND AUTHORIZATION
‫است‬ ‫خاص‬ ‫گروهی‬ ‫عضو‬ ‫کاربر‬ ‫آیا‬ ‫که‬ ‫کنیم‬ ‫بررسی‬ ‫تا‬ ‫است‬ ‫نیاز‬ ‫اغلب‬
‫خیر‬ ‫یا‬.‫دهد‬ ‫انجام‬ ‫را‬ ‫خاصی‬ ‫کارهای‬ ،‫بود‬ ‫عضو‬ ‫که‬ ‫صورتی‬ ‫در‬.
‫کالس‬ ‫از‬ ‫میتوان‬ ‫اینکار‬ ‫برای‬PrincipalPermission‫نمود‬ ‫استفاده‬.
‫متد‬PrincipalPermission.Demand‫جاری‬ ‫کاربر‬ ‫نقش‬ ‫آیا‬ ‫که‬ ‫میکند‬ ‫بررسی‬
‫خیر؟‬ ‫یا‬ ‫دارد‬ ‫مطابقت‬ ‫شده‬ ‫مشخص‬ ‫نقش‬ ‫با‬‫یافت‬ ‫تطابق‬ ‫که‬ ‫صورتی‬ ‫در‬
‫خطای‬ ‫نشود‬SecurityException‫میدهد‬ ‫رخ‬
UNDERSTANDING CRYPTOGRAPHY
Cryptography:‫داده‬ ‫این‬ ‫لذا‬ ‫و‬ ‫میکند‬ ‫کدگذاری‬ ‫را‬ ‫ها‬ ‫داده‬
‫بود‬ ‫نخواهد‬ ‫خواندن‬ ‫قابل‬ ‫غیرمجاز‬ ‫افراد‬ ‫توسط‬ ‫ها‬.
Encryption:‫داریم‬ ‫نت‬ ‫دات‬ ‫در‬ ‫کدگذاری‬ ‫الگوریتم‬ ‫نوع‬ ‫دو‬:
Secret-key Encryption
Public-key Encryption
‫کد‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫صورتی‬ ‫در‬ ،‫میشود‬ ‫کدگذاری‬ ‫که‬ ‫ای‬ ‫داده‬ ‫هر‬
‫گشایی‬ ‫کد‬ ‫بتواند‬ ‫بایستی‬ ‫باشد‬ ‫داشته‬ ‫گشایی‬
‫شود‬(Decryption)
USING SECRET-KEY ENCRYPTION
‫کلید‬ ‫کننده‬ ‫دریافت‬ ‫هم‬ ‫و‬ ‫کننده‬ ‫ارسال‬ ‫هم‬ ‫صورت‬ ‫این‬ ‫در‬
‫میگذارند‬ ‫اشتراک‬ ‫به‬ ‫هم‬ ‫با‬ ‫را‬ ‫کدگذاری‬.
‫و‬ ‫میکند‬ ‫گذاری‬ ‫کد‬ ‫را‬ ‫داده‬ ‫ارسال‬ ‫از‬ ‫قبل‬ ‫کننده‬ ‫ارسال‬
‫میکند‬ ‫گشایی‬ ‫کد‬ ‫را‬ ‫آن‬ ‫دریافت‬ ‫از‬ ‫بعد‬ ‫کننده‬ ‫دریافت‬.
‫نام‬ ‫تحت‬ ‫گذاری‬ ‫کد‬ ‫نوع‬ ‫این‬ ‫از‬Symmetric Encryption‫یاد‬ ‫هم‬
‫میشود‬.
‫هکر‬ ،‫شود‬ ‫استفاده‬ ‫گذاری‬ ‫کد‬ ‫برای‬ ‫کلید‬ ‫یک‬ ‫از‬ ‫فقط‬ ‫اگر‬
‫دست‬ ‫کلید‬ ‫به‬ ‫شده‬ ‫بدل‬ ‫و‬ ‫رد‬ ‫های‬ ‫داده‬ ‫مطالعه‬ ‫با‬ ‫میتواند‬
‫یابد‬.‫امر‬ ‫این‬ ‫از‬ ‫جلوگیری‬ ‫برای‬Symmetric Encryption‫یک‬ ‫از‬
Initialization Vector(IV)‫میکند‬ ‫استفاده‬(‫بصورت‬random‫تولید‬
USING SECRET-KEY ENCRYPTION
USING PUBLIC-KEY ENCRYPTION
‫میشود‬ ‫استفاده‬ ‫کلید‬ ‫جفت‬ ‫یک‬ ‫از‬ ‫حالت‬ ‫این‬ ‫در‬(privateKey,
publicKey)
‫کاربر‬1‫میکند‬ ‫ایجاد‬ ‫کلید‬ ‫جفت‬ ‫یک‬.‫نگه‬ ‫را‬ ‫خصوصی‬ ‫کلید‬ ‫سپس‬
‫کاربر‬ ‫به‬ ‫را‬ ‫عمومی‬ ‫کلید‬ ‫و‬ ‫میدارد‬2‫میکند‬ ‫ارسال‬
‫کاربر‬2‫گذاری‬ ‫کد‬ ‫را‬ ‫پیام‬ ‫و‬ ‫کرده‬ ‫دریافت‬ ‫را‬ ‫عمومی‬ ‫کلید‬
‫کاربر‬ ‫به‬ ‫را‬ ‫آن‬ ‫و‬ ‫میکند‬1‫میکند‬ ‫ارسال‬
‫کاربر‬1‫خصوصی‬ ‫کلید‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ‫کرده‬ ‫دریافت‬ ‫را‬ ‫پیام‬
‫میکند‬ ‫گشایی‬ ‫کد‬ ‫را‬ ‫پیام‬
‫جمله‬ ‫از‬ ‫دارد‬ ‫وجود‬ ‫اینکار‬ ‫برای‬ ‫مختلفی‬ ‫های‬ ‫کالس‬
RSACryptoServiceProvider
USING PUBLIC-KEY ENCRYPTION
UNDERSTANDING CODE ACCESS SECURITY
‫م‬ ‫که‬ ‫میشود‬ ‫مشخص‬ ‫آن‬ ‫طریق‬ ‫به‬ ‫که‬ ‫است‬ ‫مکانیزمی‬‫ت‬‫حال‬ ‫در‬ ‫د‬
‫دارد‬ ‫را‬ ‫کاری‬ ‫چه‬ ‫انجام‬ ‫اجازه‬ ‫سیستم‬ ‫روی‬ ‫اجرا‬.‫برای‬
‫نمود‬ ‫استفاده‬ ‫میتوان‬ ‫حالت‬ ‫دو‬ ‫از‬ ‫اینکار‬:
‫میشود‬ ‫اجرا‬ ‫ناامن‬ ‫یا‬ ‫نامشخص‬ ‫منبع‬ ‫یک‬ ‫از‬ ‫کد‬ ‫اینکه‬ ‫تشخیص‬
‫این‬ ‫از‬ ،‫باشد‬ ‫شده‬ ‫تعریف‬ ‫قبال‬ ‫انجام‬ ‫برای‬ ‫مجاز‬ ‫عملیات‬ ‫اگر‬
‫نمود‬ ‫شناسایی‬ ‫را‬ ‫مجاز‬ ‫غیر‬ ‫عملیات‬ ‫میتوان‬ ‫طریق‬.
Transparency:‫دسترسی‬ ‫با‬ ‫کد‬ ‫آن‬ ‫طریق‬ ‫به‬ ‫که‬ ‫است‬ ‫مکانیزمی‬
‫مجاز‬(Critical Code)‫غیر‬ ‫دسترسی‬ ‫با‬ ‫کد‬ ‫از‬ ‫را‬
‫مجاز‬(Transparent Code)‫میسازد‬ ‫جدا‬.
UNDERSTANDING CODE ACCESS SECURITY
‫نت‬ ‫دات‬ ‫در‬4‫نسخه‬Transparency Level 2‫آن‬ ‫طی‬ ‫در‬ ‫و‬ ‫شد‬ ‫ارائه‬
‫میشوند‬ ‫تقسیم‬ ‫دسته‬ ‫سه‬ ‫به‬ ‫کدها‬:
Transparent:‫به‬ ‫حساس‬ ‫کارهای‬ ‫انجام‬ ‫به‬ ‫مجاز‬Security
‫نیستند‬.‫نمیتوانند‬unsafe code‫کدهای‬ ‫یا‬Security-Critical‫را‬
‫بزنند‬ ‫صدا‬
Security-Critical:‫دهند‬ ‫انجام‬ ‫کاری‬ ‫هر‬ ‫میتوانند‬.‫داخل‬ ‫از‬
‫کد‬Transparent‫نیستند‬ ‫شدن‬ ‫زده‬ ‫صدا‬ ‫قابل‬
Safe-Critical:‫دهند‬ ‫انجام‬ ‫کاری‬ ‫هر‬ ‫میتوانند‬..‫های‬ ‫چک‬
‫به‬ ‫حساس‬ ‫کد‬ ‫زدن‬ ‫صدا‬ ‫از‬ ‫قبل‬ ‫را‬ ‫منظمی‬ ‫امنیتی‬Security
‫میدهد‬ ‫انجام‬.‫کدهای‬ ‫طریق‬ ‫از‬Transparent‫زدن‬ ‫صدا‬ ‫قابل‬
UNDERSTANDING CODE ACCESS SECURITY
Evidence‫اسمبلی‬ ‫میسازد‬ ‫مشخص‬
‫است‬ ‫گرفته‬ ‫نشات‬ ‫کجا‬ ‫از‬
‫فرض‬ ‫پیش‬ ‫مقدار‬SecurityRuleSet
‫با‬ ‫برابر‬Level2‫از‬ ‫ولی‬ ‫است‬
‫طریق‬
[assembly: SecurityRules(SecurityRuleSet.Level2)]
‫داد‬ ‫تغییر‬ ‫را‬ ‫آن‬ ‫میتوان‬
MANAGING PERMISSIONS
Permission:‫میتواند‬ ‫کد‬ ‫که‬ ‫دارد‬ ‫عملی‬ ‫به‬ ‫اشاره‬/‫نمیتواند‬
‫دهد‬ ‫انجام‬ ‫را‬ ‫آن‬
‫نام‬ ‫فضای‬ ‫درون‬ ‫امر‬ ‫این‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫کالس‬
System.Security.Permissions‫دارند‬ ‫قرار‬
‫از‬ ‫استفاده‬ ‫با‬ ‫اینکار‬ ‫برای‬AppDomain.CreateDomain‫یک‬
Security Sandbox‫میشود‬ ‫ایجاد‬
WORKING WITH ACCESS CONTROL
Access Control‫دسترسی‬ ‫مختلف‬ ‫منابع‬ ‫به‬ ‫کسی‬ ‫چه‬ ‫میسازد‬ ‫مشخص‬
‫دارد‬.
ACL‫دارد‬ ‫بخش‬ ‫دو‬:
Access Token:‫وقتی‬Login‫یک‬ ‫وی‬ ‫برای‬ ‫سیستم‬ ‫باشد‬ ‫موفق‬ ‫کاربر‬
Access Token‫میکند‬ ‫ایجاد‬.‫هر‬process‫یک‬ ‫کاربر‬ ‫این‬ ‫به‬ ‫مربوط‬
‫از‬ ‫کپی‬Token‫داشت‬ ‫خواهد‬ ‫را‬.‫این‬Token‫و‬ ‫ها‬ ‫دسترسی‬ ‫حاوی‬
‫میباشد‬ ‫کاربر‬ ‫انحصاری‬ ‫تشخیصی‬ ‫کد‬
Security Descriptor:‫میباشد‬ ‫آبجکت‬ ‫مالک‬ ‫نمایانگر‬.
KEY TERMS
 Authentication
 Authorization
 Code Access Security
 Cryptography
 Permissions
 Public-key Encryption
 Secret-key Encryption
 Transparency Level 2

More Related Content

PPSX
security in network
PDF
PPT
E commerce security
PPSX
Amniat(ghasemi)
PPSX
E commerce security(without animation)
PPTX
E Commerce Security
POT
Default
security in network
E commerce security
Amniat(ghasemi)
E commerce security(without animation)
E Commerce Security
Default

Similar to Understanding Security in .Net Framework (20)

PPTX
Security in internet shopping
PPTX
Security in internet shopping
PPTX
security in internet shopping
PPT
Information security & isms
PDF
Mitm iran
PDF
M.nemati ssl&tls
PPS
Aliakbarhassanpour securityproject
PPT
Amniat
PPTX
Rajabi security project
PPTX
Rajabi security project
PPTX
Authentication
PPSX
Authentication
PPTX
Authentication
PPTX
Authentication
PDF
Network-security muhibullah aman-first edition-in Persian
PDF
انواع ارزیابی های امنیتی و مراحل تست و نفوذ
PPS
Aliakbarhassanpour securityproject
PPTX
Network security
PPTX
امنیت در شبکه های Wi-Fi
PPTX
Security in internet shopping
Security in internet shopping
security in internet shopping
Information security & isms
Mitm iran
M.nemati ssl&tls
Aliakbarhassanpour securityproject
Amniat
Rajabi security project
Rajabi security project
Authentication
Authentication
Authentication
Authentication
Network-security muhibullah aman-first edition-in Persian
انواع ارزیابی های امنیتی و مراحل تست و نفوذ
Aliakbarhassanpour securityproject
Network security
امنیت در شبکه های Wi-Fi
Ad

More from Vahid Farahmandian (8)

PPTX
Core C# Programming Constructs, Part 1
PPTX
Building C# Applications
PPTX
The Philosophy of .Net
PPTX
C#.net evolution part 2
PPTX
Introduction to SOA
PPTX
Introduction to CRM
PPTX
C#.net Evolution part 1
PPTX
Interview tips
Core C# Programming Constructs, Part 1
Building C# Applications
The Philosophy of .Net
C#.net evolution part 2
Introduction to SOA
Introduction to CRM
C#.net Evolution part 1
Interview tips
Ad

Understanding Security in .Net Framework

  • 1. .NET FRAMEWORK APPLICATION DEVELOPMENT FOUNDATION I LECTURER: VAHID FARAHMANDIAN UNDERSTANDING SECURITY
  • 2. OBJECTIVES ‫بتوانید‬ ‫بایستی‬ ‫درس‬ ‫این‬ ‫انتهای‬ ‫در‬: ‫نام‬ ‫فضای‬ ‫با‬System.Security‫شد‬ ‫خواهید‬ ‫آشنا‬ Authentication‫و‬Authorization‫شناخت‬ ‫خواهید‬ ‫را‬ Cryptography‫شناخت‬ ‫خواهید‬ ‫را‬ ‫با‬Code Access Security‫شد‬ ‫خواهید‬ ‫آشنا‬
  • 3. UNDERSTANDING AUTHENTICATION AND AUTHORIZATION Authentication:‫تشخیص‬ ‫و‬ ‫کاربر‬ ‫از‬ ‫اطالعات‬ ‫اخذ‬ ‫فرآیند‬ ‫گویند‬ ‫را‬ ‫هویت‬. Authorization:‫اشاره‬ ‫تشخیصی‬ ‫هویت‬ ‫براساس‬ ‫دسترسی‬ ‫سطوح‬ ‫به‬ ‫دارد‬. ‫است‬ ‫شده‬ ‫پیاده‬ ‫ویندوز‬ ‫توسط‬ ‫هویت‬ ‫احراز‬ ‫روشهای‬ ‫از‬ ‫یکی‬ ‫توسط‬ ‫تشخیصی‬ ‫هویت‬ ‫میشویم‬ ‫ویندوز‬ ‫وارد‬ ‫زمانیکه‬ ‫و‬.Net ‫است‬ ‫دسترس‬ ‫در‬(.Net Framework role-based Security Schema) IIdentity:‫توسط‬WindowsIdentity‫نشان‬ ‫و‬ ‫است‬ ‫شده‬ ‫پیاده‬ ‫میکند‬ ‫اجرا‬ ‫کسی‬ ‫چه‬ ‫را‬ ‫جاری‬ ‫کد‬ ‫میدهد‬ IPrincipal:‫توسط‬WindowsPrincipal‫اطالعات‬ ‫و‬ ‫است‬ ‫شده‬ ‫پیاده‬
  • 4. UNDERSTANDING AUTHENTICATION AND AUTHORIZATION ‫متد‬IsInRole‫سه‬Overload‫که‬ ‫دارد‬ ‫میکند‬ ‫اخذ‬ ‫را‬ ‫زیر‬ ‫های‬ ‫ورودی‬: WindowsBuiltInRole:‫آیا‬ ‫میکند‬ ‫بررسی‬ ‫ویندوز‬ ‫از‬ ‫خاصی‬ ‫گروه‬ ‫عضو‬ ‫کاربر‬ ‫است؟‬ String:‫خاص‬ ‫گروه‬ ‫عضو‬ ‫کاربر‬ ‫آیا‬ ‫ویئدوزی‬‫یا‬ ‫است‬ ‫شده‬ ‫ارائه‬ ‫نام‬ ‫با‬ ‫خیر؟‬ Int:‫کاربر‬ ‫آیا‬ ‫که‬ ‫میکند‬ ‫بررسی‬ ‫خاص‬ ‫گروه‬ ‫عضو‬‫ویندوزی‬‫با‬RID ‫خیر؟‬ ‫یا‬ ‫است‬ ‫شده‬ ‫ارائه‬ RID(Role Identifier:)‫که‬ ‫است‬ ‫کدی‬ ‫و‬ ‫میشود‬ ‫ارائه‬ ‫عامل‬ ‫سیستم‬ ‫توسط‬
  • 5. UNDERSTANDING AUTHENTICATION AND AUTHORIZATION ‫است‬ ‫خاص‬ ‫گروهی‬ ‫عضو‬ ‫کاربر‬ ‫آیا‬ ‫که‬ ‫کنیم‬ ‫بررسی‬ ‫تا‬ ‫است‬ ‫نیاز‬ ‫اغلب‬ ‫خیر‬ ‫یا‬.‫دهد‬ ‫انجام‬ ‫را‬ ‫خاصی‬ ‫کارهای‬ ،‫بود‬ ‫عضو‬ ‫که‬ ‫صورتی‬ ‫در‬. ‫کالس‬ ‫از‬ ‫میتوان‬ ‫اینکار‬ ‫برای‬PrincipalPermission‫نمود‬ ‫استفاده‬. ‫متد‬PrincipalPermission.Demand‫جاری‬ ‫کاربر‬ ‫نقش‬ ‫آیا‬ ‫که‬ ‫میکند‬ ‫بررسی‬ ‫خیر؟‬ ‫یا‬ ‫دارد‬ ‫مطابقت‬ ‫شده‬ ‫مشخص‬ ‫نقش‬ ‫با‬‫یافت‬ ‫تطابق‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫خطای‬ ‫نشود‬SecurityException‫میدهد‬ ‫رخ‬
  • 6. UNDERSTANDING CRYPTOGRAPHY Cryptography:‫داده‬ ‫این‬ ‫لذا‬ ‫و‬ ‫میکند‬ ‫کدگذاری‬ ‫را‬ ‫ها‬ ‫داده‬ ‫بود‬ ‫نخواهد‬ ‫خواندن‬ ‫قابل‬ ‫غیرمجاز‬ ‫افراد‬ ‫توسط‬ ‫ها‬. Encryption:‫داریم‬ ‫نت‬ ‫دات‬ ‫در‬ ‫کدگذاری‬ ‫الگوریتم‬ ‫نوع‬ ‫دو‬: Secret-key Encryption Public-key Encryption ‫کد‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫صورتی‬ ‫در‬ ،‫میشود‬ ‫کدگذاری‬ ‫که‬ ‫ای‬ ‫داده‬ ‫هر‬ ‫گشایی‬ ‫کد‬ ‫بتواند‬ ‫بایستی‬ ‫باشد‬ ‫داشته‬ ‫گشایی‬ ‫شود‬(Decryption)
  • 7. USING SECRET-KEY ENCRYPTION ‫کلید‬ ‫کننده‬ ‫دریافت‬ ‫هم‬ ‫و‬ ‫کننده‬ ‫ارسال‬ ‫هم‬ ‫صورت‬ ‫این‬ ‫در‬ ‫میگذارند‬ ‫اشتراک‬ ‫به‬ ‫هم‬ ‫با‬ ‫را‬ ‫کدگذاری‬. ‫و‬ ‫میکند‬ ‫گذاری‬ ‫کد‬ ‫را‬ ‫داده‬ ‫ارسال‬ ‫از‬ ‫قبل‬ ‫کننده‬ ‫ارسال‬ ‫میکند‬ ‫گشایی‬ ‫کد‬ ‫را‬ ‫آن‬ ‫دریافت‬ ‫از‬ ‫بعد‬ ‫کننده‬ ‫دریافت‬. ‫نام‬ ‫تحت‬ ‫گذاری‬ ‫کد‬ ‫نوع‬ ‫این‬ ‫از‬Symmetric Encryption‫یاد‬ ‫هم‬ ‫میشود‬. ‫هکر‬ ،‫شود‬ ‫استفاده‬ ‫گذاری‬ ‫کد‬ ‫برای‬ ‫کلید‬ ‫یک‬ ‫از‬ ‫فقط‬ ‫اگر‬ ‫دست‬ ‫کلید‬ ‫به‬ ‫شده‬ ‫بدل‬ ‫و‬ ‫رد‬ ‫های‬ ‫داده‬ ‫مطالعه‬ ‫با‬ ‫میتواند‬ ‫یابد‬.‫امر‬ ‫این‬ ‫از‬ ‫جلوگیری‬ ‫برای‬Symmetric Encryption‫یک‬ ‫از‬ Initialization Vector(IV)‫میکند‬ ‫استفاده‬(‫بصورت‬random‫تولید‬
  • 9. USING PUBLIC-KEY ENCRYPTION ‫میشود‬ ‫استفاده‬ ‫کلید‬ ‫جفت‬ ‫یک‬ ‫از‬ ‫حالت‬ ‫این‬ ‫در‬(privateKey, publicKey) ‫کاربر‬1‫میکند‬ ‫ایجاد‬ ‫کلید‬ ‫جفت‬ ‫یک‬.‫نگه‬ ‫را‬ ‫خصوصی‬ ‫کلید‬ ‫سپس‬ ‫کاربر‬ ‫به‬ ‫را‬ ‫عمومی‬ ‫کلید‬ ‫و‬ ‫میدارد‬2‫میکند‬ ‫ارسال‬ ‫کاربر‬2‫گذاری‬ ‫کد‬ ‫را‬ ‫پیام‬ ‫و‬ ‫کرده‬ ‫دریافت‬ ‫را‬ ‫عمومی‬ ‫کلید‬ ‫کاربر‬ ‫به‬ ‫را‬ ‫آن‬ ‫و‬ ‫میکند‬1‫میکند‬ ‫ارسال‬ ‫کاربر‬1‫خصوصی‬ ‫کلید‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ‫کرده‬ ‫دریافت‬ ‫را‬ ‫پیام‬ ‫میکند‬ ‫گشایی‬ ‫کد‬ ‫را‬ ‫پیام‬ ‫جمله‬ ‫از‬ ‫دارد‬ ‫وجود‬ ‫اینکار‬ ‫برای‬ ‫مختلفی‬ ‫های‬ ‫کالس‬ RSACryptoServiceProvider
  • 11. UNDERSTANDING CODE ACCESS SECURITY ‫م‬ ‫که‬ ‫میشود‬ ‫مشخص‬ ‫آن‬ ‫طریق‬ ‫به‬ ‫که‬ ‫است‬ ‫مکانیزمی‬‫ت‬‫حال‬ ‫در‬ ‫د‬ ‫دارد‬ ‫را‬ ‫کاری‬ ‫چه‬ ‫انجام‬ ‫اجازه‬ ‫سیستم‬ ‫روی‬ ‫اجرا‬.‫برای‬ ‫نمود‬ ‫استفاده‬ ‫میتوان‬ ‫حالت‬ ‫دو‬ ‫از‬ ‫اینکار‬: ‫میشود‬ ‫اجرا‬ ‫ناامن‬ ‫یا‬ ‫نامشخص‬ ‫منبع‬ ‫یک‬ ‫از‬ ‫کد‬ ‫اینکه‬ ‫تشخیص‬ ‫این‬ ‫از‬ ،‫باشد‬ ‫شده‬ ‫تعریف‬ ‫قبال‬ ‫انجام‬ ‫برای‬ ‫مجاز‬ ‫عملیات‬ ‫اگر‬ ‫نمود‬ ‫شناسایی‬ ‫را‬ ‫مجاز‬ ‫غیر‬ ‫عملیات‬ ‫میتوان‬ ‫طریق‬. Transparency:‫دسترسی‬ ‫با‬ ‫کد‬ ‫آن‬ ‫طریق‬ ‫به‬ ‫که‬ ‫است‬ ‫مکانیزمی‬ ‫مجاز‬(Critical Code)‫غیر‬ ‫دسترسی‬ ‫با‬ ‫کد‬ ‫از‬ ‫را‬ ‫مجاز‬(Transparent Code)‫میسازد‬ ‫جدا‬.
  • 12. UNDERSTANDING CODE ACCESS SECURITY ‫نت‬ ‫دات‬ ‫در‬4‫نسخه‬Transparency Level 2‫آن‬ ‫طی‬ ‫در‬ ‫و‬ ‫شد‬ ‫ارائه‬ ‫میشوند‬ ‫تقسیم‬ ‫دسته‬ ‫سه‬ ‫به‬ ‫کدها‬: Transparent:‫به‬ ‫حساس‬ ‫کارهای‬ ‫انجام‬ ‫به‬ ‫مجاز‬Security ‫نیستند‬.‫نمیتوانند‬unsafe code‫کدهای‬ ‫یا‬Security-Critical‫را‬ ‫بزنند‬ ‫صدا‬ Security-Critical:‫دهند‬ ‫انجام‬ ‫کاری‬ ‫هر‬ ‫میتوانند‬.‫داخل‬ ‫از‬ ‫کد‬Transparent‫نیستند‬ ‫شدن‬ ‫زده‬ ‫صدا‬ ‫قابل‬ Safe-Critical:‫دهند‬ ‫انجام‬ ‫کاری‬ ‫هر‬ ‫میتوانند‬..‫های‬ ‫چک‬ ‫به‬ ‫حساس‬ ‫کد‬ ‫زدن‬ ‫صدا‬ ‫از‬ ‫قبل‬ ‫را‬ ‫منظمی‬ ‫امنیتی‬Security ‫میدهد‬ ‫انجام‬.‫کدهای‬ ‫طریق‬ ‫از‬Transparent‫زدن‬ ‫صدا‬ ‫قابل‬
  • 13. UNDERSTANDING CODE ACCESS SECURITY Evidence‫اسمبلی‬ ‫میسازد‬ ‫مشخص‬ ‫است‬ ‫گرفته‬ ‫نشات‬ ‫کجا‬ ‫از‬ ‫فرض‬ ‫پیش‬ ‫مقدار‬SecurityRuleSet ‫با‬ ‫برابر‬Level2‫از‬ ‫ولی‬ ‫است‬ ‫طریق‬ [assembly: SecurityRules(SecurityRuleSet.Level2)] ‫داد‬ ‫تغییر‬ ‫را‬ ‫آن‬ ‫میتوان‬
  • 14. MANAGING PERMISSIONS Permission:‫میتواند‬ ‫کد‬ ‫که‬ ‫دارد‬ ‫عملی‬ ‫به‬ ‫اشاره‬/‫نمیتواند‬ ‫دهد‬ ‫انجام‬ ‫را‬ ‫آن‬ ‫نام‬ ‫فضای‬ ‫درون‬ ‫امر‬ ‫این‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫کالس‬ System.Security.Permissions‫دارند‬ ‫قرار‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫اینکار‬ ‫برای‬AppDomain.CreateDomain‫یک‬ Security Sandbox‫میشود‬ ‫ایجاد‬
  • 15. WORKING WITH ACCESS CONTROL Access Control‫دسترسی‬ ‫مختلف‬ ‫منابع‬ ‫به‬ ‫کسی‬ ‫چه‬ ‫میسازد‬ ‫مشخص‬ ‫دارد‬. ACL‫دارد‬ ‫بخش‬ ‫دو‬: Access Token:‫وقتی‬Login‫یک‬ ‫وی‬ ‫برای‬ ‫سیستم‬ ‫باشد‬ ‫موفق‬ ‫کاربر‬ Access Token‫میکند‬ ‫ایجاد‬.‫هر‬process‫یک‬ ‫کاربر‬ ‫این‬ ‫به‬ ‫مربوط‬ ‫از‬ ‫کپی‬Token‫داشت‬ ‫خواهد‬ ‫را‬.‫این‬Token‫و‬ ‫ها‬ ‫دسترسی‬ ‫حاوی‬ ‫میباشد‬ ‫کاربر‬ ‫انحصاری‬ ‫تشخیصی‬ ‫کد‬ Security Descriptor:‫میباشد‬ ‫آبجکت‬ ‫مالک‬ ‫نمایانگر‬.
  • 16. KEY TERMS  Authentication  Authorization  Code Access Security  Cryptography  Permissions  Public-key Encryption  Secret-key Encryption  Transparency Level 2