|
| 1 | +# AIDAS Configuration File Example |
| 2 | +# Copy this file to config.yaml and adjust the values as needed |
| 3 | + |
| 4 | +# Application Settings |
| 5 | +app: |
| 6 | + name: "AIDAS Protocol Implementation" |
| 7 | + version: "1.0.0" |
| 8 | + debug: false |
| 9 | + log_level: "INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL |
| 10 | + |
| 11 | +# Protocol Configuration |
| 12 | +protocol: |
| 13 | + # Authentication settings |
| 14 | + authentication: |
| 15 | + timeout_seconds: 30 |
| 16 | + max_attempts: 3 |
| 17 | + session_duration_hours: 24 |
| 18 | + |
| 19 | + # Cryptographic parameters |
| 20 | + crypto: |
| 21 | + key_length: 32 # bytes |
| 22 | + aes_mode: "CBC" |
| 23 | + hash_algorithm: "SHA256" |
| 24 | + |
| 25 | + # PUF settings |
| 26 | + puf: |
| 27 | + noise_level: 0.03 |
| 28 | + verification_threshold: 0.9 |
| 29 | + challenge_length: 16 # bytes |
| 30 | + |
| 31 | + # Chaotic map parameters |
| 32 | + chaotic_map: |
| 33 | + r_parameter: 3.99 |
| 34 | + initial_condition: null # null for random |
| 35 | + |
| 36 | +# AI/ML Configuration |
| 37 | +ai: |
| 38 | + # DQN settings |
| 39 | + dqn: |
| 40 | + learning_rate: 0.001 |
| 41 | + gamma: 0.97 |
| 42 | + epsilon_start: 1.0 |
| 43 | + epsilon_min: 0.01 |
| 44 | + epsilon_decay: 0.995 |
| 45 | + memory_size: 10000 |
| 46 | + batch_size: 32 |
| 47 | + |
| 48 | + # Detection thresholds |
| 49 | + detection: |
| 50 | + accuracy_target: 0.978 |
| 51 | + false_positive_rate_max: 0.012 |
| 52 | + update_frequency_ms: 250 |
| 53 | + |
| 54 | +# Network Configuration |
| 55 | +network: |
| 56 | + # Communication settings |
| 57 | + communication: |
| 58 | + default_port: 8443 |
| 59 | + use_tls: true |
| 60 | + certificate_path: null |
| 61 | + key_path: null |
| 62 | + |
| 63 | + # Performance limits |
| 64 | + limits: |
| 65 | + max_connections: 1000 |
| 66 | + connection_timeout_ms: 5000 |
| 67 | + request_timeout_ms: 30000 |
| 68 | + |
| 69 | +# Entity Defaults |
| 70 | +entities: |
| 71 | + # Operator settings |
| 72 | + operator: |
| 73 | + biometric_data_length: 32 |
| 74 | + smart_card_validity_days: 365 |
| 75 | + |
| 76 | + # Vehicle settings |
| 77 | + vehicle: |
| 78 | + registration_token_length: 32 |
| 79 | + puf_challenge_rotation_hours: 1 |
| 80 | + |
| 81 | + # Charging station settings |
| 82 | + charging_station: |
| 83 | + max_concurrent_sessions: 10 |
| 84 | + session_timeout_minutes: 60 |
| 85 | + |
| 86 | +# GUI Configuration (for future implementation) |
| 87 | +gui: |
| 88 | + theme: "dark" # dark, light, auto |
| 89 | + window_size: |
| 90 | + width: 1200 |
| 91 | + height: 800 |
| 92 | + refresh_rate_ms: 1000 |
| 93 | + |
| 94 | +# Database Configuration (for future implementation) |
| 95 | +database: |
| 96 | + type: "sqlite" # sqlite, postgresql, mysql |
| 97 | + connection: |
| 98 | + host: "localhost" |
| 99 | + port: 5432 |
| 100 | + name: "aidas_db" |
| 101 | + user: "aidas_user" |
| 102 | + password: "" # Use environment variable AIDAS_DB_PASSWORD |
| 103 | + |
| 104 | + # Connection pool |
| 105 | + pool: |
| 106 | + size: 10 |
| 107 | + max_overflow: 20 |
| 108 | + timeout: 30 |
| 109 | + |
| 110 | +# Monitoring and Metrics |
| 111 | +monitoring: |
| 112 | + # Performance tracking |
| 113 | + metrics: |
| 114 | + enabled: true |
| 115 | + export_interval_seconds: 60 |
| 116 | + export_format: "json" # json, csv, prometheus |
| 117 | + |
| 118 | + # Visualization |
| 119 | + visualization: |
| 120 | + plot_history_points: 100 |
| 121 | + update_interval_ms: 500 |
| 122 | + show_real_time: true |
| 123 | + |
| 124 | +# Security Settings |
| 125 | +security: |
| 126 | + # Attack detection |
| 127 | + intrusion_detection: |
| 128 | + enabled: true |
| 129 | + alert_threshold: "high" # low, medium, high, critical |
| 130 | + auto_block: true |
| 131 | + block_duration_minutes: 30 |
| 132 | + |
| 133 | + # Audit logging |
| 134 | + audit: |
| 135 | + enabled: true |
| 136 | + log_file: "logs/audit.log" |
| 137 | + rotation: "daily" # daily, weekly, size |
| 138 | + retention_days: 90 |
| 139 | + |
| 140 | +# Development Settings |
| 141 | +development: |
| 142 | + # Testing |
| 143 | + testing: |
| 144 | + use_mock_data: false |
| 145 | + deterministic_random: false |
| 146 | + seed: 42 |
| 147 | + |
| 148 | + # Debugging |
| 149 | + debug: |
| 150 | + verbose_logging: false |
| 151 | + save_intermediate_states: false |
| 152 | + profiling_enabled: false |
| 153 | + |
| 154 | +# API Configuration (for future implementation) |
| 155 | +api: |
| 156 | + enabled: false |
| 157 | + base_path: "/api/v1" |
| 158 | + cors_enabled: true |
| 159 | + allowed_origins: |
| 160 | + - "http://localhost:3000" |
| 161 | + - "https://aidas.example.com" |
| 162 | + rate_limiting: |
| 163 | + enabled: true |
| 164 | + requests_per_minute: 60 |
| 165 | + |
| 166 | +# Environment-specific overrides |
| 167 | +# These can be set via environment variables with prefix AIDAS_ |
| 168 | +# Example: AIDAS_APP_DEBUG=true |
| 169 | +environment_overrides: |
| 170 | + - APP_DEBUG |
| 171 | + - DATABASE_PASSWORD |
| 172 | + - API_SECRET_KEY |
| 173 | + - NETWORK_CERTIFICATE_PATH |
| 174 | + - NETWORK_KEY_PATH |
0 commit comments