iec62351

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2026 License: BSD-3-Clause, GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// IEC 62351-5: Secure Authentication for IEC 61850 and IEC 60870-5
	MsgTypeAuthenticationRequest  = 0x01
	MsgTypeAuthenticationResponse = 0x02
	MsgTypeChallengeRequest       = 0x03
	MsgTypeChallengeResponse      = 0x04
	MsgTypeKeyUpdateRequest       = 0x05
	MsgTypeKeyUpdateResponse      = 0x06
	MsgTypeKeyConfirmation        = 0x07
	MsgTypeErrorMessage           = 0x08

	// IEC 62351-6: Security for IEC 61850 profiles
	MsgTypeAssociationRequest  = 0x10
	MsgTypeAssociationResponse = 0x11
	MsgTypeAbortRequest        = 0x12
	MsgTypeReleaseRequest      = 0x13
	MsgTypeReleaseResponse     = 0x14

	// IEC 62351-7: Audit/Logging messages
	MsgTypeAuditEvent         = 0x20
	MsgTypeSecurityAlert      = 0x21
	MsgTypeAccessControlEvent = 0x22

	// IEC 62351-8: Role-Based Access Control
	MsgTypeAccessRequest    = 0x30
	MsgTypeAccessResponse   = 0x31
	MsgTypeRoleDefinition   = 0x32
	MsgTypePermissionChange = 0x33

	// IEC 62351-9: Key Management
	MsgTypeSymmetricKeyRequest  = 0x40
	MsgTypeSymmetricKeyResponse = 0x41
	MsgTypeKeyDistribution      = 0x42
	MsgTypeKeyRevocation        = 0x43
)

IEC 62351 security message type identifiers These are used within the security extensions for power system protocols

View Source
const (
	AuthMechanismX509       = "X.509"
	AuthMechanismKerberos   = "Kerberos"
	AuthMechanismPassword   = "Password"
	AuthMechanismHMAC       = "HMAC"
	AuthMechanismDigitalSig = "DigitalSignature"
)

IEC 62351 authentication mechanisms

View Source
const (
	RoleOperator    = "OPERATOR"
	RoleEngineer    = "ENGINEER"
	RoleViewer      = "VIEWER"
	RoleAdmin       = "SECADM"
	RoleAuditor     = "SECAUD"
	RoleMaintenance = "MAINT"
)

IEC 62351-8 RBAC roles

View Source
const (
	PermissionRead    = "READ"
	PermissionWrite   = "WRITE"
	PermissionControl = "CONTROL"
	PermissionCreate  = "CREATE"
	PermissionDelete  = "DELETE"
)

IEC 62351-8 permissions

View Source
const (
	AuditEventAuthentication = "AUTHENTICATION"
	AuditEventAuthorization  = "AUTHORIZATION"
	AuditEventKeyManagement  = "KEY_MANAGEMENT"
	AuditEventSecurityAlert  = "SECURITY_ALERT"
	AuditEventConfigChange   = "CONFIG_CHANGE"
	AuditEventSessionStart   = "SESSION_START"
	AuditEventSessionEnd     = "SESSION_END"
)

Audit event types (IEC 62351-7)

View Source
const (
	OutcomeSuccess = "SUCCESS"
	OutcomeFailure = "FAILURE"
	OutcomeUnknown = "UNKNOWN"
)

Audit event outcomes

View Source
const (
	ProtocolIEC61850   = "IEC61850"
	ProtocolIEC104     = "IEC60870-5-104"
	ProtocolDNP3SA     = "DNP3-SA"
	ProtocolTLSSecured = "TLS-Secured"
)

Underlying protocol identifiers

Variables

View Source
var Decoder = &decoder.StreamDecoder{
	Type:        types.Type_NC_IEC62351,
	Name:        serviceIEC62351,
	Description: "IEC 62351 is a security standard for power system communications (IEC 61850, IEC 60870-5, DNP3)",
	PostInit: func(d *decoder.StreamDecoder) error {
		var err error
		iec62351Log, _, err = logging.InitZapLogger(
			decoderconfig.Instance.Out,
			"iec62351",
			decoderconfig.Instance.Debug,
		)
		return err
	},
	CanDecode: func(client, server []byte) bool {

		return canDecodeIEC62351(client) || canDecodeIEC62351(server)
	},
	DeInit: func(sd *decoder.StreamDecoder) error {
		return iec62351Log.Sync()
	},
	Factory: &iec62351Reader{},
	Typ:     core.TCP,
}

Decoder for IEC 62351 protocol analysis and writing audit records to disk.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL