IP Library Granted Patent US 12,574,254
Granted Patent B2
US 12,574,254 · App. 18/397,606 · Granted Mar 10, 2026

Secure programming system and operating method thereof

Inventor: Ming-Hui Kang (Taipei City, TW)
Assignee: DEDIPROG TECHNOLOGY CO., LTD.
H04L9/3263H04L9/088H04L9/30H04L9/3226H04L9/3247
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,574,254
App. No.
18/397,606
Granted
Mar 10, 2026
Kind
B2
Abstract

An operating method for a secure programming system is provided. Firstly, the programmer encrypts a job control package including a payload. Then, a programmable device is loaded into the programmer. If an authentication code in an authentication list complies with a device identification code of the programmable device, the programmer decrypts the encrypted job control packages so as to extract the payload. Then, the programmer calculates a first verification code according to the payload, and the programmer burns the payload into the programmable device. Then, the programmer reads the burnt payload from the programmable device and calculates a second verification code according to the burnt payload. If the first verification code and the second verification code are verified successfully, the programmable device is categorized into a first output container representing a good output container.

Claims (20)

1 . An operating method for a secure programming system, the secure programming system comprising a programmer, the operating method comprising steps of:

(S 1 ) the programmer encrypting a job control package including a payload through a security control unit;

(S 2 ) loading a programmable device into the programmer, wherein the programmable device has a device identification code;

(S 3 ) verifying whether an authentication code in an authentication list complies with the device identification code of the programmable device;

(S 4 ) when the authentication code in the authentication list complies with the device identification code of the programmable device, the programmer using a security control unit key of the security control unit to decrypt the encrypted job control packages so as to extract the payload;

(S 5 ) the programmer calculating a first verification code according to the payload, and burning the payload into the programmable device;

(S 6 ) the programmer reading the burnt payload from the programmable device and calculating a second verification code according to the burnt payload after the payload is burnt into the programmable device; and

(S 7 ) the programmer verifying the first verification code and the second verification code, wherein when the first verification code and the second verification code are verified successfully, the programmable device is categorized into a first output container representing a good output container.

2 . The operating method according to claim 1 , wherein in the step (S 1 ), the payload is extracted from a secure storage unit of the programmable device.

3 . The operating method according to claim 1 , wherein in the step (S 7 ), when the first verification code and the second verification code are not verified successfully, the programmable device is categorized into a second output container representing a bad output device.

4 . The operating method according to claim 1 , wherein before the step S 1 , the operating method further comprises steps of:

(S 8 ) generating the job control package, wherein the control package includes a programmer identification list, and the programmer identification list records at least one programmer capable of performing the burning task; and

(S 9 ) using at least one programmer recorded in the programmer identification list to program the payload in the job control package into the programmable device.

5 . A secure programming system, comprising:

a programmer encrypting a job control package including a payload through a security control unit, wherein a programmable device is loaded into the programmer, the programmer uses a security control unit key of the security control unit to decrypt the encrypted job control packages so as to extract the payload, and the programmer calculates a first verification code according to the payload and performs a burning task of burning the payload into a programmable device, wherein after the payload is burnt into the programmable device, the programmer reads the burnt payload and calculates a second verification code according to the burnt payload, wherein when the first verification code and the second verification code are verified successfully, the programmable device is categorized into a first output container representing a good output container;

a programming unit connected with the programmer, wherein the programming unit extracts the job control package with the payload and verifies whether an authentication code in an authentication list complies with a device identification code of the programmable device, wherein when the authentication code in the authentication list complies with the device identification code of the programmable device, the programming unit issues a successful authentication message to the programmer, wherein after the programmer receives the successful authentication message, the programmer uses the security control unit key of the security control unit to decrypt the encrypted job control packages so as to extract the payload.

6 . The secure programming system according to claim 5 , wherein the programmer extracts the payload from a secure storage unit of the programmable device.

7 . The secure programming system according to claim 5 , wherein the programmer transfers the programmable device into the first output container through a device transfer unit.

8 . The secure programming system according to claim 5 , wherein the security control unit generates the job control package including a programmer identification list, wherein the programmer identification list records at least one programmer capable of performing the burning task, and the at least one programmer recorded in the programmer identification list is used to program the payload in the job control package into the programmable device.

9 . The secure programming system according to claim 5 , wherein the programming unit acquires a production count, wherein when a burn count in the programmer is less than the production count, the programming unit drives the programmer to perform the burning task, wherein when the burn count in the programmer exceeds the production count, the programming unit drives the programmer to perform the burning task, but the burn count in the programmer is smaller than or equal to an upper limit of the production count.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2023
From: KANG, MING-HUI
To: DEDIPROG TECHNOLOGY CO., LTD.
Reel/Frame 066141/0491 →
Priority Claims (2)
TW 112141864 · Oct 31, 2023 · national
TW 112141865 · Oct 31, 2023 · national
Continuity (3)
Provisional Application 63525825 · Jul 10, 2023
Provisional Application 63525809 · Jul 10, 2023
Related Publication 20250023733A1 · Jan 16, 2025
References Cited (41)
US 5857022A · Sudia · 1999 [cited by examiner]
US 9781086B2 · Jelatis · 2017 [cited by examiner]
US 9900310B2 · Brickell · 2018 [cited by examiner]
US 10069633B2 · Gulati et al. · 2018 [cited by applicant]
US 10110411B2 · Gulati · 2018 [cited by applicant]
US 10263790B2 · Gulati et al. · 2019 [cited by applicant]
US 11336440B2 · Shpurov · 2022 [cited by examiner]
US 11895250B2 · Simplicio et al. · 2024 [cited by applicant]
US 12132841B2 · Smith, III · 2024 [cited by examiner]
US 12160516B2 · Ngo · 2024 [cited by examiner]
US 20040117612A1 · Falk · 2004 [cited by applicant]
US 20050076216A1 · Nyberg · 2005 [cited by examiner]
US 20130073856A1 · Sherkin et al. · 2013 [cited by applicant]
US 20140164779A1 · Hartley et al. · 2014 [cited by applicant]
US 20160092701A1 · Shah et al. · 2016 [cited by applicant]
US 20180219857A1 · Bhattacharya et al. · 2018 [cited by applicant]
US 20190052464A1 · Doliwa · 2019 [cited by applicant]
US 20190163909A1 · Schilder et al. · 2019 [cited by applicant]
US 20190188387A1 · Fu et al. · 2019 [cited by applicant]
US 20190273616A1 · Bres · 2019 [cited by examiner]
US 20190289006A1 · Fang et al. · 2019 [cited by applicant]
US 20220014389A1 · Nix · 2022 [cited by applicant]
US 20230009032A1 · Khatri et al. · 2023 [cited by applicant]
US 20230010345A1 · Khatri et al. · 2023 [cited by applicant]
US 20230185482A1 · Steinmetz et al. · 2023 [cited by applicant]
CN 107979467A · 2018 [cited by applicant]
CN 108647499A · 2018 [cited by applicant]
CN 111342955A · 2020 [cited by applicant]
CN 111611593A · 2020 [cited by applicant]
CN 114912138A · 2022 [cited by applicant]
CN 116070215A · 2023 [cited by applicant]
CN 116257820A · 2023 [cited by applicant]
TW 201401102A · 2014 [cited by applicant]
TW 201820132A · 2018 [cited by applicant]
TW 202207664A · 2022 [cited by applicant]
TW 202232912A · 2022 [cited by applicant]
TW I773161B · 2022 [cited by applicant]
WO WO2020052335A1 · 2020 [cited by applicant]
U.S. Office Action for U.S. Appl. No. 18/767,037, dated Oct. 1, 2025. [cited by applicant]
U.S. Office Action for U.S. Appl. No. 18/397,674, dated Nov. 4, 2025. [cited by applicant]
U.S. Office Action for U.S. Appl. No. 18/767,037, dated Jan. 20, 2026. [cited by applicant]