WWCP_OCPP

Connectivity between the World Wide Charging Protocol (WWCP) and the Open Charge Point Protocol (OCPP v1.6/v2.0.1/v2.1).

https://github.com/OpenChargingCloud/WWCP_OCPP

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

charging chargingstation e-mobility ocpp
Last synced: 6 months ago · JSON representation

Repository

Connectivity between the World Wide Charging Protocol (WWCP) and the Open Charge Point Protocol (OCPP v1.6/v2.0.1/v2.1).

Basic Info
  • Host: GitHub
  • Owner: OpenChargingCloud
  • License: agpl-3.0
  • Language: C#
  • Default Branch: master
  • Homepage:
  • Size: 32.7 MB
Statistics
  • Stars: 69
  • Watchers: 14
  • Forks: 24
  • Open Issues: 9
  • Releases: 0
Topics
charging chargingstation e-mobility ocpp
Created almost 10 years ago · Last pushed 8 months ago
Metadata Files
Readme Funding License Security

README.md

WWCP OCPP

This software libraries allow you to build Open Charge Point Protocol services and use case specific gateways between OCPP and the World Wide Charging Protocol (WWCP), e.g. for EV roaming. The focus of the Open Charge Point Protocol as defined by the Open Charge Alliance (OCA) is the communication between e-mobility charging stations (charge points), Local Controllers and Charging Station Operator Systems (CSMS).

Versions

  • OCPP v2.1 is a based on the public OCA specification (DRAFT 2024-09-01) and currently under development. This version is tested regularly at Open Charge Alliance Plugfests.

  • OCPP v2.0.1 is provided via OCPP v2.1, as this version is backward compatible to v2.0.1.

  • OCPP v1.6 and the Security Whitepaper extensions are fully implemented and at least one tests exists for every charging station or CSMS message. This version was also tested on multiple Open Charge Alliance Plugfests.

  • OCPP v1.5 is no longer maintained. If you still need support for this version please send us an e-mail.

Implementation Details and Differences

The official protocol specifications of OCPP v1.6, OCPP v2.0.1 and OCPP v2.1 have unfortunatelly still many protocol design flaws and security issues which are still not addressed completely by the Open Charge Alliance Technical Working Group (TWG). Therefore this implementation provides a rich set of vendor extentions, called OCPP CSE, and further work-arounds for most of these issues to simplify the daily operations business, high availability or to support additional concepts/methods.

End-to-End Cyber Security

OCCP currently on ly offers hop-by-hop security via Transport-Layer-Security (TLS). This only provides communication privacy and security against external attackers, but can not secure more complex networking scenarios e.g. with local controllers between the charging stations and the backend(s).

This project provides fills these gaps via Digital Signatures on all requests, responses and main data structures. Additional Signature Policies and User Roles will further limit the attack surface of your critical charging infrastructure and allow you to implement fine-grained access controls.

Overlay Networking

While in the past a single charging station was connected directly to an operator backend, todays charging infrastructure is far more complex. Today we have to support efficient and secure operations for a cluster of colocated charging stations connected to the same grid connection point. Those charging stations often come from different vendors and some sort of local load management shall reduce energy consumption peaks.

This project provides additional data structures and commands to enable overlay networking between charging stations, additional energy meters, local controllers and operator backends. It also provides enhanced network configuration options for high-available networking setups to simplify European AFIR regulations and US NEVI requirements in the US.

German Calibration Law (Eichrecht)

The software aspects of the German Calibration Law (Eichrecht) demand a secure communication of meter values, errors (and charging tariff information for ad hoc charging sessions) and a Charging Transparency Software for end users and regulators. Currently OCPP only supports minimal support for this regulatory requirements and thus the expected security benefit does not reach the end users.

This project provides additional data structures and commands to ensure a secure exchange of cryptographic and metrological data and digital calibration certificates.

Controllable Loads (German §14a EnWG)

Renewable energy sources and smart grids allow an efficient energy demand-side management (DSM) by a mutual information exchange between the distribution grid operator (DSO) and the smart devices in real-time. However all this communication is highly regulated and requires strong cyber security methods to ensure, that this energy management will not become an attack vector against the entire energy grid.

In contrast to the Smart Meter Infrastructure, which only defines perimeter security based on Smart Meter GateWays (SMGW), this project uses end-to-end signatures to control the energy loads and inform the end users about time spans of "dimmed" energy availability.

European General Data Protection Regulation (GDPR)

Neither RFID cards, nor AutoCharge, smartphone apps and even not ISO 15118 Plug & Charge currently provide a GDPR compliant protection of end users and their data.

This project provides new data structures for encrypting privacy sensitive data and new EV driver authorization methods to avoid user tracking and data abuse.

Project Security Policy

We take security very seriously. Therefore we not only created the End-to-End-Security extensions but also the Calibration Law extensions, but also continuously review security vulnerabilities within the code, and provide fixes in a timely manner.

Please report security vulnerabilities in the Issues section of this repository. By keeping security issues visible, we leverage our community in helping fix them promptly.

If you are concerned sharing a vulnerability with the rest of the community, you can also send your report to: github@graphdefined.com

Your participation

This software is Open Source under the GNU Affero General Public License (AGPL).. We appreciate your participation in this ongoing project, and your help to improve it and the e-mobility ICT in general. If you find bugs, want to request a feature or send us a pull request, feel free to use the normal GitHub features to do so. For this please read the Contributor License Agreement carefully and send us a signed copy or use a similar free and open license.

Owner

  • Name: Open Charging Cloud
  • Login: OpenChargingCloud
  • Kind: organization
  • Email: github@charging.cloud
  • Location: Jena, Germany

The new #eMobility services architecture for 1M+ charging stations based on #SecureIoT, #privacy and #OpenData - https://open.charging.cloud

GitHub Events

Total
  • Watch event: 15
  • Push event: 38
  • Fork event: 2
Last Year
  • Watch event: 15
  • Push event: 38
  • Fork event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 766
  • Total Committers: 1
  • Avg Commits per committer: 766.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 175
  • Committers: 1
  • Avg Commits per committer: 175.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Achim Friedland a****d@g****m 766
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 12
  • Total pull requests: 9
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 14 days
  • Total issue authors: 9
  • Total pull request authors: 2
  • Average comments per issue: 2.08
  • Average comments per pull request: 0.89
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ahzf (2)
  • DgnOnur (2)
  • smeatond (1)
  • workmyhappy (1)
  • zainuvk (1)
  • BurakOgutken (1)
  • vadrsa (1)
  • thumarbhavesh10 (1)
  • FuYan (1)
Pull Request Authors
  • dependabot[bot] (16)
  • ahzf (1)
Top Labels
Issue Labels
OCPP v2.1 (1) enhancement (1) security (1)
Pull Request Labels
dependencies (16)

Dependencies

WWCP_OCPPv1.6/WWCP_OCPPv1.6.csproj nuget
  • Newtonsoft.Json 13.0.1
WWCP_OCPPv1.6_Tests/WWCP_OCPPv1.6_Tests.csproj nuget
  • Microsoft.NET.Test.Sdk 17.2.0
  • NUnit 3.13.3
  • NUnit3TestAdapter 4.2.1
  • Newtonsoft.Json 13.0.1
WWCP_OCPPv1.6_WebAPI/WWCP_OCPPv1.6_WebAPI.csproj nuget
  • Newtonsoft.Json 13.0.1
WWCP_OCPPv1.5/WWCP_OCPPv1.5.csproj nuget
WWCP_OCPPv1.6_Adapter/WWCP_OCPPv1.6_Adapter.csproj nuget
WWCP_OCPPv2.0.1/WWCP_OCPPv2.0.1.csproj nuget
  • Newtonsoft.Json 13.0.3
WWCP_OCPPv2.0.1_Adapter/WWCP_OCPPv2.0.1_Adapter.csproj nuget
WWCP_OCPPv2.0.1_Tests/WWCP_OCPPv2.0.1_Tests.csproj nuget
  • Microsoft.NET.Test.Sdk 17.7.2
  • NUnit 3.13.3
  • NUnit3TestAdapter 4.5.0
  • Newtonsoft.Json 13.0.3
WWCP_OCPPv2.0.1_WebAPI/WWCP_OCPPv2.0.1_WebAPI.csproj nuget
  • Newtonsoft.Json 13.0.3
WWCP_OCPPv2.1/WWCP_OCPPv2.1.csproj nuget
  • BouncyCastle.Cryptography 2.2.1
  • Newtonsoft.Json 13.0.3
WWCP_OCPPv2.1_Adapter/WWCP_OCPPv2.1_Adapter.csproj nuget
WWCP_OCPPv2.1_Tests/WWCP_OCPPv2.1_Tests.csproj nuget
  • BouncyCastle.Cryptography 2.2.1
  • Microsoft.NET.Test.Sdk 17.7.2
  • NUnit 3.13.3
  • NUnit3TestAdapter 4.5.0
  • Newtonsoft.Json 13.0.3
WWCP_OCPPv2.1_WebAPI/WWCP_OCPPv2.1_WebAPI.csproj nuget
  • Newtonsoft.Json 13.0.3