Skip to content

A Python-based secure access control system for Finvest Holdings using RBAC and ACLs to protect financial data. It ensures appropriate user permissions, employs strong password hashing (PBKDF2 HMAC SHA-256), includes a proactive password checker, and provides intuitive user enrollment and login interfaces.

Notifications You must be signed in to change notification settings

KareemAbdoSE/Network-and-Software-Security

Repository files navigation

Comprehensive Network Security Implementation

A Python-based secure access control system for Finvest Holdings using RBAC and ACLs to protect financial data.

Table of Contents

  1. Introduction
  2. Features
  3. Technologies Used
  4. Setup
  5. Usage

Introduction

This project is a secure access control system implemented in Python for Finvest Holdings. It safeguards sensitive financial data by employing Role-Based Access Control (RBAC) and Access Control Lists (ACLs). The system ensures users have permissions appropriate to their roles, enhancing security through the principle of least privilege.

Features

  • Role-Based Access Control (RBAC): Aligns permissions with specific roles to ensure users have necessary access.
  • Access Control Lists (ACLs): Provides fine-grained control over resources.
  • Secure Password Management: Utilizes PBKDF2 HMAC SHA-256 hashing with salts for robust password security.
  • Proactive Password Checker: Enforces strong password policies and prevents the use of weak passwords.
  • User Enrollment Interface: Allows new users to register securely with real-time password validation.
  • Login Mechanism: Authenticates users and displays their access permissions based on roles.
  • Comprehensive Testing: Includes automated tests for access control and authentication mechanisms.

Technologies Used

  • Programming Language: Python
  • Cryptography Modules: hashlib, os
  • Password Hashing Algorithm: PBKDF2 HMAC SHA-256
  • User Interface: Command-line interfaces for enrollment and login

Setup

  1. Clone the repository:
    git clone https://github.com/KareemAbdoSE/Network-and-Software-Security.git
    cd Network-and-Software-Security
    
  2. Install Dependencies:
  • No external dependencies are required beyond Python's standard library.
  1. Run the Enrollment Script:
    python enrollment.py
  • Follow the prompts to enter your User ID, Password, Password Confirmation, and Role.
  1. Run the Login Script:
    python login.py
  • Enter your User ID and Password to authenticate.

Usage

  • User Enrollment: Register new users with secure password policies.
  • User Authentication: Log in to access resources based on your role.
  • Access Control Enforcement: Permissions are granted according to RBAC and ACL policies.

About

A Python-based secure access control system for Finvest Holdings using RBAC and ACLs to protect financial data. It ensures appropriate user permissions, employs strong password hashing (PBKDF2 HMAC SHA-256), includes a proactive password checker, and provides intuitive user enrollment and login interfaces.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages