# Phase Calibrated Ring Oscillator PUF Design and Application
## 5 PCPUF Application
### Offuscation-Based Authentication
According to our scheme, the PUF is not allowed to generate the same response twice within the threshold times. Modeling attacks are also inefficient as stable response bits, and the internal state is obfuscated by the unstable bits, one-way hash function and the Bloom filter. Even if the Bloom filter is reset, the pattern cannot be detected due to the \(T\) times one-way hashing. The complexity of our scheme also makes probe attacks useless since the next final response is unpredictable given a known PCPUF model, Bloom filter content and the current register value. Since the attackers cannot try all \(2^{N}\) input patterns when \(N\) is large, our scheme is secure. To authenticate our PUFs in a secure way, we avoid recording any data in the database that may disclose the information of the PUFs. Instead, we use Bloom filters for authentication, in which the hash functions provide strong resistance against software reverse engineering. When a PUF is manufactured, we test the PUF and store the PCPUF stability model in the database. Then, we redo the response generation process by software, with our challenge set and the known initial seed in the PUF. Since we cannot predict the unstable bits in the response, all the possibilities must be generated by an authentication tree, as shown in Figure 17. The responses of \(R1\) are generated after the first loop of calculations according to the challenge \(C1\). \(R1(0)\) and \(R1(1)\) are based on the assumption that the obfuscating unstable bit is '0' and '1'. In the second loop, the responses of \(R2\) are generated with the \(N-1\) stable bits from \(R1\), and the unstable bits lead to four combinations. By following this progress, we obtain \(2^{T}\) possibilities of the final response. With the same challenge \(C1\), the final response of this PUF must belong to the set of \(RT\). Thus, all the responses in this set need to be recorded in the Bloom filter with \(C1\) as one-time CRP. As we apply nonce to the challenge set, it is not necessary to calculate and store the final response set of the second \(T\) loop. By mapping the response set with one-way hash functions, we can guarantee the data security in the database. Figure 16: Secure obfuscation-based authentication solution. ```
1:procedureOffuscation
2:wait:
3:enable new challenge goto loop 1
4:goto wait
5:Loop 1:
6:reset RegisterB,
7:\(t\gets 1\)
8:ChallengeRegister\(\leftarrow\) new challenge
9:Loop 2:
10:if\(t=1\)then\(\mathrm{hash}(\mathit{new}\ \mathit{challenge}(N))\)
11:elseif\(t=T+1\) & no collision then goto Loop 3
12:elseif\(t=T+1\) & collision then output RegisterB goto wait
13:elseif no collisionthen\(\mathrm{hash}(\mathit{RegisterA}\ (N-1)+^{\prime}0^{\prime})\)
14:elseif collisionthen\(\mathrm{hash}(\mathit{RegisterA}\ (N))\)
15: generate \(N-1\) stable bits with the PCPUF model
16: generate 1 unstable RO pair with the PCPUF model
17: generate 1 obfuscation bit with the RO array
18: generate inserted position with the hash value
19:RegisterA\(\leftarrow\) N bits
20:RegisterB\(\leftarrow\) RegisterA\(\oplus\) RegisterB
21:\(t\gets t+1\)
22:goto Loop 2
23:Loop 3:
24: receive \(\mathit{obfuscation bit}\) mask
25:\(\mathit{BloomFilter}\leftarrow\mathit{RegisterB}(N-T)+T^{\prime}0^{\prime}\)
26:if collisionthen\(t\gets 1\) goto Loop 2
27:elseif no collisionthen update BloomFilter output RegisterB goto wait
28:end Loop 3
```  
**Algorithm 3** Secure authentication scheme. This security scheme sacrifices hardware resources, however. For instance, after generating one million responses, the Bloom filter will be reset to maintain a false positive of \(10^{-6}\). The size of NVM and the number of hash functions are calculated as:  
\[M=-\frac{n\ln p}{(\ln 2)^{2}}\approx 3.42\ MB \tag{10}\]  
\[k=\frac{M}{n}\ln 2\approx 20 \tag{11}\]  
Figure 17: PUF authentication tree in the database. In the database, the false positive rate of the Bloom filter affects the authentication accuracy. Thus, it needs to be much lower than that in the PUF.