SecurityEventNotification 개요
SecurityEventNotification은 충전소에서 보안 관련 이벤트가 발생했을 때 중앙 시스템(CSMS)에 즉시 알리는 중요한 메시지입니다. 이 메시지는 보안 위협 탐지, 무단 접근 시도, 시스템 무결성 검증 실패 등 다양한 보안 사건을 실시간으로 보고하여 충전 인프라의 보안을 강화하는 역할을 합니다.
메시지 구조
Request (충전소 → CSMS)
{
"type": "AttemptedReplayAttacks",
"timestamp": "2024-08-20T14:30:00.000Z",
"techInfo": "Duplicate message sequence detected from unknown source IP: 192.168.1.100"
}
Response (CSMS → 충전소)
{
"customData": {
"vendorId": "VendorX",
"data": "Security alert acknowledged"
}
}
주요 필드 설명
Request 필드들
type 필드 (필수)
값 |
설명 |
FirmwareUpdated |
펌웨어가 업데이트됨 |
FailedToAuthenticateAtCsms |
CSMS 인증 실패 |
CsmsFailedToAuthenticate |
CSMS가 충전소 인증 실패 |
SettingSystemTime |
시스템 시간 설정 |
StartupOfTheDevice |
장치 시작 |
ResetOrReboot |
리셋 또는 재부팅 |
SecurityLogWasCleared |
보안 로그 삭제됨 |
ReconfigurationOfSecurityParameters |
보안 매개변수 재구성 |
MemoryExhaustion |
메모리 부족 |
InvalidMessages |
잘못된 메시지 수신 |
AttemptedReplayAttacks |
재전송 공격 시도 감지 |
TamperDetectionActivated |
변조 탐지 활성화 |
InvalidFirmwareSignature |
잘못된 펌웨어 서명 |
InvalidFirmwareSigningCertificate |
잘못된 펌웨어 서명 인증서 |
InvalidCentralSystemCertificate |
잘못된 중앙 시스템 인증서 |
InvalidChargingStationCertificate |
잘못된 충전소 인증서 |
InvalidTLSVersion |
잘못된 TLS 버전 |
InvalidTLSCipherSuite |
잘못된 TLS 암호화 스위트 |
MaintenanceLoginAccepted |
유지보수 로그인 승인됨 |
MaintenanceLoginFailed |
유지보수 로그인 실패 |
timestamp 필드 (필수)
필드명 |
필수여부 |
타입 |
설명 |
timestamp |
필수 |
DateTime |
보안 이벤트 발생 시간 (ISO 8601 형식) |
techInfo 필드 (선택사항)
필드명 |
필수여부 |
타입 |
설명 |
techInfo |
선택사항 |
String |
기술적 세부 정보 (최대 255자) |
Response 필드들
필드명 |
필수여부 |
타입 |
설명 |
customData |
선택사항 |
Object |
벤더별 사용자 정의 데이터 |
실제 사용 예제
예제 1: 재전송 공격 시도 탐지
// Request
{
"type": "AttemptedReplayAttacks",
"timestamp": "2024-08-20T14:30:15.123Z",
"techInfo": "Duplicate TransactionEvent message detected. Original timestamp: 2024-08-20T14:28:10.000Z, Replay timestamp: 2024-08-20T14:30:15.000Z, Source IP: 203.0.113.42"
}
// Response
{
"customData": {
"vendorId": "SecureCharge",
"action": "block_ip",
"data": "IP address added to blocklist for 24 hours"
}
}
예제 2: 변조 탐지 활성화
// Request
{
"type": "TamperDetectionActivated",
"timestamp": "2024-08-20T09:15:30.456Z",
"techInfo": "Physical tampering detected on connector housing. Sensor ID: TAMPER_01, Location: Connector 1"
}
// Response
{
"customData": {
"vendorId": "SafeCharge",
"alertLevel": "high",
"data": "Physical security breach notification sent to maintenance team"
}
}
예제 3: 잘못된 펌웨어 서명
// Request
{
"type": "InvalidFirmwareSignature",
"timestamp": "2024-08-20T16:45:22.789Z",
"techInfo": "Firmware signature verification failed. File: firmware_v2.1.3.bin, Expected signature: SHA256:a1b2c3..., Actual signature: SHA256:x9y8z7..."
}
// Response
{
"customData": {
"vendorId": "TrustedCharge",
"action": "firmware_rollback",
"data": "Automatic rollback to previous firmware version initiated"
}
}
예제 4: CSMS 인증 실패
// Request
{
"type": "FailedToAuthenticateAtCsms",
"timestamp": "2024-08-20T12:22:45.234Z",
"techInfo": "TLS handshake failed with CSMS. Certificate chain validation error: unable to get local issuer certificate"
}
// Response
{
"customData": {
"vendorId": "CertManager",
"action": "certificate_renewal",
"data": "Certificate renewal process initiated"
}
}
예제 5: 유지보수 로그인 실패
// Request
{
"type": "MaintenanceLoginFailed",
"timestamp": "2024-08-20T18:10:33.567Z",
"techInfo": "Failed maintenance login attempt. Username: admin, Source IP: 10.0.0.50, Failure count: 3, Account locked for 30 minutes"
}
// Response
{
"customData": {
"vendorId": "AccessControl",
"alertLevel": "medium",
"data": "Security team notified of repeated login failures"
}
}
예제 6: 메모리 부족
// Request
{
"type": "MemoryExhaustion",
"timestamp": "2024-08-20T11:35:18.890Z",
"techInfo": "Available memory: 2.1MB, Memory threshold: 5MB, Active processes: TransactionManager(45%), LogManager(25%), NetworkManager(20%)"
}
// Response
{
"customData": {
"vendorId": "PerformanceMonitor",
"action": "memory_cleanup",
"data": "Memory optimization routine scheduled"
}
}
예제 7: 보안 로그 삭제 감지
// Request
{
"type": "SecurityLogWasCleared",
"timestamp": "2024-08-20T20:45:12.345Z",
"techInfo": "Security log file cleared. Previous size: 15.2MB, Cleared by: system_maintenance, Backup status: completed"
}
// Response
{
"customData": {
"vendorId": "LogAuditor",
"action": "backup_verification",
"data": "Log backup integrity verified and stored"
}
}
처리 흐름
- 보안 이벤트 발생: 충전소에서 보안 관련 이벤트 감지
- 즉시 보고: SecurityEventNotification을 CSMS로 즉시 전송
- CSMS 분석: 중앙 시스템에서 보안 이벤트 분석 및 위험도 평가
- 대응 조치:
- 경미한 경우: 로그 기록 및 모니터링 강화
- 심각한 경우: 긴급 대응팀 알림, 자동 보안 조치 실행
- 후속 처리: 보안 정책 업데이트, 패치 적용 등
보안 이벤트 분류
고위험 이벤트
TamperDetectionActivated
: 물리적 변조 시도
AttemptedReplayAttacks
: 재전송 공격
InvalidFirmwareSignature
: 펌웨어 무결성 훼손
MaintenanceLoginFailed
: 반복적인 로그인 실패
중위험 이벤트
FailedToAuthenticateAtCsms
: CSMS 인증 실패
InvalidCentralSystemCertificate
: 인증서 문제
MemoryExhaustion
: 시스템 리소스 부족
InvalidMessages
: 비정상 메시지 수신
저위험 이벤트 (정보성)
FirmwareUpdated
: 정상적인 펌웨어 업데이트
StartupOfTheDevice
: 장치 정상 시작
SettingSystemTime
: 시간 동기화
MaintenanceLoginAccepted
: 정상적인 유지보수 접근
중요 포인트
- SecurityEventNotification은 충전 인프라 보안의 핵심 모니터링 메시지입니다
- 보안 이벤트는 발생 즉시 전송되어야 하며, 지연되어서는 안 됩니다
techInfo
필드에는 보안 분석에 필요한 상세 정보를 포함해야 합니다
- CSMS는 보안 이벤트의 심각도에 따라 자동화된 대응 조치를 수행해야 합니다
- 보안 로그는 변조 방지를 위해 안전한 저장소에 백업되어야 합니다
- 정기적인 보안 감사와 이벤트 패턴 분석을 통해 위협을 사전에 탐지할 수 있습니다
- 물리적 보안과 사이버 보안 이벤트를 모두 포괄하여 종합적인 보안 관리가 가능합니다
이 메시지를 통해 충전소 네트워크의 보안 상태를 실시간으로 모니터링하고, 보안 위협에 신속하게 대응하여 안전하고 신뢰할 수 있는 충전 서비스를 제공할 수 있습니다.