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 viết 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.
Trang 1Thiế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: nguyenquangphuong236@gmail.com, {trungcs2, phuchv}@mta.edu.vn
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
RO-PUF đượ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ỚITHIỆ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 khoá 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 khoá bảo
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 toá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 quá 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
Hình 1 Cấu trúc RO-PUF truyền thống
Trang 2nhỏ, để độ 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 toá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.C và số bit đáp 2n
ứ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 TDCRO-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
Hình 2 Cấu trúc TDC RO-PUF (Cấu trúc A)
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, 2và một flip flop D-FF Độ phân giải LSB =
1− 2
RESET
Q 1
1
2
RESET
RESET 1
2 Start
Stop
Hình 3 Cấu trúc TDC đường trễ Vernier
Start
X 1
X 2
X 3
X 4
X 5
Stop
Y 1
Y 2
Y 3
Y 4
Y 5
X 6
Y 6
1 1 1 1 1 1
2 2 2 2 2 2
in
T
1 1 1 1 1 0
Hình 4 Hoạt động của TDC đường trễ Vernier
Trang 3Tín hiệu Start và Stop có khoảng trễ T in 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 2k 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
Hình 5 Quá trình tạo ra tín hiệu RESET
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
Hình 6 Dạng sóng của tín hiệu RESET
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
0 1 1
Mã thermometer
Mã nổi bọt
Mã nhị phân 0
1
1 1 1 1 0
0 0
0 0 0 0
1 0
Hình 7 Hai giai đoạn của cây mã hóa 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
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 1khi đ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
có thể chọn là min
1
T , với T là chu kỳ của dao động tạo
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
khoảng thời gian
1
f −f Do đó số bit đếm (count)
của bộ đếm cũng cần được chọn để thời gian tạo ra bit
Trang 4R là nhỏ nhất, thỏa mãn 2 count+ <1
1
f − f Hơn nữa, số bit đếm cũng cần đủ lớn để khoảng thời gian T in
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
min
T và f o1− f o2 maxtrong các bộ RO được chỉ ra, và từ
đó chọn bộ đếm và cây mã hóa phù hợp
III KẾTQUẢ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 toá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à:
(R , ) 2
( 1)
i j
i j i
−
= = +
=
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 (25o C), 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 (R i)
ở điều kiện bình thường, nó cũng sẽ tạo ra đáp ứng R i’
ở 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:
Độ tin cậy
' , 1
1 1
m
i i t t
HD R R
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-65o C 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à C Việc sử dụng C1 độc 2n
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
IV KẾTLUẬN TDC PUF được so sánh với các cấu trúc
RO-PUF đã 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
Bảng 2 So sánh với các cấu trúc RO-PUF khác
Số lượng CRP
Số bit tạo
ra với mỗi C
Tính duy nhất (%)
Độ tin cậy (%) Giá trị lý
[4]
8
n
Cấu trúc
A 2. 2
n
Cấu trúc
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ÀILIỆUTHAMKHẢO
[1] Halak Basel, “Physically Unclonable Functions: From Basic Design Principles to Advanced Hardware Security Applications,” 1st Ed Springer 2018
[2] C Herder et al., “Physical Unclonable Functions and Applications: A Tutorial,” Proceedings of the IEEE, vol 102,
no 8, pp 1126-1141, Aug 2014
[3] 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
[4] 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 [5] 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
[6] Javier Agustin, “A Temperature-Independent PUF with a Configurable Duty Cycle of CMOS Ring Oscillators”, Universidad Politecnica de Madrid Madrid, Spain, 2016 [7] Stephan Henzler , “Time-to-Digital Converters”, TU München Lehrstuhl für Technische Elektronik, Germany, 2010 [8] Ms.G.L.Madhumati, “Comparison of 5-bit Thermometer-to-Binary Decoders in 1.8V, 0.18µm CMOS Technology for Flash ADCs”, International Conference on Signal Processing Systems, 2009
[9] Abhranil Maiti, Patrick Schaumont, “Improving the quality of
a physical unclonable function using configurable ring oscillators”, Proc Int Conf Field Program Logic Appl, 2019