(57)【要約】本発明は、特定のキー操作に関連する電磁放射のランダムさを促進することにより、キーパッドシステムからの電磁放射を翻訳することの困難さを増加させる。キーパッド秘密保全回路は、時間及びビットの両方にわたって変化するような一群のデジタル値を、キーパッド属性（例えば、行又は列）に供給されるキーパッドドライバワードとして利用する。本発明のキーパッド秘密保全回路は、キーパッドスイッチマトリクスの属性（例えば、行又は列）へ変化する強いキーパッドドライバ信号を送出し、該キーパッドスイッチマトリクスの対向する属性に独立に設定された弱いドライバ信号を供給し、該対向する属性から結果としての信号を取り込み、該結果を翻訳してキーパッドシステムに含まれるスイッチが操作されたか（例えば、キーが押されたか）を判断する。【特許請求の範囲】
【請求項１】
キーパッド秘密保全回路において、
ドライバ信号と結果信号とをビット毎に比較する比較器と、
前記比較器に結合されると共に、キーパッド強ドライバ信号を列に送出するように構成された列出力ドライバと、
前記比較器に結合されると共に、キーパッド強ドライバ信号を行に送出するように構成された行出力ドライバと、
前記行出力ドライバに結合されると共に、弱ドライバ信号を列上に供給するように構成されたプログラマブル列ワード構築器と、
前記列出力ドライバに結合されると共に、弱ドライバ信号を前記行上に供給するように構成されたプログラマブル行ワード構築器と、
を有していることを特徴とするキーパッド秘密保全回路。
【請求項２】
請求項１に記載のキーパッド秘密保全回路において、一群のデジタル値が、各デジタルワードにおけるビットと時間との両方にわたってランダムに変化することを特徴とするキーパッド秘密保全回路。
【請求項３】
請求項２に記載のキーパッド秘密保全回路において、一群のランダムなデジタル値は、レジスタファイルからのものであり、前記列及び行に前記列強ドライバ信号及び前記行強ドライバ信号として順次供給されることを特徴とするキーパッド秘密保全回路。
【請求項４】
請求項２に記載のキーパッド秘密保全回路において、前記列強ドライバ信号及び前記行強ドライバ信号が、共に、前記レジスタファイルからの同じビットにつながることを特徴とするキーパッド秘密保全回路。
【請求項５】
請求項２に記載のキーパッド秘密保全回路において、前記レジスタファイルがランダムな時点で又はキーの押下のような重要な事象により更新されることを特徴とするキーパッド秘密保全回路。
【請求項６】
請求項２に記載のキーパッド秘密保全回路において、前記行及び列上でのランダムなビット値をサポートするために、前記弱ドライバ信号は独立にプルアップ又はプルダウンされるように変化されることを特徴とするキーパッド秘密保全回路。
【請求項７】
請求項２に記載のキーパッド秘密保全回路において、前記列強ドライバ信号は、対向する行弱ドライバ信号が論理１の値である場合に論理零の値であることを特徴とするキーパッド秘密保全回路。
【請求項８】
請求項２に記載のキーパッド秘密保全回路において、行強ドライバ信号は、対向する列弱ドライバ信号が論理零の値である場合に論理１の値であることを特徴とするキーパッド秘密保全回路。
【請求項９】
請求項２に記載のキーパッド秘密保全回路において、前記プログラマブル列ワード構築器及び前記プログラマブル行ワード構築器は、共に、独立にイネーブルされるようなプルアップ部及びプルダウン部を有していることを特徴とするキーパッド秘密保全回路。
【請求項１０】
キーパッド秘密保全システムにおいて、
キー及び対応するスイッチを有するようなキーパッドマトリクスであって、前記スイッチはスイッチマトリクスの選択された列と行との間に、前記キーの操作の結果としての前記スイッチの活性化に応答して電気を導通する経路を形成するようなキーパッドマトリクスと、
前記キーパッドマトリクスに結合されると共に、前記キーパッドマトリクスのスイッチ操作順序を保護するための秘密保全対策を提供するように構成されたキーパッド秘密保全回路と、
前記キーパッド秘密保全回路に結合されると共に、前記キーパッドマトリクスからの信号の走査が、含まれるスイッチの状態を示す場合に、キーパッドの変化を検出するように構成されているようなキーパッドスキャナ回路と、
を有していることを特徴とするキーパッド秘密保全システム。
【請求項１１】
請求項１０に記載のキーパッド秘密保全システムにおいて、前記キーパッドスキャナ回路が標準のキーパッドスキャナ回路であり、前記キーパッドマトリクスが標準のキーパッドマトリクスであることを特徴とするキーパッド秘密保全システム。
【請求項１２】
請求項１１に記載のキーパッド秘密保全システムにおいて、前記キーパッドスキャナ回路は、時間とキーパッドの列及び行に入力される各デジタルワードのビットとの両者にわたってランダムに変化するような一群のデジタル値を使用することにより、スイッチ操作順序を安全に保護する秘密保全対策を提供することを特徴とするキーパッド秘密保全システム。
【請求項１３】
請求項１１に記載のキーパッド秘密保全システムにおいて、前記一群のランダムデジタル値は、レジスタファイルに記憶されると共に、前記キーパッドマトリクスの前記列及び行に順次送出されることを特徴とするキーパッド秘密保全システム。
【請求項１４】
請求項１１に記載のキーパッド秘密保全システムにおいて、前記列及び行は、共に、前記レジスタファイルの同じビットにつながることを特徴とするキーパッド秘密保全システム。
【請求項１５】
請求項１１に記載のキーパッド秘密保全システムにおいて、前記キーパッドスキャナが、
ホストプロセッサに対するインターフェースを形成するように構成されたキーパッドレジスタと、
前記キーパッドレジスタに結合されると共に、出力信号及び入力信号のための通信経路を形成するように構成されたキーパッドインターフェースポートと、
前記キーパッドインターフェースポートに結合されて、これらキーパッドインターフェースポートの方向を、行及び列出力イネーブル信号と共に制御するキーパッドステートマシンと、
前記キーパッドレジスタに結合されると共に、前記スイッチの開と閉との間の遷移を整定する方法を実行するように構成されたキーパッドデバウンス部と、
を有していることを特徴とするキーパッド秘密保全システム。
【請求項１６】
キーパッド秘密保全方法において、
変化する強ドライバ信号をキーパッドスイッチマトリクスの第１属性に送出するステップと、
変化する弱ドライバ信号をキーパッドスイッチマトリクスの第２属性に供給するステップと、
結果としての信号を前記キーパッドスイッチマトリクスの前記第２属性から取り込むステップと、
前記第２属性上のスイッチの活性化状態を示すようなスキャナ入力信号を伝送するステップと、
を有していることを特徴とするキーパッド秘密保全方法。
【請求項１７】
請求項１６に記載のキーパッド秘密保全方法において、
変化する強ドライバ信号をキーパッドスイッチマトリクスの前記第２属性に送出するステップと、
変化する弱ドライバ信号をキーパッドスイッチマトリクスの前記第１属性に供給するステップと、
結果としての信号を前記キーパッドスイッチマトリクスの前記第１属性から取り込むステップと、
前記第１属性上のスイッチの活性化状態を示すようなスキャナ入力信号を伝送するステップと、
を有していることを特徴とするキーパッド秘密保全方法。
【請求項１８】
請求項１６に記載のキーパッド秘密保全方法において、キーパッドスイッチマトリクスの前記第１属性が列であり、キーパッドスイッチマトリクスの前記第２属性が行であることを特徴とするキーパッド秘密保全方法。
【請求項１９】
請求項１６に記載のキーパッド秘密保全方法において、前記変化するドライバ信号が、時間とデジタルキーパッドドライバワードにおけるビットとの両方にわたり変化するような一群のデジタル値の１つであることを特徴とするキーパッド秘密保全方法。
【請求項２０】
請求項１６に記載のキーパッド秘密保全方法において、前記変化する強ドライバ信号が、ランダム化器により発生され、レジスタファイルにロードされることを特徴とするキーパッド秘密保全方法。
【請求項２１】
請求項１６に記載のキーパッド秘密保全方法において、プルアップ及びプルダウンを使用して前記弱ドライバ信号をキーパッドスイッチマトリクスの第２属性に供給するようなステップを更に有し、前記プルアップ及び前記プルダウンが独立にイネーブルされることを特徴とするキーパッド秘密保全方法。
【請求項２２】
請求項１６に記載のキーパッド秘密保全方法において、前記キーパッドスイッチマトリクス上の前記変化する強ドライバ信号の論理値と前記キーパッドスイッチマトリクスの前記第２属性上の前記結果としてのキーパッド信号の論理値との二進比較によりキー押圧検出を実行するステップを更に有していることを特徴とするキーパッド秘密保全方法。
【請求項２３】
請求項１６に記載のキーパッド秘密保全方法において、前記変化する弱ドライバ信号を事前充電するステップを更に有していることを特徴とするキーパッド秘密保全方法。
【請求項２４】
請求項１６に記載のキーパッド秘密保全方法において、前記変化する弱ドライバ信号を１つのキーパッドクロックサイクルにおいて２回事前充電するステップを更に有し、前記変化する弱ドライバ信号は前記キーパッドクロックサイクルの或る部分の間において第１論理値まで事前充電され、前記変化する弱ドライバ信号は前記キーパッドクロックサイクルの他の部分の間において第２論理値まで事前充電されることを特徴とするキーパッド秘密保全方法。
【請求項２５】
請求項１６に記載のキーパッド秘密保全方法において、前記結果としてのキーパッド信号を前記キーパッドクロックサイクルの間に２回サンプリングするステップを更に有していることを特徴とするキーパッド秘密保全方法。
【請求項２６】
請求項１６に記載のキーパッド秘密保全方法において、前記結果としてのキーパッド信号をデバウンス処理するステップを更に有していることを特徴とするキーパッド秘密保全方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子キーパッド装置の分野に関する。更に詳細には、本発明は電子キーパッド装置におけるデータ入力の不法な解読からの増強された安全保護を提供するシステム及び方法に関する。
【背景技術】
【０００２】
電子システム及び回路は現代社会の進歩に対して大きな貢献を果たし、有利な結果を得るために多数の利用分野において利用されている。デジタルコンピュータ、計算器、オーディオ装置、ビデオ装置及び電話システム等の電子技術は、事業、科学、教育及び娯楽等の殆どの分野におけるデータ、アイデア及び傾向の解析及び通信における生産性を向上し、コストを低減することを促進した。これらの結果を提供するように設計された電子装置及びシステムは、しばしば、情報を入力するために使用されるインターフェースを有している。電子システムに情報を入力するために使用される最も普通のインターフェースの１つは、キーパッドである。伝統的なキーパッド装置は、概ねは便利な入力インターフェースを提供するが、しばしば、入力情報の不法な盗聴を受け易い。
【０００３】
名前が示すように、キーパッドは典型的には文字又は機能（例えば、アルファベット文字、数字、句読点文字、バックスペース、削除、ページアップ等）を表す多数のキー又は釦を含んでいる。キーは、典型的には、行と列のマトリクスで配列されている。通常、各キーはスイッチに対応し、該スイッチは対応するキーの物理的操作（例えば、当該キーの押下）により駆動される。キーパッドスイッチの駆動は、典型的に、装置への文字の入力又は命令の入力を示すために使用される。通常、ユーザは特定のデータの入力を果たすために多数のキーを特定の順序で操作しなければならない。
【０００４】
図１Ａは、典型的なキーパッドシステム１００のブロック図であり、該システムにおいてキーパッドスイッチは４ｘ４マトリクスアレイ１２０の各行及び列の交差部に配置される。スイッチマトリクスアレイ１２０は列パッド１３１ないし１３４及び行パッド１５１ないし１５４を含み、スイッチが操作されると、該スイッチは行と列との間に電気経路を設ける。キーパッドスキャナ回路１１０は、キーパッドスキャナ出力信号を供給し、キーパッド入力信号を監視する。伝統的なキーパッドシステムにおいては、上記スキャナ出力信号は列パッド及び行パッドにキーパッドドライバ信号として供給される。キーパッドスイッチマトリクス１２０の行及び列上の結果としてのキーパッド信号の変化は、キーパッドスキャナ回路１１０へキーパッドスキャナ入力信号として帰還される。伝統的なキーパッドシステムは、通常、デジタルインターフェースを用いて構成され、該デジタルインターフェースにおいては論理１を表す“高電圧”信号（例えば、５ボルト）及び論理０を表す“低電圧”信号（例えば、零ボルト）との境界において高及び低電圧レベル信号が使用される。標準のキーパッドシステムは、典型的には、キーパッドマトリクスにおけるキーが操作されたかを判断するためにキーパッドスイッチ操作検出アルゴリズムを実行する。該アルゴリズムは、典型的には、予備的キーパッド状態を確立し、キーパッドスイッチの操作を検出し、及び何のキーパッドスイッチが操作されたかを決定することを含む。
【０００５】
図１Ｂは、キーパッドシステム１００のような伝統的なキーパッドシステムの一例の状態図である。通常、特定の論理値におけるデフォルトの弱い電圧（例えば、０ボルト）信号が当該キーパッドスイッチアレイの行に印加され、強い電圧（例えば、５ボルト）信号が該アレイの列の各々に印加される。次いで、キーパッドスキャナは行を印加された信号の変化に関して監視する。当該アレイの行上の電圧が前記キーパッドスキャナ回路により読み込まれた場合に、全ての行が上記デフォルトの弱い電圧の論理値を有しているならば、どのスイッチも閉じられておらず、従ってどのキーも押下されていない。もし、１つの行が強い電圧の論理値を有するなら、該行上の１つのスイッチが閉じられており、当該キーパッドシステムは待ち状態１５０となる。上記行上のスイッチのどれが閉じられたかを判断するために、キー活性状態１７０において当該キーパッドマトリクスに対し同様のアルゴリズムが実行される。当該アレイの列に弱い電圧（例えば、５ボルト）が印加され、該アレイの行に強い電圧（例えば、０ボルト）が印加される。当該アレイの列上の結果としての電圧値がキーパッドスキャナ１１０により読み取られた場合、強い電圧を持つ列が、閉じたスイッチの列を示す。キーパッドスキャナ１１０は、閉じたスイッチの行及び列を示す情報を相関付けて、何のキーが押下されたかを識別する。
【０００６】
伝統的に、キーパッドシステムは、一群のキーパッドドライバ信号（例えば、キーパッドスキャナ出力信号）を列パッドに供給し、一群のキーパッドドライバ信号を行パッドに供給する。キーパッドドライバ信号の各群は、キーパッドスイッチマトリクスの行又は列に供給される二進キーパッドドライバワードを形成し、キーパッドドライバワード（例えば、キーパッドスキャナ出力信号）内の各信号の論理値は同一である。例えば、キーパッドスイッチマトリクス１２０の列パッドに供給されるキーパッドドライバワードにおける各ビットの論理値は同一（例えば、論理１）であり、キーパッドスイッチマトリクス１２０の行パッドに供給されるキーパッドドライバワードにおける各ビットの論理値は同一（例えば、論理０）である。
【０００７】
入力情報は、しばしば、秘密であり、性質上敏感である。例えば、場所への安全な入場又は電子装置に記憶された情報への安全なアクセスのためのシステムに関連するパスワードは、しばしば、秘密である。通常は、敏感な情報が秘密のままに留まることは非常に重要であるが、殆どのシステムは情報の不法な盗聴に対して脆弱な機能を有している。キーパッド装置のような入力装置は、しばしば、“未保護状態”であり、伝統的なキーパッドは、斯かるキーパッドを入力情報の許可無き盗聴を被り易くさせるような多くの特徴を有している。伝統的なキーパッドは、秘密情報の安全性に妥協して、視覚的試みをする余地がある。例えば、ユーザがキーパッド上のキーを物理的に操作している際に、誰かがキーの行程を見ることができる。敏感な情報の視覚的盗聴からの比較的良好な保護は、キーパッドに対する他者の視覚的アクセスを遮断することにより設けられる。キーパッドの１つの特別に厄介な脆弱な特性は、キーパッドマトリクスにおけるキーが操作された場合の結果としての電磁場の放出である。電磁放射（electromagnetic emission）の性質は、不法な盗聴に対して保護することを非常に困難にし、伝統的なキーパッド装置が示す限られた数の異なる電磁放射の特徴は、斯かる放射の翻訳を比較的容易にしてしまう。
【０００８】
伝統的なキーパッドシステムからの電磁放射は、電磁誘導（ＥＭＩ）技術により容易に盗聴することができる。通常、伝統的なキーパッドマトリクスにおいて操作された各スイッチは、伝統的なキーパッドスキャナがキーパッド走査を実行している際に特有の電磁放射を生じる。典型的には、キーの押下により生じる電磁場の変化を検出することは比較的容易であり、特に、一群のキーパッドドライバ信号（例えば、スキャナ出力信号）に含まれる各信号の論理値が同一であるようなキーパッドインターフェースにおけるキー押下ＥＭＩ特徴を区別することは容易である。各キーパッドスイッチの操作は、行及び列のスイッチ交差部での信号の値に依存して、結果的に異なる電磁放射となる。しかしながら、一群のキーパッドドライバ信号（例えば、スキャナ出力信号）に含まれる各信号は同一であるため、限られた数の電磁放射特徴しかなく、特定のキーの特定のＥＭＩ読み取りとの関連づけを大幅に容易にしてしまう。この様に、伝統的なキーパッド上での敏感な（秘密の）キー順序を盗聴することは、比較的簡単であり、これらの順序の後での再生も簡単な処理である。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
必要とされるものは、キーパッドシステムからの電磁放射を翻訳する困難性を増加させるようなシステム及び方法である。斯かるシステム及び方法は、電磁放射と敏感なキー順序との不法な関連付けの確率を低減させねばならない。
【課題を解決するための手段】
【００１０】
本発明は、キーパッドシステムからの電磁放射を翻訳する困難性を増加させるシステム及び方法である。該システム及び方法は、敏感なキー順序が電磁放射と不法に関連付けられる確率を、特定のキー操作に関連する電磁放射のランダムさを促進することにより、低減する。本発明の一実施例においては、キーパッドスキャナ回路が、時間とキーパッド属性（例えば、行又は列）に供給されるデジタルワードに含まれるビットとの両方にわたって変化するような一群のデジタル値を利用する。上記一群のランダムなデジタル値はレジスタファイルに記憶され、列パッド及び行パッドに順次供給される。本発明の一実施例においては、上記一群のデジタル値はソフトウェア又はハードウェアの何れかにより発生され、レジスタファイルにロードされる。本発明のキーパッド秘密保全システムは、変化する強いキーパッドドライバワードをキーパッドスイッチマトリクスの或る属性（例えば、行又は列）に送り、弱いドライバワードを上記キーパッドスイッチマトリクスの対向する属性に供給し、結果としてのワードを上記キーパッドスイッチマトリクスの上記対向する属性から取り込み、該結果を翻訳してキーパッドシステムに含まれるスイッチが操作されたか（例えば、オン又はオフされたか）を判断する。
【００１１】
上記マトリクス属性の各々上でのランダムビット値をサポートするために、上記弱いキーパッドドライバ信号は独立に設定される。本発明の一実施例においては、上記弱いドライバ信号は独立にプルアップ又はプルダウンされる。本発明の或る例示的構成においては、上記弱いドライバ信号は、一時的に上記の対向する属性のドライバ（例えば、行又は列ドライバ）をイネーブルすることにより、独立に或る論理値にプリチャージ（事前充電）される。該対向する属性のドライバイネーブル信号が短い一時的な期間の後に非肯定状態にされた場合、該対向する属性に結合されたバスキーパが上記弱い信号を保持する。上記独立した弱い信号は、キーパッドスイッチの操作による強いドライバ信号により打ち負かされない限り、同一に留まる。本発明の一実施例においては、上記弱いドライバ信号と上記強いドライバ値との比較が、キーパッドスイッチの操作を示す。他の例示的な構成では、２つのサンプルサイクルの間における結果としての信号の比較が、比較される。或る例示的構成においては、上記レジスタファイルにおけるランダム値はランダムな時点で又はキーの押下のような重要な事象により更新される。
【発明を実施するための最良の形態】
【００１２】
以下、キーパッド秘密保全システム及び方法である本発明の好ましい実施例を詳細に説明するが、これらの例は添付図面に図示されている。本発明は斯かる好ましい実施例に関連して説明されるが、これらは、本発明を、これらの実施例に限定することを意図するものではないと理解されるであろう。逆に、本発明は、添付請求項に記載された本発明の趣旨及び範囲内に含まれるであろう代替例、変形例及び均等物もカバーすることを意図するものである。更に、本発明の以下の詳細な説明においては、本発明の完全な理解を提供するために、多数の固有の細部が記載されている。しかしながら、当業者にとっては、本発明が斯かる固有の細部なしで実施化することができることは明らかであろう。他の例においては、本発明の特徴を不必要にぼかさないように、良く知られた方法、手順、構成部品及び回路は詳細には説明されていない。
【００１３】
本発明のキーパッド秘密保全システムは、キーパッドシステムのキーパッドスイッチＥＭＩ特徴の順序に関連付けられる電磁放射を、キーパッドの行又は列に供給される信号を変化させることにより変化させる。本発明のキーパッド秘密保全システムは、変化するキーパッドドライバワードをキーパッドスイッチマトリクスに供給し、行又は列の結果としてのワードを上記キーパッドスイッチマトリクスから取り込み、これら結果を翻訳して、変化されたキーパッドシステムに含まれるスイッチが操作されたか（例えば、オン又はオフされる）を判断する。本発明の一実施例においては、上記の変化するキーパッドドライバワードは、時間と当該キーワードに含まれるビットとの両者にわたり変化する。
【００１４】
図２は、本発明の一実施例である、キーパッド秘密保全システム２００のブロック図である。該キーパッド秘密保全システム２００は、キーパッドスキャナ回路２０１と、キーパッド秘密保全回路２２０と、キーパッドマトリクス２３０とを有している。キーパッドスキャナ回路２１０はキーパッド秘密保全回路２２０に結合され、該秘密保全回路はキーパッドマトリクス２３０に結合されている。キーパッドスキャナ回路２１０は、キーパッドの走査動作を制御すると共に、信号がキーパッドマトリクス２３０に含まれるスイッチの操作又は状態の変化を示す場合を検出するように構成されている。キーパッド秘密保全回路２２０は、許可されていないＥＭＩ盗聴によるキーパッドのスイッチ操作順序の翻訳の困難さを増加させるようなキーパッドドライバ信号の変化を促進する。本発明の一実施例において、キーパッド秘密保全回路２２０は、キーパッドスイッチマトリクスからの電磁放射の順序を、放射パターンにランダムさを導入すると共に、特定の電磁放射を特定のキー操作と相関させることを一層困難にさせるような態様で変更させるような秘密保全対策を実施する。キーパッドマトリクス２３０はキー及び対応するスイッチを有し、これらスイッチは斯かるスイッチの操作（例えば、オンされる、オフされる、開かれる、閉じられる等）に応答してスイッチマトリクスの列と行との間に信号を導通させる経路を設ける。本発明の一実施例においては、上記スイッチはキーの物理的操作（例えば、押下される）の結果として活性化される。
【００１５】
本発明の一実施例において、キーパッド秘密保全システム２００は、情報入力操作に対する秘密保全の向上を、時間とキーパッドの行又は列に供給される各デジタルキーパッドドライバワードにおけるビットとの両方にわたりランダムに変化するようなデジタル値を使用することにより、促進する。本発明の１つの例示的な構成においては、列パッド又は行パッドに供給されるランダムに変化するデジタル値の上記群（例えば、設定された伝統的なスキャナの列出力及び行出力の代わりの）は、レジスタファイル（例えば、スキャナ内に含まれるキーパッドレジスタのファイル）に記憶される。図２においては、変化するスキャナ列出力及び変化するスキャナ行出力が、レジスタファイルからの別個のビットとして示されている。本発明の一実施例においては、レジスタファイルからの同じビットが、変化するスキャナ列ドライブ信号及び変化するスキャナ行ドライブ信号の両方を提供する。本発明の一実施例においては、前記デジタル値の群は、当該システムの何処かにおいてソフトウェア又はハードウェアのランダム化器（randomizer）により発生され、上記レジスタファイルにロードされる。本発明の１つの例示的構成においては、上記レジスタファイルは、ランダムな時点で又はキーの押下等の重要な事象により更新される。
【００１６】
キーパッドマトリクス２３０は、２組のマトリクス属性、即ち行及び列、により規定される。第１組のマトリクス属性と第２組のマトリクス属性との各交差部（例えば、行と列との交差部）はスイッチを含む。予備的なキーパッド状態を確立するために、変化する論理値の強い信号が第１組のマトリクス属性（例えば、列）に供給され、他の論理値の弱い信号が第２組のマトリクス属性（例えば、行）に供給される。２つのマトリクス属性の交差部におけるキーパッドが操作されると、第１マトリクス属性と第２マトリクス属性との間（例えば、行と列との間）に電気経路が確立され、上記の強い信号が上記の弱い信号を支配する（オーバーライドする）。第２組のマトリクス属性（例えば、行）の各々がサンプルされ、該第２組のマトリクス属性（例えば、行）の１つにおいて前記弱い信号の論理値の変化があるかを解析することにより、強い信号が弱い信号を打ち負かしたかを判断する。上記論理値の変化は、第２組のマトリクス属性の１つ（例えば、行）におけるスイッチが操作されたことを示す。第２組のマトリクス属性の１つ（例えば、行）におけるスイッチが操作されたと判断した後、第１組のマトリクス属性のうちのどれが、該操作されたスイッチに関連するかに関して解析される。
【００１７】
本発明の一実施例において、第１組のマトリクス属性のうちのどれ（例えば、列）が操作されたスイッチに関連するかについての解析は、上記第２組のマトリクス属性のうちの１つ（例えば、行）におけるどのスイッチが操作されたかを判断することと類似している。変化する論理値の強い信号が第２組のマトリクス属性（例えば、行）の各々に供給され、弱い信号が第１組のマトリクス属性（例えば、列）に供給される。第１組のマトリクス属性（例えば、列）の各々がサンプルされ、第１組のマトリクス属性（例えば、行）のうちの１つにおける弱い信号の論理値の変化が存在するかを解析することにより、強い信号が弱い信号を打ち負かしたか判断される。上記論理値の変化は、第１組のマトリクス属性のうちの１つ（例えば、列）におけるスイッチが操作されたことを示す。第１組のマトリクス属性のうちの１つ（例えば、列）におけるスイッチが操作されたと判断した後、どのキーが操作されたかについての相関がキーパッドスキャナ２１０によりなされる。
【００１８】
本発明の一実施例においては、キーパッド秘密保全回路２２０は標準のデジタルキーパッドスキャナと標準のキーパッドマトリクスとの間に結合される。これは、上記標準のキーパッドスキャナが本質的に変更されることなく動作する一方、さもなければ電磁的に“暴露”される伝統的なキーパッドインターフェースにおける或るレベルの秘密保全性を提供することを可能にする。スキャナ出力信号は上記キーパッド秘密保全回路により時間にわたり変化するように変更されるが、該キーパッド秘密保全回路によりキーパッドスキャナ入力として供給される論理値表示は変化しない。例えば、標準のスキャナ入力信号において論理１が行上のスイッチが操作されたことを示した場合、キーパッド秘密保全回路は、変化する結果としてのキーパッド信号の翻訳を処理して、行上のスイッチが操作されたことのスキャナ入力信号の表示が依然として論理１となるような適切な調整を行う。
【００１９】
図３はキーパッドスキャナ２１０のブロック図であり、該スキャナはキーパッドレジスタ３１０と、キーパッドインターフェースポート３２０と、キーパッドステートマシン３３０と、キーパッドデバウンス（振動除去）回路３４０とを有している。キーパッドレジスタ３１０は、キーパッドインターフェースポート３２０とキーパッドデバウンス回路３４０とに結合され、これらポート及びデバウンス回路はキーパッドステートマシン３３０に結合されている。キーパッドレジスタ３１０はホストプロセッサ（図示略）に対するインターフェースを提供し、情報（例えば、変化するキーパッドドライバワード）を記憶する。デバウンスカウンタ回路３４０は、開と閉との間のスイッチの整定遷移の責任を負う。ステートマシン３３０は、スキャナ行及び列出力イネーブル信号と共にキーパッドインターフェースポート３２０の方向を制御する。ステートマシン３３０は、スキャナ行入力信号及びスキャナ列入力信号の読み取りも制御する。
【００２０】
図４は、本発明のキーパッド秘密保全回路の一実施例であるキーパッド秘密保全回路４００のブロック図である。キーパッド秘密保全回路４００は、比較器４１０と、列ドライバ４２１と、行ドライバ４２２と、プログラマブル列対向信号構築器４３０と、プログラマブル行対向信号構築器４４０とを有している。比較器４１０は行ドライバ４２２及び列ドライバ４２１に結合され、これらドライバはプログラマブル列対向信号構築器４３０及びプログラマブル行対向信号構築器４４０に各々結合されている。比較器４１０は列上の信号と行上の信号との比較を実行するようになっている。列出力ドライバ４２１は列強ドライバ信号を列に送出するようになっている。行出力ドライバ４２２は、行強ドライバ信号を行に送出するようになっている。プログラマブル列対向信号構築器４３０は、行出力ドライバ４２２により送出される上記行強ドライバ信号とは論理的に反対の列弱ドライバ信号を供給するようになっている。プログラマブル行対向信号構築器４４０は、列出力ドライバ４２１により送出される上記列強ドライバ信号とは論理的に反対の行弱ドライバ信号を供給するようになっている。
【００２１】
本発明の一実施例においては、レジスタファイル（例えば、キーパッドレジスタ３１０）からの一群のランダムデジタル値が、列ドライバ及び行ドライバに、キーパッドスキャナアルゴリズムの第１状態の間においては列出力（col_out）信号として、キーパッドスキャナアルゴリズムの第２状態の間においては行出力（row_out）として、順次供給される。本発明の一実施例においては、行又は列上の対向するビット値は独立にプルアップ又はプルダウンされる。列強ドライバ信号が論理１の値（例えば、プルアップされた値）である場合、対応する行対向弱ドライバ信号は論理零の値（例えば、プルダウンされた値）を有する。逆に、列強ドライバ信号が論理零の値である場合、対応する行対向弱ドライバ信号は論理１の値である。行強ドライバ信号が論理１の値（例えば、プルアップされた値）である場合、対応する列対向弱ドライバ信号は論理零の値（例えば、プルダウンされた値）を有する。逆に、行強ドライバ信号が論理零の値である場合、対応する列対向弱ドライバ信号は論理１の値である。この柔軟性をサポートするために、本発明の一実施例においては、プログラマブル列対向信号構築器４３０及びプログラマブル行対向信号構築器４４０は、独立にイネーブルされるようなプルアップ部及びプルダウン部の両方を有する。
【００２２】
本発明の一実施例においては、列ドライバ４２１は列出力イネーブル（例えば、col_oen）信号によりイネーブルされ、レジスタファイルからのスキャナ列出力信号は、どの行が操作されたスイッチを含むかを検出するために行を走査する場合に列強ドライバ信号として動作する。プログラマブル列対向信号構築器のプルアップ部及びプルダウン部は、過度な電流の漏れを防止すると共に、列強ドライバ信号（例えば、スキャナ列出力信号）との競合を避けるために、不能化される。各行は、行ドライバ（例えば、行ドライバ４２２）を不能化することにより、スキャナ入力とされる。本発明の１つの例示的構成においては、前記キーパッドスキャナからの行出力イネーブル信号が偽（例えば、論理零）となり、該偽の行出力イネーブル信号は行プルアップ部（例えば、行プルアップ部４４４）及びプルダウン部（例えば、行プルダウン部４４５）へのイネーブル経路もゲートオン状態にする。行プルアップ及び行プルダウンのイネーブル経路がゲートオン状態にされると、前記スキャナ列出力信号が、上記プルアップ部又はプルダウン部のいずれがイネーブルされるかを決定する。本発明の一実施例においては、上記スキャナ列出力信号が論理零の場合に上記プルアップ部がイネーブルされ、上記スキャナ列出力信号が論理１の場合に上記プルダウン部がイネーブルされる。本発明の１つの例示的構成においては、行パッド上の弱デフォルト信号の論理値は上記列強ドライバ信号の論理値の逆となる。
【００２３】
本発明の一実施例においては、キー押下検出は、行結果信号と列強ドライバ信号との二進比較（例えば、比較器４１０における）により実行される。本発明の１つの例示的構成においては、行検出比較の出力は、行結果信号が列強ドライバ信号と等しい場合に論理１となって当該行上のキーが押下されたことを示し、行結果信号が列強ドライバ信号と同一でない場合に論理零となって、当該行上の如何なるスイッチも押下されていないことを示す。本発明の一実施例においては、上記比較器からの出力は、標準のキーパッドスキャナにより標準のデジタルインターフェースから期待されるのと同一の形態のものである。
【００２４】
何の列が操作されたスイッチを含むかを検出するための列走査は、何の行が操作されたスイッチを含むかを検出するための行走査と非常に類似している。本発明の一実施例においては、行ドライバ４２２は行出力イネーブル（例えば、row_oen）信号によりイネーブルされ、前記レジスタファイルからのスキャナ行出力信号は、どの列が操作されたスイッチを含むかを検出するために列を走査する場合に行強ドライバ信号として動作する。前記プログラマブル行対向信号構築器の行プルアップ部及びプルダウン部は、不能化される。各列は、列出力ドライバを不能化することにより、スキャナ入力とされ、プログラマブル列対向信号構築器のプルアップ部及びプルダウン部のイネーブル経路がゲートオン状態にされる。かくして、スキャナ行出力信号が上記プルアップ部又はプルダウン部の何れかをイネーブルするのを可能にする。キーパッドの列結果信号は前記比較器に供給され、該比較器において、これら信号は行ドライバ信号と比較される。本発明の１つの例示的構成においては、列検出比較の出力は、列結果信号が行強ドライバ信号と等しい場合に論理零となり、列結果信号が行強ドライバ信号に等しくない場合に論理１となる。前記行検出比較の場合と同様に、本発明の一実施例においては、上記結果は、標準のキーパッドスキャナにより標準のデジタルインターフェースから期待されるのと同一の形態のものである。
【００２５】
本発明の一実施例においては、キーパッドインターフェースはデジタル信号伝送を使用すると共に、アナログの性質の追加の秘密保全機能が含まれる。本発明の一実施例においては、標準のトランジスタ対トランジスタ論理（ＴＴＬ）信号伝送の代わりに、低電圧信号伝送が使用される。低電圧信号伝送は電磁誘導（ＥＭＩ）場を低減させて、不法な検出を一層困難にさせる。本発明は、有利な場合には低電圧又は他の型式の信号伝送の利用を促進するが、低電圧信号伝送を必要とするものではない。
【００２６】
図５は、本発明の秘密保全回路の一実施例である、キーパッド秘密保全回路５００のブロック図である。該キーパッド秘密保全回路５００は、列比較器５１０と、行比較器５１５と、プログラマブル列対向信号構築器５２０と、プログラマブル行対向信号構築器５２５と、列ドライバ５５０と、行ドライバ５５５と、列事前充電回路５７０と、行事前充電回路５７５と、列静的オーバーライド回路５９０と、行静的オーバーライド回路５９５とを有している。プログラマブル列対向信号構築器５２０は列静的オーバーライド回路５９０に結合され、該オーバーライド回路は列ドライバ５５０に結合されている。列ドライバ５５０は列事前充電回路５７０に結合され、該充電回路は列比較器５１０に結合されている。プログラマブル行対向信号構築器５２５は行静的オーバーライド回路５９５に結合され、該オーバーライド回路は行ドライバ５５５に結合されている。行ドライバ５５５は行事前充電回路５７５に結合され、該充電回路は行比較器５１５に結合されている。プログラマブル列対向信号構築器５２０及びプログラマブル行対向信号構築器５２５はキーパッドレジスタ（図示略）に結合されている。
【００２７】
該キーパッド秘密保全回路５００の各構成要素は共動的に動作して、ランダムに変化するキーパッドドライバ信号の供給を促進し、キーパッドのキー操作に関連した電磁放射の解読の困難さを増加させる。キーパッドレジスタ（例えば、キーパッドレジスタ３１０）は、変化するレジスタ出力信号（reg_out）を記憶し、送出する。プログラマブル列対向信号構築器５２０及びプログラマブル行対向信号構築器５２５は、上記の変化するレジスタ出力信号が同一の論理値でスイッチマトリクス属性（例えば、列又は行）へ伝送されるか、又は該信号が先ず反転されるかを決定する。列静的オーバーライド回路５９０及び行静的オーバーライド回路５９５は、上記の変化するレジスタ出力信号がスイッチマトリクス属性に伝送されるか、又は静的論理値を持つ信号が伝送されるかを決定する。列ドライバ５５０及び行ドライバ５５５は、列ドライバ信号及び行ドライバ信号を列及び行に各々送出する。列事前充電回路５７０及び行事前充電回路５７５は、列ドライバ５５０及び行ドライバ５５５が各々不能化された場合に、事前充電状態を保持する。列比較器５１０及び行比較器５１５は、列又は行上に送出されたドライバ信号の値を、列又は行から走査された結果としてのキーパッド信号の論理値と比較する。
【００２８】
本発明の一実施例においては、ドライバワード信号は互いに独立している。キーパッド強ドライバワードは、キーパッドスイッチマトリクスの列又は行の何れかに送出される。当該キーパッド秘密保全回路に含まれる事前充電バスキーパ（例えば、５７１又は５７７）は、対向するキーパッド弱ドライバワードにおける各ビット上でのランダムな論理値をサポートする。対向する弱キーパッドドライバワードの信号は、対応する対向する行又は列ドライバを一時的にイネーブルすることにより、ある論理値に独立に事前充電される。対向する行又は列ドライバが不能化されると、バスキーパが、上記事前充電された弱ドライバ信号の論理値を保持する。本発明の１つの例示的構成においては、システム５００のバスキーパは、システム４００のプログラマブルプルアップブロック及びプルダウン部と同様の機能を提供する。
【００２９】
キー押下により列パッドが行パッドに結合され、強い結果としてのキーパッド信号が上記バスキーパにより保持される事前充電された値と相違する場合、該結果として強い信号は上記の弱いバスキーパ信号をオーバーライドする。本発明の一実施例においては、対向するドライバ信号は事前充電とサンプルサイクルとを反復し、事前充電値の両極性は本発明がドライバ信号の両極性を検出するのを可能にする。本発明の１つの例示的構成においては、結果としてのキーパッド信号のサンプリングは、キーパッドクロック信号（KP_CLK）の周波数の２倍のクロックを使用する。本発明の一実施例においては、キーパッド秘密保全サンプリングクロック信号（2X_CLK）は、キーパッドクロック信号（KP_CLK）を反転し、KP_CLKの立ち上がり縁が2X_CLKの立ち下がり縁と同期するように２で割ることにより導出される。弱ドライバ信号のKP_CLKの立ち上がり縁での遷移及びキーパッド結果信号はKP_CLKの立ち上がり縁から2X_CLKの半周期後に発生する2X_CLKの立ち上がり縁でサンプルされるので、弱ドライバ信号は2X_CLKの各半周期（例えば、ロー期間）内で事前充電されると共にサンプルされる。本発明の一実施例においては、事前充電パルス（prechg）は2X_CLKの各ロー期間内で発生され、入力の事前充電を制御するために出力される。
【００３０】
本発明の一実施例においては、上記弱ドライバ信号は2X_CLKのロー期間の第１部分の間において事前充電され、次いで、2X_CLKのロー期間の後に2X_CLKの立ち上がり縁でサンプルされる。事前充電論理値は、KP_CLKのハイ期間の間ではランダムスキャナ出力信号論理値の反転であり、KP_CLKのロー期間においてはランダムスキャナ出力信号と同一の論理値である。本発明の一実施例においては、上記２つの値は、2X_CLKによりクロックされる２つのフリップフロップにより交互にサンプルされる。これらフリップフロップの出力は、キーが押下された場合はKP_CLKの立ち上がり縁において等しく、キーが押下されていない場合は等しくない。
【００３１】
本発明の一実施例においては、何の行が操作されたスイッチを含むかを検出するために行を走査する場合、列ドライバ５５０は列出力イネーブル（例えば、col_oen）信号によりイネーブルされ、レジスタファイル出力信号（例えば、スキャナ列出力信号）は列強ドライバ信号として動作する。本発明の１つの例示的構成においては、列出力イネーブル信号（col_oen）は活性状態（ロー）であり、レジスタ出力信号（reg_out）は非反転で列ドライバ５５０に渡される。ローのcol_oen信号は、事前充電信号のローの非活性期間の間にも出力ドライバをイネーブルする。行はスキャナ入力として動作しており、行出力イネーブル信号は肯定状態ではない（例えば、ハイ）ので、reg_out信号の反転はKP_CLKにより制御され、列ドライバのイネーブルは事前充電信号のハイ期間の間に発生する。事前充電のハイ期間の間において、KP_CLKがハイの場合はレジスタ出力信号（reg_out）の反転値が出力され、KP_CLKがローの場合はreg_outの非反転値が出力される。事前充電のロー期間の間において、出力ドライバは不能化され、行パッド上の弱デフォルト値は前記バスキーパにより維持される。
【００３２】
KP_CLK期間の間において、行パッドの状態は２回サンプルされる。本発明の一実施例においては、行パッドの状態は2X_CLKによりクロックされる２つのフリップフロップによりサンプルされる。KP_CLKのハイ期間の間において、行ドライバ信号がreg_outの反転論理値まで事前充電されている場合は、行第１サンプルサイクルフリップフロップ（例えば、フリップフロップ５１７Ａ）はホールド状態であり、行第２サンプルサイクルフリップフロップ（例えば、フリップフロップ５１９Ａ）はサンプル状態である。これは、行サンプルサイクルフリップフロップのマルチプレクサ（例えば、マルチプレクサ５１７Ｂ）が行第１サンプルサイクルフリップフロップへの出力を選択している一方、行第２サンプルサイクルフリップフロップのマルチプレクサ（例えば、マルチプレクサ５１９Ｂ）がピン入力を選択していることによる。KP_CLKのロー期間の間において、行ドライバ信号がreg_outの非反転論理値まで事前充電されている場合は、行第１サンプルサイクルフリップフロップ（例えば、５１７Ａ）はサンプル状態であり、行第２サンプルサイクルフリップフロップ（例えば、５１９Ａ）はホールド状態である。キーの押下がない場合は、上記フリップフロップ（５１７Ａ及び５１９Ａ）は事前充電値をサンプルし、従ってKP_CLKのロー期間の後、反対の状態を有する。キーの押下があった場合は、列出力値は両サンプル位相において行へ送出され（弱充電信号をオーバーライドする）、従って両フリップフロップにより記憶された論理値はKP_CLKのロー期間の後に同一となる。
【００３３】
KP_CLK期間の間における両行サンプリングサイクルの後、行第１サンプルサイクルフリップフロップ（例えば、５１７Ａ）と行第２サンプルサイクルフリップフロップ（例えば、５１９Ａ）との比較が実行される。本発明の一実施例においては、該比較は排他的否定論理和ゲート（例えば、ＸＮＯＲ５１８）により実行され、該ゲートの出力は、上記２つのフリップフロップが反対の状態の場合に零となり、これら２つのフリップフロップが同一の状態の場合は１となる。従って、キーの押下が発生した場合は、スキャナ行入力信号（row_in）はKP_CLKの立ち上がり縁においてハイ（stat_kpad信号はローであると仮定する）となる。本発明の１つの例示的構成においては、当該結果は、標準のキーパッドスキャナにより標準のデジタルキーパッドマトリクスインターフェースから期待されるものと同様の形態のものである。
【００３４】
何の列が操作されたスイッチを含むかを検出するための列の走査は、何の行が操作されたスイッチを含むかを検出するための行の走査と非常に類似している。行ドライバ５５５は行出力イネーブル（例えば、row_oen）信号によりイネーブルされ、レジスタファイル出力信号（例えば、スキャナ列出力信号）は行強ドライバ信号として動作する。列出力イネーブルを不能化することにより、列がスキャナ入力とされ、ハイ期間又は事前充電信号がドライバイネーブル及びKP_CLKを制御してレジスタファイル出力信号（reg_out）の反転を制御するのを可能にする。サンプリング期間の間における列ドライバ信号の事前充電、及び事前充電された値を保持するための前記バスキーパの使用は、行に関する場合と基本的に同一である。列結果信号の２つのフリップフロップへのサンプリング（KP_CLKがハイの場合に、先ず列第１サンプルサイクルフリップフロップ（例えば、フリップフロップ５１１Ａ）へ、次いで、KP_CLKがローの場合に列第２サンプルサイクルフリップフロップ（例えば、フリップフロップ５１３Ａ）へ）は、行結果信号のサンプリングに類似している。列サンプルサイクルフリップフロップ（例えば、５１１Ａ及び５１３Ａ）の比較は、KP_CLK期間の間における２つのサンプルサイクルの後に実行される。本発明の一実施例においては、上記比較は排他的論理和ゲート（例えば、ＸＯＲ５１４）を用いて、列サンプルサイクルフリップフロップ（例えば、５１１Ａ及び５１３Ａ）が同一の場合にスキャナ入力信号が零となるように実行される。従って、キーの押下が生じた場合、スキャナ列入力信号（col_in）はKP_CLKの立ち上がり縁でローとなる。行入力の場合と同様に、本発明の一実施例においては、当該結果は標準のキーパッドスキャナにより標準のデジタルインターフェースから期待されるのと同一の形態のものである。
【００３５】
本発明の一実施例においては、当該秘密保全キーパッドインターフェースは静止データ動作モードを提供し、該動作モードは静止キーパッド信号（例えば、stat_kpad）の肯定化によりイネーブルされる。このモードにおいては、列ドライバ信号は或る論理値（例えば、ハイ）に維持され、行ドライバ信号は他の論理値（例えば、ロー）に維持される。このモードでは、前記の変化するキーパッド秘密保全情報（例えば、前記レジスタファイルからのデータ）は無視され、当該インターフェースは伝統的な非安全なキーパッドスキャナに関連するような態様で動作する。
【００３６】
静止データモードにおいては、アイドル状態の特別な処理がサポートされる。アイドル状態はアイドル状態（例えば、idle_state）信号の活性化により示され、キーが押されておらずキーパッドスキャナが新たなキーの押下を待っている場合に生じる。アイドル状態に入ると、行強ドライバ信号は前と同様にイネーブルされる。列弱ドライバ信号は他の状態におけるように事前充電されると共にサンプルされるが、キーパッドスキャナは、全ての列結果信号の論理和であるようなキー押下信号の状態のみを監視している。静止データモードがイネーブルされると、列ピンは、キーが押下されるまで常にローである。従って、キー押下検出は、前記秘密保全論理回路の出力の代わりに上記ピンの信号に対して直接実行することができる。stat_kpad信号が活性化された場合、列ドライバ信号は、上記秘密保全論理回路の代わりに上記ピンからのものとして選択される。ピンの信号を直接使用する利点は、非同期的キー押下検出が可能であり、これはキー押下検出をシステム目覚ましイベント用に使用されるのを可能にする。静止設定ビット（stat_kpad）は、出力をランダムビットから列ピン上の静止的１及び行ピン上の静止的零へと切り換える。これは、キー押下検出を低電力状態で生じさせるのを可能にする。
【００３７】
図６Ａは、本発明の一実施例であるキーパッド秘密保全回路５００の状態図である。アイドル状態６０１において、キーパッド秘密保全回路５００はキー押下の表示を検出するために待機するようなアイドル状態にある。デバウンス状態６０２においては、キーパッド秘密保全回路５００は、キーの押下が存在することを示す信号のデバウンスを実行する。静止走査状態６０３においては、静止キーパッド信号（例えば、stat_kpad）が変化する値の代わりに静止的値による走査を示す場合、キーパッド秘密保全回路５００は、変化するデータ信号の代わりに設定されたデータ信号を用いてキーパッドマトリクス走査を実行する。行更新状態６０４においては、キーパッド秘密保全回路５００は、何の行に操作されたスキャナが含まれているかを判定する。列更新状態６０５においては、キーパッド秘密保全回路５００は何の列に操作されたスイッチが含まれているかを判定する。次キー状態６０６において、キー秘密保全回路５００は、他のキーパッドスイッチが操作されたとの表示が存在するかを判定する。
【００３８】
図６Ｂに示されたタイミングは、アイドル状態からデバウンスを経て登録更新までのキー押下の例示的順序を図示している。アイドル状態はidle_state信号の活性化により示され、サイクル０で開始する。デバウンス状態は図では“デバウンス”なる表記により示されると共に、ｄ＋３サイクルを占め、ここで、ｄは該タイミング図の“出力”におけるサイクルの数である。２つの走査サンプル更新状態がサイクルｄ＋６及びｄ＋７において上記デバウンス状態の直後に続いている。図示のキー押下は、列０の信号（KCOL[0]）を行６の信号（KROW[6]）に接続する。以下の説明においては、サイクルの四半分（象限）は“サイクルc.q”の形で示し、ここで、ｃはサイクル番号であり、ｑは象限である。
【００３９】
図６Ｂの本例のタイミング図においては、８ビット幅のレジスタファイルからのランダムデータのうちの最下位の２ビットのみが示されている。該タイミング図に示される例示的二進データは、サイクル［３，４，…，ｄ＋５，ｄ＋６，ｄ＋７］に対して［１１，１０，…，００，０１，１０］である。該タイミング図において、２つの変化するキーパッドドライバ信号はreg_out[0]及びreg_out[1]として示されている。データはＶ［ｂ］として示され、［ｂ］はビット位置（０又は１）であり、Ｖは当該サイクルにおけるビットの値（Ｈ＝ハイ、Ｌ＝ロー）である。本例においては、ランダムデータはアイドルの間では静止的であり、サイクル０ないし３では一定である。
【００４０】
アイドル状態には、KP_CLKの立ち上がり縁で入る。該アイドル状態において、キーパッドコントローラ（例えば、キーパッドスキャナ）はcol_oenを肯定状態にし、row_oenを否定状態にする一方、スキャナ行入力信号［７：０］の何れかにおけるハイを待つ。本発明の１つの例示的構成においては、前記レジスタファイルデータの変化は、当該アイドル状態に入ると同時に発生し、前記stat_kpad信号の肯定状態は、KCOL[0]を強制的にハイ（例えば、論理１の値）にすると共に、KROW[6]の事前充電をロー（例えば、論理０の値）にさせる。サイクル0.1において、前記バスキーパは、ローの強制された値に事前充電される。事前充電は該サイクルにおいて再び発生するが、本例の設計における無害のアーチファクトとしてのみである。サイクル１は何の動作も示さず、当該システムは当該アイドル状態に留まる。
【００４１】
キー押下はサイクル２において発生し、KCOL[0]上のハイに駆動された出力は、KROW[6]に接続され、行アイドル状態マルチプレクサ５３５を介してスキャナ行入力信号（例えば、row_in[6]）に接続される。該キー押下は、サイクル３の開始時にキーパッドコントローラにより分かり、当該コントローラを上記アイドル状態から離脱させて、デバウンス状態に入れる。該状態変化の結果としてidle_state信号は偽となり、同時にstat_kpad信号も否定状態にされるが、前記レジスタファイル出力は、次のKP_CLKまで変化しない。
【００４２】
デバウンスモードにおいては、col_oen及びrow_oenがロー及びハイの各値を保持することにより分かるように、列は強ドライバモードに留まる一方、行は弱ドライバモードに留まる（例えば、行はスキャナ入力となる）。かくして、KCOL[0]信号は強制されたハイレベルからＨ［０］に変化するが、これもサイクル３の間では偶然ハイとなっている。ローのidle_state信号が行アイドル状態マルチプレクサ５３５を行サンプルサイクルフリップフロップ（例えば、５１７Ａ及び５１９Ａ）の比較に切り換える場合、row_in[6]信号はローに変化する。行第１サンプルサイクルフリップフロップ（例えば、５１７Ａ）のみがKROW[6]信号により１に更新されている（サイクル2.3の終わりで）ので、KP_CLK上のハイは、事前充電値をＨ［１］の反転となるようにする（例えば、零論理値のロー）。事前充電期間の後、ハイの列強ドライバ信号が、もう１度支配し、KROW[6]は2X_CLKのロー期間の残りの間においてハイとなる。2X_CLKの次の立ち上がり縁において（サイクル3.1の終了時において）、行第２サンプルサイクルフリップフロップ（例えば、５１９Ａ）は１に更新され、row_in[6]信号はハイに戻る。サイクル3.3の間において、弱ドライバ信号入力はＨ［１］の値まで充電されるので、KROW[6]はハイのままとなる。KROW[6]は、サイクル3.3の終了時に行第１サンプルサイクルフリップフロップ（例えば、５１７Ａ）によりサンプルされるが、該フリップフロップの値は既に１であったので、スキャナ行入力信号row_in[6]は変化しないままとなる。最後に、サイクル３の終了時において、row_[6]がKP_CLKにより当該キーパッドコントローラにクロック入力され、前記レジスタファイルは次の出力に進められ、ランダムデデータを変化させる。
【００４３】
サイクル４の間において、KCOL[0]はＬ［０］に従い、ローに変化する。サイクル4.1の終わりに、列第２サンプルサイクルフリップフロップ（例えば、５１３Ａ）はKCOL[0]上の新たな値により更新される。これにより、２つの列サンプルフリップフロップ（例えば、５１１Ａ及び５１３Ａ）は反対とされ、結果としての比較ＸＯＲ（例えば、５１４）は、図６にスキャナ入力信号col_in[0]により示されるように、ハイとされる。サイクル4.3の終了時における2X_CLKの次の立ち上がり縁は、列第２サイクルフリップフロップ（５１３Ａ）が更新されるようにし、２つの列サンプルサイクルフリップフロップ（例えば、５１１Ａ及び５１３Ａ）を再び等しくさせ、スキャナ列入力信号col_in[0]の値を回復させる。サイクル4.1の間において、行入力はＨ［１］の反転まで事前充電され、これをローにし、次いでサンプルモードにおいてKCOL[0]はKROW[6]に送り込まれ、これをローにする。KROW[6]は、サイクル4.1の終わりで行第２サンプルサイクルフリップフロップ（例えば、５１９Ａ）にサンプル投入され、行サンプルサイクルフリップフロップ（例えば、５１７Ａ及び５１９Ａ）が反対とされ、スキャナ行入力信号row_in[6]がローとされる。サイクル4.3はKROW[6]をＨ［１］なる値により先ず事前充電し、KROW[6]をハイに変化させ、次いでKCOL[0]の値をKROW[6]に回復させる。サイクル4.3の終わりにおいて、行第１サンプルサイクルフリップフロップ（例えば。５１７Ａ）はKROW[6]にクロック入力し、該フリップフロップを零に変化させると共に、row_in[6]をハイに戻す。最後に、KP_CLKがサイクル４の終わりにおいてrow_in[6]をクロック入力し、row_in[6]は本例のタイミング図では依然としてハイであるので、デバウンスは継続する。
【００４４】
最後のデバウンスサイクルｄ＋５はＨ［０］及びＨ［１］からＬ［０］及びＬ［１］へのランダムデータの変化で開始する。Ｌ［０］への変化は、サイクル４において前述したように、スキャナ列入力信号col_in上にハイのパルスを生じさせる。サイクルd+5.1において、KROW[6]はＬ［１］の反転まで事前充電され、これをハイにし、次いでKCOL[0]によりローまで駆動される。サイクルd+5.1の終わりにおいて、行第２サンプルサイクルフリップフロップ（例えば、５１９Ａ）はKROW[6]をクロック入力して、１状態から０状態へと変化し、これが、スキャナ行入力信号row_in[6]をローに変化させる。サイクルd+5.3の間において、KROW[6]はＬ［１］の値まで事前充電され、これをローにし、次いでKCOL[0]によりローに駆動される。サイクルd+5.3の終わりにおいて、行第１サンプルサイクルフリップフロップ（例えば、５１７Ａ）はKROW[6]をクロック入力し、１から０へと変化し、スキャナ行入力信号row_in[6]をハイに戻させる。最後に、KP_CLKはサイクルｄ＋５の終わりにおいてrow_in[6]をクロック入力する。row_in[6]は依然としてハイであり、デバウンスカウンタが満了しているので、当該キーパッドコントローラはデバウンス状態から更新状態へと移行する。
【００４５】
更新サイクルは、サイクルｄ＋６においてＬ［０］からＨ［０］への変化で開始する。サイクルｄ＋５と同様に、Ｈ［０］への変化はcol_in[0]上にハイのパルスを生じさせる。サイクルd+6.1の間において、KROW[6]はＬ［１］の反転によりハイに事前充電され、これをハイにし、次いでKCOL[0]によりハイに駆動される。サイクルd+6.1の終わりにおいて、行第２サンプルサイクルフリップフロップ（例えば５１３Ａ）はKROW[6]をクロック入力し、零から１へ変化し、スキャナ行入力信号row_in[6]をローに変化させる。サイクルd+6.3の間において、KROW[6]はＬ［１］の値まで事前充電され、これをローにし、次いでKCOL[0]によりもう一度ハイに駆動される。サイクルd+6.3の終わりにおいて、行第１サンプルサイクルフリップフロップ（例えば、５１１Ａ）はKROW[6]をクロック入力し、零から１へ変化し、row_in[6]をハイに戻させる。最後に、KP_CLKはサイクルｄ＋６の終わりにおいてrow_in[6]をクロック入力し、これにより行データレジスタを更新する。
【００４６】
第２更新サイクルｄ＋７は、Ｈ［０］からＬ［０］及びＬ［１］からＨ［１］への変化で開始する。また、列は入力モードに切り換えられる一方、行は出力モードに切り換えられ、列イネーブル信号（col_oen）をハイにすると共に行イネーブル信号（row_oen）をローにする。かくしてrow_oenは肯定状態となるので、KROW[6]はＨ［１］の非反転値により駆動される（即ち、ハイに駆動される）。サイクルd7.1の間において、KCOL[0]はＬ［０］の反転まで事前充電され、これをハイにし、次いでKROW[6]によりハイに駆動される。サイクルd+7.1の終了時に、列第２サンプルサイクルフリップフロップ（例えば、５１３Ａ）はKCOL[0]をクロック入力して、１を残存させる一方、col_in[0]はローに留まる。サイクルd+7.3の間においては、KCOL[0]はＬ［０］の値まで事前充電され、これをローにし、次いでKROW[6]によりハイに駆動される。サイクルｄ+7.3の終了時には、列第１サンプルサイクルフリップフロップ（例えば、５１１Ａ）はKCOL[0]をクロック入力し、１を残存させ、col_in[0]はローに留まる。最後に、KP_CLKはサイクルｄ＋７の終わりにおいてcol_in[0]をクロック入力し、これにより列データレジスタを更新する。
【００４７】
図７は、本発明の一実施例において列及び行へ順次送出されるデジタル値の１つの例示的な群を有する図表である。該デジタル値の群はレジスタファイル（例えば、キーパッドレジスタ３１０に含まれるファイル）からのもので、各デジタル和におけるビットの順序及び時間の両方にわたりランダムに変化する。本発明の一実施例においては、列パッドはレジスタファイルからの対応するビットに結合され、行パッドは該レジスタファイルからの上記対応するビットの鏡に結合される。例えば、列ビット［０，１，２，３，４，５，６，７］は非鏡的順序でレジスタファイルのビット［０，１，２，３，４，５，６，７］に結合され、行ビット［０，１，２，３，４，５，６，７］は鏡的順序でレジスタファイルのビット［７，６，５，４，３，２，１，０］に結合される。鏡処理は、当該キーパッドが列又は行インターフェースの何れの側においても８ビット以下の場合に、ランダムデータビットの完全な利用を可能にする。本発明の１つの例示的構成においては、上記デジタル値の群は当該システムの何処かでソフトウェア又はハードウェアの何れかのランダム化器により発生され、上記レジスタファイルにロードされる。本発明の一実施例においては、該レジスタファイルはランダムな時点で、又はキー押下のような重要な事象により更新される。
【００４８】
本発明の一実施例においては、レジスタファイルアドレスは、キーパッドクロック（ＫＰ＿ＣＬＫ）の立ち上がり縁において出力を変化させるようなリニア帰還シフトレジスタ（ＬＦＳＲ）により発生される。本発明の１つの例示的構成においては、ＬＦＳＲは１６ビット幅であって、１６ビットのうちの４ビットをレジスタファイルアドレスとして供給する。ＬＦＳＲは１６ビット幅なので、アドレス順序は６５,５３６クロックの期間繰り返さない。低電力状態をサポートするために、ＬＦＳＲは、イネーブルＬＦＳＲ（ＥＮＦＬＳＴ）設定ビットを零に書くことにより不能化することができる。ＬＦＳＲ順序処理は停止し、出力は一定のまま留まる。
【００４９】
本発明の一実施例においては、回路は１６ビット擬似ランダムシーケンス発生器（lfsr16_prn_r12）であり、該発生器はキーパッドスイッチマトリクスの列及び行に送られる変化するデジタル値を供給する。アクティブローの非同期リセットピン（ＣＤＮ）が設けられ、“クリアダイレクトノット（Clear Direct Not）”の頭文字である。ＣＤＮピンが肯定状態にされると、フリップフロップの出力は０ｘ１となる。ＬＦＳＲイネーブル（ＬＦＳＲＥＮ）のようなアクティブハイのピンが設けられ、並列データロード能力を可能にする。ＬＯＡＤがハイであり、ＤＡＴＡＩＮピン（１６ビット並列データロード入力ピン）設けられる場合、並列データロードモードが選択される。本発明の幾つかの実施例は、特定の優先順序を持つ種々のＬＦＳＲ処理を有する。本発明の１つの例示的構成においては、非同期リセット、並列データロード、lfsrイネーブルは高い方から低い方への優先順序である。
【００５０】
図８は、本発明の一実施例である、キーパッド秘密保全方法８００のフローチャートである。キーパッド秘密保全方法８００は、キーパッドシステムの電磁特徴シーケンスを、行又は列に供給される信号をランダムに変化させることにより変更する。本発明の一実施例においては、キーパッド秘密保全方法８００は、変化するキーパッドドライバワードをキーパッドスイッチマトリクスに供給し、結果としてのキーパッドスキャナワードを取り込み、キーパッドスキャナワードの結果としての論理値を解釈して、キーパッドシステムに含まれるスイッチが状態を変化したか（例えば、オン又はオフされる）を決定する。本発明の一実施例においては、上記の変化するキーパッドドライバワードは時間及びキーワードに含まれるビットの両者にわたって変化する。
【００５１】
ステップ８１０において、変化する強ドライバ信号がキーパッドスイッチマトリクスの第１属性に送出される。本発明の一実施例においては、上記キーパッドスイッチマトリクスの第１属性は列であり、他の実施例では該第１属性は行である。本発明の１つの例示的な構成においては、上記の変化するドライバ信号は、時間及びデジタルキーパッドドライバワードにおけるビットの両者にわたりランダムに変化するような一群のデジタル値の１つである。本発明の１つの例示的構成においては、上記変化する強ドライバ信号はランダム化器により発生され、レジスタファイルにロードされる。該レジスタファイルはランダムな時点に、又はキー押下等の重要な事象により更新される。
【００５２】
ステップ８２０においては、変化する弱ドライバ信号がキーパッドスイッチマトリクスの第２属性に供給される。本発明の一実施例においては、該キーパッドスイッチマトリクスの第２属性は列であり、他の実施例では該属性は行である。キーパッドスイッチマトリクスの第２属性に弱ドライバ信号を供給するために、プルアップ及びプルダウンが使用され、これらプルアップ及びプルダウンは、本発明の一実施例においては独立にイネーブルされる。本発明の一実施例においては、上記変化する弱ドライバ信号は特定の値に事前充電される。本発明の１つの例示的構成においては、事前充電された変化する弱ドライバ信号は記憶回路（例えば、バスキーパ）に保持される。本発明の一実施例においては、上記の変化する弱ドライバ信号は、１つのキーパッドクロックサイクルにおいて２回事前充電される。該変化する弱ドライバ信号はキーパッドクロックサイクルの第１部分の間において第１論理値まで事前充電される一方、該変化する弱ドライバ信号は上記キーパッドクロックサイクルの他の部分の間において第２論理値まで事前充電される。
【００５３】
ステップ８３０においては、結果としての信号が上記キーパッドスイッチマトリクスの第２属性から取り込まれる。本発明の一実施例においては、上記結果としてのキーパッド信号はキーパッドクロックサイクルの間に２回サンプルされる。本発明の１つの例示的構成においては、上記のサンプルされた結果信号は列第１サンプルサイクルフリップフロップ及び列第２サンプルサイクルフリップフロップ、又は行第１サンプルサイクルフリップフロップ及び行第２サンプルサイクルフリップフロップに記憶される。
【００５４】
ステップ８４０においては、スキャナ入力信号は第２属性上のスイッチの操作状態を示すものとして送られる。本発明の一実施例においては、キー押下検出は、上記キーパッドスイッチマトリクスの第１属性上の前記変化する強ドライバ信号の論理値と、該キーパッドスイッチマトリクスの第２属性上の上記結果としてのキーパッド信号の論理値との二進比較により実行される。
【００５５】
ステップ８５０においては、変化する強ドライバ信号が、キーパッドスイッチマトリクスの上記第２属性上に送出される。
【００５６】
ステップ８６０において、変化する弱ドライバ信号はキーパッドスイッチマトリクスの上記第１属性に供給される。本発明の一実施例においては、上記変化する弱ドライバ信号は、対向する属性ドライバワード（例えば、ステップ８２０における行弱ドライバ信号、又はステップ８６０における列弱ドライバ信号）を形成するために使用される。本発明の１つの構成においては、該対向する弱ドライバ信号は前記強ドライバ信号とビット的に逆となっている。例えば、弱ドライバ信号のシーケンスにおける各ビットは、強ドライバ信号からはビット単位で逆転されている。
【００５７】
ステップ８７０においては、結果としての信号がキーパッドスイッチマトリクスの上記第１属性から取り込まれる。本発明の一実施例においては、該結果としてのキーパッド信号は、キーパッドクロックサイクルの間に２回サンプルされる。本発明の１つの例示的構成においては、該サンプルされた結果信号は、列第１サンプルサイクルフリップフロップ及び列第２サンプルサイクルフリップフロップ、又は行第１サンプルサイクルフリップフロップ及び行第２サンプルサイクルフリップフロップに記憶される。
【００５８】
ステップ８８０において、スキャナ入力信号が、上記第１属性上のスイッチの操作状況を示しながら伝送される。本発明の一実施例においては、スイッチ操作の検出（キー押下検出）は、結果信号と強ドライバ信号との二進比較により実行される。本発明の一実施例においては、スイッチ操作の検出は、第１サンプルサイクルの間における結果信号の論理値及び第２サンプルサイクルの間における該結果信号の論理値の二進比較により実行される。
【００５９】
本発明の１つの例示的構成においては、行検出比較は、行結果信号が列強ドライバ信号と等しく、該行上のキーが押下されたことを示す場合に論理１となり、行結果信号が列強ドライバ信号とは等しくなく、当該行上のスイッチが押下されていないことを示す場合に論理零となる。列検出比較の結果は、列結果信号が行強ドライバ信号と等しい場合に零となり、列結果信号が行強ドライバ信号と等しくない場合に論理１となる。本発明の他の実施例においては、比較の結果は、２つのサンプルサイクルの間にサンプルされた２つの結果値が同一なら、キーパッドスイッチが操作された（キーが押下された）ことを示すような論理値（例えば、論理１）となる。本発明の一実施例においては、上記結果は、標準のキーパッドスキャナにより標準のデジタルキーパッドマトリクスインターフェースから期待されるものと同一の形態のものである。
【００６０】
キーパッド秘密保全方法８００の幾つかの実施例は、他の特徴を含んでいる。キーパッド秘密保全方法８００の一実施例は、結果としてのキーパッド信号が、どのキーパッドマトリクススイッチが操作されたかを決定する前に、デバウンス（バウンス除去）されるようなデバウンスステップを含む。本発明の１つの例示的構成は、キーパッドスイッチマトリクスの前記属性に静止的又は変化するドライバ信号が供給されるかを示すために静止信号が使用される。
【００６１】
このように、本発明は、キーパッドシステムからの電磁放射を解釈する困難性を増加させるようなシステム及び方法である。該システム及び方法は、電磁放射が秘密のキー順序と関連される確率を低減させる。何故なら、前記ドライバ信号の値が、キーパッドスイッチマトリクスのパッド及び時間の両方に対して変化するからである。本発明の一実施例においては、キーパッド上の信号からのエネルギは一層少なく、従ってＥＭＩ検出は一層困難となる。本発明は、キーパッドスキャナ情報を標準の装置と互換性のあるフォーマットで供給することにより最小の設計的及び装置的影響で、これらの付加的秘密保全機能を提供する。
【００６２】
上述した本発明の特定の実施例の記載は、解説及び説明の目的で提示した。これらの記載は、完全に網羅することも又は本発明を開示された厳密な形態に限定することも意図するものではなく、上記教示に照らして明らかに多数の変更例及び変形例が可能である。上記実施例は、本発明の原理及び本発明の実用的用途を最も良く説明し、これにより当業者が本発明及び種々の実施例を、意図する特定の用途に適したように最適に利用することを可能にするために選択され記載されたものである。また、本発明の範囲は、添付された請求項及びそれらの均等物により規定されることを意図するものである。
【図面の簡単な説明】
【００６３】
【図１Ａ】図１Ａは、スイッチが４ｘ４スイッチマトリクスアレイの各交差部に配置された典型的なキーパッドシステムのブロック図である。
【図１Ｂ】図１Ｂは、伝統的なキーパッドシステムの状態図である。
【図２】図２は、本発明の一実施例である、キーパッド秘密保全システムのブロック図である。
【図３】図３は、本発明の一実施例である、キーパッドスキャナ３００のブロック図である。
【図４】図４は、本発明のキーパッド秘密保全システムの一実施例である、キーパッド秘密保全回路４００のブロック図である。
【図５】図５は、本発明の秘密保全回路の一実施例である、キーパッド秘密保全回路５００のブロック図である。
【図６Ａ】図６Ａは、本発明の一実施例である、キーパッド秘密保全回路５００の状態図である。
【図６Ｂ】図６Ｂは、本発明の一つの例示的構成におけるアイドル状態からデバウンス及びレジスタ更新を経たキー押下の順序を示すタイミング図である。
【図７】図７は、本発明の一実施例において列出力端及び行出力端に順次供給されるデジタル値の１つの例示的群を有する図表である。
【図８】図８は、本発明の一実施例であるキーパッド秘密保全回路８００のフローチャートである。
【図１Ａ】
2004529434.tif 000002
【図１Ｂ】
2004529434.tif 000003
【図２】
2004529434.tif 000004
【図３】
2004529434.tif 000005
【図４】
2004529434.tif 000006
【図５】
2004529434.tif 000007
【図６Ａ】
2004529434.tif 000008
【図６Ｂ】
2004529434.tif 000009
【図７】
2004529434.tif 000010
【図８】
2004529434.tif 000011
【国際公開パンフレット】
2004529434.tif 000012
2004529434.tif 000013
2004529434.tif 000014
2004529434.tif 000015
2004529434.tif 000016
2004529434.tif 000017
2004529434.tif 000018
2004529434.tif 000019
2004529434.tif 000020
2004529434.tif 000021
2004529434.tif 000022
2004529434.tif 000023
2004529434.tif 000024
2004529434.tif 000025
2004529434.tif 000026
2004529434.tif 000027
2004529434.tif 000028
2004529434.tif 000029
2004529434.tif 000030
2004529434.tif 000031
2004529434.tif 000032
2004529434.tif 000033
2004529434.tif 000034
2004529434.tif 000035
2004529434.tif 000036
2004529434.tif 000037
2004529434.tif 000038
2004529434.tif 000039
2004529434.tif 000040
2004529434.tif 000041
2004529434.tif 000042
2004529434.tif 000043
2004529434.tif 000044
2004529434.tif 000045
2004529434.tif 000046
2004529434.tif 000047
2004529434.tif 000048
2004529434.tif 000049
【国際調査報告】
2004529434.tif 000050
2004529434.tif 000051