## 3 The Proposed Scheme
### Task Accomplished Phase  
After the task is accomplished by the \(SG\), the \(SG\) needs to report the event status to the SCC. Then, the \(SCC\) will send a notification including the detailed process and remark automatically to the client. Figure 9 shows the flowchart of the task accomplished phase. Step 1. The \(SG\) selects a random \(r_{8}\), and computes the following parameter:  
\[R_{SG_{2}}=g^{rs}\text{mod}p \tag{55}\]  
Figure 9: The flowchart of the task accomplished phase. The timestamp \(T_{13}\) will be appended to the event message:  
\[M_{Event_{6}}=(ID_{Event}||ID_{SC}||ID_{SCC}||T_{13}||Seq_{i}) \tag{56}\]  
The \(SG\) uses the hash function to compute the parameter \(h_{SG_{2}}\):  
\[h_{SG_{2}}=H(R_{SG_{2}}{}^{r_{8}}\cdot Puk_{SG}(M_{Event_{6}}+Prk_{SG})||H(M_{ Event_{6}})) \tag{57}\]  
The \(SG\) uses its private key \(Prk_{SG}\) and \(M_{Event_{6}}\) to compute the signatures as follows:  
\[Sig_{SG_{3}}=1-r_{8}{}^{-1}\cdot Prk_{SG}\cdot H(M_{Event_{6}})\text{mod}p \tag{58}\]  
\[Sig_{SG_{4}}=M_{Event_{6}}+Prk_{SG}\text{mod}p \tag{59}\]  
After that, the \(SG\) uses \(SCC\)'s public key \(Puk_{SCC}\) to encrypt the message into a ciphertext \(C_{SG_{2}}\):  
\[C_{SG_{2}}=E_{Puk_{SCC}}(T_{13}||R_{SG_{2}}||H_{SG_{2}}||Sig_{SG_{3}}||Sig_{SG _{4}}||M_{Event_{6}}||H(M_{Event_{6}})) \tag{60}\]  
Then, the \(SG\) sends \((ID_{SG},ID_{Event},C_{SG_{2}})\) to \(SCC\). Step 2. Once the \(SCC\) receives the cipher message \(C_{SG_{2}}\) at \(T_{14}\), the \(SCC\) uses its private key \(Prk_{SCC}\) to decrypt the message:  
\[(T_{13}||R_{SG_{2}}||h_{SG_{2}}||Sig_{SG_{3}}||Sig_{SG_{4}}||M_{Event_{6}}||H( M_{Event_{6}}))=D_{Prk_{SCC}}(C_{SG_{2}}) \tag{61}\]  
Then, the \(SCC\) checks the validity of the timestamp:  
\[(T_{14}-T_{13})\stackrel{{?}}{{\leq}}\tau \tag{62}\]  
If the timestamp interval is valid, then the \(SCC\) needs to verify the \(SG\)'s hash parameter:  
\[h_{SG_{2}}\stackrel{{?}}{{=}}H(R_{SG_{2}}{}^{Sig_{SG_{3}}}\cdot Puk _{SG_{6}}{}^{H(M_{Event_{6}})+Sig_{SG_{4}}}||H(M_{Event_{6}})) \tag{63}\]  
If Equation (63) holds, the event status will be changed to \"accomplished\". Then, the \(SCC\) sends and chains \((R_{SG_{2}},h_{SG_{2}},Sig_{SG_{3}},Sig_{SG_{4}},M_{Event_{6}})\) to the \(BCC\). Step 3. Next, a notification will be sent to the client to let the client know the current state of the security situation of the \(CH\). The \(SCC\) selects a random \(r_{9}\), and computes the following parameter:  
Figure 9:0  
The timestamp \(T_{15}\) will be appended to the event message:  
Figure 9:1  
The \(SCC\) uses the hash function to compute the parameter \(h_{SCC_{3}}\):  
Figure 9:2  
The \(SCC\) uses its private key \(Prk_{SCC}\) and \(M_{Event}\) to compute the signatures as follows:  
Figure 9:3  
Figure 9:4  
After that, the \(SCC\) uses the client's public key \(Puk_{C}\) to encrypt the message into a ciphertext \(C_{SCC_{3}}\):  
Figure 9:5Then, the \(SCC\) sends and chains \((R_{SCC_{5}},h_{SCC_{5}},Sig_{SCC_{6}},Sig_{SCC_{10}},M_{Event_{7}})\) to the \(BCC\). Meanwhile, the \(SCC\) sends \((ID_{SCC},ID_{C},C_{SCC_{3}})\) to the client, and a notification will be sent to the client to let the client know the current state of the security situation of the \(CH\). Step 4. Once the client receives the cipher message \(C_{SCC_{3}}\) at \(T_{16}\), the client uses its private key \(Prk_{C}\) to decrypt the message:  
Figure 9:6  
Then, the client checks the validity of the timestamp:  
Figure 9:7  
If the timestamp interval is valid, then the client needs to verify \(SCC\)'s hash parameter:  
Figure 9:8  
If Equation (72) holds, then the client will reply to the \(SCC\) that the notification is received. Step 5.