use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use std::time::{Duration, SystemTime};
use super::types::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuantumSecurityConfig {
pub security_policy: SecurityPolicyConfig,
pub quantum_safe_crypto: QuantumSafeCryptographyConfig,
pub access_control: AccessControlConfig,
pub threat_detection: ThreatDetectionConfig,
pub security_analytics: SecurityAnalyticsConfig,
pub compliance_config: ComplianceConfig,
pub secure_communication: SecureCommunicationConfig,
pub hardware_security: HardwareSecurityConfig,
pub data_protection: DataProtectionConfig,
pub incident_response: IncidentResponseConfig,
pub security_orchestration: SecurityOrchestrationConfig,
pub ai_security: AISecurityConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecurityPolicyConfig {
pub enable_security_framework: bool,
pub classification_levels: Vec<SecurityClassification>,
pub security_objectives: Vec<SecurityObjective>,
pub risk_tolerance: RiskToleranceConfig,
pub standards_compliance: Vec<SecurityStandard>,
pub policy_enforcement: PolicyEnforcementConfig,
pub governance_config: SecurityGovernanceConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct RiskToleranceConfig {
pub risk_threshold: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct PolicyEnforcementConfig {
pub enforcement_mode: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecurityGovernanceConfig {
pub governance_level: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuantumSafeCryptographyConfig {
pub enable_quantum_safe_crypto: bool,
pub post_quantum_algorithms: Vec<PostQuantumAlgorithm>,
pub key_management: QuantumKeyManagementConfig,
pub digital_signatures: QuantumDigitalSignatureConfig,
pub encryption_config: QuantumEncryptionConfig,
pub key_exchange: QuantumKeyExchangeConfig,
pub crypto_agility: CryptographicAgilityConfig,
pub quantum_rng: QuantumRNGConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct QuantumKeyManagementConfig {
pub key_rotation_interval: Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct QuantumDigitalSignatureConfig {
pub signature_algorithm: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct QuantumEncryptionConfig {
pub encryption_algorithm: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct QuantumKeyExchangeConfig {
pub key_exchange_protocol: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct CryptographicAgilityConfig {
pub agility_level: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct QuantumRNGConfig {
pub entropy_source: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AccessControlConfig {
pub authentication_methods: Vec<AuthenticationMethod>,
pub authorization_models: Vec<AuthorizationModel>,
pub mfa_config: MFAConfig,
pub zero_trust: ZeroTrustConfig,
pub privileged_access: PrivilegedAccessConfig,
pub session_management: SessionManagementConfig,
pub endpoint_security: EndpointSecurityConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct MFAConfig {
pub required_factors: usize,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ZeroTrustConfig {
pub enable_zero_trust: bool,
pub trust_verification_level: String,
pub continuous_verification: bool,
pub implicit_trust_timeout: Duration,
pub trust_scores: HashMap<String, f64>,
}
impl Default for ZeroTrustConfig {
fn default() -> Self {
Self {
enable_zero_trust: true,
trust_verification_level: "high".to_string(),
continuous_verification: true,
implicit_trust_timeout: Duration::from_secs(300),
trust_scores: HashMap::new(),
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PrivilegedAccessConfig {
pub enable_pam: bool,
pub session_recording: bool,
pub approval_workflow: bool,
pub just_in_time_access: bool,
pub access_timeout: Duration,
pub approval_threshold: i32,
}
impl Default for PrivilegedAccessConfig {
fn default() -> Self {
Self {
enable_pam: true,
session_recording: true,
approval_workflow: true,
just_in_time_access: true,
access_timeout: Duration::from_secs(3600),
approval_threshold: 2,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionManagementConfig {
pub session_timeout: Duration,
pub max_concurrent_sessions: usize,
pub session_tracking: bool,
pub idle_timeout: Duration,
pub forced_logout_conditions: Vec<String>,
}
impl Default for SessionManagementConfig {
fn default() -> Self {
Self {
session_timeout: Duration::from_secs(7200),
max_concurrent_sessions: 5,
session_tracking: true,
idle_timeout: Duration::from_secs(900),
forced_logout_conditions: Vec::new(),
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EndpointSecurityConfig {
pub endpoint_protection: bool,
pub device_registration: bool,
pub compliance_checking: bool,
pub threat_detection: bool,
pub patch_management: bool,
pub data_loss_prevention: bool,
}
impl Default for EndpointSecurityConfig {
fn default() -> Self {
Self {
endpoint_protection: true,
device_registration: true,
compliance_checking: true,
threat_detection: true,
patch_management: true,
data_loss_prevention: true,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ThreatDetectionConfig {
pub enable_threat_detection: bool,
pub detection_algorithms: Vec<ThreatDetectionAlgorithm>,
pub anomaly_detection: AnomalyDetectionConfig,
pub behavioral_analysis: BehavioralAnalysisConfig,
pub threat_intelligence: ThreatIntelligenceConfig,
pub ml_detection: MLThreatDetectionConfig,
pub realtime_monitoring: RealtimeMonitoringConfig,
pub quantum_threat_detection: QuantumThreatDetectionConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AnomalyDetectionConfig {
pub enable_detection: bool,
pub detection_algorithms: Vec<String>,
pub baseline_learning_period: Duration,
pub anomaly_threshold: f64,
pub alert_threshold: f64,
pub auto_response: bool,
}
impl Default for AnomalyDetectionConfig {
fn default() -> Self {
Self {
enable_detection: true,
detection_algorithms: vec!["isolation_forest".to_string(), "one_class_svm".to_string()],
baseline_learning_period: Duration::from_secs(86400 * 7), anomaly_threshold: 0.1,
alert_threshold: 0.05,
auto_response: true,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BehavioralAnalysisConfig {
pub enable_analysis: bool,
pub user_profiling: bool,
pub pattern_recognition: bool,
pub risk_scoring: bool,
pub learning_period: Duration,
pub update_frequency: Duration,
}
impl Default for BehavioralAnalysisConfig {
fn default() -> Self {
Self {
enable_analysis: true,
user_profiling: true,
pattern_recognition: true,
risk_scoring: true,
learning_period: Duration::from_secs(86400 * 30), update_frequency: Duration::from_secs(3600), }
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ThreatIntelligenceConfig {
pub enable_threat_intel: bool,
pub feed_sources: Vec<String>,
pub update_frequency: Duration,
pub threat_correlation: bool,
pub ioc_matching: bool,
pub threat_hunting: bool,
}
impl Default for ThreatIntelligenceConfig {
fn default() -> Self {
Self {
enable_threat_intel: true,
feed_sources: vec!["mitre".to_string(), "nist".to_string()],
update_frequency: Duration::from_secs(3600),
threat_correlation: true,
ioc_matching: true,
threat_hunting: true,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MLThreatDetectionConfig {
pub enable_ml_detection: bool,
pub model_types: Vec<String>,
pub training_frequency: Duration,
pub prediction_threshold: f64,
pub feature_engineering: bool,
pub ensemble_methods: bool,
}
impl Default for MLThreatDetectionConfig {
fn default() -> Self {
Self {
enable_ml_detection: true,
model_types: vec!["random_forest".to_string(), "neural_network".to_string()],
training_frequency: Duration::from_secs(86400), prediction_threshold: 0.8,
feature_engineering: true,
ensemble_methods: true,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RealtimeMonitoringConfig {
pub enable_realtime: bool,
pub monitoring_interval: Duration,
pub alert_latency_target: Duration,
pub stream_processing: bool,
pub data_retention_period: Duration,
pub dashboards: Vec<String>,
}
impl Default for RealtimeMonitoringConfig {
fn default() -> Self {
Self {
enable_realtime: true,
monitoring_interval: Duration::from_millis(100),
alert_latency_target: Duration::from_secs(1),
stream_processing: true,
data_retention_period: Duration::from_secs(86400 * 90), dashboards: vec![
"security_overview".to_string(),
"threat_dashboard".to_string(),
],
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuantumThreatDetectionConfig {
pub enable_quantum_threats: bool,
pub quantum_attack_patterns: Vec<String>,
pub quantum_vulnerability_scanning: bool,
pub post_quantum_readiness: bool,
pub quantum_safe_algorithms: Vec<String>,
pub quantum_key_compromise_detection: bool,
}
impl Default for QuantumThreatDetectionConfig {
fn default() -> Self {
Self {
enable_quantum_threats: true,
quantum_attack_patterns: vec!["shor".to_string(), "grover".to_string()],
quantum_vulnerability_scanning: true,
post_quantum_readiness: true,
quantum_safe_algorithms: vec!["kyber".to_string(), "dilithium".to_string()],
quantum_key_compromise_detection: true,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecurityAnalyticsConfig {
pub enable_security_analytics: bool,
pub analytics_engines: Vec<SecurityAnalyticsEngine>,
pub metrics_collection: SecurityMetricsConfig,
pub risk_assessment: RiskAssessmentConfig,
pub dashboard_config: SecurityDashboardConfig,
pub predictive_analytics: PredictiveSecurityConfig,
pub reporting_config: SecurityReportingConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecurityMetricsConfig {
pub collection_interval: Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct RiskAssessmentConfig {
pub assessment_frequency: Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecurityDashboardConfig {
pub dashboard_refresh_rate: Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct PredictiveSecurityConfig {
pub prediction_window: Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecurityReportingConfig {
pub report_frequency: Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ComplianceConfig {
pub enable_compliance_monitoring: bool,
pub regulatory_frameworks: Vec<RegulatoryFramework>,
pub compliance_standards: Vec<ComplianceStandard>,
pub audit_config: AuditConfig,
pub continuous_monitoring: ContinuousComplianceConfig,
pub compliance_reporting: ComplianceReportingConfig,
pub data_governance: DataGovernanceConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct AuditConfig {
pub audit_retention_period: Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ContinuousComplianceConfig {
pub monitoring_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ComplianceReportingConfig {
pub reporting_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DataGovernanceConfig {
pub governance_framework: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecureCommunicationConfig {
pub encryption_protocols: Vec<EncryptionProtocol>,
pub network_security: NetworkSecurityConfig,
pub secure_channels: SecureChannelConfig,
pub e2e_encryption: E2EEncryptionConfig,
pub communication_auth: CommunicationAuthConfig,
pub data_integrity: DataIntegrityConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct NetworkSecurityConfig {
pub security_protocols: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecureChannelConfig {
pub channel_encryption: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct E2EEncryptionConfig {
pub encryption_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct CommunicationAuthConfig {
pub auth_required: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DataIntegrityConfig {
pub integrity_checks: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HardwareSecurityConfig {
pub hsm_config: HSMConfig,
pub tee_config: TEEConfig,
pub attestation_config: AttestationConfig,
pub secure_boot: SecureBootConfig,
pub hardware_monitoring: HardwareMonitoringConfig,
pub physical_security: PhysicalSecurityConfig,
pub quantum_hardware_security: QuantumHardwareSecurityConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct HSMConfig {
pub hsm_provider: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct TEEConfig {
pub tee_type: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct AttestationConfig {
pub attestation_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecureBootConfig {
pub secure_boot_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct HardwareMonitoringConfig {
pub monitoring_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct PhysicalSecurityConfig {
pub physical_security_level: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct QuantumHardwareSecurityConfig {
pub quantum_security_level: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DataProtectionConfig {
pub data_classification: DataClassificationConfig,
pub dlp_config: DLPConfig,
pub privacy_protection: PrivacyProtectionConfig,
pub encryption_at_rest: EncryptionAtRestConfig,
pub data_masking: DataMaskingConfig,
pub backup_security: BackupSecurityConfig,
pub lifecycle_management: DataLifecycleConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DataClassificationConfig {
pub classification_levels: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DLPConfig {
pub dlp_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct PrivacyProtectionConfig {
pub privacy_level: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct EncryptionAtRestConfig {
pub encryption_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DataMaskingConfig {
pub masking_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct BackupSecurityConfig {
pub backup_encryption: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DataLifecycleConfig {
pub retention_policy: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IncidentResponseConfig {
pub enable_incident_response: bool,
pub response_team: ResponseTeamConfig,
pub incident_classification: IncidentClassificationConfig,
pub response_procedures: ResponseProceduresConfig,
pub automated_response: AutomatedResponseConfig,
pub communication_protocols: IncidentCommunicationConfig,
pub recovery_procedures: RecoveryProceduresConfig,
pub post_incident_analysis: PostIncidentAnalysisConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ResponseTeamConfig {
pub team_size: usize,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct IncidentClassificationConfig {
pub classification_levels: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ResponseProceduresConfig {
pub procedures: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct AutomatedResponseConfig {
pub automation_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct IncidentCommunicationConfig {
pub communication_channels: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct RecoveryProceduresConfig {
pub recovery_time_objective: Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct PostIncidentAnalysisConfig {
pub analysis_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SecurityOrchestrationConfig {
pub enable_security_orchestration: bool,
pub orchestration_workflows: Vec<SecurityWorkflow>,
pub automation_rules: Vec<SecurityAutomationRule>,
pub integrations: Vec<SecurityIntegration>,
pub playbook_management: PlaybookManagementConfig,
pub workflow_orchestration: WorkflowOrchestrationConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecurityWorkflow {
pub workflow_id: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecurityAutomationRule {
pub rule_id: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecurityIntegration {
pub integration_type: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct PlaybookManagementConfig {
pub playbook_version: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct WorkflowOrchestrationConfig {
pub orchestration_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AISecurityConfig {
pub enable_ai_security: bool,
pub ml_models: Vec<SecurityMLModel>,
pub ai_threat_detection: AIThreatDetectionConfig,
pub adversarial_protection: AdversarialProtectionConfig,
pub model_security: ModelSecurityConfig,
pub ai_governance: AIGovernanceConfig,
pub explainable_ai: ExplainableAIConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct AIThreatDetectionConfig {
pub ai_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct AdversarialProtectionConfig {
pub protection_level: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ModelSecurityConfig {
pub security_checks: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct AIGovernanceConfig {
pub governance_framework: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ExplainableAIConfig {
pub explainability_enabled: bool,
}
impl Default for QuantumSecurityConfig {
fn default() -> Self {
Self {
security_policy: SecurityPolicyConfig {
enable_security_framework: true,
classification_levels: vec![
SecurityClassification::Public,
SecurityClassification::Internal,
SecurityClassification::Confidential,
SecurityClassification::QuantumProtected,
],
security_objectives: vec![
SecurityObjective::Confidentiality,
SecurityObjective::Integrity,
SecurityObjective::Availability,
SecurityObjective::Authentication,
SecurityObjective::QuantumSafety,
],
risk_tolerance: RiskToleranceConfig::default(),
standards_compliance: vec![
SecurityStandard::ISO27001,
SecurityStandard::NistCsf,
SecurityStandard::QuantumSafeNist,
],
policy_enforcement: PolicyEnforcementConfig::default(),
governance_config: SecurityGovernanceConfig::default(),
},
quantum_safe_crypto: QuantumSafeCryptographyConfig {
enable_quantum_safe_crypto: true,
post_quantum_algorithms: vec![
PostQuantumAlgorithm::Kyber,
PostQuantumAlgorithm::Dilithium,
PostQuantumAlgorithm::Falcon,
PostQuantumAlgorithm::SphincsPlus,
],
key_management: QuantumKeyManagementConfig::default(),
digital_signatures: QuantumDigitalSignatureConfig::default(),
encryption_config: QuantumEncryptionConfig::default(),
key_exchange: QuantumKeyExchangeConfig::default(),
crypto_agility: CryptographicAgilityConfig::default(),
quantum_rng: QuantumRNGConfig::default(),
},
access_control: AccessControlConfig {
authentication_methods: vec![
AuthenticationMethod::QuantumKey,
AuthenticationMethod::CertificateBased,
AuthenticationMethod::Biometric,
AuthenticationMethod::ZeroKnowledgeProof,
],
authorization_models: vec![
AuthorizationModel::ABAC,
AuthorizationModel::QuantumACL,
AuthorizationModel::ZeroTrust,
],
mfa_config: MFAConfig::default(),
zero_trust: ZeroTrustConfig::default(),
privileged_access: PrivilegedAccessConfig::default(),
session_management: SessionManagementConfig::default(),
endpoint_security: EndpointSecurityConfig::default(),
},
threat_detection: ThreatDetectionConfig {
enable_threat_detection: true,
detection_algorithms: vec![
ThreatDetectionAlgorithm::MachineLearning,
ThreatDetectionAlgorithm::AnomalyDetection,
ThreatDetectionAlgorithm::QuantumStateAnalysis,
ThreatDetectionAlgorithm::QuantumNoiseAnalysis,
],
anomaly_detection: AnomalyDetectionConfig::default(),
behavioral_analysis: BehavioralAnalysisConfig::default(),
threat_intelligence: ThreatIntelligenceConfig::default(),
ml_detection: MLThreatDetectionConfig::default(),
realtime_monitoring: RealtimeMonitoringConfig::default(),
quantum_threat_detection: QuantumThreatDetectionConfig::default(),
},
security_analytics: SecurityAnalyticsConfig {
enable_security_analytics: true,
analytics_engines: vec![
SecurityAnalyticsEngine::SIEM,
SecurityAnalyticsEngine::SOAR,
SecurityAnalyticsEngine::QuantumSecurityAnalytics,
SecurityAnalyticsEngine::MLSecurityAnalytics,
],
metrics_collection: SecurityMetricsConfig::default(),
risk_assessment: RiskAssessmentConfig::default(),
dashboard_config: SecurityDashboardConfig::default(),
predictive_analytics: PredictiveSecurityConfig::default(),
reporting_config: SecurityReportingConfig::default(),
},
compliance_config: ComplianceConfig {
enable_compliance_monitoring: true,
regulatory_frameworks: vec![
RegulatoryFramework::GDPR,
RegulatoryFramework::FISMA,
RegulatoryFramework::QuantumRegulations,
],
compliance_standards: vec![
ComplianceStandard::ISO27001,
ComplianceStandard::Nist800_53,
ComplianceStandard::QuantumCompliance,
],
audit_config: AuditConfig::default(),
continuous_monitoring: ContinuousComplianceConfig::default(),
compliance_reporting: ComplianceReportingConfig::default(),
data_governance: DataGovernanceConfig::default(),
},
secure_communication: SecureCommunicationConfig {
encryption_protocols: vec![
EncryptionProtocol::QuantumSafeTLS,
EncryptionProtocol::QuantumKeyDistribution,
EncryptionProtocol::Tls1_3,
],
network_security: NetworkSecurityConfig::default(),
secure_channels: SecureChannelConfig::default(),
e2e_encryption: E2EEncryptionConfig::default(),
communication_auth: CommunicationAuthConfig::default(),
data_integrity: DataIntegrityConfig::default(),
},
hardware_security: HardwareSecurityConfig {
hsm_config: HSMConfig::default(),
tee_config: TEEConfig::default(),
attestation_config: AttestationConfig::default(),
secure_boot: SecureBootConfig::default(),
hardware_monitoring: HardwareMonitoringConfig::default(),
physical_security: PhysicalSecurityConfig::default(),
quantum_hardware_security: QuantumHardwareSecurityConfig::default(),
},
data_protection: DataProtectionConfig {
data_classification: DataClassificationConfig::default(),
dlp_config: DLPConfig::default(),
privacy_protection: PrivacyProtectionConfig::default(),
encryption_at_rest: EncryptionAtRestConfig::default(),
data_masking: DataMaskingConfig::default(),
backup_security: BackupSecurityConfig::default(),
lifecycle_management: DataLifecycleConfig::default(),
},
incident_response: IncidentResponseConfig {
enable_incident_response: true,
response_team: ResponseTeamConfig::default(),
incident_classification: IncidentClassificationConfig::default(),
response_procedures: ResponseProceduresConfig::default(),
automated_response: AutomatedResponseConfig::default(),
communication_protocols: IncidentCommunicationConfig::default(),
recovery_procedures: RecoveryProceduresConfig::default(),
post_incident_analysis: PostIncidentAnalysisConfig::default(),
},
security_orchestration: SecurityOrchestrationConfig {
enable_security_orchestration: true,
orchestration_workflows: vec![SecurityWorkflow::default()],
automation_rules: vec![SecurityAutomationRule::default()],
integrations: vec![SecurityIntegration::default()],
playbook_management: PlaybookManagementConfig::default(),
workflow_orchestration: WorkflowOrchestrationConfig::default(),
},
ai_security: AISecurityConfig {
enable_ai_security: true,
ml_models: vec![
SecurityMLModel::AnomalyDetection,
SecurityMLModel::ThreatClassification,
SecurityMLModel::QuantumAnomalyDetection,
SecurityMLModel::QuantumThreatClassification,
],
ai_threat_detection: AIThreatDetectionConfig::default(),
adversarial_protection: AdversarialProtectionConfig::default(),
model_security: ModelSecurityConfig::default(),
ai_governance: AIGovernanceConfig::default(),
explainable_ai: ExplainableAIConfig::default(),
},
}
}
}