(57)【要約】      （修正有）【課題】安全性の高いチップの暗号化方法を提供する。【解決手段】各チップの溶断値と調整値を取得し、アルゴリズムを設置するＳ１。溶断値と調整値をアルゴリズムの母数として、各チップの秘密鍵を計算する。ここで各チップの秘密鍵は唯一であるＳ２。各チップの溶断値と調整値及び秘密鍵をチップに書き込むＳ３。【効果】実際の生産過程において温度や湿度などの環境的要因により各チップの溶断値と調整値は異なり、チップを量産した場合、各チップの秘密鍵は全く異なることが保証される。【選択図】図１
2018157560.tif 000002
【特許請求の範囲】
【請求項１】
チップの暗号化の方法であって、各チップの溶断値と調整値を取得し、そしてアルゴリズムを設置し、溶断値と調整値をアルゴリズムの母数として、各チップの秘密鍵を計算し、そして各チップの秘密鍵は唯一であり、各チップの溶断値と調整値及び秘密鍵を相応のチップに書き込み、前記調整値はテスト中における各チップのアナログ回路の電流、電圧あるいは電気抵抗の調整値であり、前記アナログ回路には、一つあるいは一つ以上のLDO、BRG、OSC回路が含まれ、前記溶断値は各チップのヒューズの溶断値であり、テスト中において前記溶断値を取得し、テスト終了後、ヒューズを溶断するというステップも含まれ、各チップの溶断値は唯一であり、各チップの調整値は唯一であり、各チップには外部のメモリと内部のメモリがあり、そして前記秘密鍵がその内部のメモリに保存され、前記内部のメモリには、チップの容量とプロセッサーの最後のレベルのキャッシュが含まれ、前記外部のメモリには揮発性メモリと非揮発性メモリが含まれ、前記アルゴリズムは一つあるいは一つ以上の対称性アルゴリズム、非対称性アルゴリズム、雑アルゴリズム、カスタムアルゴリズムであるということを特徴とするチップの暗号化の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全なチップの技術領域に関し、具体的には、チップの暗号化の方法に関する。
【背景技術】
【０００２】
SOCのデザインの水準及び技術の向上につれて、パスワードの安全なチップは既に機能を発揮している。ソフトウェアとハードウェアの構成が複雑である組み込み式システムになっている。しかしそれと同時に、パスワードの安全な暗号化チップには安全問題がよく見られるのも現実である。パスワードの安全は、パスワードのアルゴリズム、秘密鍵などの情報と関わり、攻撃者はそれを読み込んだり、分析したり、解剖したりするという攻撃ができる。例えば、非常に高いあるいは非常に低い時計の頻度攻撃、物理的探測の攻撃、エネルギー攻撃、サイドチャネル攻撃、DPA攻撃などがある。それはパスワードの安全のチップに対して大きな脅威である。
【０００３】
現在のチップでは、通常固定の暗号化のアルゴリズムと秘密鍵が使用され、あるいはチップのID番号だけで暗号化される。実際の量産においては、攻撃者は同じ母体チップを破る、あるいはソフトウェアでID番号のバンドルを解除することで、その母体チップが使用しているアルゴリズムと秘密鍵を取得することができ、そして同じロットのチップの秘密鍵を取得することもできるようになる。
【０００４】
現在大部分のパスワードの安全な暗号化のチップには、安全な暗号化のアルゴリズム、デザインのハードウェアのAESモジュール、3DES暗号化のアルゴリズムモジュールなどが内部的に設置される。それらは同じ秘密鍵を使用するよう設定され、その秘密鍵をチップの中に固定する。デザインされる際に、同じ結晶母体（異なる規格、異なるパッケージ、異なる容量のSOCチップが販売されるが、デザインされる際にはその結晶母体は同じである）が既に固定されるため、同じ暗号化のアルゴリズムと秘密鍵を使用するということである。
【０００５】
しかし、実際の応用においては、同じ結晶母体でも異なる応用があるかもしれない。理論的には同じ結晶母体には、数多くの異なる応用があるため、攻撃者にとって、任意のひとつの母体を破ることだけで、その母体のあらゆる応用もすぐ取得することができる。
【０００６】
したがって、現在の技術において、最も大きいな問題とは、もし攻撃者は任意の一つの母体のチップを破ったら、その母体のチップを使用している秘密鍵と応用を簡単に取得することができ、つまり同じロット生産のチップを破るということである。それは攻撃者にとって、コストと安全性が低いのである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】中国特許出願公開第105631366号明細書
【特許文献２】中国特許出願公開第104838387号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以上の問題を解決するには、本発明はある安全性の高いチップの暗号化の方法を提供する。その方法では、チップを破るためのコストが高いし、各チップの秘密鍵も唯一である。
【０００９】
一種のチップの暗号化の方法は以下のステップを含む。
【００１０】
各チップの溶断値と調整値を取得し、そしてアルゴリズムを設置する。
【００１１】
溶断値と調整値をアルゴリズムの母数として、各チップの秘密鍵を計算する。そして各チップの秘密鍵は唯一である。
【００１２】
各チップの溶断値と調整値及び秘密鍵を相応のチップに書き込む。
【００１３】
好ましくは前記調整値はテスト中における各チップのアナログ回路の電流、電圧あるいは電気抵抗の調整値である。
【００１４】
好ましくは前記アナログ回路には、一つあるいは一つ以上のLDO、BRG、OSC回路が含まれる。
【００１５】
好ましくは前記溶断値は各チップのヒューズの溶断値であるということである。テスト中においてその溶断値を取得する。
【００１６】
好ましくはチップの暗号化の方法も以下のステップを含む。テストが終了した後、ヒューズを溶断する。
【００１７】
好ましくは各チップの溶断値は唯一である。
【００１８】
好ましくは各チップの調整値は唯一である。
【００１９】
好ましくは各チップには外部のメモリと内部のメモリがあり、そして前記秘密鍵がその内部のメモリに保存されるということである。
【００２０】
好ましくは前記内部のメモリにはチップの容量とプロセッサーの最後のレベルのキャッシュが含まれる。前記外部のメモリに揮発性メモリと非揮発性メモリが含まれる。
【００２１】
好ましくは前記アルゴリズムは一つあるいは一つ以上の対称性アルゴリズム、非対称性アルゴリズム、雑アルゴリズム、カスタムアルゴリズムであるということである。
【発明の効果】
【００２２】
現在の技術と比べて、本発明において提供された暗号化の方法は、各チップの内部に相応のチップの調整値と溶断値を書き込むことを通して、チップのアルゴリズムのパラメータを調整するものである。実際の生産の過程において、各チップの調整値と溶断値には少し差異があるため、秘密鍵を計算するアルゴリズムのパラメータとして、調整値と溶断値を各チップの内部に書き込むことによって、各チップの秘密鍵の唯一性が保証される。本発明の提供したチップの暗号化の方法は、操作が簡単であり、安全性も高い。
【００２３】
以上のように、本発明において前記チップの暗号化の方法は、量産の場合、同じ母体が異なる応用あるいは同じ応用の異なるチップにおいて異なる秘密鍵を使用することを保証する。本発明の暗号化の方法は、各チップの秘密鍵が異なることを保証する。それは攻撃者のコスト上の難しさを高める。攻撃者がチップを破る場合でも、そのチップの秘密鍵と応用だけを取得することが可能であり、しかも、その一つのチップしかコピーできないということである。大量に破る場合、各チップを破らなければならず、それはかなり攻撃者のコストと難しさを高めるし、破ること自体の意味もなくなる。
【図面の簡単な説明】
【００２４】
【図１】図1は本発明の実施例における一つのチップの暗号化の方法のフローチャートである。
【発明を実施するための形態】
【００２５】
下記に図面と具体的な実施方式を交え、本発明を更に説明する。
【００２６】
図1を参照すれば、本実施例はあるチップの暗号化の方法を提供する。その方法のステップは以下となる。
【００２７】
ステップS1：各チップの溶断値（ヒューズ値）と調整値（トリム値）を取得し、アルゴリズムを設置する。その中で、前記溶断値と調整値は外部の設備を通してテストされ、あるいは計算されることができる。そのアルゴリズムは実際の要求に従ってデザインされることが可能である。例えば、前記溶断値と調整池がテスト用の設備から取得されることが可能である。そのテスト用の設備は既にあったものなので、その機能及び仕事の原理については本実施例において詳しく説明しないことにする。
【００２８】
ステップS2：溶断値と調整値をアルゴリズムの母数として、各チップの秘密鍵を計算する。そして各チップの秘密鍵は唯一である。
【００２９】
通常、チップが実際の生産過程において、生産設備や生産環境から影響を受けることが多いため、各チップの溶断値と調整値は少し異なることがある。したがって、溶断値と調整値を相応のチップの秘密鍵のアルゴリズムのパラメータとするのは、各チップの秘密鍵が異なるであることを保証する。つまり、各チップの秘密鍵が唯一である。前記生産環境には温度や湿度などの環境的要因が含まれる。
【００３０】
ステップS3：各チップの溶断値、調整値と秘密鍵がすべて相応のチップの中に書き込まれる。各チップの中にはその自体の溶断値と調整値及びそれらと対応する秘密鍵が保存されることが可能である。説明しなければならないのは、ステップS1、S2、S3の順番は一定ではない。
【００３１】
前記調整値はテスト中における各チップのアナログ回路の電流、電圧、電気抵抗の調整値である。各チップはパッケージされてから、その機能もテストされなければならない。例えば、CPテスト（すなわち中間テスト）あるいはFTテストなどである。前記アナログ回路にはLDO（Low Dropout Regulator低ドロップアウト調整器）、BGR(Bandgap Reference Circuits周波数隙間参考回路)、OSC（振動回路）が含まれる。前記溶断値はチップのヒューズの溶断値であり、テスト中においてその溶断値を取得するということである。
【００３２】
好ましい方案としてチップの安全性を高めるため、チップの暗号化の方法にはステップS4が加えられる。テストが終わったら、チップのヒューズを溶断し、前記テストの状態を元に戻ることを不可能な状態にする。
【００３３】
好ましい方案として各チップの溶断値は唯一である。もう一つの優先の方案としては、各チップの調整値は唯一である。それは、少なくとも前記各チップの溶断値と調整値の一つは唯一であるということである。溶断値と調整値はチップの生産過程において生まれた物理的特性であり、しかも生産環境と設備の影響のため、重複であることがあまりないし、しかもある規律で計算されたり推測されたりすることも困難である。つまり、溶断値と調整値は天然の唯一性があるということである。したがって、それらをパラメータとして計算された秘密鍵も唯一性がある。ということで、一つのチップの秘密鍵を破っても、そのチップの秘密鍵と応用だけを取得することが可能である。同じロットの他のチップを破ることが不可能である。それはチップを破ることの難しさを高めるのである。
【００３４】
各チップには外部のメモリと内部のメモリがある。チップの安全性を高めるため、本実施例では、前記溶断値、調整値、秘密鍵はチップの内部のメモリに保存される。前記内部のメモリには、チップの容量とプロセッサーの最後のレベルのキャッシュがふくまれ、前記外部のメモリには、揮発性メモリと非揮発性メモリが含まれる。さらにチップの安全性を高めるため、本発明の実施例において、メモリのランダムサイトを通してチップに調整値、溶断値、秘密鍵を書き込むのである。例えば、総線を乱すことによって、メモリのランダムサイト式の保存が可能となる。具体的に言うと、Ｎ桁の総線なら、Ｎの階乗つまりＮ！個の配列方法がある。例えば、8桁の総線には40320の排列方式がある。メモリのランダムサイトという方法とは、任意の配列方法で順番をつけるだけで良い。しかもその総線は増加あるいは減少の順番で配列されないということである。例えば、もし順番で保存しなければならないデータを配列する場合、アドレス01には調整値が保存され、アドレス02には溶断値が保存され、アドレス03には秘密鍵が保存され、他のアドレスには他のデータが保存される。メモリのランダムサイトで計算されたら（例えばマッピング関数で計算）、アドレス03には調整値が保存され、アドレス07には溶断値が保存され、アドレス05には秘密鍵が保存され、他のアドレスには他のデータが保存される。例えば、もし安全チップの攻撃者は相応のランダムサイトで使われる関数を知らなかったら、メモリが実際にどのようにアドレッシングされるのを見つけるのはかなり困難である。したがって、それはさらにチップの安全性を高め、そのチップを破るコストも高くなる。もちろん、他の関数でメモリのアドレスを改めて設置することも可能である。
【００３５】
前記アルゴリズムには、一つあるいは一つ以上の対称性アルゴリズム、非対称アルゴリズム、雑アルゴリズム、グループ分けアルゴリズム、カスタアルゴリズムが含まれる。前記対称性アルゴリズムには、DES（Data Encryption Standard，データ暗号化標準）アルゴリズム、AES（Advanced Encryption Standard, 高級暗号化標準）アルゴリズムなどが含まれる。前記非対称性アルゴリズムには、RSAアルゴリズム（Rivest、Shamir 、Adleman による数論に基づいた非対称性（公開鍵）暗号化というアルゴリズム）、ECCアルゴリズム（Elliptic Curves Cryptography，公開鍵暗号化というアルゴリズム）などが含まれる。前記雑アルゴリズムには、MD5アルゴリズム（Message-Digest Algorithm 5，情報-要約アルゴリズム）或SHA-1アルゴリズム（Secure Hash Algorithm-1，安全散列アルゴリズム）などが含まれる。本実施例では、非対称アルゴリズムが優先の方案である。そして要求に従って、異なる使い方や異なる領域によって異なるアルゴリズムを設置することが可能である。
【００３６】
秘密鍵の暗号化の実施例
【００３７】
以下は具体的な実施例を通して、本発明の方法について説明する。例えばAESという暗号化のアルゴリズムを使用する場合、パスワードの長さは192 bitであり、溶断値を8bitとし、調整値を16bitとし、固定の秘密鍵を168 bitとする。そして溶断値をXとし、調整値をYとし、固定の秘密鍵をZとし、それで秘密鍵の計算式は公式[１]K=Z+X+Yである。
【００３８】
チップAの溶断値はX1で、調整値はY1で、それで公式[１]によれば、秘密鍵K1=X1+Y1+Zであることが分かる。
【００３９】
チップBの溶断値はX2、調整値はY2で、それで公式[１]によれば、秘密鍵K2=X2+Y2+Zであることが分かる。
【００４０】
生産過程においては、溶断値と調整値には差異があるため、各チップの溶断値と調整値は異なる。つまり、X1≠X2、Y1≠Y2ということである。したがって、K1は必ずK2と異なる。
【００４１】
要約すると，本発明において前記チップの暗号化の方法を使用すれば、量産の場合、同じ母体が異なる応用あるいは同じ応用の異なるチップにおいて使われた秘密鍵が異なることが保証される。それはかなり攻撃者のコストと難しさを高めるのである。攻撃者がチップを破る場合でも、そのチップの秘密鍵と応用だけを取得することが可能であり、しかも、その一つのチップしかコピーできないということである。大量に破る場合、各チップを破らなければならず、それはかなり攻撃者のコストと難しさを高めるし、破ること自体の意味もなくなる。それは従って、最大限に使用者の知的財産を守る。
【００４２】
本分野の技術者にとって、以上に述べた技術方案と構想に基づいて、そのほかの各種の相応する変更と変形をすることができ、そして全部の変更と変形が本発明の保護範囲に所属する。
【図１】
2018157560.tif 000003