Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2021 Aug 9;21(16):5369. doi: 10.3390/s21165369

Privacy-Preserving and Lightweight Selective Aggregation with Fault-Tolerance for Edge Computing-Enhanced IoT

Qiannan Wang 1, Haibing Mu 1,*
Editor: Jose Manuel Molina López1
PMCID: PMC8398313  PMID: 34450808

Abstract

Edge computing has been introduced to the Internet of Things (IoT) to meet the requirements of IoT applications. At the same time, data aggregation is widely used in data processing to reduce the communication overhead and energy consumption in IoT. Most existing schemes aggregate the overall data without filtering. In addition, aggregation schemes also face huge challenges, such as the privacy of the individual IoT device’s data or the fault-tolerant and lightweight requirements of the schemes. In this paper, we present a privacy-preserving and lightweight selective aggregation scheme with fault tolerance (PLSA-FT) for edge computing-enhanced IoT. In PLSA-FT, selective aggregation can be achieved by constructing Boolean responses and numerical responses according to specific query conditions of the cloud center. Furthermore, we modified the basic Paillier homomorphic encryption to guarantee data privacy and support fault tolerance of IoT devices’ malfunctions. An online/offline signature mechanism is utilized to reduce computation costs. The system characteristic analyses prove that the PLSA-FT scheme achieves confidentiality, privacy preservation, source authentication, integrity verification, fault tolerance, and dynamic membership management. Moreover, performance evaluation results show that PLSA-FT is lightweight with low computation costs and communication overheads.

Keywords: Internet of Things (IoT), edge computing, selective aggregation, privacy-preserving, fault tolerance

1. Introduction

The rapid development of Internet of Things (IoT) technology has made a considerable impact on our lives, such as smart home [1], smart healthcare [2], and smart grid [3]. More and more IoT devices connect to the Internet, and the cloud center analyzes all sensing data in traditional cloud computing, wherein it is difficult to provide real-time services to meet the requirements of IoT applications [4]. Edge computing is used to preprocess the data at the network edge and then transmit these preprocessed data to the cloud center [5]. Thus, it is introduced into IoT to overcome the bottleneck mentioned above (also regarded as an edge computing-enhanced IoT system) [6]. Owing to the distributed architecture of edge computing, sensitive information can be directly stored and processed on edge devices. Nevertheless, the capacity of the edge device is limited, and edge devices are easily captured by adversaries, resulting in the unreliability of edge devices [7]. Therefore, edge computing may increase the possibility of sensitive information leakage [8].

As an essential data processing technique, data aggregation can reduce energy and bandwidth consumption and gain accurate information by merging redundancy data. Although data aggregation is beneficial to edge computing-enhanced IoT, the adversaries can eavesdrop on messages during the transmission between the entities, and even modify messages and forge signatures. Consequently, the authenticity of aggregated data cannot be guaranteed, and the decision of the cloud center may be disturbed. Therefore, privacy-preserving data aggregation (PPDA) has emerged as a significant research area [9].

Most existing aggregation schemes do not process data before the aggregation to avoid revealing data privacy, i.e., overall aggregation [10,11,12,13,14,15]. However, the overall aggregation will aggregate massive unrelated data, which increases the difficulty of both data analysis and data storage. Aggregating the data selectively within the scope of the query will be more beneficial to reduce response latency. Therefore, many selective aggregation schemes have already been proposed [16,17,18,19,20,21,22]. Nonetheless, both overall aggregation and selective aggregation schemes face the following challenges. Firstly, the accuracy of the aggregated data is likely to have a decrease since some unrelated data are also involved in the data aggregation and influence the final decisions. Secondly, a few schemes do not achieve source authentication and integrity verification, and the messages and signatures may be modified or tempered. Thirdly, the huge computation costs bring challenges to resource-constrained IoT devices. Fourthly, fault tolerance should be taken into account to enhance the availability of the aggregation schemes.

We present PLSA-FT, a privacy-preserving and lightweight selective aggregation scheme with fault tolerance for edge computing-enhanced IoT. Our main contributions are as follows:

  • In PLSA-FT, the cloud center can set filtering conditions for the data source to avoid aggregating unrelated data. Hence, selective data aggregation can be achieved by constructing Boolean responses and numerical responses according to the attributes of the data source.

  • We have constructed the encryption, the aggregation, and the decryption process on the basis of the modified Paillier homomorphic cryptosystem to ensure the confidentiality and privacy of the individual IoT device’s data.

  • The PLSA-FT is fault-tolerant, which means that the cloud center could obtain the aggregated data uploaded by all the working IoT devices, even if some IoT devices fail to upload reports.

  • We have analyzed the system characteristics to prove that the PLSA-FT scheme achieves confidentiality, privacy preservation, source authentication, integrity verification, fault tolerance, and dynamic membership management. Furthermore, we have evaluated the performance of the scheme to show that the PLSA-FT is lightweight.

The outline of this paper is as follows. The Section 2 introduces related works. The Section 3 presents the system model, the security model, and design goals. In the Section 4, we describe the proposed PLSA-FT scheme in detail. The Section 5 and the Section 6 demonstrate the system characteristic analyses and the performance evaluation. Finally, we provide a conclusion in the Section 7.

2. Related Work

Privacy-preserving data aggregation has attracted much attention in recent years. To protect the sensitive information of users, the homomorphic encryption technology [11,13,16,17,18,19,23,24,25,26,27,28,29,30], the differential privacy technology [17,26,27,31], and the pseudonym technology [12,15,32,33] have mainly been used in aggregation schemes [34].

In [15], Guan et al. utilized pseudonyms and pseudonym certificates to perform secure data aggregation and guaranteed the anonymity of the devices. Nonetheless, the certificate generations and updates were time-consuming. Qian et al. [17] adopted the differential privacy technique to ensure vital privacy preservation and supported selective aggregation to provide online user behavior analysis based on the BGN homomorphic cryptosystem. Mahdikhani et al. [18] employed the Paillier homomorphic encryption to encrypt the reports to avoid the leakage of sensitive information. Moreover, selective aggregation was achieved by computing the inner product similarity to identify the aggregation subset. Zhang et al. [24] constructed a lightweight and verifiable PPDA scheme, called LVPDA, which was proved to be existentially unforgeable under the chosen message attack. LVPDA introduced the edge computing paradigm for efficient data storage and computing services. Nonetheless, the overall interaction of the scheme was complicated, and the signature verification did not support batch verification. In [32], Wang et al. proposed the first anonymous and secure aggregation scheme. In this scheme, the introduction of fog computing transferred storage and computing from the cloud center to fog nodes in order to solve high latency and lack of support for mobility. Moreover, pseudonyms were used for protecting the identities of terminal devices, and homomorphic encryption was employed for guaranteeing data security in fog-based public cloud computing. However, a large number of time-consuming bilinear pairs were used for signature verification, which leads to relatively large computation costs. The security model of this scheme considered that the cloud center was entirely believable, and that the assumption of security needed to be lowered in future work.

However, these schemes mainly focused on privacy, anonymity, and selective aggregation, while the fault tolerance of the scheme was ignored. This could be a large problem because IoT devices are prone to malfunctions. The fault tolerance characteristic was especially significant in [28,29]. Li et al. [28] set the sum of all devices’ secret parameter πij to 0 in order to enhance the security of plaintext mij. Nonetheless, CC would not be able to decrypt the aggregated ciphertexts if one or more IoT devices malfunctioned, since the sum of πij was no longer 0.

Shi et al. [31] proposed a fault-tolerant protocol based on diverse groups. Grining et al. [35] proposed a provable level of privacy even if massive devices malfunctioned. Nonetheless, the above traditional PPDA schemes did not adopt the architecture of edge-computing/fog-computing and suffered from latency problems.

Lu et al. proposed a lightweight PPDA scheme to achieve data aggregation and filter fake data, based on the Paillier homomorphic cryptosystem and the Chinese Remainder Theorem [13]. Even if some devices were malfunctioning, their scheme could support fault tolerance. In [30], Zeng et al. presented a data aggregation scheme, which could support column aggregation and support an additional row aggregation. Furthermore, MMDA was fault-tolerant. However, not all the data was useful, as the aggregation of multi-dimensional data from two directions exacerbated the waste of resources. The schemes mentioned above took advantage of the computational capacity of fog computing/edge computing, whereas selective aggregation was not considered. Selective aggregation was beneficial to the recourse-constrained IoT because it could avoid spending massive resources on the aggregation and storage of unrelated data. However, there is seldom any work aiming to support the fault tolerance for selective data aggregation schemes.

In addition to fault tolerance and selective aggregation, dynamic membership management was also significant for practical application scenarios. In schemes without dynamic membership management, all the entities should be reset when there is any membership updating. It would cost considerable computation and communication overheads. Hence, we proposed the PLSA-FT system to aggregate data according to data source attributes and support the IoT devices’ dynamic membership.

3. Models and Design Goals

3.1. System Model

In our scheme, we consider a trusted third party, a cloud center, m edge devices, and m×l IoT, which are shown in Figure 1.

Figure 1.

Figure 1

The system model of the proposed PLSA-FT scheme.

The trusted third-party TTP: The TTP is responsible for initialization and assigning keys for all entities in a secure way. If an IoT device participates in or exits the system, the value of the secret parameter θ in the TTP’s database will update. TTP also helps in case of IoT devices’ malfunctioning.

IoT devices TD={TD11,TD12,⋯,TDm(l−1),TDml}: TDij generates responses according to collected data and sends encrypted reports to the corresponding edge device EDi.

Edge devices ED={ED1,ED2⋯EDm}: The EDi generally refers to the edge server. Specifically, EDi transmits messages between the cloud center and IoT devices.

Cloud center CC: The CC broadcasts queries to TD s via corresponding edge devices, aggregates ciphertexts from ED s, and analyzes data after decryption.

3.2. Security Model

We assume that the trusted third-party TTP is fully trusted, while the cloud center and edge devices are honest but curious, which means that the cloud center and edge devices would try to gain information by analyzing received data without any modification. Each IoT device is considered to be honest in our scheme.

We considered an external adversary who may eavesdrop on the sensitive information during data transmission, initiate reply attacks, and launch active attacks to modify the messages or forge the signatures. Note that PPDA is the focus of this paper. Other active attacks, i.e., denial of service (DoS) attacks and internal adversaries, are beyond the scope of this paper.

3.3. Design Goals

The main goal of our scheme is to aggregate data without revealing individual IoT device’s data. At the same time, we hope that the scheme supports fault tolerance and dynamic membership management. Specifically, the design goals can be summarized as follows:

Confidentiality and privacy preservation: Adversaries cannot infer any data from ciphertexts without the decryption key. The cloud center can only recover all IoT devices’ aggregated data, and the individual IoT device’s data are protected.

Source authentication and integrity verification: Every legal entity has a unique identity, and the reports generated from illegal devices could be detected. Meanwhile, if the adversaries modify the data or forge signatures, malicious operations would be detected.

Fault tolerance: Even if one or more IoT devices malfunction, the proposed PLSA-FT scheme can still work as usual.

Dynamic membership management: When new IoT devices join or old ones exit the system, any parameters of other devices need not be updated.

4. Our Proposed Scheme

4.1. System Initialization

We assume that the TTP will bootstrap the whole system. Given two security parameters k1,k2, TTP first chooses two random large prime numbers p1,q1 with k1−bit length and |p1|=|q1|=k1. Then, let n=p1⋅q1, choose a generator g1=n+1 and g1∈Zn2*. Then, define a function L(x)=(x−1)/n, output public key pk=n, and private key sk=λ for encryption and decryption. Then, TTP generates a bilinear map e:G1×G1=G2 of prime order q, where |q|=k2. Then, TTP chooses four secure hash functions H:{0,1}*→Zn*, H1:{0,1}*→G1, H2:{0,1}*→Zq*, H3:G1→Zq* and a chameleon hash function HCH:Zq *→G1. Finally, the TTP publishes the public parameters {q,e,G1,G2,H,H1,H2,H3,HCH,n,g1} to all entities in the system, and keeps sk=λ available to CC.

4.2. Registration

The TTP chooses a random number x∈ Zq * as CC’s private key and computes Y=gx. Then, the TTP publishes the public key Y and sends the private key x to CC, and CC keeps its private key secretly. Similarly, TTP selects an identity IDEDi and a random number xi∈Zq* for EDi, then computes Yi=gxi. Then, TTP  stores {IDEDi,Yi} in CC’s database. EDi keeps its private key xi secret. Considering there are m⋅l IoT devices, TTP generates xij∈Zq*,i=1,2⋯m,j=1,2⋯l as TDij’s private key and computes θ∈Zq* such that

∑i=1m∑j=1lxij+θ≡0modλ. (1)

Only the TTP and IoT devices know the private key xij. The TTP also computes the corresponding Yij=gxij for each IoT device in the system and stores {IDTDij,Yij} in the  CC’s database and in the corresponding EDi’s database. When an IoT device joins in the system, it should apply the registration to TTP. When an IoT device exits the system, it should send a message to notify TTP to update the value of secret parameter θ. TTP also regularly inquires of edge devices to obtain the information of working IoT devices to avoid that TTP does not receive the message from the IoT device because of power outages or network fadings.

TDij further chooses wij,yij,zij,sij,tij∈Zq * and computes

rij=H2(IDTDij∥wij),f=gyij,h=gzij. (2)

TDij stores the personal information PI=(rij,sij,tij), where sij and tij are trapdoor keys. Then, TDij calculates

HCHij=grij⋅fsij⋅htij, (3)

and the offline signature

sigijoff=H1(HCHij)xij. (4)

Finally, TDij sends message {IDTDij,TSoff,HCHij,sigijoff} and verification key (f,g,h) to the corresponding EDi, where TSoff denotes the current timestamp.

After receiving the message packet from TDij, EDi first checks the validity of IDTDij and the freshness of TSoff. Then, EDi performs batch verification e(g,∏j=1lsigijoff)?=∏j=1le(Yij,H1(HCHij)), significantly reducing the computation costs of EDi. If the equation holds, TDij is valid. Otherwise, TDij is invalid and EDi rejects TDij’s responses later.

4.3. Query Broadcasting

Whenever CC desires, it broadcasts query Q to all IoT devices via intermediate edge devices. The query Q is formally defined as Q=(A∥B), where A={a1,a2,…,ak} contains all query conditions ai of the data source attributes in the current query, B denotes CC’s basic query condition, and ∥ denotes the concatenation function. A query Q1 is defined as Q1={A=(female & age>60)∥B=heart rate}, whose query conditions of the data source attribute are “female” and “age > 60”, and the basic query condition is “heart rate”. CC uses its private key x to sign query Q as

σ=H1(Q∥TSq)x (5)

to guarantee that the query Q is not altered, where TSq denotes the current timestamp. Then, CC sends {Q,TSq,σ} to all IoT devices via corresponding edge devices.

4.4. IoT Devices Responses

After each IoT device receives the query, it first checks the freshness of TSq. Then, each IoT device checks the validity of signature σ through the equation e(Y,H1(Q∥TSq))=e(g,σ). The query is accepted when the equation holds. Otherwise, the signature is invalid, and the query is rejected. If the query is accepted, each IoT device TDij constructs the response Rij on the basis of query Q. Each TDij’s response  Rij is formally defined as

Rij=(RBij∥RNij) (6)

RBij can be computed as RBij=(b1 &b2 &⋯&bk), and  bi is the Boolean response to the corresponding query condition of the data source attribute ai. RNij denotes numerical response to basic query condition B. Each TDij runs the Algorithm 1 to obtaian the output Rij=(RBij∥RNij). We define R=max{R11,R12,⋯,Rml}. Note that, the range [0,R] is still a small message space in comparison with Zn.

Algorithm 1: IoT devices responses
  Input: TDij’s Boolean response (b1,b2,⋯,bk) and numerical response RNij
  Output: Rij=(RBij∥RNij)
1: for each TDij do
2:    RBij=(b1&b2&⋯&bk)
3:    if RBij=1 then
4:      RNij=RNij
5:    else
6:      RNij=0
7:    end if
8: end for
9: return Rij=(RBij∥RNij)

TDij computes

Cij=E(Rij)=(1+Rij⋅n)⋅H(TS)xij⋅nmodn2, (7)

where TS denotes the current timestamp. When H(TS)xij⋅n is computed in advance, TDij only needs to perform multiplication operations. Then, TDij computes online signature on the basis of PI=(rij,sij,tij) as follows:

sij*=((rij−Cij)+(tij−tij*)⋅yij+sij⋅zij)⋅yij−1. (8)

TDij randomly chooses tij*∈ Zq *, and the online signature sigijon=(tij*,sij*) is formed. Finally, TDij sends message {IDTDij,TS,Cij,sigijon} to EDi.

4.5. Edge Device Aggregation

Upon receiving the message from TDij, EDi first checks the timestamp TS and the validity of IDTDij. Then, EDi uses verification key (f,g,h) to check if

HCHij(rij,sij,tij)=HCHij(Cij,sij*,tij*). (9)

The correctness of above equation can be proved as follows:

HCHij(Cij,sij*,tij*)=gCij⋅fsij*⋅htij*=gCij⋅f((rij−Cij)+(tij−tij*)⋅yij+sij⋅zij)⋅yij−1⋅htij*=gCij⋅gyij⋅((rij−Cij)+(tij−tij*)⋅yij+sij⋅zij)⋅yij−1⋅gzij⋅tij*=grij⋅fsij⋅htij=HCHij(rij,sij,tij) (10)

If the equation holds, the message sent by TDij is valid. Otherwise, the message is invalid. If the message is valid, EDi aggregates the ciphertext by computing

Ci=∏j=1lCij. (11)

Then, EDi calculates signature

sigi=H1(IDEDi∥TS∥Ci)xi. (12)

Finally, EDi sends message {IDEDi,TS,Ci,sigi} to CC. Note that if the set TD^⊂TD  indicates that the devices in the set do not upload the reports, EDi computes

Ci¯=∏TDij∈TD/TD^ Cijmodn2 (13)

and the corresponding signature is

sigi¯=H1(IDEDi∥TS∥Ci¯)xi. (14)

Finally, EDi sends message {IDEDi,TS,Ci¯,sigi¯} to CC.

4.6. Edge Device Aggregation

After receiving the message packet from EDi, CC first checks the validity of IDEDi and the freshness of the timestamps TS. Then, CC performs batch verification e(g,∏i=1msigi)?=∏i=1me(Yi,H1(IDEDi∥TS∥Ci)), which significantly reduces the computation costs of CC. If the equation holds, EDi is valid. Otherwise, EDi is invalid and CC checks e(g,sigi)?=e(Yi,H1(IDEDi∥TS∥Ci)) to identify the invalid message.

If the message is valid, CC sends decryption requirements to TTP, TTP returns H(TS)n⋅θ to CC. Then, CC aggregates the ciphertexts by computing

C=∏i=1mCi⋅H(TS)n⋅θmodn2=∏i=1m∏j=1l[(1+Rij⋅n)⋅H(TS)xij⋅n]⋅H(TS)n⋅θmodn2=(1+∑i=1m∑j=1lRij⋅n)⋅H(TS)(∑i=1m∑j=1lxij+θ)⋅nmodn2∑i=1m∑j=1lxij+θ≡0modλ⇒∑i=1m∑j=1lxij+θ=τ⋅λ for some τ→=(1+∑i=1m∑j=1lRij⋅n)⋅H(TS)τ⋅λ⋅nmodn2xnλ≡1modn2⇒H(TS)τ⋅λ⋅n≡1modn2⇁=(1+∑i=1m∑j=1lRij⋅n)modn2 (15)

CC can obtain the aggregated plaintext ∑i=1m∑j=1lRij by computing

∑i=1m∑j=1lRij=L(C)=(C−1)/n. (16)

∑{RBij=1}RBij counts the number of IoT devices that satisfy CC’s query conditions. ∑{RNij≠0}RNij denotes the sum of numerical responses that satisfy CC’s query conditions. CC can further gain the mean m¯ of aggregated data by computing

m¯=∑{RNij≠0}RNij∑{RBij=1}RBij=∑i=1m∑j=1lRNij∑i=1m∑j=1lRBij. (17)

The correctness of the ciphertext’s aggregation can be proved as follows:

∑i=1m∑j=1lRij=∑i=1m∑j=1l(RNij∥RBij)=∑{RBij,RNij=0}(RBij∥RNij)+∑{RBij,RNij≠0}(RBij∥RNij)=∑{RBij=1}RBij∥∑{RNij≠0}RNij (18)

4.7. Fault Tolerance Handling

If some IoT device TD^⊂TD cannot work, CC aggregates the ciphertexts as follows:

C^=∏i=1mCi¯=((1+∑TDij∈TD\TD^Rij⋅n)⋅H(TS)∑TDij∈TD\TD^xij⋅n)modn2. (19)

Even if the equation H(TS)(∑TDij∈TD\TD^xij+θ)⋅n≡1 mod n2 does not hold, CC can still use private key λ to obtain aggregated plaintexts ∑TDij∈TD\TD^Rij. CC computes

C^λ=(1+n⋅λ⋅∑TDij∈TD\TD^Rij)modn2. (20)

The aggregated plaintexts can be recovered by

∑TDij∈TD\TD^Rij=L(C^λ)=C^λ−1n⋅λ. (21)

Similarly, CC can obtain the corresponding mean m¯.

4.8. Extension to Support Dynamic Membership

Since the IoT devices in the edge computing-enhanced IoT system may change, our scheme can provide dynamic membership management. If some new IoT devices TD∈A participate in the system or some old ones TD∈B exit, TTP will update the value of θ and replace θ with θ′. θ′ can be computed as

θ′=θ−∑TD∈Axij+∑TD∈Bxijmodλ. (22)

If some new IoT devices participate in the system, they need to apply the registration to TTP, and the detailed registration operations are described in Section 4.2. If some old IoT devices exit, TTP needs to notify CC and the corresponding EDi to delete the corresponding record {IDTDij,Yij}. The cost of our extension is much less than that of other schemes, which need to update IoT device’s private key.

The high-level description of the main phase of the PLSA-FT scheme is shown in Figure 2.

Figure 2.

Figure 2

High-level description of the main phase of the PLSA-FT scheme.

We also show the main phases of our proposed PLSA-FA scheme in Table 1.

Table 1.

The proposed PLSA-FA scheme.

Registration TDij Generates wij,yij,zij,sij,tij∈Zn *
Computes rij=H2(IDTDij∥wij),f=gyij, h=gzij
Sends {IDTDij,TSoff,HCHij,sigijoff} and verification key (f,g,h) to EDi
EDi Performs the batch verification e(g,∏j=1lsigijoff)?=∏j=1le(Yij,H1(HCHij))
If the equation holds, TDij is valid. Otherwise, EDi will reject TDij’s reports later
CC Generates the query Q=(A∥B) and the signature σ=H1(Q∥TSq)x
Query Sends {Q,TSq,σ} to all IoT devices via corresponding edge devices
TDij Performs the verification e(Y,H1(Q∥TSq))?=e(g,σ)
Encryption If the equation holds, TDij constructs the response according to Algorithm 1.
Computes Cij=E(Rij)=(1+Rij⋅n)⋅H(TS)xij⋅n and generates a random number tij*∈ Zq *
Computes sij*=((rij−Cij)+(tij−tij*)⋅yij+sij⋅zij)⋅yij−1 and sigijon=(tij*,sij*)
Sends {IDTDij,TSij,Cij,sigijon} to EDi
EDi Performs the batch verification HCHij(rij,sij,tij)?=HCHij(Cij,sij*,tij*)
Aggregation Aggregates the reports Ci=∏j=1lCij and generates the signature sigi=H1(IDEDi∥TSi∥Ci)xi
Sends {IDEDi,TSi,Ci,sigi} to CC
CC Performs the batch verification e(g,∏i=1msigi)?=∏i=1me(Yi,H1(IDEDi∥TSi∥Ci))
Decryption Sends the decryption requirements to TTP to get H(TS)n⋅θ
Aggregates the reports C=∏i=1mCi⋅H(TS)n⋅θ
Recover the aggregated plaintexts ∑i=1m∑j=1lRij=L(C)=(C−1)/n
Computes the mean value m¯=∑i=1m∑j=1lRNij/∑i=1m∑j=1lRBij
Fault tolerance If some IoT devices TD^⊂TD do not work, EDi aggregates the reports
Ci¯=∏TDij∈TD/TD^Cij and generates the signature sigi¯=H1(IDEDi∥TSi∥Ci¯)xi
CC aggregates the reports C^=∏i=1mCi¯=(1+∑TDij∈TD\TD^Rij⋅n)⋅∏TDij∈TD/TD^H(TS)xij⋅n and
recovers the aggregated plaintexts ∑TDij∈TD\TD^Rij=L(C^λ)=C^λ−1n⋅λ

5. System Characteristic Analyses

5.1. Confidentiality and Privacy Preservation

Theorem 1.

The privacy of the individual IoT device’s data Rijcannot be compromised by an external adversary.

Proof of Theorem 1.

If an external adversary eavesdrops on the communication between TDij and EDi to obtain the report Cij. In PLSA-FT, the TDij reports its data in the form of Cij=E(Rij)=(1+Rij⋅n)⋅H(TS)xij⋅nmodn2. According to the property under Module n2, i.e., (1+n)x≡(1+n⋅x)modn2, Cij will become (1+n)Rij⋅H(TS)xij⋅nmodn2. If we let r=H(TS)xij, g=(1+n), and g∈Zn2*, then the ciphertext Cij will become Cij=gRij⋅rnmodn2 and is still a valid Paillier ciphertext. Since the Paillier encryption algorithm has been proved to be semantically secure against chosen plaintext attacks, an external adversary cannot gain Rij without private key λ. □

Theorem 2.

The privacy of remaining IoT devices is protected, even if a set of IoT devices is comprised.

Proof of Theorem 2.

If a set of IoT devices are compromised, their corresponding secret keys xij will be leaked. In PLSA-FT, the TTP randomly generates secret parameters xij∈Zq*, i=1,2⋯m,j=1,2⋯l and there is no correlation between them. In other words, even if an adversary compromises some IoT devices, it has no chance to reveal the secret keys of the remaining IoT devices and the privacy of the remaining IoT devices’ data.

In an extreme case, an adversary successfully compromises m×l−1 IoT devices and obtains their corresponding secret keys x11,x12,⋯xml−1(i=1,2⋯m,j=1,2⋯l). Recalling Equation (1), the expression for all IoT devices can be expressed in the form of ∑i=1m∑j=1lxij+θ≡0modλ. If we let ∑xij denote the obtained secret keys, then the above equation will become ∑xij+xml+θ≡0modλ. This means that only when the adversary obtains the secret parameter θ and the secret key λ of CC will it be able to gain xml. Therefore, we can conclude that, no matter how many IoT devices are compromised, the privacy of other IoT devices is protected. □

Theorem 3.

If the EDi is compromised, the privacy of individual IoT device’s data  Rij and aggregated data ∑j=1l Rij  is preserved.

Proof of Theorem 3.

If the EDi is compromised, the adversary can obtain multiple TDij’s ciphertexts Cij=E(Rij)=(1+Rij⋅n)⋅H(TS)xij⋅nmodn2. Similarly, the adversary can obtain the aggregated ciphertext Ci=(1+∑j=1lRij⋅n)⋅H(TS)∑j=1l xij⋅nmodn2. According to the proof of Theorem 1, both the ciphertext Cij and the aggregated ciphertext Ci are valid Paillier ciphertexts, which are indistinguishable under chosen plaintext attacks. The EDi does not have the Paillier algorithm’s secret key λ to perform the decryption. Thus, even if the adversary has compromised EDi, the privacy of the individual device’s data Rij and the privacy of the aggregated data ∑j=1l Rij are both protected. □

Theorem 4.

If CC is compromised, the privacy of the individual IoT device’s data  Rij is protected.

Proof of Theorem 4.

If a strong adversary compromises the CC, it can only reveal the aggregated data. Since CC can only obtain aggregated ciphertexts from ED s, the adversary cannot infer the individual IoT device’s data from the aggregated data. Therefore, even though the adversary compromised the CC, the privacy of the individual IoT device is still preserved. □

5.2. Source Authentication and Data Integrity

Theorem 5.

Source authentication and integrity verification of the data are guaranteed in proposed PLSA-FT scheme.

Proof of Theorem 5.

After EDi receives the message packet {IDTDij,TS,Cij,sigijon} from TDij, EDi first checks the freshness of timestamp TS and the validity of IDTDij. EDi can confirm the message packet generated from which TDij and further check if the entity is legal. Then, EDi checks if the equation HCHij(rij,sij,tij)=HCHij(Cij,sij*,tij*) holds to verify the integrity of data. In our scheme, an online/offline signature is adopted, which has been proved to be is existential unforgeable under chosen message attacks in [24]. Only the adversary with trapdoor keys (yij,zij) can easily achieve the collision according to the trapdoor collision property [36]. Thus, an adversary cannot pass EDi’s integrity verification without trapdoor keys.

In addition, after CC receives the message packet {IDEDi,TS,Ci,sigi} from EDi, CC first checks the freshness of timestamp TS and the validity of IDEDi. Therefore, CC can confirm the message packet generated from which EDi and further verify if the entity is legal. This ensures that every packet is from a legal entity and cannot be tampered. CC can performs batch verification e(g,∏i=1msigi)?=∏i=1me(Yi,H1(IDEDi∥TS∥Ci)), which greatly reduces the CC’s computation costs. If the above equation does not hold, at least one message reported by EDi is invalid, and CC can check e(g,sigi)?=e(Yi,H1(IDEDi∥TS∥Ci)) to find invalid messages. If an adversary modifies or forges the data, the above equation would not hold. Thereby, our scheme ensures the source authentication and integrity verification of the data. □

5.3. Fault Tolerance

Theorem 6.

Suppose at some time slot, certain IoT devices cannot successfully upload the reports, CCcan still obtain aggregated data of the rest of normal IoT devices.

Proof of Theorem 6.

In case certain IoT devices TD^ in subset TD are malfunctioning, these devices cannot successfully upload the reports to the corresponding EDi. After aggregating the reports from ED s, the CC can obtain the aggregated report C˜, which only includes the normal IoT devices’ reports. Even if the equation H(TS)(∑TDij∈TD\TD^xij+θ)⋅n≡1 mod n2 does not hold, the CC can still perform the decryption to obtain aggregated data by computing L(C^λ).

According to the properties under Moduln n2, e.g., ∏i=1m(1+n⋅x)≡(1+n⋅∑i=1mx)modn2, (1+n⋅x)λ≡(1+n⋅λx) mod n2 and xnλ≡1modn2, the aggregated ciphertext C^λ can be computed as follows:

C^λ=∏TDij∈TD\TD^((1+Rij⋅n)λ⋅H(TS)xij⋅n⋅λ)modn2=(1+∑TDij∈TD\TD^Rij⋅n)λ⋅∏TDij∈TD\TD^H(TS)xij⋅n⋅λmodn2=(1+∑TDij∈TD\TD^Rij⋅n⋅λ)⋅∏TDij∈TD\TD^1modn2=(1+∑TDij∈TD\TD^Rij⋅n⋅λ)modn2 (23)

Hence, CC can compute L(C^λ)=C^λ−1n⋅λ to obtain aggregated data ∑TDij∈TD\TD^Rij.

Therefore, the proposed PLSA-FT scheme is well functioning, even if certain IoT devices malfunction. We can conclude that the PLSA-FT is fault-tolerant. □

5.4. Dynamic Membership Management

In PLSA-FT, when a new IoT device TDij joins in the system, the IoT device applies to TTP. Then, TTP assigns the IoT device a secret key xij and updates the value of secret parameter θ to θ′, which can be computed as θ′=θ−xijmodλ. When TDij exits the system, TTP updates the value of secret parameter θ to θ′, which can be computed as θ′=θ+xijmodλ. At the same time, TTP needs to notify the CC and the corresponding EDi to delete the record {IDTDij,Yij}.

It can be seen that the joining or exit of IoT devices does not concern other IoT devices, which requires low computation and communication costs.

6. Performance Evaluation

We evaluated the performance of the proposed PLSA-FT scheme in the aspects of the computation costs and the communication overheads. We considered other related aggregation schemes [24,25,30,32] as a comparison. We adopted the Java Pairing Based Cryptography Library (JPBC) to estimate the time costs. We used the Type-A curves as defined in the PBC library for the implementation because the Type-A curves offer the highest efficiency among all types of curves. Table 2 shows the symbol and the meaning of the operations and corresponding time costs. The security parameter q is 160 bits, and the RSA modulus n is set to 1024 bits. In addition, we considered that there are m ED s and each ED corresponds to l TD s. Additionally, the length of timestamp TS and identity ID are all 160 bits. All experiments were implemented on Intel Core i7-4790 CPU @ 2.5 GHz, with 4 GB memory with Ubuntu16.04 operating system.

Table 2.

Time costs of the operations.

Symbol Meaning Time (ms)
Te1 Exponentiation in Zn2 1.58
Te2 Exponentiation in G1 1.62
Tm Multiplication in G1 0.06
Tp Bilinear pairing in G1 17.62
Th Hash in G1 2.97

6.1. Computation Costs

In PLSA-FT,  TDij requires one exponentiation operation in Zn2, one hash operation, and three multiplication operations to generate the ciphertext and three multiplication operations in G1 to calculate the signature. EDi requires 3l exponentiation operations in G1 and 2l multiplication operations to verify the signature sigijon and l multiplication operations in G1 to aggregate ciphertext Ci, one exponentiation operation, and a hash operation in G1 to generate signature sigi. CC requires (3m+1) multiplication operations  (m+1) bilinear pairing operations, (m+1) hash operations, and one exponentiation operation in  G1 to verify the signatures and recover the plaintexts. We list a comparative summary of overall computation costs for five schemes in Table 3. From Table 3, we can find that our scheme requires the least Tp operations that are the most time-consuming operations. When the number of edge devices increases, the cloud center needs to verify a large number of signatures; thus, the advantage of our scheme will become more evident. Figure 3 shows that the comparison of overall computation costs in terms of the number of TD per ED(l) and the number of ED(m). It shows that our proposed PLSA-FA scheme greatly reduced the overall communication costs. Although the overall computation costs of the scheme [24] are fewer than that of our scheme, our scheme provides more functional properties than that of the scheme [24]. Table 4 further shows the comparison of functionalities achieved by five schemes.

Table 3.

The overall computation costs comparison.

Scheme Overall Computation Costs
Our scheme (m+1)Tp+(ml+2m+1)Th+mlTe1+(9ml+3m+1)Tm+(3ml+m+1)Te2
Scheme in [24] (ml+2m+1)Tp+(2ml+2m)Th+(5ml+3m)Tm+(4ml+2m+1)Te2
Scheme in [25] (7ml+2m)Te2+(7ml+3m)Tm+(ml+4m+2)Tp+(3ml+3m)Th
Scheme in [30] (ml)Te2+(6ml+3m)Tm+(2m)Te1+(3ml+4m)Th+(ml+3m)Tp
Scheme in [32] (3ml+m)Te2+(4ml+3m)Tm+(2ml+2m)Tp+(2ml+m)Th

Figure 3.

Figure 3

Comparison of overall computation costs.

Table 4.

Comparison of overall computation costs.

Functionality Our Scheme Scheme in [24] Scheme in [25] Scheme in [30] Scheme in [32]
Privacy ✓ ✓ ✓ ✓ ✓
Integrity verification ✓ ✓ ✓ ✓ ✓
Authentication ✓ ✓ ✓ ✓ ✓
Fault tolerance ✓ ✕ ✕ ✓ ✕
Selective aggregation ✓ ✕ ✕ ✕ ✕
Dynamic membership ✓ ✕ ✕ ✕ ✕

We also compared the computation costs during the aggregation phase in Figure 4a. It can be seen that our scheme requires the least computation costs during aggregation phrase. Figure 4b further depicts the signature and verification costs in terms of the number of TD per ED(l) and the number of ED(m). The time costs of the signature and verification in our proposed PLSA-FA scheme were found to be the least among the four schemes discussed.

Figure 4.

Figure 4

(a) Comparison of aggregation costs. (b) Comparison of signature and verification costs.

6.2. Communication Overheads

The communication process of PLSA-FT consists of two processes. One is the communication process from TDij to EDi, and the other one is the communication process from EDi to CC. In the phase of IoT devices responses, each TDij sent a message packet  {IDTDij,TS,Cij,sigijon} to EDi, and the corresponding communication overheads were 160 + 160 + 2048 + 160 = 2528 bits. Moreover, in the phase of edge device aggregation, each  EDi sent message packet  {IDEDi,TS,Ci,sigi} to CC, and the corresponding communication overheads were 160 + 160 + 2048 + 160 = 2528 bits. Considering that there were m edge devices and each EDi corresponded to l IoT devices, the total communication overheads in the scheme were 2528ml+ 2528m bits.

Figure 5 shows the comparison of total communication overheads among four schemes. We can conclude that the PLSA-FT scheme requires the least communication overheads.

Figure 5.

Figure 5

Comparison of communication overheads.

7. Conclusions

In this paper, we present a privacy-preserving and lightweight selective aggregation scheme with fault tolerance (PLSA-FT) for edge computing-enhanced IoT. PLSA-FT can filter data according to data source attribute to achieve selective aggregation and provide fault tolerance and dynamic membership management. Moreover, benefiting from edge computing, PLSA-FT transfers time-consuming operations to edge devices while reducing the online computatiDon costs. Detailed system characteristic analyses illustrate that the proposed PLSA-FT scheme is secure. Moreover, performance analysis results showed that it is lightweight in both computation costs and communication overheads. However, PLSA-FT is vulnerable to the collusion attacks of edge devices and malicious IoT devices, which exposes the data privacy of a single IoT device. In our future work, we plan to extend our scheme to cope with collusion attacks. Moreover, we also prepare to improve the security properties under more powerful adversaries and active attack models.

Acknowledgments

The authors wish to thank the reviewers for their valuable comments and suggestions concerning this manuscript.

Author Contributions

Conceptualization, Q.W.; methodology, Q.W.; validation, H.M.; investigation, Q.W.; writing—original draft preparation, Q.W.; writing—review and editing, H.M. All authors have read and agreed to the published version of the manuscript.

Funding

The research of the authors was supported by Industrial Internet innovation and development project of MIIT, China.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Footnotes

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

References

  • 1.Khan M., Silva N.S., Han K. Internet of Things Based Energy Aware Smart Home Control System. IEEE Access. 2016;4:7556–7566. doi: 10.1109/ACCESS.2016.2621752. [DOI] [Google Scholar]
  • 2.Ara A., Al-rodhaan M., Tian Y., Al-rodhaan A. A Secure Privacy-Preserving Data Aggregation Scheme Based on Bilinear ElGamal Cryptosystem for Remote Health Monitoring Systems. IEEE Access. 2017;5:12601–12617. doi: 10.1109/ACCESS.2017.2716439. [DOI] [Google Scholar]
  • 3.He D., Kumar N., Zeadally S., Vinel A., Yang L.T. Efficient and Privacy-Preserving Data Aggregation Scheme for Smart Grid against Internal Adversaries. IEEE Trans. Smart Grid. 2017;8:2411–2419. doi: 10.1109/TSG.2017.2720159. [DOI] [Google Scholar]
  • 4.Botta A., Donato D.W., Persico V., Pescapé A. Integration of Cloud computing and Internet of Things: A survey. Future Gener. Comput. Syst. 2016;56:684–700. doi: 10.1016/j.future.2015.09.021. [DOI] [Google Scholar]
  • 5.Sun X., Ansari N. EdgeIoT: Mobile Edge Computing for the Internet of Things. IEEE Commun. Mag. 2016;54:22–29. doi: 10.1109/MCOM.2016.1600492CM. [DOI] [Google Scholar]
  • 6.Shi W., Cao J., Zhang Q., Li Y., Xu L. Edge Computing: Vision and Challenges. IEEE Internet Things J. 2016;3:637–646. doi: 10.1109/JIOT.2016.2579198. [DOI] [Google Scholar]
  • 7.Roman R., Lopez J., Mambo M. Mobile Edge Computing, Fog et al: A Survey and Analysis of Security Threats and Challenges. Future Gener. Comput. Syst. 2018;78:680–698. doi: 10.1016/j.future.2016.11.009. [DOI] [Google Scholar]
  • 8.Zhang J., Chen B., Zhao Y., Cheng X., Hu F. Data Security and Privacy-Preserving in Edge Computing Paradigm: Survey and Open Issues. IEEE Access. 2018;6:18209–18237. doi: 10.1109/ACCESS.2018.2820162. [DOI] [Google Scholar]
  • 9.He J., Cai L., Cheng P., Pan J., Shi L. Distributed Privacy-Preserving Data Aggregation Against Dishonest Nodes in Network Systems. IEEE Internet Things J. 2019;6:1462–1470. doi: 10.1109/JIOT.2018.2834544. [DOI] [Google Scholar]
  • 10.Fan C.I., Huang S.Y., Lai Y.L. Privacy-Enhanced Data Aggregation Scheme against Internal Attackers in Smart Grid. IEEE Trans. Industr. Inform. 2013;10:666–675. doi: 10.1109/TII.2013.2277938. [DOI] [Google Scholar]
  • 11.Zhang J., Zhang Q., Ji S., Bai W. PVF-DA: Privacy-Preserving, Verifiable and Fault-Tolerant Data Aggregation in MEC. China Commun. 2020;17:58–69. doi: 10.23919/JCC.2020.08.005. [DOI] [Google Scholar]
  • 12.Guan Z., Si G., Zhang X., Wu L., Guizani N., Du X., Ma Y. Privacy-Preserving and Efficient Aggregation Based on Blockchain for Power Grid Communications in Smart Communities. IEEE Commun. Mag. 2018;56:82–88. doi: 10.1109/MCOM.2018.1700401. [DOI] [Google Scholar]
  • 13.Lu R., Heung K., Lashkari A.H., Ghorbani A.A. A Lightweight Privacy-Preserving Data Aggregation Scheme for Fog Computing-Enhanced IoT. IEEE Access. 2017;5:3302–3312. doi: 10.1109/ACCESS.2017.2677520. [DOI] [Google Scholar]
  • 14.Song J., Liu Y., Shao J., Tang C. A Dynamic Membership Data Aggregation (DMDA) Protocol for Smart Grid. IEEE Syst. J. 2020;14:900–908. doi: 10.1109/JSYST.2019.2912415. [DOI] [Google Scholar]
  • 15.Guan Z., Zhang Y., Wu L., Wu J., Li J., Ma Y., Hu J. APPA: An Anonymous and Privacy Preserving Data Aggregation Scheme for Fog-Enhanced IoT. J. Netw. Comput. Appl. 2019;125:82–92. doi: 10.1016/j.jnca.2018.09.019. [DOI] [Google Scholar]
  • 16.Zhu H., Gao L., Li H. Secure and Privacy-Preserving Body Sensor Data Collection and Query Scheme. Sensors. 2019;16:179. doi: 10.3390/s16020179. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 17.Qian J., Qiu F., Wu F., Ruan N., Chen G., Tang S. Privacy-Preserving Selective Aggregation of Online User Behavior Data. IEEE Trans. Comput. 2017;66:326–338. doi: 10.1109/TC.2016.2595562. [DOI] [Google Scholar]
  • 18.Mahdikhani H., Mahdavifar S., Lu R., Zhu H., Ghorbani A.A. Achieving Privacy-Preserving Subset Aggregation in Fog-Enhanced IoT. IEEE Access. 2019;7:184438–184447. doi: 10.1109/ACCESS.2019.2961270. [DOI] [Google Scholar]
  • 19.Manzano L.G., Fuentes J.M., Pastrana S., Lopez P.P., Encinas L.H. PAgIoT-Privacy-Preserving Aggregation Protocol for Internet of Things. J. Netw. Comput. Appl. 2016;71:59–71. doi: 10.1016/j.jnca.2016.06.001. [DOI] [Google Scholar]
  • 20.Lu R. A New Communication-Efficient Privacy-Preserving Range Query Scheme in Fog-Enhanced IoT. IEEE Internet Things J. 2019;6:2497–2505. doi: 10.1109/JIOT.2018.2871204. [DOI] [Google Scholar]
  • 21.Mahdikhani H., Lu R. Achieving Privacy-Preserving Multi Dot-Product Query in Fog Computing-Enhanced IoT; Proceedings of the GLOBECOM 2017–2017 IEEE Global Communications Conference; Singapore. 4–8 December 2017; New York, NY, USA: IEEE; 2017. [Google Scholar]
  • 22.Datta A., Joye M., Fawaz N. Private Data Aggregation over Selected Subsets of Users; Proceedings of the 18th International Conference on Cryptology and Network Security; Fuzhou, China. 25–27 October 2019; Berlin/Heidelberg, Germany: Springer; 2019. pp. 375–391. [Google Scholar]
  • 23.Paillier P. Public-Key Cryptosystems Based on Composite Degree Residuosity Classes; Proceedings of the International Conference on the Theory and Application of Cryptographic Techniques; Prague, Czech Republic. 2–6 May 1999; Berlin/Heidelberg, Germany: Springer; 1999. [Google Scholar]
  • 24.Zhang J., Zhao Y., Wu J., Chen B. LVPDA: A Lightweight and Verifiable Privacy-Preserving Data Aggregation Scheme for Edge-Enabled IoT. IEEE Internet Things J. 2020;7:4016–4027. doi: 10.1109/JIOT.2020.2978286. [DOI] [Google Scholar]
  • 25.Wang Z. An Identity-Based Data Aggregation Protocol for the Smart Grid. IEEE Trans. Industr. Inform. 2017;13:2428–2435. doi: 10.1109/TII.2017.2705218. [DOI] [Google Scholar]
  • 26.Lyu L., Nandakumar K., Rubinstein B., Jin J., Bedo J., Palaniswami M. PPFA: Privacy Preserving Fog-Enabled Aggregation in Smart Grid. IEEE Trans. Industr. Inform. 2018;14:3733–3744. doi: 10.1109/TII.2018.2803782. [DOI] [Google Scholar]
  • 27.Bao H., Lu R. A New Differentially Private Data Aggregation with Fault Tolerance for Smart Grid Communications. IEEE Internet Things J. 2015;2:248–258. doi: 10.1109/JIOT.2015.2412552. [DOI] [Google Scholar]
  • 28.Li X., Liu S., Wu F., Kumari S., Rodrigues J.J.P.C. Privacy Preserving Data Aggregation Scheme for Mobile Edge Computing Assisted IoT Applications. IEEE Internet Things J. 2019;6:4755–4763. doi: 10.1109/JIOT.2018.2874473. [DOI] [Google Scholar]
  • 29.Liu Y., Guo W., Fan C.I., Chang L., Cheng C. A Practical Privacy-Preserving Data Aggregation (3PDA) Scheme for Smart Grid. IEEE Trans. Industr. Inform. 2019;15:1767–1774. doi: 10.1109/TII.2018.2809672. [DOI] [Google Scholar]
  • 30.Zeng P., Pan B., Choo K.R., Liu H. MMDA: Multidimensional and Multidirectional Data Aggregation for Edge Computing-Enhanced IoT. J. Syst. Archit. 2020;106:101713. doi: 10.1016/j.sysarc.2020.101713. [DOI] [Google Scholar]
  • 31.Shi Z., Sun R., Lu R., Chen L., Chen J., Shen X.S. Diverse Grouping-Based Aggregation Protocol with Error Detection for Smart Grid Communications. IEEE Trans. Smart Grid. 2015;6:2856–2868. doi: 10.1109/TSG.2015.2443011. [DOI] [Google Scholar]
  • 32.Wang H., Wang Z., Domingo F.J. Anonymous and Secure Aggregation Scheme in Fog-Based Public Cloud Computing. Future Gener. Comput. Syst. 2018;78:712–719. doi: 10.1016/j.future.2017.02.032. [DOI] [Google Scholar]
  • 33.Shen X., Zhu L., Xu C., Sharif K., Lu R. A Privacy-Preserving Data Aggregation Scheme for Dynamic Groups in Fog Computing. Inf. Sci. 2020;514:118–130. doi: 10.1016/j.ins.2019.12.007. [DOI] [Google Scholar]
  • 34.Liu D., Zheng Y., Ding W., Atiquzzaman M. A Survey on Secure Data Analytics in Edge Computing. IEEE Internet Things J. 2019;6:4946–4967. doi: 10.1109/JIOT.2019.2897619. [DOI] [Google Scholar]
  • 35.Grining K., Klonowski M., Syga P. On Practical Privacy-Preserving Fault-Tolerant Data Aggregation. Int. J. Inf. Secur. 2019;8:285–304. doi: 10.1007/s10207-018-0413-5. [DOI] [Google Scholar]
  • 36.Zhang Y., Chen Z., Guo F. Online/Offline Verification of Short Signatures; Proceedings of the Information Security and Cryptology, Inscrypt 2010; Shanghai, China. 20–24 October 2010; Berlin/Heidelberg, Germany: Springer; 2010. [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

Not applicable.


Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES