## 4 The Proposed Scheme
### Initialization Phase  
In the initialization phase, the satellite core network servers (i.e., NCCs) first input the security parameter \(\lambda\in N\) and generate the system master key \(s\in Z_{q}^{*}\). Then, the NCC generates \((sk_{LEO},pk_{LEO})\) for LEOs based on ECC. Moreover, the NCC outputs the public parameter \(params=\langle q,\mathbb{G},\mathbb{G}_{\mathbb{T}},P,g,\hat{e},H_{1},H_{2}\rangle\), where \(\mathbb{G}\) is the addictive cyclic group with the generator element \((P,g)\) and the order \(q\), \(\mathbb{G}_{\mathbb{T}}\) is the multiplicative cycle group with the same order \(q\), \(\hat{e}\) is the bilinear pairing \(\hat{e}\colon\mathbb{G}\times\mathbb{G}\rightarrow\mathbb{G}_{\mathbb{T}}\), and \(H_{1}\colon\{0,1\}^{*}\to Z_{q}^{*}\) and \(H_{2}\colon\{0,1\}^{*}\times\mathbb{G}\to Z_{q}^{*}\) are hash functions. At the same time, the 6 GC completes the initial key configuration with the UE. The detailed access authentication protocols for terrestrial networks are beyond the scope of this paper.  
After generating the public parameter, the NCC implements Algorithm 1 to generate the group public key \(gpk:\langle g,h,u,v,\omega\rangle\) and group master secret key \(gmsk:\langle\xi_{1},\xi_{2}\rangle\), in which \(gpk\) needs to be published in an open channel and \(gmsk\) needs to be kept secret by the NCC. For each \(UE_{i}\) in the group, the NCC generates \(gsk_{i}:\langle ID_{i},\varphi_{i},A_{i}\rangle\) and sends \(gsk_{i}\) to the corresponding UE. The UE needs to use \(gsk_{i}\) as its private key and not disclose it to anyone.  
```
Input: a group of user identity, a number of users \(N\) Output:\((g,h,u,v,\omega,\xi_{1},\xi_{2})\), \((ID_{i},\varphi_{i},A_{i})\)
```  
```
1: Select random numbers \(u,v,h\in G\)
2: Select random numbers \(\xi_{1},\xi_{2},\ \gamma\in Z_{q}^{*}\) such that \(\xi_{1}\cdot u=\xi_{2}\cdot v=h\)
3: Sets \(\omega=\gamma g\)
4:for all \(UE_{i}\) with identity \(ID_{i}\)do
5: Select a random number \(\varphi_{i}\in Z_{q}^{*}\)
6: Set \(A_{i}=\frac{1}{\gamma+\varphi_{i}}\delta\)
7: Store the tuple \((ID_{i},\varphi_{i},A_{i})\)
8:endfor
9:return\(g\), \(u\), \(v\), \(h\), \(\omega\), \(\xi_{1},\xi_{2},(ID_{i},\varphi_{i},A_{i})\)
```  
**Algorithm 1**Initialization  
Additionally, the NCC generates the necessary parameters for batch authentication. The steps for batch authentication initialization are shown below:  
1. NCC selects a random number \(\epsilon_{LEO}\in Z_{q}^{*}\) for each LEO, and generates a batch master key \(BMK=s^{-1}P\) and batch public key \(BPK_{LEO}=\epsilon_{LEO}P\) for LEOs. The LEOs should keep \(BMK\) and \(\epsilon_{LEO}\) secret.
2. The NCC selects a random number \(x_{i}\in Z_{q}^{*}\) for each \(UE_{i}\). Then, the NCC calculates the batch authentication key \(BK_{i}=x_{i}S\), \(RK_{i}=e(x_{i}P,P)\) for the UE. Therefore, the batch authentication key of \(UE_{i}\) is \(buk_{i}:\langle BK_{i},\ RK_{i}\rangle\), and the UE should keep \(buk_{i}\) secret.  
Finally, the NCC sends \((\epsilon_{LEO},\ BMK,\ BPK_{LEO},\ sk_{LEO},pk_{LEO})\) to the LEOs over a secure channel (e.g., offline channel). Additionally, the NCC sends \((gsk_{i},gpk,buk_{i})\) to the corresponding UE securely, and saves \(ID_{i}\) and \(gsk_{i}\) in a local user key list (UKL).