Towards a Security Enabled and SOA-based QoS ( for the Smart Grid ) Architecture

QoS and Security features are playing an important role in modern network architecures. Dynamic selection of services and by extension of service providers are vital in today’s liberalized market of energy. On the other hand it is equally important for Service Providers to spot the one QoS Module that offers the best QoS level in a given cost. Type of service, response time, availability and cost, consist a basic set of attributes that should be taken into consideration when building a concrete Grid network. In the proposed QoS architecture Prosumers request services based on the aforementioned set of attributes. The Prosumer requests the service through the QoS Module. It is then the QoS Module that seeks the Service Provider that best fits the needs of the client. The aforementioned approach is well supplemented with an in depth analysis on existing authentication and authorization protocols. The authors believe that QoS and security can work in parallel without adding extra burden in the Smart Grid infrastructure. This is feasible by building an in advance system for placing, scheduling, and assigning of the requests for energy consumption or production, thus decongesting the traffic in the whole network.


Introduction
In a constantly growing and demanding market of energy environment, there arises the need for a Quality of Service (QoS) mechanism to properly support the constraints that are imposed by the consumers of energy, without neglecting the importance of keeping the balance of energy flow in the network in an as stable as possible level.
In order to properly achieve this goal, an in advance way of placing, scheduling, and assigning the requests for energy consumption (or even for energy production) should be considered.A mechanism with respect to attributes like: type of service to be served, response time, availability, cost and probably throughput should be developed and adopted in order to smoothly pass from the classic energy grid to this new more intelligently build Smart Grid era.
In the proposed approach, we try to enforce the Service Oriented Architecture Approach (SOA) to the Smart Grid field.The idea was born by noticing that in the Smart Grid field the whole action is initiated by two main actors, namely the Consumer (in our case the Prosumer/User) and the Provider (in our case the Aggregator) of energy (the service).We tried to get the best of what the promising SOA field has to offer in order that different Providers to be able to independently create their services and seamlessly "feed" the Consumers.This approach is worth adapting to the Smart Grid environment.
To efficiently deliver energy resources in the smart grid, an energy resource management strategy needs to be developed to balance the energy demand and supply.Developing effective energy resource management schemes is challenging due to numerous fluctuations the entities on both the demand and supply sides experiencing.For example, on the supply side, fluctuations could come from distributed renewable energy resources due to solar irradiance, wind speed, etc.On the demand side, numerous effects, including natural disasters, plug-in vehicles, personal habits of using energy, weather and temperature, etc., could make it difficult to predict energy usage.In this paper, we develop techniques to effectively manage energy resources and usage in order to provide the needed stability to the grid.Particularly, to balance energy demand and supply, we develop a SOA-based QoS architecture to effectively tackle with the needed amount of energy generation, based on the demand over time.
Security and privacy are two of the most important challenges faced by the future smart grid.These issues include: (i) lack of mutual authentication between communicated entities; (ii) risk of various cyber-attacks; (iii) unauthorized access to the resources; and (iv) revealing of device's and network's private information to the communicating entity.The requirements of the Smart Grid network are different from that of the traditional information network, since the specific network deals mostly with confidential information.That is the reason, confidentiality has been prioritized as first, the integrity comes as second, and the availability of information is last.On the other hand, the Smart Grid is primarily responsible for the availability of information, as well as the integrity protection of the message, and then the data confidentiality and privacy [37].
Before allowing any entity to have an access over a network and its associated resources, it is required to authenticate the entity, which may be a device or a user, and then verify the authorization and control policy based on the entity's identity.Authentication verifies the user's identity while the authorization verifies whether the user has valid permissions to access the requested resource.The modern power grid makes use of supervisory control and data acquisition (SCADA) systems with communication protocols.Unfortunately, protocols used in these systems are often vulnerable to a variety of possible attacks (man-in-themiddle attacks, replay attacks, etc) due to the diversity of the attack surface.In the aforementioned, the cryptographic keys used in various devices of the system can be compromised [38].When connecting a SCADA system to other communication networks (e.g., Internet) what is significantly increased are security and privacy threats [39].This is one of the major challenges in many countries around the globe [40].A lot of researchers, actively work building secure and efficient authentication protocols in order to resolve the various communication and security/privacy issues that (co)exist in the SCADA [41,42], home Smart Grid environment [43], security management and the Smart Grid operation [44], and message delivery in the Smart Grid [45].
Since various modules and entities receive data input from different other modules and send data output to several modules and entities, secure integration in the Smart Grid network is strongly required.Thus, maintaining data integrity and secure integrated communication among various entities and control modules are necessary.By data integrity we are referring to actions needed for maintaining accuracy and consistency of the data in the database or when transmitted over the network, while secure integrated communication refers to a reliable real-time information exchange within the system.Data integrity can be maintained by using either hash functions, such as SHA1, SHA256, etc., in which variable length input is converted into a fixed length hash code, or by the message authentication code (MAC) functions, such as cipher-based message authentication code (CMAC), hashbased message authentication code (HMAC), one-time MAC, etc., where variable length input with a secret key is mapped to a fixed length MAC code.MAC functions provide data integrity as well as authenticity of the message.
The security and performance objectives for developing a secure and efficient authentication protocol with secure network environment in the Smart Grid network end-to-end at power distribution among various entities, such as users, devices, control centre, utility provider, etc., are listed as follows: (i) Low execution and protocol delay; (ii) Low computational and storage cost; (iii) Low communication and computation overhead; (iv) Resistance to attacks and failures; (v) Trust among Smart Grid entities; (vi) Buffer management; and (vii) Confidentiality and privacy.
The rest of the paper is structured as follows: Section II provides a related literature review on QoS and Security, while Section III gives a detailed presentation of the proposed architecture.Finally, Section IV draws the conclusions, and outlines future work.

Related work in QoS
SOA is a way of developing software in the form of interoperable services.The promise that the service-oriented development brings to the IT world stems from providing a common programming interface, through which any application can be accessed [1].A service can be defined as a discrete unit of functionality that is made available through a service contract [2].The service contract specifies all interactions between the service consumer and service provider and includes: i) Service interface; ii) Interface documents; iii) Service policies; iv) Quality of service (QoS); and v) Performance.
One of the main differences between a service and other software constructs (such as components or objects) is that a service is explicitly managed.The QoS and performance are managed through a service level agreement (SLA).In addition, the entire service life cycle is managedfrom design, to deployment, to enhancements, to maintenance.SOAs can easily support QoS features and behavior by putting their characteristics in the WSDL description of a requested or provided service.Since SOAs message exchange is based on XML, we only need to flourish a bit the description in order to make it possible.
Normally the need for code and systems re-use is the driving force for adopting SOAs [3] instead of using highly specialized building blocks, focusing on a certain application.A service must hide its internal logic.A service should be loosely coupled, with no predefined connections, but with clearly defined inputs and outputs.
QoS in Grid computing was studied in GARA [5].In GARA approach, the separation of resource reservation and Towards a Security Enabled and SOA-based QoS (for the Smart Grid) Architecture 3 actual allocation is proposed for supporting critical requests.Studies of Ran [6] and Tian [7] concentrated on extending the first one the UDDI registry and the second one extended the WSDL files in order to bridge the gap between the Web Service layer and the network layer.To our knowledge both approaches lack implementation and validation reports.
Numerous approaches for providing QoS support in middleware based models, and specifically message oriented middleware models can be found in the bibliography.The Quartz [8] approach needs a large dataset (meaning large number of attributes) in order to provide adequate QoS support amongst different application areas.In [9] the QoS negotiation is in advance takes place by communicating a QoS contract amongst the involved parties.Our approach is in position to also send alternative offers to the Prosumers.
Cucinota et al. [10] presented a SOA approach that allows negotiation of the individuals QoS characteristics.In this way any unwanted interference amongst different services can be avoided.In [11], a negotiation architecture was developed where a QoS Manager detects any possible QoS violations, communicates with the resource manager and starts a new negotiation among the interested parts.Our model is proposing the most fitted to the Prosumer's needs QoS offer based on mining techniques and by processing the outcome with the help of machine learning algorithms.
Current research in service oriented systems is aiming to the efficient and automated provision of managed services which particularly during runtime are subject to dynamic and adaptive change processes, as described in the overview article of Papazoglou et al. [15].The service management not only has to cover the installation, first configuration and monitoring of services but also adaptation, re-configuration and life-cycle management in order to support selfconfiguration, self-adaptation, and self-healing, in order to properly establish the need for service versioning and dependence management.
When the focus comes to the actual implementation, managing dynamically adaptive service systems implies that the various elements of the service implementations can suitably and efficiently be managed at runtime.Based on this perspective, many authors propose combinations of service oriented architectures with software component based implementation approaches.Chrysoulas et al. [16] reports on the FlexiNET project which applies a special Grid-oriented component model in order to master dynamic service deployment by means of component management.The efficiency and the changeability of software component based service system implementations can rise substantially, if the software component structure is a real refinement of the service structure supporting additional opportunities for component reuse.As a consequence, however, more rich dependency relations arise since each software component may depend on certain versions of other ones.Kon et al. [17] report on the relevant dependence problems and their implications for the reliability of complex distributed software systems.They propose the utilization of component configurators which maintain and manage lists of dependency hooks and client dependency references.Chen [18] directly addresses the dynamic reconfiguration by component replacement, identifies the relevant static and dynamic dependencies and proposes procedures for the monitoring, analysis and reconfiguration of component structures.
Another aspect that should be taken into consideration is the messages exchanging is smart grids.The dominant standards are the (i) Data Distribution Service framework (DDS) [19]; (ii) Extensible Messaging and Presence Protocol (XMPP) [20]; and (iii) RabbitMQ [21].After carefully analyzed the aforementioned frame-works we reached to the conclusion that the QoS capabilities of XMPP are limited and are mostly supported by extensions to the protocol.DDS targets distributed real-time systems and therefore it is capable of addressing very complex distributed applications, where QoS requirements have to be guaranteed.RabbitMQ is used for high performance distributed system applications, and it is an open cloud messaging platform for real-time on a global scale and is mostly focused on high performance and not on predictability.It is therefore evident to conclude that DDS is the most suitable candidate for smart grid applications which come with high QoS requirements.
The challenges associated with the forecasting and demand response associated with energy usage were also discussed in [23].Energy usage forecasting can be categorized into short-term, medium-term, and long-term forecasting.Hong et al. [24] adopted a multiple linear regression mechanism for conducting short-term forecasting, which provides an interpretability of the behavior of the electricity usage in the service territory.A semi-parametric additive model proposed by Fan et al. in [25] used a regression mechanism and investigated the nonlinear relationships between energy usage data and variables in the short-term time period.In addition, a human-machine construct intelligence framework was proposed in [26] to determine the horizon year load for a long term load forecasting.Machine learning methods such as SVM and neural networks have been used in carrying out forecasting [27][28][29][30][31][32][33][34].For example, Shi et al. [28] developed a SVM-based model for one-day-ahead power output forecasting using the characteristics of weather classification.Research has been conducted in predicting energy consumption for smart homes.In [35], a method for predicting energy usage using data collected from CASAS Smart Environment System is introduced.People's activities, overall movement in the home, and frequency of sensor data events are used to predict energy usage.Authentication is the process of proving an identity to a given system, including users, applications, and devices [40].For information exchange in the Smart Grid network, involved entities must be bi-directionally authenticated.

Related work on Security
Mutual authentications in the distributed Smart Grid network can be categorized as follows: (i) Device-to-device [46]; (ii) Device-to-network [47]; and (iii) User-to-network/device [48].

Authentication protocols
In this subsection, we discuss the challenges and desired objectives of authentication protocols regarding the Smart Grid network, and the existing solutions with their strong and weak points towards meeting these objectives.
There are some standardized protocols that exist in the literature for the Smart Grid, which support the authentication process, such as the Device Language Message Specification/COmpanion Specification for Energy Metering (DLMS/COSEM) for the advanced metering infrastructure network and OpenADR for the demand response program.DLMS is an application layer communication protocol, while COSEM is a data model.The above combined provide interface model for metering applications belonging to IEC 62056 standards, such as electricity [48].Three authentication procedures are used by DLMS/COSEM: (i) no security (public access with no identity verification); (ii) low level security authentication (server identifies client by password); and (iii) high level security authentication (mutual identification) with exchange challenges.DLMS/COSEM specifies its own security services (authentication and confidentiality), based on symmetric key encryption, which is not necessarily an advantage.For example, if smart meters combine their measured data with digital signatures, the meters would then need asymmetric keys that can be used in secure sockets layer/transport layer security (SSL/TLS).TLS/SSL is something that DLMS/COSEM does not allow.
In order to provide support for asymmetric encryption, the European committee for electro-technical standardization relays in CENELEC TC-13 [49].Similarly in demand response, OpenADR, a standard development effort supports authentication based on public key cryptography with exchange of certificates [50].OpenADR maintains a hierarchy of certified authorities, thus requiring a Public Key Infrastructure (PKI) in order to use a three-tier PKI technology, which eventually leads in a high cost.
Other authentication protocols also exist, such as remote authentication dial-in user service (RADIUS) and diameter protocols for the 2G, 3G, and 4G cellular networks.RADIUS is used to provide remote user authentication and accounting in 2G, 3G, and 4G networks, and WLAN interworking and Wi-Fi offload situations [51].RADIUS comes with centralized services and maintains a central database.The smart grid requires decentralized solutions since a single-point failure can massively affect the centralized system.Another drawback is that RADIUS has poor scalability and uses the User Datagram Protocol (UDP), which does not provide reliable data transfer, thus making it not suitable for the smart grid where the availability of information is crucial.On the other hand, the diameter protocol is an authentication, authorization, and accounting protocol used in networking, which supports Transmission Control Protocol (TCP) instead of UDP.Its drawback is that does not provide transition support and application level congestion control [52].Diameter implementation supports peer authentication between communication endpoints using a pre-shared key.Consequently, this brings up key management issues and is not suitable for large systems, such as the smart grid.Another important aspect is that RADIUS and diameter protocols do not directly protect against Denial-of-Service (DoS) attacks carried out by flooding the target equipment.
A secure and efficient buffer management may be required at the aggregators in the Smart Grid network, which are responsible for receiving a large volume of information from the various smart meters, and at the memory stack of controlling devices in the SCADA system to prevent buffer overflow-based DoS attacks.Confidentiality is strongly required along with the privacy preservation of the information.In the Smart Grids network, there is the need to adequately hide the identity and other relevant information of the devices from the other entities.For example, a compromised aggregator may breach the privacy of the Smart Grid and can harm the user by tracing its pattern and energy consumption details.Similarly, some personal information, such as consumed units in every time slot, need to be encrypted over the network when providing it to an untrusted entity, such as an Aggregator.
Moreover, the performance of the system is important for satisfying the system requirements as well as supporting a huge number of devices.The evaluation metrics comprise of communication and computation overheads generated by the protocol, execution time of the protocol, delay at intermediate entities, and message transmission time.A solution is scalable, if it can support the authentication for a huge number of devices and can be further extended if required, with reasonable execution time and low overheads.Timing accuracy in the Smart Grid varies from few microseconds to few seconds depending upon different communication scenarios among various entities.In power communication networks, such as Smart Grid, reliability, security, and realtime message delivery have higher priorities than providing high throughput.Therefore, latency requirement is much more important in smart grid system [53].The communication latency needed for the transmission system protection is in the order of a few milliseconds [54]

Authorization protocols
There are many access control mechanisms.Jung et al. [56] proposed a SOA based mechanism as a way to provide data infrastructure capabilities on the exchanged information such as customer energy feedback, billing and invoicing of variable tariffs, demand side management, and efficient charging of Electrical Vehicles in the Smart Grid.What is not discussed is possible system overheads.Ryba et al. [57] proposed an authorization as a service architecture for the Smart Grid, while Zhang and Chen in [58] proposed a data-centric access control for the Smart Grid services.Various challenges in defining and enforcing consistent authorization policies are described by Lakshminarayanan [59], but the work fails to describe the implementation part and other important aspects (overheads, execution time, etc.).Cheung et al. [60] presented a new model that extends the network access control from a single security domain to multiple domains for interconnected micro grids.What is unclear is how the policy would be effective for a large network like the Smart Grid.A RBAC model-based access control mechanism is extended for the Smart Grids by Rosic et al. [61] considering the regional division and a concept of areas of responsibility for providing an efficient and consistent policy with a greater level of granularity.However, the RBAC based model may significantly increase complexity.A multi-authority access control with efficient attribute revocation (MAAC-AR) scheme for the Smart Grid by Liu et al. [62] achieves fine-grained access control, collusion resistance, privacy preservation, and secure attribute revocation.However, this scheme generates a large storage overhead.Vaidya et al. [63] present a lightweight and efficient security solution for substation automation system in order to provide a multi-factor authentication and attribute-based authorization by deploying public key As in detail discussed in this section, authorization is important for supporting secure communication among various entities of the Smart Grid.National Institute of Standards and Technology (NIST) also suggested a distinct need for a lightweight, secure, and efficient AA protocol to mitigate intrusion and Distributed DoS (DDoS) attacks targeting resource-intense AA mechanisms [40].In the view of large network systems, such as smart grid, a decentralized access control scheme is recommended in order to reduce the overall cost of adding and deleting entities in the system.ABAC is preferred over the userbased and the RBAC when the system is defined with large attributes or the user role is computed dynamically.There are researchers [64,65] that presented attribute-based decentralized access control scheme, but they do not justify resistance against security attacks or generate large overhead.

Proposed Architecture
Security is a critical and complex part of a system like the one proposed.The Authentication and Authorization (AA) Module is responsible for the Authentication and Authorization of the Prosumers/Users and the Aggregators in the system (Fig. 1).The AA module receives the Prosumer Authentication and Authorization request.This module authenticates, and authorizes the Prosumer by obtaining the Prosumer's and Aggregator's profile from the System Operator.The System Operator can be a Transmission System Operator (TSO), a Distribution System Operator (DSO), or a Network System Operator (DNO), i.e. an entity with whom the Prosumer or the Aggregator has a contract with.The possible candidates to serve that need were in depth analyzed in Section II.
The QoS part architecture presented in the [36] consists of the following components: The Aggregator [4], the Towards a Security Enabled and SOA-based QoS (for the Smart Grid) Architecture Aggregator Agent (AggA), the Prosumer/User [4], the Flex-Offer Agent (FOA) [4], the QoS Agent, the Aggregator Registration, and databases: to store information regarding the Prosumers/Users, the Contracts (closed, served, etc.), and information regarding the available Aggregators and their characteristics.See Fig. 2. The Prosumers/Users send their micro flex-offers to the Aggregator, through the FOA and QoS Module.A micro flex-offer states the possibility of a Prosumer/User to consume a certain amount of energy and the time interval during which it has the flexibility to schedule that consumption.There is also the possibility the flex-offer to be generated by the Flex-Offer Agent or by a Flex-Offer Agent that resides on the Aggregator's side, but we will not consider these two options in the present work.
The Aggregators are capable of joining several micro flex-offers into larger macro flex-offers, which are then placed on the electricity market.The energy market will answer with bids to buy and sell energy at given times.Aggregators receive and respond to the bids which allocate energy consumption periods to the macro flex-offers.After, they disaggregate macro flex-offer responses and send an answer to the Prosumers/Users which specify the periods of time to consume the required energy amount from the grid at a lower cost.It is the QoS Module that has the responsibility to find the best matching between the Prosumer's request for a service and the Aggregator that best covers its needs, in terms of response time, availability, and cost.More information can be found in [36].After the AA phase the available Aggregators register themselves to the QoS Module, specifically to the Aggregators Information Database, providing information like type of provided services, response time and cost models.The Prosumer asks for a service, which in our case is a need for energy consumption.This type of information is named micro flex-offer.It is then the responsibility of the QoS Module to perform all the needed steps in order to spot the Aggregator that best serves the needs of the Prosumer.Fig. 4 presents the interactions between the Prosumer, the QoS Module and the Aggregator.The list of interactions for the whole systems is the one that follows:
Aggregators and Users/Prosumers initiate their AA request through the AA Module. 2.
The AA Module contacts the System Operator asking for the Aggregators profile. 3.
The System Operator replies with the profile (if exists) and the AA Module comparing the profile from the System Operator with the one from the User/Prosumer -Aggregator authenticates and authorizes it or not. 4.
Aggregators register themselves (with their id), and their services (type of services, response time, cost models, and number of Prosumers/Users each can serve) with the QoS Module.

5.
A Prosumer/User initiates the sequence of steps, by sending to the QoS Module a QoS request (pointing out the requested service type, amount of needed energy, cost constraints, time flexibility). 6.
The QoS Module identifies the Aggregator that best fits the needs of the Prosumer/User.The QoS Module creates a token that includes information like the id of the Aggregator, a session id, the service id, expiration date and time for the offer. 7.
If the Prosumer accepts the offer, the QoS Module saves it in the Contract database.The Prosumer only needs the created token to request the service in the given time. 8.
The Prosumer makes a service request to the Aggregator using the created token.9.
The Aggregator creates the macro flex-offer and places a bid to the Virtual Market of Energy.The market answers back with a schedule.
10.The Aggregator sends the Schedule to the Prosumer/User, through the Flex-Offer Agent.

Conclusion
In this paper we presented an outline for a Quality of Service architecture targeting the Smart Grid world.All the involving parts were in detail described and documented.QoS attributes like: type of service to be served, response time, availability, and cost where taken into consideration while forming the proposed architecture.Another equally important step is handling the different ways that a flex-offer can be generated and come up with an as common as possible approach.In this paper we considered the flex-offer to be created by the Flex-Offer Agent that is connected to the Prosumer/User.Other identified formal cases are the generation of the flex-offer on the Aggregator, by using power measurement data available on the cloud, and the flex-offer to be initiated by the Prosumer/User, through a User Interface provided by the Flex-Offer Agent.We also presented an in-depth literature review/analysis on the work done till now on the authentication and authorization field and presented how an AA approach can be applied to demand/supply Smart grid architecture.
Future work should include a full implementation of the proposed approach which should also be supplemented by a machine learning part.The machine learning part should be in position to extract useful information, like identifying common patterns amongst multiple users/prosumers.Common patterns for instance in electricity usage in terms of time and amount.In this way the market of energy will be in position to better regulate its production thus leading to a more stable and economically sustainable power grid.In the case of Smart Grids there is no real battle between Security and QoS since the authors argue that the QoS constrains can be satisfied by enforcing an in advance provisioning for the energy consumption and/or production, thus allowing the security part to have more real-time characteristics.This part is also now a reality and will be also presented in a future update.Towards a Security Enabled and SOA-based QoS (for the Smart Grid) Architecture Authentication and authorization are mandatory to create an access control mechanism, by which users are granted access and certain privileges to systems, resources or information.It is strongly required in the Smart Grid system as various users with different roles access billions of devices in the network.Generally speaking, there are several types of EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 12 2017 -01 2018 | Volume 4 | Issue 12 | e4 access control mechanisms: (i) Discretionary Access Control (DAC); (ii) Mandatory Access Control (MAC); (iii) Identity Based Access Control (iBAC); (iv) Role-Based Access Control (RBAC); and (v) attribute-based access control (ABAC).
and authentication time varies up to few seconds [55].Furthermore, the computation complexity of various functions used in the protocol should be as low as possible to be scalable.EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 12 2017 -01 2018 | Volume 4 | Issue 12 | e4

Figure 1 .
Figure 1.Proposed QoS and Security Enabled Smart Grid Architecture

Figure 2 .
Figure 2. Proposed QoS Smart Grid Architecture

Fig. 3
Fig. 3 presents the interactions between the Prosumers/Users and Aggregators with the AA Module, the Systems Operators and the Virtual Market of Energy.After the AA phase the available Aggregators register themselves to the QoS Module, specifically to the Aggregators Information Database, providing information