Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
Thiết kế vi mạch PUF sử dụng các bộ
dao động vòng và biến đổi thời gian - số
Nguyễn Quang Phương, Nguyễn Văn Trung và Hoàng Văn Phúc
Học viện Kỹ thuật Quân sự, số 236 Hoàng Quốc Việt, Hà Nội
Email: , {trungcs2, phuchv}@mta.edu.vn
mật [3]. Bên cạnh đó, một thực tế đó là phần lớn các
thiết bị IoT được xây dựng là các hệ thống có tài
nguyên hạn chế về cả phần cứng và năng lượng, khó
có thể thực hiện được các thuật tốn mã hoá truyền
thống. Do vậy, một giải pháp vừa kinh tế mà lại hiệu
quả về mặt năng lượng và bảo mật là yêu cầu thiết yếu
đối với các thiết bị này.
Hàm không thể sao chép về mặt vật lý (Physical
Unclonable Function-PUF) được coi là một giải pháp
mạnh mẽ với chi phí thấp để bảo mật cho các thiết bị
IoT. Vi mạch PUF lợi dụng các sai lệch ngẫu nhiên
trong quá trình chế tạo chíp để tạo ra đặc trưng cho
chính bản thân nó, tương tự như dấu vân tay của mỗi
con người. Ưu điểm chính của PUF so với các giải
pháp mã hóa cổ điển là khả năng tương thích với các
thiết bị IoT với tài nguyên phần cứng hạn chế, tiêu tốn
năng lượng thấp. PUF cũng là một cấu trúc có các cặp
thử thách/đáp ứng (Challenge Response Pair-CRP), do
đó PUF là một giải pháp xác thực, bảo mật mà không
tốn thêm tài nguyên bảo mật nào trên các thiết bị.
Trong các hệ thống IoT, PUF có thể được tích hợp
dưới dạng vi mạch tích hợp chuyên dụng (ASIC) độc
lập hoặc là một phần của hệ thống trên chip.
Một cấu trúc cơ bản của PUF dựa trên độ trễ có thể
kể tới là PUF dựa trên các bộ tạo dao động vịng (Ring
Oscillator - RO) (hình 1), trong đó tần số của hai bộ
tạo dao động bất kỳ được chọn ra từ thử thách (C). Do
các sai lệch ngẫu nhiên trong q trình chế tạo chip mà
hai dao động này có tần số khác nhau, chúng được
đem ra so sánh và duy nhất một bit mô tả quan hệ lớn
hơn hoặc nhỏ hơn của 2 dao động này được lấy ra làm
bit đáp ứng (R) [4]. Có thể thấy, cấu trúc RO-PUF
truyền thống có nhược điểm về số lượng bit đáp ứng
Abstract — Hàm không thể sao chép về mặt vật lý (PUF)
là một giải pháp bảo mật phần cứng mạnh mẽ với chi phí
thấp thích hợp cho các thiết bị IoT vốn có tài nguyên hạn
chế. Trong bài báo này, một phương pháp mới để gia
tăng số lượng cặp thử thách – đáp ứng (CRP) cũng như
số bit của đáp ứng có thể tạo ra ứng với mỗi thử thách
của cấu trúc RO-PUF truyền thống được đề xuất. Cấu
trúc này được xây dựng trên cơ sở các bộ dao động vòng
(RO) kết hợp với bộ biến đổi thời gian – số (TDC) để số
hóa khoảng thời gian trễ giữa hai dao động bất kỳ trong
một chu kỳ tín hiệu. Để đánh giá hoạt động của thiết kế
được đề xuất, một mơ hình thử nghiệm được xây dựng và
các thuộc tính PUF được kiểm tra và so sánh. TDC ROPUF được thực hiện trên công nghệ CMOS 180nm của
TSMC. Kết quả mô phỏng đánh giá cho thấy, cùng với
một chuỗi bit thử thách, số lượng bit đáp ứng của thiết
kế đề xuất tăng 4 lần so với cấu trúc truyền thống, số
lượng CRP tối đa có thể trích xuất ra lớn với tính duy
nhất và độ tin cậy cao tương ứng là 50.52% và 98.31%.
Keywords- Bảo mật phần cứng, Hàm không thể sao
chép về mặt vật lý (PUF), bộ dao động vòng (RO), bộ biến
đổi thời gian - số (TDC), CMOS.
I.
GIỚI THIỆU
Ngày nay, các thiết bị di động và hệ thống nhúng ngày
càng được sử dụng rộng rãi trên nhiều lĩnh vực của
cuộc sống từ y tế, xe tự hành, công nghiệp cho tới các
hệ thống Internet vạn vật (IoTs) như nhà thông minh,
đô thị thông minh và cơ sở hạ tầng quan trọng khác.
Các hệ thống này có khả năng thu thập thông tin và tự
xử lý một phần thông tin cung cấp cho các giai đoạn
xử lý sau theo các mục đích khác nhau [1]. Một yêu
cầu bảo mật cơ bản trong các ứng dụng này là xác thực
và chứng thực để bảo vệ các thông tin nhạy cảm hoặc
dữ liệu quan trọng - “miếng bánh ngon” đối với các tin
tặc. Phương pháp mã hoá và giao thức truyền tin
truyền thống với các khố bảo mật nhị phân có thể
đem tới một mức độ bảo mật nhất định. Cách tiếp cận
này thường dựa trên yêu cầu thiết bị có bộ nhớ đủ
dung lượng để lưu các khoá bảo mật và phần cứng đủ
mạnh để thực hiện các thuật toán mã hoá và xử lý,
điều này làm tăng sự phức tạp, công suất tiêu thụ cũng
như giá thành của thiết bị [2]. Tuy nhiên, các phương
pháp tấn công phần mềm như API, virus hay tấn công
phần cứng như xâm lấn, bán xâm lấn, tấn cơng kênh
bên đều có khả năng làm lộ hoặc bẻ gãy các khố bảo
ISBN: 978-604-80-5076-4
Hình 1. Cấu trúc RO-PUF truyền thống
148
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
nhỏ, để độ dài của R đạt được tới độ dài (k) của các
khóa mật trong các thuật tốn mã hóa như AES hoặc
ADS, cấu trúc trên cần được nhân bản lên k lần , điều
này làm tăng kích thước thiết kế dẫn tới tăng giá thành
thiết bị. Bên cạnh đó, số lượng CRP độc lập do cấu
trúc này cung cấp khá ít. Các nghiên cứu trước đây
chủ yếu tập trung cải thiện số lượng CRP tối đa có thể
trích xuất từ một thử thách, chưa có nhiều cơng trình
nghiên cứu về RO-PUF giải quyết được cả vấn đề về
số lượng bit đáp ứng ra với mỗi thử thách nhỏ [5].
Trong bài báo này, chúng tôi giới thiệu một cấu trúc
RO-PUF mới sử dụng bộ biến đổi thời gian – số (Time
to Digital Converter - TDC) nhằm tạo ra số lượng
CRP lớn và số lượng bit đáp ứng với mỗi C được cải
thiện. Với n bộ tạo dao động RO được sử dụng, số
lượng CRP có thể tạo ra tối đa là 2. C2n và số bit đáp
ứng phụ thuộc vào tần số, hay số tầng của các bộ tạo
dao động được dùng. Cấu trúc này được thực hiện trên
công nghệ CMOS 180nm của TSMC, mơ phỏng và
đánh giá các đặc tính của PUF.
Phần còn lại của bài báo được tổ chức như sau:
trong phần II, TDC RO-PUF sẽ được giới thiệu và mô
tả. Tiếp theo, các kết quả mô phỏng dùng phần mềm
Spectre được thực hiện kết hợp với Matlab để đánh giá
đối với PUF được đề xuất được trình bày ở phần III.
Cuối cùng, phần IV tóm tắt các kết luận của bài báo.
II.
Do các sai lệch ngẫu nhiên trong quá trình chế tạo
mà tần số cũng như duty cycle của tín hiệu ra tại o1 và
o2 (tín hiệu sau 2 bộ MUX) có thể lớn hơn hoặc nhỏ
hơn. Bộ TDC (sẽ được trình bày rõ hơn ở phần sau) là
một cấu trúc bất đối xứng, điều kiện để nó hoạt động
đúng là tín hiệu Start phải đến trước tín hiệu Stop. Do
đó, cần sử dụng thêm một bộ TDC nữa và bắt chéo tín
hiệu đầu vào so với bộ TDC ban đầu. Hai bộ TDC này
thay nhau làm việc (khi thỏa mãn điều kiện trên) để đo
khoảng thời gian trễ giữa 2 tín hiệu o1 và o2, phép đo
được điều khiển bằng tín hiệu RESET, chỉ khi tín hiệu
RESET ở trạng thái 0 thì phép đo mới được thực hiện.
Chuỗi bit ra từ TDC được mã hóa về mã nhị phân
thơng qua cây mã hóa, kết quả cuối cùng được trừ nhị
phân để lấy ra chuỗi bit phản ứng R.
2. Bộ biến đổi thời gian - số (TDC)
Các bộ biến đổi thời gian – số là khối ánh xạ một
khoảng thời gian xác định thành một từ mã trong miền
số. TDC là một trong những mạch làm việc trong miền
thời gian quan trọng nhất, và cũng là một giải pháp
chính để khắc phục yếu điểm của ADC trong miền điện
áp thấp. Hơn nữa, độ trễ qua các bóng bán dẫn tiếp tục
giảm xuống khi các công nghệ bán dẫn mới hơn ra đời,
làm việc trên miền thời gian sẽ là một giải pháp tốt hơn
so với làm việc trên miền điện áp.
Trong cấu trúc TDC RO-PUF, bộ TDC sử dụng cấu
trúc đường trễ Vernier [7] có cấu trúc như hình 3, bao
gồm N tầng, trong đó mỗi tầng gồm hai bộ giữ chậm
1 ,
2 và một flip flop D-FF. Độ phân giải LSB =
TDC RO-PUF
1. Cấu trúc TDC RO-PUF được đề xuất
Cấu trúc TDC RO-PUF được mơ tả như hình 2.
Trong đó, các bộ chọn kênh được tách ra riêng biệt, các
bộ RO được cấu hình cứng theo phương pháp hệ số tỉ
lệ K [6]. Thay vì sử dụng các bộ đếm sườn, cấu trúc đề
xuất sử dụng các bộ TDC để số hóa khoảng thời gian
trễ của hai dao động được chọn ra.
CRP của TDC RO-PUF được hình thành từ
(C1,C2/R), trong đó C1 và C2 là tín hiệu chọn kênh,
cho phép 2 trong n tầng dao động bất kỳ hoạt động.
Việc sử dụng DEMUX và MUX đồng bộ tín hiệu chọn
kênh ở hai phía giúp cho cấu trúc của RO-PUF tiết
kiệm được năng lượng, do chỉ có 2 trong n bộ RO hoạt
động. Nút đầu tiên được đem ra so sánh sẽ có duty
cycle nhỏ nhất.
1
−
.
2
Start
X1
X2
1
Xn
1
RESET
Stop
2
RESET
Q Q1
D
2
Y1
1
1
RESET
Q Q2
D
D
2
Y2
2
Yn
Hình 3. Cấu trúc TDC đường trễ Vernier
Start
X1
X2
X3
X4
X5
X6
1
1
1
1
1
1
1
1
1
1
1
0
Tin
Stop
Y1
Y2
Y3
Y4
Y5
Y6
Hình 2. Cấu trúc TDC RO-PUF (Cấu trúc A)
ISBN: 978-604-80-5076-4
2
2
2
2
2
2
Hình 4. Hoạt động của TDC đường trễ Vernier.
149
Q
Qn
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2020)
Tín hiệu Start và Stop có khoảng trễ Tin như hình 4,
và được đưa lần lượt vào chân D và Clock của D-FF.
Cả hai tín hiệu này sẽ được giữ chậm qua mỗi tầng với
điều kiện 1 > 2 . Do đó, qua mỗi tầng tín hiệu Start
đến trước sẽ tiến gần về trạng thái cùng pha với tín hiệu
Stop đến sau. Nếu vẫn chậm pha thì bit ra tại D là ‘1’,
nếu đã cùng pha thì bit ra tại D là ‘0’.
Chuỗi bit ra của Vernier TDC có dạng mã
thermometer, trong đó trạng thái chuyển mức logic từ 1
về 0 đánh dấu thời điểm 2 tín hiệu bắt đầu cùng pha.
Chuỗi bit thermometer này có thể chuyển sang mã nhị
phân thơng qua các cây mã hóa, tùy vào cấu trúc được
chọn mà mã nhị phân có dạng mã Gray hoặc mã nhị
phân thông thường [8] theo quy luật 2 k bit
thermometer tạo ra k bit mã nhị phân.
3. Mạch tạo tín hiệu RESET
Tín hiệu RESET được sử dụng làm tín hiệu cho
phép các bộ TDC bắt đầu thực hiện phép đo và được
tạo ra thơng qua sơ đồ mạch như hình 5.
Việc sử dụng các khối logic và cổng NOR giảm
thiểu tối đa ảnh hưởng của các chu kỳ liền kề tới phép
đo, như mơ tả trong hình 6.
4. Cây mã hóa béo
Mã thermometer được lấy ra từ khối TDC có thể
được sử dụng trực tiếp để tạo ra R (cấu trúc B, hình 8),
hoặc có thể chuyển đổi sang mã nhị phân thơng qua
cây mã hóa (cấu trúc A, hình 2). Quá trình này gồm hai
giai đoạn: giai đoạn 1 - mã thermometer được chuyển
qua mã nổi bọt, bit ‘1’ duy nhất của mã nổi bọt đánh
dấu thời điểm chuyển trạng thái từ ‘1’ về ‘0’ của mã
thermometer; giai đoạn 2 - tùy thuộc vào cấu trúc được
chọn, mà mã nổi bọt này được chuyển về mã nhị phân
hoặc mã Gray.
Mã
thermometer
0
0
1
1
1
1
1
Mã
nổi bọt
Mã
nhị phân
0
0
1
0
0
0
0
0
1
0
1
Hình 7. Hai giai đoạn của cây mã hóa.
Hình 5. Q trình tạo ra tín hiệu RESET.
Một vài cấu trúc tiêu biểu có thể kể đến trong [8],
trong đó cấu trúc cây mã hóa béo nổi bật lên với cấu
trúc đơn giản, hoàn toàn từ các cổng logic, mà vẫn
chống được hiện tượng “lỗi nổi bọt”, nên được chọn để
sử dụng trong cấu trúc RO TDC-PUF được đề xuất.
Tín hiệu o1 và o2 được đưa đến bộ đếm sườn
dương, bộ đếm sườn được thiết kế để có khả năng tự
khởi tạo lại giá trị ban đầu khi đã tràn. Thông qua khối
hàm logic, chu kỳ dao động khi các bit đếm tràn (1..11)
và chu kỳ các bit đếm tự khởi tạo lại (0…00) sẽ khiến
cho tín hiệu RESET chuyển mức logic từ ‘1’ về ‘0’,
cho phép tạo ra các bit R, hết hai chu kỳ này tín hiệu
RESET sẽ chuyển mức lại về ‘1’. Bảng chân lý của
khối hàm logic được mô tả trong bảng 1.
Bảng 1. Bảng chân lý của khối hàm logic.
Input
Output
0..000
0
0..001
1
…
…
1..110
1
1..111
0
Hình 8. Cấu trúc TDC RO-PUF (Cấu trúc B).
5. Phương pháp lựa chọn số bit của các khối
Tín hiệu Start được giữ chậm một khoảng 1 khi đi
qua mỗi tầng của TDC, do đó giới hạn về thời gian của
phép đo trong TDC chịu ảnh hưởng trực tiếp bởi chu
kỳ của dao động trong bộ RO. Số tầng tối đa của TDC
T
có thể chọn là min , với T là chu kỳ của dao động tạo
1
ra. Do đó, số bit R cũng chịu ảnh hưởng bởi Tmin .
Tín hiệu o1 và o2 có dạng sóng lặp lại sau mỗi
1
khoảng thời gian
. Do đó số bit đếm (count)
f o1 − f o 2
của bộ đếm cũng cần được chọn để thời gian tạo ra bit
Hình 6. Dạng sóng của tín hiệu RESET.
ISBN: 978-604-80-5076-4
150
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
R là nhỏ nhất, thỏa mãn 2count + 1 <
1
f o1 − f o 2
IV.
. Hơn
TDC RO-PUF được so sánh với các cấu trúc ROPUF đã công bố trong bảng 2, với n là số bộ RO. Cấu
trúc B tạo ra nhiều bit đáp ứng hơn so với cấu trúc A,
diện tích sử dụng ít hơn do khơng sử dụng 2 khối mã
hóa béo. Tuy nhiên, nếu xem xét một cách tổng thể thì
R do nó tạo ra có tính quy luật, điều này sinh ra do các
chuỗi bit thermometer có quy luật khơng được chuyển
đổi sang dạng nhị phân. Tính quy luật này không mất
đi kể cả khi được trừ nhị phân.
max
nữa, số bit đếm cũng cần đủ lớn để khoảng thời gian Tin
lớn hơn độ phân giải của TDC được chọn.
Phương pháp Monte Carlo là phương pháp đánh giá
các sai lệch ngẫu nhiên trong quá trình chế tạo chip.
Với các tiêu chuẩn về process ( 3 ) và mismatch ( )
theo quy trình sản xuất cơng nghiệp, các giá trị của
Tmin và f o1 − f o 2 max trong các bộ RO được chỉ ra, và từ
đó chọn bộ đếm và cây mã hóa phù hợp.
III.
Bảng 2. So sánh với các cấu trúc RO-PUF khác.
Số
Số bit tạo
Tính duy
Độ tin
lượng
ra với
nhất (%) cậy (%)
CRP
mỗi C
Giá trị lý
n
50
100
2n
tưởng
n
[4]
1
46.15
99.52
8
n −1
[9]
1
47.31
99.14
Cấu trúc
n
2. C2
4
48.56
96.56
A
Cấu trúc
2. C2n
16
50.53
98.31
B
KẾT QUẢ MƠ PHỎNG
Một mơ hình thử nghiệm gồm bốn RO cấu hình
cứng với K = 5 được thực hiện trên công nghệ CMOS
180nm của TSMC. Các bộ TDC và bộ đếm được khảo
sát và chọn phù hợp, kết quả cho ra 4 bit R (cấu trúc A)
hoặc 16 bit R (cấu trúc B). Các kết quả đầu ra được
trích xuất từ phần mềm Virtuoso/Cadence rồi đưa sang
Matlab để tính tốn. Hai thuộc tính cơ bản được sử
dụng để đánh giá PUF là tính duy nhất (uniqueness) và
độ tin cậy (reliability). Tính duy nhất đánh giá số bit
khác nhau của các R từ các chip khác nhau khi có cùng
một C ở đầu vào, được đánh giá qua giá trị trung bình
của cự li Hamming (HD) của các đáp ứng ra. Trong đó
HD là số bit khác nhau giữa hai chuỗi bit có cùng độ
dài bit. Với k PUF khác nhau và với đáp ứng n bit,
cơng thức của tính duy nhất là:
k −1 k
HD (R i , R j )
2
Tính duy nhất =
(1)
k (k − 1) i =1 j = i +1
n
Mô phỏng Monte Carlo được sử dụng với các mơ
hình mismatch của các linh kiện, áp dụng cơng thức
(1) ở điều kiện thường (25 oC ), tính duy nhất của cấu
trúc A là 48.56% và cấu trúc B là 50.53%.
Độ tin cậy đánh giá sự ổn định của R dưới các tác
động của nhiệt độ, sự ổn định của điện áp phân cực
hay sự lão hóa. Nếu như PUFi tạo ra n bit đáp ứng (Ri)
ở điều kiện bình thường, nó cũng sẽ tạo ra đáp ứng Ri’
ở các điều kiện khác nhau và đo t lần. Với m lần đo
đạc với cùng một PUF và một C, mức độ tin cậy PUF
được định nghĩa:
'
1 m HD ( Ri , Ri ,t )
Độ tin cậy = 1 −
(2)
m t =1
n
Với các góc thiết kế được lấy ra từ kết quả mô
phỏng Monte Carlo kể trên, nhiệt độ mô phỏng được
thay đổi trong dải 25-35-45-55-65 oC . Sử dụng cơng
thức (2), độ tin cậy trung bình với cấu trúc A là
96.56% và 98.31% với cấu trúc B. Bit thử thách C
chọn ra ngẫu nhiên 2 trong n tầng RO, do đó số lượng
CRP của TDC RO-PUF là C2n . Việc sử dụng C1 độc
lập với C2 để chọn tầng RO thứ nhất và thứ hai kết
hợp với bộ trừ nhị phân đầy đủ đã giúp nhân đôi số
lượng CRP kể trên.
ISBN: 978-604-80-5076-4
KẾT LUẬN
Như vậy, so với các cấu trúc RO-PUF trước đây,
cấu trúc TDC RO-PUF đã giải quyết được vấn đề số
lượng bit tạo ra với mỗi C, cũng như gia tăng số lượng
CRP, hứa hẹn sẽ giảm thiểu diện tích sử dụng so với
các cấu trúc trước đây. Hơn nữa, các bit đáp ứng cho
kết quả về tính duy nhất cao hơn với độ tin cậy chấp
nhận được.
TÀI LIỆU THAM KHẢO
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
151
Halak Basel, “Physically Unclonable Functions: From Basic
Design Principles to Advanced Hardware Security
Applications,” 1st Ed. Springer 2018.
C. Herder et al., “Physical Unclonable Functions and
Applications: A Tutorial,” Proceedings of the IEEE, vol. 102,
no. 8, pp. 1126-1141, Aug. 2014.
U. Rührmair and D. E. Holcomb, “PUFs at a glance,” 2014
Design, Automation & Test in Europe Conference &
Exhibition (DATE), Dresden, 2014, pp. 1-6
G. E. Suh and S. Devadas, “Physical unclonable functions for
device authentication and secret key generation,” Proc. 44th
ACM/IEEE Design Autom. Conf. (DAC), Jun. 2007, pp. 9-14
Mahshid Delavar et al., “A Ring Oscillator-Based PUF With
Enhanced
Challenge–Response
Pairs”,
CANADIAN
JOURNAL OF ELECTRICAL AND COMPUTER
ENGINEERING, VOL. 39, NO. 2, 2016.
Javier Agustin, “A Temperature-Independent PUF with a
Configurable Duty Cycle of CMOS Ring Oscillators”,
Universidad Politecnica de Madrid Madrid, Spain, 2016.
Stephan Henzler , “Time-to-Digital Converters”, TU München
Lehrstuhl für Technische Elektronik, Germany, 2010.
Ms.G.L.Madhumati, “Comparison of 5-bit Thermometer-toBinary Decoders in 1.8V, 0.18µm CMOS Technology for
Flash ADCs”, International Conference on Signal Processing
Systems, 2009.
Abhranil Maiti, Patrick Schaumont, “Improving the quality of
a physical unclonable function using configurable ring
oscillators”, Proc. Int. Conf. Field Program. Logic Appl, 2019.