Week 5 Authentication & Access Control Flashcards
What is authentication?
Authentication is a foundational concept in software and security engineering, encompassing methods and techniques to verify the identity of users, devices, or entities attempting to access a system or resource.
What are the principles of authentication?
- Identification: Users or entities are uniquely identified within the system using identifiers such as usernames, email addresses, or device IDs.
- Verification: Authentication mechanisms verify the claimed identity of users or entities by requiring them to provide credentials, such as passwords, tokens, or biometric data.
- Authorization: Once authenticated, users are granted appropriate permissions or privileges based on their identity and assigned roles within the system.
- Authentication Factors: Multiple factors are used to strengthen authentication, including something the user knows (e.g., passwords), something they have (e.g., security tokens), and something they are (e.g., biometric traits).
What are some common authentication methods?
-
Password-based Authentication:
Users authenticate by providing a secret passphrase known only to them.
Vulnerable to password guessing, phishing attacks, and password reuse. -
Multi-factor Authentication (MFA):
Requires users to provide multiple forms of verification, enhancing security.
Combines knowledge factors (e.g., passwords) with possession factors (e.g., mobile tokens) or inherence factors (e.g., biometrics). -
Biometric Authentication:
Verifies identity based on unique physical or behavioral characteristics.
Provides convenience but can be susceptible to spoofing and privacy concerns. -
Token-based Authentication:
Generates and validates temporary tokens for accessing resources.
Enhances security by reducing exposure to credential theft and replay attacks. -
Certificate-based Authentication:
Relies on digital certificates issued by trusted authorities to verify identity.
Commonly used in secure communication protocols like SSL/TLS. -
Single Sign-On (SSO):
Allows users to authenticate once and access multiple systems or applications.
Enhances user experience while centralizing authentication and access control. -
Risk-based Authentication:
Analyzes contextual factors (e.g., device information, location) to assess the risk level of login attempts.
Adapts authentication requirements based on perceived risk, balancing security and usability.
What are the best practices for authentication?
- Use Strong Password Policies: Enforce password complexity requirements and encourage regular password updates.
- Implement MFA: Require multi-factor authentication for sensitive systems or operations to mitigate the risk of unauthorized access.
- Secure Authentication Data: Hash passwords using strong cryptographic algorithms and protect authentication credentials from unauthorized access.
- Regularly Update Authentication Mechanisms: Stay current with emerging threats and security vulnerabilities by updating authentication protocols and mechanisms regularly.
- Monitor and Audit Authentication Events: Monitor login attempts, track authentication failures, and audit authentication logs for suspicious activities.
- Educate Users: Provide user training on best practices for creating and managing passwords, recognizing phishing attempts, and safeguarding authentication credentials.
- Continuously Assess and Improve: Regularly assess the effectiveness of authentication mechanisms and refine security controls based on evolving threats and organizational requirements.
What is Access Control?
Access control is a fundamental concept in software and security engineering that regulates and restricts access to resources, systems, or data within a computing environment.
What are the principles of access controls?
-
Principle of Least Privilege (PoLP):
Users should be granted the minimum level of access required to perform their tasks.Reduces the potential impact of security breaches and minimizes the risk of unauthorized access. -
Need-to-Know Principle:
Users are granted access only to the information necessary for their specific roles or responsibilities.Limits exposure to sensitive information and reduces the risk of data leakage. -
Separation of Duties (SoD):
Distributes tasks and permissions among multiple users to prevent conflicts of interest and unauthorized activities.
Enhances accountability and mitigates the risk of fraud or insider threats.
What are the different types of access control?
-
Discretionary Access Control (DAC):
Owners of resources have discretion over who can access them and what permissions are granted.
Implemented through access control lists (ACLs) or user-based permissions. -
Mandatory Access Control (MAC):
Access is determined by security labels and mandatory policies defined by a central authority.
Commonly used in high-security environments, such as government or military systems. -
Role-Based Access Control (RBAC):
Access rights are assigned based on predefined roles or job functions.
Users inherit permissions associated with their roles, simplifying administration and ensuring consistency. -
Attribute-Based Access Control (ABAC):
Access decisions are based on attributes such as user characteristics, resource properties, and environmental factors.
Provides fine-grained access control and dynamic policy enforcement.
What are the access controls mechanisms?
-
Authentication:
Verifies the identity of users or entities attempting to access resources.Typically involves providing credentials such as passwords, biometric data, or cryptographic tokens. -
Authorization:
Determines whether authenticated users have the necessary permissions to access specific resources or perform requested actions.Enforced through access control policies and mechanisms such as ACLs, RBAC, or ABAC. -
Access Enforcement:
Controls access to resources based on authentication and authorization decisions. Implemented through access control mechanisms integrated into operating systems, databases, applications, or network devices. -
Auditing and Monitoring:
Tracks and logs access attempts, changes to access control policies, and other relevant security events. Facilitates accountability, forensic analysis, and compliance with regulatory requirements.
What are the best practices for access control?
- Implement Defense-in-Depth: Layer multiple access control mechanisms to provide overlapping layers of security and defense.
- Regularly Review and Update Policies: Periodically assess access control policies, permissions, and user roles to align with organizational requirements and security best practices.
- Enforce Strong Authentication: Use multi-factor authentication (MFA) and strong password policies to verify the identity of users and enhance security.
- Apply Principle of Least Privilege: Restrict access permissions to the minimum necessary for users to perform their tasks and responsibilities.
- Secure Administrative Access: Implement strict access controls for administrative accounts and privileged users to minimize the risk of insider threats and unauthorized system modifications.
- Monitor and Audit Access: Continuously monitor access logs, analyze access patterns, and audit permissions to detect suspicious activities and unauthorized access attempts.
- Provide User Education and Awareness: Educate users about access control policies, best practices for safeguarding credentials, and the importance of maintaining security awareness.