(57)【特許請求の範囲】
【請求項１】
半導体メモリ装置によりアルゴリズム記憶を行う方法において、その半導体メモリ装置が、制御装置モジュールと、制御装置モジュールにそれぞれ電気的に接続されているユニバーサルインターフェースモジュールおよび半導体記憶媒体モジュールとを具備し、
半導体記憶媒体モジュールを少なくとも２つの論理メモリスペースに分割し、
アルゴリズムを記憶するために少なくとも１つの論理メモリスペースを使用し、
制御装置モジュールが、ユニバーサルインターフェースモジュールから入力データを受信し、
制御装置モジュールが、入力データにしたがって、指定されたアルゴリズムを実行し、ユニバーサルインターフェースモジュールを経てその実行結果を送信するステップを含み、
データ送信中において、データを暗号化するためにランダムに変更可能なセッションキーを使用し、
データを暗号化するためにランダムに変更可能なセッションキーを使用する前記ステップは、
Ａ．データ送信の開始時に、送信端はセッションキーを交換するリクエストを送信し、少なくとも１つのランダム番号を導入し、
Ｂ．セッションキーの交換リクエストを受信した後、半導体メモリ装置は、少なくとも１つのランダム番号をランダムに生成し、セッションキーを生成するためにキー生成アルゴリズムにより受信されたランダム番号と生成されたランダム番号とを変換し、半導体メモリ装置により生成されたランダム番号を送信端へ返送し、
Ｃ．送信端が返送されたランダム番号を受信後、返送されたランダム番号と、送信端自体により導入されたランダム番号とをセッションキーを生成するためのキー生成アルゴリズムにより変換するステップを含んでいることを特徴とする半導体メモリ装置によりアルゴリズム記憶を行う方法。
【請求項２】
半導体記憶媒体モジュールは、記憶媒体、または２以上の記憶媒体の組合せであることを特徴とする請求項１記載の半導体メモリ装置によりアルゴリズム記憶を行う方法。
【請求項３】
そのアルゴリズムは、１つのアルゴリズムまたは複数のアルゴリズムであることを特徴とする請求項１記載の半導体メモリ装置によりアルゴリズム記憶を行う方法。
【請求項４】
そのアルゴリズムは、半導体メモリ装置に組込まれたアルゴリズムまたは自己規定アルゴリズムまたは暗号化アルゴリズムであることを特徴とする請求項１記載の半導体メモリ装置によりアルゴリズム記憶を行う方法。
【請求項５】
送信または記憶されたデータが偽造されているか否かを識別するために偽造防止識別が実行されることを特徴とする請求項１記載の半導体メモリ装置によりアルゴリズム記憶を行う方法。
【請求項６】
データを送信または記憶する間、偽造防止識別は、
Ａ．変換値Ｘを得るためにオリジナルデータを変換するために暗号化アルゴリズムを呼出し、
Ｂ．データパッケージを形成するフォーマットにしたがって、オリジナルデータと変換値Ｘとをパックし、
Ｃ．そのデータパッケージを送信または記憶し、
データの受信または読取の間に偽造防止識別は、
Ａ．アンパックされたオリジナルデータと変換値Ｘとを得るために、そのフォーマットにしたがってデータパッケージをアンパックし、
Ｂ．変換値Ｙを得るためにアンパックされたオリジナルデータの変換値を計算するために暗号化アルゴリズムを呼出し、
Ｃ．計算された変換値Ｙと変換値Ｘとを比較して、これらが相互に等しいか否かを観察し、
Ｄ．ＹとＸが等しいという比較結果ならば、データが偽造されていないことを示し、そうでなければデータが偽造されていることを示すステップを含んでいることを特徴とする請求項５記載の半導体メモリ装置によりアルゴリズム記憶を行う方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータの記憶、特に半導体メモリ装置によるデータのセキュリティ記憶およびアルゴリズム記憶を実現する方法に関する。
【背景技術】
【０００２】
コンピュータ技術の急速な進歩により、取外し可能な記憶技術と取外し可能な記憶製品も急速に進歩している。磁気記憶フロッピー（Ｒ）ディスクと比較して、大きさ、容量、速度等において多くの改良が行われている。インターネットの普及と急速な電子コマースの発達により、人々は記憶された情報の暗号化処理およびユーザの証明の制限に注目している。例えば中国特許第01114762.8号明細書（発明の名称“半導体メモリ装置”）はユーザの証明とデータの暗号化および解読の機能を有し、それによって半導体メモリ装置を使用してユーザのアイデンティティを確認し、証明し、半導体メモリ装置に記憶されている情報を暗号化し、読出されるときにその暗号化された情報を解読する半導体の取外し可能なメモリ装置を開示している。しかしながらこのようなユーザの証明およびデータの暗号化技術は非常に簡単であり、そのレベルは非常に低い。したがって、解読されることが容易である。これはデータセキュリティ記憶の要件を満たすことができない。
【０００３】
インターネットの発達により、電子トランザクションで採用されているオンラインでの支払い方法が急速に発達しており、収益の成長および市中銀行およびセキュリティ企業の競争が焦点になっている。それ故、ネットワークシステムのセキュリティは益々重要になり、主要な問題となっている。人々は時には、インターネットによるハッカーの攻撃の妨害だけでなく、トランザクションパスワードの盗難を受け、それによってオンラインの電子トランザクションのアイデンティティが他者により不法に使用されることについて心配している。種々の情報暗号化キーのプロダクトが存在する。ほとんどの既知の情報キーは単一の組込みのユーザ暗号キーコードと特別なアルゴリズムプログラムとを有する携帯可能なプロダクトであり、コンピュータおよび電子情報装置等のユニバーサル周辺インターフェースと接続されることができ、それによって中国実用新案第ZL01232435.3号明細書に開示されている“情報キー”のようなユーザのアイデンティティを証明する機能を提供する。情報キーは単一の組込みのユーザ暗号キーによりユーザアイデンティティの検査および証明を実現するが、解読される可能性とユーザの自己規定アルゴリズムの不適合性のような欠点を有し、それによってその使用はかなり限定される。これは認証されたソフトウェアを証明するための保護の要求を満たすことができず、ユーザのデータ記憶の要求を無視している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明により解決されるべき技術的問題は、従来技術の暗号化の欠点を改良することである。本発明は不法使用者によるデータの解読または漏洩の困難度を大きく増加させるためにユーザの可動のデータ記憶装置の高いセキュリティをサポートするために半導体メモリ装置によってデータセキュリティ記憶を実現する方法を提供し、それによってユーザにより記憶されたデータのセキュリティを大幅に増加させる。
【０００５】
本発明により解決される別の技術的問題は、ユーザの自己規定されたアルゴリズムの書込みおよび内部実行をサポートし、その動作結果を返送するために半導体メモリ装置によるアルゴリズムの記憶を実現する方法を提供することである。これはアイデンティティの証明およびソフトウェア著作権保護等のような情報セキュリティ分野で広く使用されることができる。
【課題を解決するための手段】
【０００６】
本発明の技術的問題は、半導体メモリ装置を具備している半導体メモリ装置によるデータのセキュリティ記憶を実現する方法を設計する次のような技術的手段により解決される。半導体メモリ装置は制御装置モジュールと、電気的に制御装置モジュールにそれぞれ接続されているユニバーサルインターフェースモジュールと、半導体記憶媒体モジュールとを具備している。
【０００７】
本発明のデータセキュリティ記憶方法は、
半導体記憶媒体モジュールを少なくとも２つの論理メモリスペースに分割し、
少なくとも１つの論理メモリスペースは保護されるデータを記憶するために使用され、
半導体メモリ装置および／または少なくとも１つの論理メモリスペースに対するパスワードを設定し、記憶し、
読取／書込動作の前にパスワードを検査または証明し、
保護されるデータを半導体メモリ装置中に書込むとき、制御装置モジュールはユニバーサルインターフェースからデータを受信し、データの暗号化後、それを半導体記憶媒体モジュール中に記憶し、
保護されるデータを半導体メモリ装置から読出すとき、制御装置モジュールはデータを解読し、その解読されたデータをユニバーサルインターフェースを通って送信するステップを含んでいる。
【０００８】
さらに、本発明の技術的問題は、半導体メモリ装置を具備している半導体メモリ装置によりアルゴリズムの記憶を実現する方法を設計する技術的手段により解決される。半導体メモリ装置は制御装置モジュールと、それぞれ制御装置モジュールに電気的に接続されているユニバーサルインターフェースモジュールおよび半導体記憶媒体モジュールとを具備している。
【０００９】
アルゴリズムの記憶方法は、
半導体記憶媒体モジュールを少なくとも２つの論理メモリスペースに分割し、
アルゴリズムの記憶のために少なくとも１つの論理メモリスペースが使用され、
制御装置モジュールはユニバーサルインターフェースから入力データを受信し、
制御装置モジュールは入力データにしたがって、指定されたアルゴリズムを実行し、ユニバーサルインターフェースを通って動作結果を送信するステップを含んでいる。
【００１０】
本発明の方法は半導体メモリ装置によりデータセキュリティの記憶およびアルゴリズムの記憶を実現し、二重パスワード管理と設定多重管理権の設定により設計され、データベース制御、ランダムな暗号化および変更防止技術等を実現する。
【００１１】
本発明はユーザに取外し可能なデータ記憶装置を与えながら高レベルのセキュリティ記憶技術を使用する。さらに本発明はユーザの自己規定アルゴリズムの書込みおよび呼出しをサポートするためにオープンアプリケーションインターフェースを提供する。従来技術を考慮すると、本発明は次のような技術的効果を有し、即ち共通のデータと保護されるデータおよび／またはアルゴリズムを同時に記憶する機能を実現でき、それによってデータの記憶のセキュリティを著しく増加させ、ソフトウェアの著作権保護、オンラインバンキング、オンラインの購入、社会および医療の保険、個人のアイデンティティとウェブアイデンティティの検査または証明、電子コマース、デジタル証明、ビジネス処理、および税金管理等のような情報の安全性の分野で広く応用可能である。
【発明を実施するための最良の形態】
【００１２】
好ましい実施形態を添付図面を参照にして、以下さらに説明する。  
本発明は図１に示されているように、半導体メモリ装置によるデータセキュリティ記憶およびアルゴリズム記憶を実現する方法を提供し、それによって本発明により与えられる開発インターフェースをオペレーティングシステムに関係する半導体メモリ装置のドライバプログラムに接続し、ユニバーサルインターフェースを介して半導体メモリ装置のドライバプログラムと、インターフェースで接続されている半導体メモリ装置との相互動作とによって種々のセキュリティアプリケーションを実現する。
【００１３】
本発明は図２に示されているように、半導体メモリ装置を具備し、データセキュリティ記憶方法を実現するためにこの半導体メモリ装置を使用する。半導体メモリ装置は制御装置モジュール１と、それぞれ電気的に制御装置モジュール１と接続されているユニバーサルモジュール２と、半導体記憶媒体モジュール３とを具備している。データセキュリティ記憶方法は、
半導体記憶媒体モジュール３を少なくとも２つの論理メモリスペースに分割し、
少なくとも１つの論理メモリスペースは保護されるデータを記憶するために使用され、
半導体メモリ装置および／または少なくとも１つの論理メモリスペースに対するパスワードを設定して記憶し、
読取／書込動作の前にパスワードを検査または証明し、
保護されるデータを半導体メモリ装置に書込むとき、制御装置モジュール１はユニバーサルインターフェース２からデータを受信し、データの暗号化後、それを半導体記憶媒体モジュール３中に記憶し、
保護されるデータを半導体メモリ装置から読出すとき、制御装置モジュール１はデータを解読し、解読されたデータをユニバーサルインターフェース２を介して送信するステップを含んでいる。
【００１４】
本発明は図２に示されているように、半導体メモリ装置を具備し、アルゴリズム記憶方法を実現するために半導体メモリを使用する。半導体メモリ装置は制御装置モジュール１と、それぞれ制御装置モジュール１に電気的に接続されているユニバーサルインターフェースモジュール２および半導体記憶媒体モジュール３とを具備している。アルゴリズム記憶方法は、
半導体記憶媒体モジュール３を少なくとも２つの論理メモリスペースに分割し、
アルゴリズムの記憶に少なくとも１つの論理メモリスペースが使用され、
制御装置モジュール１はユニバーサルインターフェース２から入力データを受信し、
制御装置モジュール１は入力データにしたがって指定されたアルゴリズムを実行し、ユニバーサルインターフェース２を経て動作結果を送信するステップを含んでいる。
【００１５】
本発明の半導体メモリ装置に対しては、中国特許第ZL99117225.6号明細書（発明の名称“データ処理システム用のフラッシュ電子メモリの方法および装置”）を参照願いたい。この明細書はＵＳＢ、ＩＥＥＥ１３９４等のユニバーサルインターフェースに基づいた大量のデータの取外し可能な記憶装置を実現するための記憶媒体としてフラッシュメモリを使用する半導体メモリを開示している。その応用は益々広まっている。
【００１６】
ユニバーサルインターフェース２は、本発明の種々のセキュリティアプリケーションを実現するために半導体メモリ装置とデータ処理装置とを接続するインターフェースであり、また通信インターフェースである。ユニバーサルインターフェースはシリアルインターフェース、パラレルインターフェース、ＵＳＢインターフェース、ＩＥＥＥ１３９１インターフェース、ブルーツースインターフェース、ＩｒＤＡ赤外線インターフェース、ホームＲＦインターフェース、ＩＥＥＥ８０２．１１ａインターフェースまたはＩＥＥＥ８０２．１１ｂインターフェースのような有線のユニバーサルインターフェースまたは無線のユニバーサルインターフェースであることができる。
【００１７】
半導体記憶媒体モジュール３は少なくとも２つの論理メモリスペースに分割されることができ、それにおいて少なくとも１つの論理メモリスペースは保護されるデータを記憶するために使用され、少なくとも１つの論理メモリスペースは保護されないデータを記憶するために使用される。半導体記憶媒体モジュール３は一種の記憶媒体であってもよく、または少なくとも２つの種類の記憶媒体の組合せであってもよい。半導体記憶媒体はフラッシュメモリ、ＤＲＡＭ、ＥＥＰＲＯＭ、ＳＲＡＭ、ＦＲＡＭ、ＭＲＡＭまたはＭｉｌｌｉｐｅｄｅを含んでいるがそれに限定されず、１以上の半導体チップのピースを使用できる。半導体記憶媒体モジュール３の論理メモリスペースは１つの記憶媒体または少なくとも２つの記憶媒体中に設けられることができる。少なくとも１つの論理メモリスペース中に記憶されるような保護されるデータは文書、パスワード、暗号キー、口座番号、デジタル証書、暗号化アルゴリズム、自己規定アルゴリズム、ユーザ情報、および／またはユーザの自己規定データを含んでいるがそれらに限定されない。
【００１８】
半導体メモリ装置はデータ処理システムとの接続を介してユニバーサルインターフェースから電力供給を得る。ユニバーサルインターフェース２が無線ユニバーサルインターフェースであるとき、メモリ装置は電源を自蔵するか外部電源から電力供給を得ることができる。現在、半導体メモリ装置の電力供給に関する参考文献が多数存在し、したがってここでは詳細に説明しない。
【００１９】
制御装置モジュール１は半導体メモリ装置のコア制御モジュールであり、制御装置モジュール１には組込まれたファームウェアが設けられている。ファームウェアの主要な機能は、以下のとおりである。  
ａ）ユニバーサルインターフェースを介して半導体メモリ装置とデータ処理システムとの間のデータ通信とデータ読取および書込みを制御し、
ｂ）制御情報および／または動作リクエストをデータ処理システムから受信し、制御情報および／または動作リクエストにしたがって対応する動作を実行し、
ｃ）種々の組込まれたまたはユーザの自己規定アルゴリズムを実行し、その動作結果を返送し、
ｄ）ユーザのデータのセキュリティ記憶を実現するようにユーザにより記憶されたデータを暗号化または解読するために予め規定されたデータ暗号化―解読システムを呼出す。
【００２０】
制御装置モジュール１のファームウェアはまたオープンアプリケーション開発インターフェースを提供する。アプリケーション開発インターフェースにより与えられるダイナミックリンクにより、ユーザはそれをベースとして、種々のセキュリティ暗号化、個人識別、著作権保護等のようなさらに強力なアプリケーションを開発することができる。制御装置モジュール１のファームウェアはまたユーザの自己規定アルゴリズムおよび機能の均一な入力出力パラメータを提供し、それ故ユーザにさらに強力なアルゴリズムを規定させることが可能である。
【００２１】
図９に示されているように、半導体メモリ装置はＵＳＢインターフェースとフラッシュメモリを使用し、これは制御装置モジュール１と、フラッシュメモリモジュール31と、ＵＳＢインターフェースモジュール21とを具備している。フラッシュメモリモジュール31とＵＳＢインターフェースモジュール21とはそれぞれ制御装置モジュール１に電気的に接続されている。半導体メモリ装置はさらに電源モジュール５と、書込み保護スイッチ６と、状態指示モジュール７とを具備している。
【００２２】
図１０Ａ、Ｂ、Ｃは半導体メモリ装置の概略回路図である。図１０Ａでは、制御装置モジュール１は主制御装置として日立製作所のＨ８Ｓ２２１５  ＭＣＵを使用する。Ｈ８Ｓ２２１５チップは６４Ｋ  ＲＯＭ、８Ｋ  ＲＡＭ、１６ビットクロック周波数を提供し、高速度で動作する。Ｓ１は書込み保護スイッチである。Ｓ１がＦＷＰ信号を接続するピンを“０”レベルに切換えるとき、半導体メモリ装置は書込み保護状態になり、読取を可能にするが書込み動作を可能にしない。そうでなければこれは通常の読取および書込み状態にある。状態指示はＬＥＤ指示器Ｄ１を使用し、ＧＬは指示器の制御信号である。半導体メモリ装置が読取、書込み、消去などの動作中であるときＤ１は点滅し、そうでなければＤ１は一定して点灯される。フラッシュメモリモジュール31は図１０Ｂに示されているように２つのＮＡＮＤフラッシュメモリチップＵ14とＵ15を含み、ここでＤ０〜Ｄ７はデータバスであり、制御信号はそれぞれＨ８Ｓ２２１５チップの対応する端部に接続するためのＦＡＬＥ、ＦＣＬＥ、ＦＷＲ−、ＦＲＤ−、ＦＣＥ１−、ＦＣＥ２−を含んでいる。状態信号はＦＷＰ−、ＦＲＢ−を含んでおり、それぞれＨ８Ｓ２２１５チップの対応する端部に接続される。図１０Ｃに示されているように、ユニバーサルインターフェースモジュール２はＵＳＢインターフェースを使用し、半導体メモリ装置はデータ処理システムのＵＳＢバスから電力供給を得て、Ｕ１とその周辺素子はシステム全体の電源回路を形成している。
【００２３】
本発明がデータセキュリティ記憶方法を実現するために半導体メモリ装置を使用する方法を以下さらに説明する。
【００２４】
半導体メモリ装置によりデータセキュリティ記憶を実現するための本発明の方法は、多レベルのパスワードと、保護されるデータの多レベルの権限の管理をサポートする。半導体メモリ装置の少なくとも１つの論理メモリスペースに記憶されている保護されるべきデータは文書、パスワード、暗号キー、口座番号、デジタル証書、暗号化アルゴリズム、自己規定アルゴリズム、ユーザ情報、および／またはユーザの自己規定データを含んでいるがそれらに限定されない。保護されるべきデータは特別な暗号化アルゴリズムで暗号化され、正確に暗号化する暗号キーなしでは正確に効率的に読み出されることができない。
【００２５】
本発明のデータセキュリティ記憶方法は半導体メモリ装置の少なくとも２レベルのユーザパスワード、即ち少なくとも高レベルの管理者用のパスワードとユーザ用の通常のパスワードとを設定する。データ記憶の強化された管理を実現するために、本発明は多数のユーザの管理を実現するために多レベルのユーザパスワードを設定することができる。本発明のデータセキュリティ記憶方法は半導体記憶媒体モジュールの１以上の論理メモリスペースだけに適切に２レベルのパスワードを設定できる。
【００２６】
データセキュリティを保護するため、半導体メモリ装置の読取および書込み動作前にユーザパスワードを確認することが必要である。ユーザパスワードの確認は全ての論理メモリスペースの動作前に行われてもよい。またこれは保護されるデータを記憶する論理メモリスペースにおける動作前にのみ行われることができる。任意のユーザは保護を必要としないデータを記憶するために論理メモリスペースにおいて任意の動作を行うことができる。ユーザのパスワードの確認は半導体メモリ装置が切換えられ、初期化された後に一度行われることができ、半導体メモリ装置がオフにされるまで半導体メモリ装置の任意の動作中にはユーザパスワードを証明する必要がない。また半導体メモリ装置の各読取／書込み動作前にユーザのパスワードを確認できる。また、半導体メモリ装置の各読取／書込み動作前に断続的にまたはランダムにユーザのパスワードを確認してもよい。
【００２７】
分類されたデータ記憶を実現するために、本発明にしたがって半導体メモリ装置によりデータセキュリティ記憶を実現する方法はデータベースのデータ記憶の設計原理および概念を採用し、データベース管理方法で保護されるデータのアクセスおよび／または権限を管理する。
【００２８】
データを分類し組織するために、高レベルの管理者および通常のユーザが彼ら固有のデータベースを設定し、データベースの設定中にデータベースの記録を暗号化することが必要であるか否かを指定してもよい。他方で、彼らはまたデータベースの設定中にデータベースをアクセスするための権限を指定できる。
【００２９】
データベースの設定時に、読取、書込み、変更、消去、権限の実行を指定することが可能であり、各権限の意味は次のとおりである。即ち、
データベースの記録データの読取だけを可能にする読取権限と、
データベースに新しいデータを書込むことだけを可能にするが、同一の記録タイトルを有する記録データをカバーしない書込み権限と、
データベースにデータを書込み、同一の記録タイトルを有する記録データをカバーすることだけを可能にする変更権限と、
そのデータベースまたは記録の消去を可能にする消去権限と、
データベースの記録コードの実行を可能にし、これは自己規定されたアルゴリズムまたは機能コードの書込みデータだけの権限であるが、通常の記録データの実行権限を指定するのに無効である実行権限である。
【００３０】
保護されるデータに対する秘密保護されたアクセスを制御するために、正常のユーザは高レベルの管理者により設定されるデータベースをアクセスするために高レベルの管理者により指定されたアクセス権限だけを有する。正常のユーザは既に高レベルの管理者により設定されているデータベースを設定することはできない。
【００３１】
本発明のデータセキュリティ記憶方法により保護されるデータが半導体メモリ装置に書込まれるとき、制御装置モジュール１はユニバーサルインターフェース２から保護されるべきデータを受信し、暗号化後、半導体記憶媒体モジュール３の少なくとも１つの論理メモリスペースにそのデータを記憶する。保護されるデータは正常のユーザパスワード、または正常のユーザパスワードを暗号化アルゴリズムで変換した後に得られる暗号キーとしてのデータによって暗号化された後に記憶されることができる。高レベルの管理者が保護されるデータを正確にアクセスすることを望むならば、正常のユーザにより書込まれるデータの秘密を確保するために正常のユーザのパスワードを確認しなければならない。同様に、高レベルの管理者は保護されるデータを書込むときデータベースを暗号化するために暗号化している暗号キーを得るように正常のユーザのパスワードを確認しなければならない。そうでなければ、書込まれるデータは暗号化されていない単なるデータである。保護されるべきデータが半導体メモリ装置から読出されるとき、制御装置モジュール１は正常のユーザのパスワードを証明することにより得られる暗号キーにしたがって保護されるべきデータを解読し、解読されたデータをユニバーサルインターフェース２を経て送信する。
【００３２】
高レベルの管理者は全てのデータベースに対して最高の制御パワーを有する。正常のユーザにより設定されたデータベースでは、高レベルの管理者はまた正常のユーザのパスワードを確認せずにデータを読取り、書込み、消去し、変更し、実行することができる。しかしながら、データの読取、書込み、変更は暗号化している暗号キーなしには正確に暗号化／解読されることができず、それによってデータは正確に読取られることができない。
【００３３】
情報セキュリティの分野では、侵害者が通常データの不正アクセスを行うために使用する方法はデータの変更を追跡し、規則を発見し、オペレーティングコードを変更することである。伝送中のデータおよび／または記憶されたデータを不正に偽造する行為から保護するために、本発明のデータセキュリティ記憶方法はデータが偽造されているか否かを識別できるような設計を有する。データセキュリティの要求にしたがって、保護されるべき全てのデータを可能な偽造に対して識別でき、またある送信および／または記憶されたキーデータを任意の可能な偽造に対して単に識別することができる。送信および／または記憶されたデータの偽造防止識別は図３および４に示されているように、以下のように実行される。
【００３４】
データを送信または記憶するとき、図３に示されているようなステップを含んでいる。即ち、
Ａ．変換値Ｘを得るためにオリジナルデータを変換するための暗号化アルゴリズムを呼出し、
Ｂ．データパッケージを形成するためにあるフォーマットにしたがって、オリジナルデータと変換値Ｘをパックし、
Ｃ．データパッケージ全体を送信または記憶する。
【００３５】
データを受信または読取る時、図４に示されている次のようなステップを行う。即ち、
Ａ．オリジナルデータと、オリジナルデータの変換値Ｘとを得るために、前記同一のフォーマットにしたがってデータパッケージをアンパックし、
Ｂ．変換値Ｙを得るためにオリジナルデータの変換値を計算するために前記同一のアルゴリズムを呼出し、
Ｃ．計算された変換値Ｙと受信された変換値とを比較して、これらが相互に等しいか否かを観察し、
Ｄ．比較結果が等しいならば、データは偽造されておらず、そうでなければデータが偽造されている。
【００３６】
伝送中にデータが傍受されることを防止するために、本発明のデータセキュリティ記憶方法は偽造防止設計に加えて、半導体メモリ装置とデータ処理システムとの間でのデータ交換中データを暗号化するための変更可能なセッションキーを使用し、図５に示されているようなステップを行う。即ち、
Ａ．データ送信の開始時に、送信端はセッションキーを交換し、同時に少なくとも１つのランダム番号を導入するコマンドを送信し、
Ｂ．セッションキーの交換コマンドを受信した後、半導体メモリ装置は少なくとも１つのランダム番号をランダムに生成し、セッションキーを生成するためのアルゴリズムにより、受信されたランダム番号および生成されたランダム番号を変換し、半導体メモリ装置により生成されたランダム番号を送信端へ返送し、
Ｃ．返送されたランダム番号を受信した後、送信端は受信されたランダム番号と、送信端自体により導入されたランダム番号とをセッションキーを生成するための同一のアルゴリズムにより変換する。
【００３７】
セッションキーはデータ処理システムと半導体メモリ装置との間で保護されるデータを伝送するため暗号化／解読する暗号キーとして使用されることができる。セッションキーは保護されるデータの秘密保護される伝送を確実にするために送信端により送信されるセッションキーを変更するリクエストにしたがって任意の時に変更されることができる。
【００３８】
本発明にしたがって半導体メモリ装置によりアルゴリズムの記憶を実行する方法を以下さらに説明する。
【００３９】
本発明にしたがった半導体メモリ装置によりアルゴリズムの記憶を行う方法では、半導体記憶媒体モジュール３は少なくとも２つの論理メモリスペースに分割され、少なくとも１つの論理メモリスペースはアルゴリズム記憶のためのものである。制御装置モジュール１はユニバーサルインターフェース２からの入力データにしたがって指定されたアルゴリズムを実行し、ユニバーサルインターフェース２を介して動作結果を送出する。
【００４０】
本発明のアルゴリズム記憶方法では、アルゴリズムは半導体記憶媒体モジュール３の少なくとも１つの論理メモリスペースに記憶されることができる。これはアルゴリズムを記憶するために本発明のデータのセキュリティ記憶方法を使用することができ、少なくとも２レベルのユーザパスワードと多レベルの権限管理を設定し、偽造防止およびセッションキー設計を使用できる。記憶されたアルゴリズムは１以上のアルゴリズムであり、半導体メモリ装置中の組込まれたアルゴリズムであってもよく、またはアプリケーションインターフェースを介してユーザにより書込まれる自己規定アルゴリズムであってもよい。
【００４１】
本発明のアルゴリズム記憶方法にしたがって、制御装置モジュール１はユニバーサルインターフェース２からの入力データにしたがって指定されたアルゴリズムを実行し、ユニバーサルインターフェース２を介して動作結果を送信することができる。制御装置モジュール１は半導体記憶媒体モジュール３から少なくとも１つのアルゴリズムを読出し、それを制御装置モジュール１へロードし、その後、ユニバーサルインターフェース２から受信されたアルゴリズム呼出しパラメータにしたがって少なくとも１つのアルゴリズムを選択し、制御装置の内部のアルゴリズムを実行し、動作結果をユニバーサルインターフェース２を介して帰還する。その代わりに、制御装置モジュール１はユニバーサルインターフェース２から受信されたアルゴリズム呼出しパラメータにしたがって少なくとも１つのアルゴリズムを選択し、半導体記憶媒体モジュール３からアルゴリズムを読出し、これを制御装置モジュール１へロードし、制御装置の内部のアルゴリズムを実行し、動作結果をユニバーサルインターフェース２を介して返送する。
【００４２】
本発明にしたがった半導体メモリ装置によりデータのセキュリティ記憶およびアルゴリズム記憶を実行する方法を以下、１例として通話ソフトウェア著作権保護について説明する。
【００４３】
本発明のデータセキュリティの記憶およびアルゴリズム記憶方法はユーザの自己規定アルゴリズムの書込みおよび呼出しをサポートするためにオープンアプリケーションをユーザに提供する。ソフトウェア著作権保護を実行するために、本発明のデータのセキュリティ記憶およびアルゴリズム記憶方法は以下のようにソフトウェアディベロッパに通常の開発インターフェースを提供する。即ち、  
１）半導体メモリ装置を初期化する：
DWORD NetacOD_Init(OD_INFO*odInfo)；
２）半導体メモリ装置からクイット（quit）する：
DWORD NetacOD_Exit( )；
３）正常のユーザのパスワードを確認または証明する：
DWORD NetacOD_AuthUserPwd(unsigned char pwd[17],int odIndex=1)；
４）高レベルの管理者パスワードを確認または証明する：
DWORD NetacOD_AuthAdminPwd(unsigned char pwd[17],int odIndex=1)；
５）ユーザデータベースを作成する：
DWORD NetacOD_CreateUserDB(unsigned char DBType,unsigned char bEncrypt,unsigned char bAccess,unsigned char *DBId,int odIndex=1)；
６）データベースを開く：
DWORD NetacOD_OpenUserDB(unsigned char DBType,unsigned char bAccess,unsigned char *DBId,int odIndex=1)；
７）データベースを消去する：
DWORD NetacOD_DeleteUserDB(unsigned char DBID,int odIndex=1)；
８）データベースを閉じる：
DWORD NetacOD_CloseUserDB(unsigned char DBID,int odIndex=1)；
９）ユーザデータをデータベースに書込む：
DWORD NetacOD_WriteUserData(unsigned char DBID,unsigned char dataID[9],unsigned char *data,unsigned short dataLen,int odIndex=1)；
１０）ある記録をデータベースから消去する：
DWORD NetacOD_DeleteUserData(unsigned char DBID,unsigned char dataID[9],bool blsIndexNo=FALSE,int odIndex=1)；
１１）データベースから設定マーク記録を読取る：
DWORD NetacOD_ReadUserData(unsigned char DBID,unsigned char dataID[9],unsigned char *data,unsigned short*dataLen,bool blsIndexNo=FALSE,int odIndex=1)；
１２）ソフトウェアモジュールにデータを書込む：
DWORD NetacOD_WriteModuleData(unsigned char moduleID,unsigned char moduleAttr,unsigned short moduleUseCounter,unsigned short moduleUserCounter=1,int odIndex=1)；
１３）ソフトウェアモジュールからデータを読出す：
DWORD NetacOD_ReadModuleData(MODULE_INFO *moduleInfo,int odIndex=1)；
１４）あるソフトウェアモジュールにより設定された使用時間を減少する：
DWORD NetacOD_DecreaseCounter(unsigned char moduleID,int odIndex=1)；
１５）自己規定アルゴリズムおよび機能を書込む：
DWORD NetacOD_WriteFunction(unsigned char functionName[9],unsigned char* functionData,unsigned short functionDataLen,int odIndex=1)；
１６）自己規定アルゴリズムおよび機能を呼出す：
DWORD NetacOD_CallFunction(IN_PARAM* functionInParameter, OUT PARAM* functionOutParameter,int odIndex=1)；
１７）ハッシングアルゴリズムを呼出す：
DWORD NetacOD_Hash(IN PHASH_PROPERTY pHashProperty,IN PBYTE pInBuffer,IN WORD wInBufferLen,IN OUT PBYTE pOutBuffer,IN OUT PWORD pOutBufferLen)；
１８）暗号化する：
DWORD NetacOD_Encrypt(IN WORD wBitLen,IN BYTE bAlgld,IN PBYTE pKey,IN PBYTE pInBuffer,IN WORD wInBufferLen,IN OUT PBYTE pOutBuffer,IN OUT PWORD pOutBufferLen)；
１９）解読する：
DWORD NetacOD_Decrypt(IN WORDwBitLen,IN BYTE bAlgld,IN PBYTE pKey,IN PBYTE pInBuffer,IN WORD wInBufferLen,IN OUT PBYTE pOutBuffer,IN OUT PWORD pOutBufferLen)；
２０）暗号キーを生成する：
DWORD NetacOD_GenKey(IN PKEY_ATTRpkeyAttr,IN PBYTE_SEED pKeySeed,IN OUT PBYTEpKeyBuffer)；
２１）セッションキーを変更する：DWORD NetacOD_ChangeSessionKey( );
前述のインターフェースに基づいて、ソフトウェアディベロッパは著作権保護されたソフトウェア保護の呼出しアルゴリムとして高強度の自己規定アルゴリズムおよび機能を設計し書込み、それを半導体メモリ装置用に特別に採用された実行コードにコンパイルし、本発明のデータセキュリティ記憶方法で暗号化された後、これを半導体メモリ装置に書込み、ソースコードレベルで秘密保護されたデータ保護を実現する。
【００４４】
著作権保護されたソフトウェアの追跡または暗号化アルゴリズムの解読の機会を侵害者に与え、それによって著作権保護されたソフトウェアが不法に使用される認証証明をパスした後、（ブルートュースインターフェースの接続のように）半導体メモリ装置が通信からプラグが外れたり、またはオフ切換えられたりしないように、著作権保護されたソフトウェアの動作中にランダムな間隔で半導体メモリ装置に記憶されている自己規定アルゴリズムを呼出すことができる。図６および７に示されているように、これは以下のように実現される。  Ａ．合法のソフトウェアは“アルゴリズム呼出し命令”を簡単なＡＰＩ機能の呼出しにより半導体メモリ装置のドライバプログラムに送信し、そのドライバプログラムはユニバーサルインターフェースを介してその“アルゴリズム呼出し命令”を半導体メモリ装置の制御装置モジュール１に自動的に送信する。  
Ｂ．半導体メモリ装置は送信されたアルゴリズム呼出しパラメータが偽造されているか否かを証明し、偽造されているならば、プログラムの動作を中止する。  
Ｃ．半導体メモリ装置はユーザのアクセス権限を証明し、ユーザが自己規定アルゴリズムデータベースのアクセス権限をもたないならば、権限エラーコードを返送する。  
Ｄ．半導体メモリ装置は呼出されたモジュールを動作することが可能であるか否かを証明し、ユーザがこのモジュールを使用する権限をもたないならば、モジュールエラーコードを返送する。  
Ｅ．半導体メモリ装置は自己規定アルゴリズムを解読し、解読と読取が成功しなかったならば、アルゴリズムエラーコードを返送する。  
Ｆ．半導体メモリ装置はユーザにより書込まれたアルゴリズムコードを制御装置モジュール１を介して指定されたアドレスへロードし、これを動作し、動作が成功したという通知をユニバーサルインターフェースを介して半導体メモリ装置のドライバプログラムへ返送する。  
Ｇ．ドライバプログラムは動作が成功したという通知をソフトウェアのＡＰＩ機能の呼出しへ返送する。  
Ｈ．合法のソフトウェアがアルゴリズム呼出し動作が成功したという通知を受信するとき、これは“問合せコマンド”を半導体メモリ装置へ送信し、その半導体メモリ装置は現在のユーザ自己規定アルゴリズムにより生成された応答結果を返送する。  
Ｉ．保護されたソフトウェアは返送された応答結果にしたがって対応するプロセスを行う。
【００４５】
呼出されたアルゴリズムの差にしたがって、ソフトウェアは２つの異なるプロセスを実行する。即ち、応答結果が比較を必要とする場合、半導体メモリ装置により返送された応答結果がソフトウェアが予測した結果と同一であるならば、プログラムは正規に作動し、そうでなければ、プログラムは中止し、応答結果が比較を必要としない場合、半導体メモリ装置により返送された応答結果が正確であるならば、プログラムは正規に作動し、そうでなければ、プログラムはエラー結果を受信し、これは故障およびプログラムの中止を行わせる。
【００４６】
自己規定されたアルゴリズムの前述の呼出しプロセスはソフトウェア動作のプロセス全体でランダムな間隔で連続的に循環されることができる。ユーザが半導体メモリ装置をプラグオフするか半導体メモリ装置とソフトウェアとの間のスイッチをオフにするならば、ソフトウェアは半導体メモリ装置を検出せず、自己規定されたアルゴリズムが呼出されることができなくなり、したがってソフトウェアプログラムは作動を中止する。本発明で呼出されるアルゴリズムはある組込まれたアルゴリズム機能または開発インターフェースを経てユーザにより書込まれた自己規定されたアルゴリズムであり、また、コンパイルされた後に半導体メモリ装置に書込まれたソフトウェアプログラムの一部であってもよい。
【００４７】
本発明のデータセキュリティ記憶方法の２レベルのパスワードおよび多レベルの権限の管理にしたがって、ソフトウェアディベロッパは高レベルの管理者として前もって、呼出しアルゴリズムのような設定情報、ソフトウェアモジュール管理パラメータ等を半導体メモリ装置に書込み、正常のユーザパスワードを使用してそれぞれのアクセス権限をソフトウェアユーザへ割当てる。ソフトウェアのインストールおよび／または実行中、半導体メモリ装置は正常のユーザパスワードを証明し、ソフトウェアディベロッパの事前設定にしたがって、それぞれのアクセス権限を正常のユーザに割当て、したがってソフトウェアアプリケーションの制御を実現するために端末ソフトウェアユーザにより半導体メモリ装置の動作を制御する。
【００４８】
大きいソフトウェアは通常、多数のモジュールに分割され、各モジュールは種々の機能を実現するように個別に、または組合わせて使用されることができる。本発明のデータセキュリティ記憶方法にしたがって、ソフトウェアディベロッパはモジュールパラメータの設定によってユーザの要求を満たすため半導体メモリ装置にモジュール権限管理データベースを書込むことができる。
【００４９】
ユーザに対するアプリケーションプログラムの開発中、ソフトウェアディベロッパはモジュール呼出し自己規定アルゴリズムのパラメータを設定し、半導体メモリ装置にデータベースのモジュール権限管理を書込み、有効なモジュールに対応するモジュールトークン番号をランダムに生成する。アプリケーションソフトウェアでモジュール呼出しインターフェースを設定するとき、モジュールトークン番号によりサインされたアルゴリズム呼出しパラメータを確認する必要がある。このモジュールの動作を可能にされないならば、自己規定されたアルゴリズムの呼出しは失敗し、ユーザはこのモジュールの機能を使用できない。アルゴリズム呼出しパラメータの変更することによって、ユーザがソフトウェアモジュールの不法使用を得ないようにするために、アルゴリズム呼出しパラメータは送信中に本発明のデータセキュリティ記憶方法の偽造防止設計を採用できる。図８に示されているように、モジュール管理を行うステップを以下説明する。  
Ａ．アルゴリズムを呼出す前に、合法のソフトウェアは署名を得るために前もってローカルで署名機能を呼出す。
【００５０】
Ｂ．このモジュールのトークン番号を得るために署名データにより半導体メモリ装置中のモジュール権限管理データベースをログオンし、
Ｃ．モジュールトークン番号により署名されたアルゴリズム呼出しパラメータにより半導体メモリ装置に記憶されている自己規定されたアルゴリズムを呼出し、
Ｄ．半導体メモリ装置は入力アルゴリズム呼出しパラメータの署名がモジュール権限設定にしたがって正しいか否かを確認し、即ちアルゴリズム呼出しパラメータが偽造されているか否かを決定し、正しいならば、アルゴリズム呼出しは合法のソフトウェアがモジュールを実行することを可能にするために正規で動作し、そうでなければ、呼出しは失敗し、合法のソフトウェアのモジュールの実行は拒否される。
【００５１】
半導体メモリ装置の自己規定されたアルゴリズムを呼出すとき、使用回数、および合法のソフトウェアのあるモジュールのユーザ数または合法のソフトウェア自体のユーザ数を減少させるために減少インジケータを設定することが有効である。ユーザが限定された時間およびユーザ内で適切にログオンしないならば、半導体メモリ装置に記憶されている自己規定されたアルゴリズムを適切に呼出すことができず、即ち合法のソフトウェアまたはソフトウェア自体のあるモジュールを動作することができない。一方で、送信中にデータがオフに切換えられることを防止するために、データは偽造防止設計の採用に加えて、データ送信中のセキュリティをさらに増加するために本発明のデータセキュリティ記憶方法のランダムに変更可能なセッションキーによる暗号化技術によって暗号化されることができる。
【００５２】
本発明にしたがった半導体メモリ装置によるデータセキュリティ記憶およびアルゴリズム記録を実行する方法は、オンラインバンキングおよび電子トランザクション等のような種々の情報セキュリティ分野で広く使用されることもできる。オンラインバンキングのトランザクション中、最も懸念される問題は、トランザクションパスワードが他人により盗まれ、オンラインのアイデンティティが他人により不法に捕捉されることである。本発明のデータのセキュリティ記憶方法によれば、ユーザの個人情報、私設キー、デジタル証書などについての情報は半導体メモリ装置の半導体記憶媒体モジュール中に記憶されることができ、アイデンティティを証明する機能は制御装置モジュールによる組込まれたアルゴリズムの実行によって実現されることができる。半導体メモリ装置のユーザだけがユーザのアイデンティティが記録されている装置を独占的に携帯し使用し、情報の漏洩を阻止するために装置でデジタル署名等の私設キーの計算を行うことが許容される。本発明のデータのセキュリティ記憶およびアルゴリズム記憶方法と半導体メモリ装置により、消費者の自宅またはインターネットバーでさえもインターネットにアクセス可能なコンピュータを有している任意の場所で安全で確実なトランザクションおよびオンラインの支払いを行うことが可能である。
【図面の簡単な説明】
【００５３】
【図１】本発明にしたがった半導体メモリ装置によるデータのセキュリティ記憶およびアルゴリズム記憶を実現する方法の原理図。
【図２】本発明にしたがったデータのセキュリティ記憶およびアルゴリズム記憶方法を実現する半導体メモリ装置の構造の概略図。
【図３】本発明のデータのセキュリティ記憶方法にしたがったデータの送信または記憶期間中におけるデータの修正の防止方法を示すフローチャート。
【図４】本発明のデータセキュリティ記憶方法にしたがったデータの受信または読取期間中におけるデータの修正を防止する方法を示すフローチャート。
【図５】本発明のデータセキュリティ記憶方法にしたがったセッションキーによる暗号化を使用するデータ送信方法のフローチャート。
【図６】ソフトウェア著作権保護のための本発明にしたがったデータセキュリティ記憶およびアルゴリズム記憶の方法のソフトウェア実行のフローチャート。
【図７】ソフトウェア著作権保護のための本発明にしたがったデータセキュリティ記憶およびアルゴリズム記憶の方法のユーザの自己規定アルゴリズムを呼出すフローチャート。
【図８】ソフトウェア著作権保護のための本発明にしたがったデータセキュリティ記憶およびアルゴリズム記憶の方法における多数のモジュール管理のフローチャート。
【図９】ＵＳＢインターフェースおよびフラッシュメモリを有する図２に示されている半導体メモリ装置の構造の概略図。
【図１０Ａ】ＵＳＢインターフェースとフラッシュメモリを有する図９に示されている半導体メモリ装置の概略回路図。
【図１０Ｂ】ＵＳＢインターフェースとフラッシュメモリを有する図９に示されている半導体メモリ装置の概略回路図。
【図１０Ｃ】ＵＳＢインターフェースとフラッシュメモリを有する図９に示されている半導体メモリ装置の概略回路図。
【図１】
0004773723.tif 000002
【図２】
0004773723.tif 000003
【図３】
0004773723.tif 000004
【図４】
0004773723.tif 000005
【図５】
0004773723.tif 000006
【図６】
0004773723.tif 000007
【図７】
0004773723.tif 000008
【図８】
0004773723.tif 000009
【図９】
0004773723.tif 000010
【図１０Ａ】
0004773723.tif 000011
【図１０Ｂ】
0004773723.tif 000012
【図１０Ｃ】
0004773723.tif 000013