説明

パスワードシステム

【課題】メモリ容量を増加させずに不法ユーザからの攻撃を効果的に防御できるパスワードシステムを提供する。
【解決手段】ユーザインターフェースと、複数のフレームを含むパスワードを生成し、生成されたパスワードに対する完全性確認コード(integrity check code)を生成し、前記生成されたパスワードをスクランブルし、スクランブルされたパスワードを前記ユーザインターフェースに提供するパスワード生成器と、前記パスワード生成器から提供される完全性確認コード、フレーム数情報及びスクランブル情報を保存し、前記ユーザインターフェースから入力されるスクランブルされたパスワードを前記スクランブル情報に基づいてデスクランブルし、デスクランブルされたパスワードから生成される完全性確認コードと前記保存していた完全性確認コードとを比較して前記ユーザインターフェースを認証するパスワード確認器とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パスワードシステムに関し、特に、完全性確認コード(integrity check code)、順次的なID値(sequential ID values)、可変的なフレーム個数(variable number of frames)及びスクランブリング(scrambling)を使用するパスワードシステムに関する。
【背景技術】
【0002】
セキュリティ(security)が要求されるいなかる装置やネットワークサーバ又はアプリケーションシステムなどに対するユーザのアクセスを制限するために、ユーザにパスワードを要求する方式が一般的に使用される。
ユーザが入力したパスワードに基づいて、そのユーザが合法的ユーザであるか、あるいは不法ユーザであるかを判断する。ユーザが合法的ユーザであるという認証(authentication)がなされた後、セキュリティが要求される装置などに対するそのユーザのアクセスが許容される。
【0003】
図1は、従来の一般的なパスワードシステムを例示するブロック図である。
図1には、ユーザインターフェース(User Interface:UI)120及びセキュリティが要求される任意の装置110が図示されている。セキュリティ要求を満足させるために、装置110は、パスワード確認器112とメモリ114とを具備する。
【0004】
パスワード確認器112は、ユーザインターフェース120から入力されるパスワードをメモリ114に保存されているパスワードと比較し、その比較結果に基づいて、ユーザインターフェース120のアクセスが合法的であるか不法であるかを判断する。
【0005】
ハッカーのような不法ユーザからの攻撃を防御するためには、装置110のセキュリティレベルを高めなければならない。セキュリティレベルを高める方策として、パスワードの長さを拡張することを考えることができる。パスワードの長さが長いほど、不法ユーザの攻撃をさらに効果的に防御できる。
【0006】
しかしながら、セキュリティレベルを高めるためにパスワードの長さを拡張させれば、それに従いメモリ114の容量も大きくなってしまう。メモリ114の容量を増加させることは、装置110にハードウェア的な負担を与える。さらに、メモリ114の容量が制限される場合には、パスワードの長さを拡張する方策を採択し難いという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【0007】
そこで、本発明は上記従来のパスワードシステムにおける問題点に鑑みてなされたものであって、本発明の目的は、メモリ容量を増加させずに不法ユーザからの攻撃を効果的に防御できるパスワードシステムを提供しようとするものである。
【課題を解決するための手段】
【0008】
上記目的を達成するためになされた本発明によるパスワードシステムは、ユーザインターフェースと、複数のフレームを含むパスワードを生成し、生成されたパスワードに対する完全性確認コード(integrity check code)を生成し、前記生成されたパスワードをスクランブル(scramble)し、スクランブルされたパスワードを前記ユーザインターフェースに提供するパスワード生成器と、前記パスワード生成器から提供される完全性確認コード、フレーム数情報及びスクランブル情報を保存し、前記ユーザインターフェースから入力されるスクランブルされたパスワードを前記スクランブル情報に基づいてデスクランブル(descramble)し、デスクランブルされたパスワードから生成される完全性確認コードと前記保存していた完全性確認コードとを比較して前記ユーザインターフェースを認証するパスワード確認器とを有することを特徴とする。
【0009】
前記パスワード生成器で生成されるパスワードに含まれるフレーム数は、可変的であることが好ましい。
前記フレーム数情報は、前記パスワードに含まれるフレーム数を示す情報であることが好ましい。
前記パスワード確認器は、前記デスクランブルされたパスワードから確認されるフレーム数情報と前記保存していたフレーム数情報とを比較して前記ユーザインターフェースを認証することが好ましい。
前記パスワード生成器で生成されるパスワードはヘッダ部とフレーム部とを含み、前記フレーム部は第1フレーム乃至第N(Nは自然数)フレームを含み、第n(nは1からNまでの自然数)フレームは、第n−ID値及び第n−KEY値を含むことが好ましい。
【0010】
前記フレーム部に含まれる第1−ID値乃至第N−ID値は、順次的であることが好ましい。
前記パスワード生成器は、前記第1−ID値乃至前記第N−ID値を順次に生成する第1線形フィードバックシフトレジスタ(Linear Feedback Shift Register:LFSR)を備えることが好ましい。
前記第1線形フィードバックシフトレジスタの初期値又は係数値は、それぞれのパスワードごとに異なり、前記第1線形フィードバックシフトレジスタは、それぞれのパスワードごとに異なる第1−ID値乃至第N−ID値を生成することが好ましい。
前記パスワード確認器は、前記パスワード生成器に備わる前記第1線形フィードバックシフトレジスタと初期値及び係数値を共有する第2線形フィードバックシフトレジスタを備えることが好ましい。
前記パスワード確認器は、前記デスクランブルされたパスワードから確認される第1−ID値乃至第N−ID値と前記第2線形フィードバックシフトレジスタから生成される第1−ID値乃至第N−ID値とをそれぞれ比較して前記ユーザインターフェースを認証することが好ましい。
【0011】
本発明の一実施形態において、前記第1フレーム乃至前記第Nフレームは、前記ユーザインターフェースのアクセス権限を表すユーザモード(mode)値及び前記ユーザモード値に対するモード確認コードをさらに含むことが好ましい。
前記パスワード確認器で認証されたユーザインターフェースは、前記ユーザモード値を変更できることが好ましい。
本発明の一実施形態において、前記フレーム部に含まれる第1−KEY値乃至第N−KEY値は、乱数発生器(RNG:Random Number Generator)を利用してランダムに生成できることが好ましい。
本発明の一実施形態において、前記完全性確認コードは、前記フレーム部に含まれる第1−KEY値乃至第N−KEY値に係る完全性を確認するためのコードであり、前記完全性確認コードは、CRC(Cyclic Redundancy Check)方式、HASH方式、及びCheck Sum方式の内の1つを利用して生成できることが好ましい。
本発明の一実施形態において、前記ユーザインターフェースは、パスワードシード(seed)値を前記パスワード生成器に提供し、前記パスワード生成器は、前記パスワードシード値に基づいて前記パスワードを生成できることが好ましい。
【0012】
本発明の望ましい実施形態によるパスワード生成方法は、順次的(sequential)な第1−ID値乃至第N−ID値を生成する段階と、ランダムな第1−KEY値乃至第N−KEY値を生成する段階と、前記第1−ID値と前記第1−KEY値とを含む第1フレーム乃至前記第N−ID値と前記第N−KEY値とを含む第Nフレームをフレーム部に配し、前記フレーム部にヘッダ部を付加してパスワードを生成する段階と、前記フレーム部に対する完全性確認コードを生成する段階と、前記生成されたパスワードをスクランブル情報によってスクランブルする段階と、前記フレーム部に含まれるフレーム数を示すフレーム数情報、前記完全性確認コード、前記スクランブル情報、及び前記スクランブルされたパスワードを出力する段階とを含むことができる。
【0013】
本発明の望ましい実施形態によるパスワード確認方法は、第1−ID値乃至第N−ID値及び第1−KEY値乃至第N−KEY値を含むパスワードに対する完全性確認コード、前記パスワードに含まれるフレーム数を示すフレーム個数情報、及び前記パスワードのスクランブル情報を入力して保存する段階と、ユーザインターフェースから入力されるスクランブルされたパスワードを前記スクランブル情報に基づいてデスクランブルする段階と、前記デスクランブルされたパスワードから生成される完全性確認コードと前記保存していた完全性確認コードとを比較する段階と、前記デスクランブルされたパスワードから確認される第1−ID値乃至第N−ID値と、内部のID値生成器から生成される第1−ID値乃至第N−ID値とをそれぞれ比較する段階と、前記デスクランブルされたパスワードから確認されるフレーム数情報と前記保存していたフレーム数情報とを比較する段階とを含むことができる。
【0014】
本発明の一実施形態において、前記デスクランブルされたパスワードから生成される完全性確認コードと前記保存していた完全性確認コードとが一致し、前記デスクランブルされたパスワードから確認される第1−ID値乃至第N−ID値と前記内部のID値生成器から生成される第1−ID値乃至第N−ID値とがそれぞれ一致し、前記デスクランブルされたパスワードから確認されるフレーム数情報と前記保存していたフレーム数情報とが一致する場合に、前記ユーザインターフェースを認証できる。
本発明の一実施形態において、前記パスワード確認方法は、デバッギング(debugging)用途のセキュアJTAG(secure Joint Test Action Group)システムに適用できる。
【発明の効果】
【0015】
本発明に係るパスワードシステムによれば、メモリ容量を増加させずに不法ユーザからの攻撃を効果的に防御できるという効果がある。
また、完全性確認コードの確認、順次的なID値の確認、可変的なフレーム数の確認、及びスクランブリング(scrambling)を併用して、パスワードシステムのセキュリティレベルを効果的に向上させることができるという効果がある。
【図面の簡単な説明】
【0016】
【図1】従来の一般的なパスワードシステムを例示するブロック図である。
【図2】本発明の一実施形態によるパスワードシステムを示すブロック図である。
【図3】本発明の一実施形態によるパスワードシステムで使われるパスワードのフォーマットを示す図面である。
【図4】ID値生成器として用いられる線形フィードバックシフトレジスタを示す概略回路図である。
【図5】線形フィードバックシフトレジスタを具体的に例示する回路図である。
【図6】本発明の一実施形態によるパスワードシステムでのパスワード生成方法を説明するためのフローチャートである。
【図7】本発明の一実施形態によるパスワードシステムでのパスワード確認方法を説明するためのフローチャートである。
【図8】図7のパスワード確認方法を具体的に説明するための説明図である。
【発明を実施するための形態】
【0017】
次に、本発明に係るパスワードシステムを実施するための形態の具体例を図面を参照しながら説明する。
【0018】
図2は、本発明の一実施形態によるパスワードシステムを示す図面である。
図2を参照すると、パスワードシステムは、ユーザインターフェース(UI)220、パスワード生成器230及びパスワード確認器212を具備する。
【0019】
パスワード生成器230は、主にソフトウェア的に具現でき、パスワード確認器212は、主にハードウェア的に具現できる。パスワード確認器212は、セキュリティが要求されるいなかる装置(device)やネットワークサーバ又はアプリケーションシステムなどに備わりうる。
【0020】
ユーザインターフェース220は、パスワードシード値(seed value)SDをパスワード生成器230に提供し、パスワード生成器230は、パスワードシード値SDに基づいてパスワードを生成する。ところでパスワードの生成で、パスワードシード値SDが必ずしも必要なものではなく、パスワードシード値SDの提供がなくとも、パスワード生成器230は、任意的にパスワードを生成できる。
【0021】
パスワード生成器230は、複数のフレームを含むパスワード(図3で詳細に説明する)を生成し、生成されたパスワードに対する完全性確認コード(Integrity Check Code:ICC)を生成し、生成されたパスワードをスクランブル(scramble)し、スクランブルされたパスワードPWD_SCをユーザインターフェース220に提供する。
【0022】
パスワード確認器212は、パスワード生成器230から提供される完全性確認コードICC、フレーム数情報(number information of frames:NF)、及びスクランブル情報I_SCを保存し、ユーザインターフェース220から入力されるスクランブルされたパスワードPWD_SCを、保存していたスクランブル情報I_SCに基づいてデスクランブル(descramble)し、デスクランブルされたパスワードから生成される完全性確認コードと保存していた完全性確認コードとを比較してユーザインターフェース220を認証(authentication)する。
【0023】
以下、図3〜図8を参照して、図2のパスワードシステムについてさらに詳細に説明する。
図3は、本発明の一実施形態によるパスワードシステムで使われるパスワードのフォーマットを示す。
【0024】
図3に示すパスワードは、ヘッダ部HEADERとフレーム部(FRAME_1〜FRAME_N)とを含む。
ヘッダ部HEADERは、IDヘッダHD_IDと、パスワードのバージョンのようなその他情報HD_INFOとを含む。
図3に示すようにフレーム部は、第1−ID値ID_1及び第1−KEY値KEY_1とを含む第1フレームFRAME_1乃至第N−ID値ID_N及び第N−KEY値KEY_Nを含む第NフレームFRAME_Nを含む(ここで、Nは自然数を表す)。
【0025】
またフレーム部(FRAME_1〜FRAME_N)は、ユーザモード値(user mode value)(S1、S2、S3、S4)と、モード確認コード(mode check code)(C1、C2)とを含む。
ユーザモード値(S1、S2、S3、S4)は、ユーザインターフェース220のアクセス権限を示す値である。
【0026】
すなわち、ユーザモード値は、ユーザインターフェース220を介してアクセスを試みるユーザが単純なユーザであるか、あるいは管理者であるかを示す。管理者は、単純なユーザに比べて強化されたアクセス権限を有する。ユーザモード値S1、S2、S3、S4がいたずらに変更されることを防止するために、ユーザモード値S1、S2、S3、S4に対するモード確認コードC1、C2をフレーム部(FRAME_1〜FRAME_N)にさらに含む。
【0027】
図3で、第1フレーム乃至第4フレーム(FRAME_1、FRAME_2、FRAME_3、FRAME_4)は、それぞれID値(ID_1、ID_2、ID_3、ID_4)、ユーザモード値(S1、S2、S3、S4)及びKEY値(KEY_1、KEY_2、KEY_3、KEY_4)を含む。
【0028】
第5フレーム及び第6フレーム(FRAME_5、FRAME_6)は、それぞれID値(ID_5、ID_6)、モード確認コード(C1、C2)、及びKEY値(KEY_5、KEY_6)を含む。
第7フレーム乃至第Nフレーム(FRAME_7、FRAME_8、…、FRAME_N)は、それぞれID値(ID_7、ID_8、…、ID_N)、ゼロ(zero)「0」、及びKEY値(KEY_7、KEY_8、…、KEY_N)を含む。
【0029】
しかし、図3に示した例は、単に1つの例示であって、どのフレームがユーザモード値を含んでいるか、モード確認コードを含んでいるか、あるいは単純なゼロを含んでいるかは、実施形態によって変わりうる。また図3で、ID値ID_1〜ID_NはMビット(bits)であり、ユーザモード値S1、S2、S3、S4、及びモード確認コードC1、C2はそれぞれ1ビット(bit)であり,KEY値KEY_1〜KEY_NはLビット(bits)であるが、ID値、ユーザモード値、モード確認コード、及びKEY値それぞれが占めるビット数は、実施形態によって変わりうる。
【0030】
本発明で、パスワードに含まれるフレーム数(number of frames)は、可変的(variable)である。例えば、図2のパスワード生成器230で生成されたあるパスワードは(N−3)個のフレームを含み、他のパスワードはN個のフレームを含み、さらに他のパスワードは、(N+5)個のフレームを含むことができる。
本発明によるパスワードシステムで、フレーム数情報NFは、パスワードに含まれるフレーム数を示す情報である。図3に示すパスワードは、N個のフレームFRAME_1〜FRAME_Nを含むので、図3の場合には、フレーム数情報NFが「N」である。
【0031】
パスワードに含まれるフレーム数が一定である場合のセキュリティレベルより、パスワードに含まれるフレーム数が可変的である場合のセキュリティレベルがさらに高い。
従って、パスワードに含まれるフレーム数を可変させることによって、不法ユーザの攻撃に対する防御能力をさらに高めることができる。フレーム数情報NFの確認は、パスワード確認器212によって行われる。
【0032】
すなわち、図2のパスワード確認器212は、ユーザインターフェース220から入力されるスクランブルされたパスワードPWD_SCを保存していたスクランブル情報I_SCに基づいてデスクランブルし、デスクランブルされたパスワードから確認されるフレーム数情報NFと保存していたフレーム数情報NFとを比較して2つの情報が一致する場合に、ユーザインターフェース220を認証する。
【0033】
図3において、第1−ID値ID_1乃至第N−ID値ID_Nは、順次的(sequential)である。ここで、順次的であるという用語は、第1−ID値ID_1、第2−ID値ID_2、第3−ID値ID_3、第4−ID値ID_4、第5−ID値ID_5、第6−ID値ID_6、第7−ID値ID_7、第8−ID値ID_8、…、第N−ID値ID_Nの順序が必ず守られねばならないということを意味する。
【0034】
10進数体系の場合には、0、1、2、3、4、5、6、7、8、9の順序がすでに決まっており、16進数体系の場合にも、0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、Fの順序がすでに決まっている。ところで、10進数体系又は16進数体系は、公開された数字体系であるために、いかなる数字の次に来る数字が何であるか予測が可能である。
【0035】
順序の予測が可能であるということは、暗号学的に望ましいことではないので、本発明によるパスワードシステムでは、順序を予測できないID値を使用する。例えば、第1−ID値ID_1が「00101100」であり、第2−ID値ID_2が「01001101」であり、第3−ID値ID_3が「11110101」である場合に、第1−ID値「00101100」と第2−ID値「01001101」とを偶然に知ったとしても、第2−ID値の次に来る第3−ID値が何であるか予測できない。
【0036】
このように、順序を予測できないという点においては、ID値は非予測的である。また、順序が付与された後には、第1−ID値「00101100」、第2−ID値「01001101」、第3−ID値「11110101」の順序が必ず守られねばならないという点においては、ID値は順次的である。
【0037】
上述の通りに、非予測的であり、かつ順次的であるID値を生成するID値生成器が、パスワード生成器230とパスワード確認器212とにそれぞれ備わる。本発明の一実施形態では、線形フィードバックシフトレジスタ(LFSR:Linear Feedback Shift Register)がID値生成器として使われうる。
【0038】
以下、図4及び図5を参照しつつ、線形フィードバックシフトレジスタについてさらに詳細に説明する。
図4は、ID値生成器として使われうる線形フィードバックシフトレジスタを示す概略回路図であり、図5は、線形フィードバックシフトレジスタを具体的に例示する回路図である。
【0039】
線形フィードバックシフトレジスタは、複数のレジスタREG、複数の排他的論理和演算器XOR及び複数のスイッチSWを具備する。図4に示した線形フィードバックシフトレジスタは、以下の数式1のように表現される線形フィードバックシフトレジスタ多項式G(X)を具現する。
【数1】

【0040】
線形フィードバックシフトレジスタ多項式G(X)での各係数g、g、g、…、gm−1、gは、各スイッチSWによるフィードバック経路の連結/遮断を示す。係数が1ならば、フィードバック経路は連結され、係数が0ならば、フィードバック経路は遮断される。最低次項の係数g及び最高次項の係数gは常に1である。それぞれのレジスタREGは、クロック信号CLKのエッジ(edge)で保存値を更新する。
【0041】
線形フィードバックシフトレジスタの係数値は、線形フィードバックシフトレジスタ多項式G(X)の係数g,g,g,…,gm−1,g)を示し、線形フィードバックシフトレジスタの初期値は、レジスタREGの初期保存値を示す。線形フィードバックシフトレジスタは、設定された係数値及び初期値によって非予測的であり、かつ順次的な値を出力する。
【0042】
図5には、以下の数式2のように表現される線形フィードバックシフトレジスタ多項式G(X)を具現する線形フィードバックシフトレジスタを具体的に示す。
【数2】

【0043】
数式2で、2次項の係数gがゼロであるので、図5で係数gに対応するフィードバック経路は遮断される。フィードバック経路が遮断されれば、排他的論理和演算が無意味になるので(すなわち、レジスタREG2の出力と遮断されたフィードバック経路からの「0」とを排他的論理和演算すれば、その結果は、常にレジスタREG2の出力と同じである)、レジスタREG2の出力がそのままレジスタREG3の入力として使われる。
【0044】
一方、図5に示した線形フィードバックシフトレジスタが直列出力タイプであるならば、クロック信号CLKの各エッジごとに、レジスタREG3から出力される1ビット値が線形フィードバックシフトレジスタの1ビット出力に該当する。
図5に示した線形フィードバックシフトレジスタが並列出力タイプであるならば、クロック信号CLKの各エッジごとに、レジスタREG1から出力される1ビット値ID_n[0]、レジスタREG2から出力される1ビット値ID_n[1]、及びレジスタREG3から出力される1ビット値ID_n[2]が線形フィードバックシフトレジスタの3ビット出力に該当する。
【0045】
線形フィードバックシフトレジスタのサイズは、線形フィードバックシフトレジスタに備わるレジスタの個数を示す。並列出力タイプであり、サイズがMである線形フィードバックシフトレジスタは、クロック信号CLKの各エッジごとにMビット出力を出力する。レジスタREGの初期保存値をいずれもゼロに設定すれば、いつもあらゆるビットがゼロであるMビット出力が出力されるので、レジスタREGの初期保存値のうち少なくとも一つを1に設定する。それにより、LFSRから(2−1)個の互いに異なるMビット出力が順次に出力される。
【0046】
線形フィードバックシフトレジスタでは、2個の互いに異なるMビット二進数のうち、あらゆるビットがゼロであるMビット二進数を除外した残りの(2−1)個のMビット二進数全部が線形フィードバックシフトレジスタのMビット出力として使われる。このような点から、ビット効率が非常に高いとみなされる。
【0047】
線形フィードバックシフトレジスタから出力される最初のMビット出力を、図3の第1−ID値ID_1に対応させ、2番目のMビット出力を図3の第2−ID値ID_2に対応させ、3番目のMビット出力を図3の第3−ID値ID_3に対応させる。このような方式でMビット出力をID値にそれぞれ対応させれば、非予測的であり、かつ順次的であるID値を得ることができる。直列出力タイプの線形フィードバックシフトレジスタが使われる場合には、線形フィードバックシフトレジスタから出力される最初の1ビット出力乃至M番目の1ビット出力を、図3の第1−ID値ID_1に対応させることができる。
【0048】
一方、線形フィードバックシフトレジスタは循環特性を有するために、最初のMビット出力乃至(2−1)番目のMビット出力が順次に出力された後には、再び最初のMビット出力と同じ出力が2番目のMビット出力として出力される。すなわち、2番目のMビット出力乃至[2*(2−1)]番目のMビット出力それぞれは、最初のMビット出力乃至(2−1)番目のMビット出力それぞれに対応する。
【0049】
図3で、パスワードに含まれるフレーム数Nが(2−1)より大きい場合に、例えばNが16であってMが3である場合に、線形フィードバックシフトレジスタの8番目の3ビット出力(ID_8に対応)は、最初の3ビット出力(ID_1に対応)と同一であり、9番目の3ビット出力(ID_9に対応)は、2番目の3ビット出力(ID_2に対応)と同一であり、10番目の3ビット出力(ID_10に対応)は、3番目3ビット出力(ID_3に対応)と同一となる。
【0050】
線形フィードバックシフトレジスタの初期値又は係数値が変われば、線形フィードバックシフトレジスタから出力される互いに異なる(2−1)個のMビット出力の順序も変わる。従って、それぞれのパスワードごとに異なる初期値又は異なる係数値を線形フィードバックシフトレジスタに設定すれば、それぞれのパスワードごとに異なる第1−ID値ID_1乃至第N−ID値ID_Nを得ることができる。互いに異なる(2−1)個のMビット出力の順序、すなわち、互いに異なる(2−1)個のMビット二進数の順序がそれぞれのパスワードごとに異なる。
【0051】
図2で、パスワード生成器230は第1線形フィードバックシフトレジスタを具備し、パスワード確認器212は、パスワード生成器230に備わる第1線形フィードバックシフトレジスタと初期値及び係数値を共有する第2線形フィードバックシフトレジスタを具備する。
【0052】
第1線形フィードバックシフトレジスタと第2線形フィードバックシフトレジスタとが初期値及び係数値を共有するということは、第1線形フィードバックシフトレジスタと第2線形フィードバックシフトレジスタとが同じ初期値及び同じ係数値を有するということを意味する。もちろん、同じ初期値及び同じ係数値は、それぞれのパスワードごとに変わるのである。初期値及び係数値を共有するので、第1線形フィードバックシフトレジスタから出力される第1−ID値ID_1乃至第N−ID値ID_Nと、第2線形フィードバックシフトレジスタから出力される第1−ID値ID_1乃至第N−ID値ID_Nは、その値がそれぞれ一致するだけではなく、その値の順序も一致する。
【0053】
ID値(ID_1〜ID_N)の確認は、パスワード確認器212によって行われる。すなわち、図2でパスワード確認器212は、ユーザインターフェース220から入力されるスクランブルされたパスワードPWD_SCを保存していたスクランブル情報I_SCに基づいてデスクランブルし、デスクランブルされたパスワードから確認される第1−ID値ID_1乃至第N−ID値ID_Nと、パスワード確認器212内部の第2線形フィードバックシフトレジスタから生成される第1−ID値ID_1乃至第N−ID値ID_Nとをそれぞれ比較して2つのID値がそれぞれ一致する場合に、ユーザインターフェース220を認証する。
【0054】
図3で、フレーム部(FRAME_1〜FRAME_N)に含まれる第1−KEY値KEY_1乃至第N−KEY値KEY_Nは、乱数発生器(Random Number Generator:RNG)を利用してランダムに生成される。乱数発生器(RNG)を利用してランダムに生成されるので、第1−KEY値KEY_1乃至第N−KEY値KEY_Nも、やはり非予測的である。
【0055】
図3で、完全性確認コード(Integrity Check Code)ICCは、フレーム部(FRAME_1〜FRAME_N)に含まれる第1−KEY値KEY_1乃至第N−KEY値KEY_Nに係る完全性を確認するためのコードである。
例えば、CRC(Cyclic Redundancy Check)方式、HASH方式、又はCheck Sum方式などを利用し、第1−KEY値KEY_1乃至第N−KEY値KEY_Nに対する完全性確認コードICCを生成できる。
【0056】
CRC方式の場合には、第1 KEY値KEY_1乃至第N−KEY値KEY_Nに対する32ビットの完全性確認コードICC又は64ビットの完全性確認コードICCなどを生成できる。
HASH方式の場合には、第1−KEY値KEY_1乃至第N−KEY値KEY_Nに対する160ビットの完全性確認コードICC又は256ビットの完全性確認コードICCなどを生成できる。
【0057】
CRC方式、HASH方式またはCheck Sum方式は、セキュリティ分野の当業者において通常の技術なので、それらについての詳細な説明は省略する。
一方、図3には、KEY値(KEY_1〜KEY_N)に対する完全性確認コードICCを生成する実施形態が図示されているが、KEY値(KEY_1〜KEY_N)に対する完全性確認コードICCを生成する実施形態だけではなく、KEY値(KEY_1〜KEY_N)及びID値(ID_1〜ID_N)に対する完全性確認コードICCを生成する実施形態も可能である。
【0058】
図6は、本発明の一実施形態によるパスワードシステムでのパスワード生成方法を説明するためのフローチャートである。
図6に示すパスワード生成方法は、図2のパスワード生成器230で行われる。
【0059】
以下、図6を参照して本実施形態によるパスワードシステムでのパスワード生成方法を説明する。
ステップS510において、順次的な第1−ID値ID_1乃至第N−ID値ID_Nを生成する。上述のように、第1−ID値ID_1乃至第N−ID値ID_Nは、パスワード生成器230に備わる第1線形フィードバックシフトレジスタによって生成する。
【0060】
ステップS520において、ランダムな第1−KEY値KEY_1乃至第N−KEY値KEY_Nを生成する。第1−KEY値KEY_1乃至第N−KEY値KEY_Nは、乱数発生器(RNG)によってランダムに生成する。
【0061】
ステップS530において、CRC方式、HASH方式、又はCheck Sum方式などを利用し、第1−KEY値KEY_1乃至第N−KEY値KEY_Nに対する完全性確認コードICCを生成する。
【0062】
ステップS510で生成されたID値(ID_1〜ID_N)とステップS520で生成されたKEY値(KEY_1〜KEY_N)とをフレーム部(FRAME_1〜FRAME_N)に配する。すなわち、第1−ID値ID_1と第1−KEY値KEY_1とを含む第1フレームFRAME_1乃至第N−ID値ID_Nと第N−KEY値KEY_Nとを含む第NフレームFRAME_Nをフレーム部に配する。
前述のように、フレーム部(FRAME_1〜FRAME_N)に含まれるフレーム数は、可変的である。すなわち、フレーム部(FRAME_1〜FRAME_N)に含まれるフレーム数は、それぞれのパスワードごとに異なりうる。
【0063】
図3に例示したように、フレーム部(FRAME_1〜FRAME_N)は、ID値(ID_1〜ID_N)及びKEY値(KEY_1〜KEY_N)以外に、ユーザインターフェース220のアクセス権限を示すユーザモード値MODE(S1、S2、S3、S4)(図3参照)、及びユーザモード値MODEに対するモード確認コードMCC(Mode Check Code)(C1、C2)(図3図3参照)をさらに含むことができる。
【0064】
ユーザモード値MODEとモード確認コードMCCは、図6のステップS540で生成される。フレーム部(FRAME_1〜FRAME_N)に、ヘッダ部HEADERを付加することによってパスワードが完成する。
【0065】
ステップS550において、上記完成したパスワードをスクランブル情報I_SCによってスクランブル(scramble)する。例えば、ヘッダ部HEADERとフレーム部(FRAME_1〜FRAME_N)をと、行(row)単位及び/または列(column)単位でスクランブルし、スクランブルされたパスワードPWD_SCを生成する。
【0066】
パスワード生成器230は、フレーム部(FRAME_1〜FRAME_N)に含まれるフレーム数を示すフレーム数情報NF、完全性確認コードICC及びスクランブル情報I_SCをパスワード確認器212に出力し、スクランブルされたパスワードPWD_SCをユーザインターフェース220に提供する。
【0067】
図7は、本発明の一実施形態によるパスワードシステムでのパスワード確認方法を説明するためのフローチャートであり、図8は、図7のパスワード確認方法について具体的に説明するための説明図である。
図7及び図8に示したパスワード確認方法は、図2のパスワード確認器212で行われる。
【0068】
以下、図7を参照して本実施形態によるパスワードシステムでのパスワード確認方法を説明する。
パスワード確認器212は、パスワード生成器230から入力されるフレーム数情報NF、完全性確認コードICC及びスクランブル情報I_SCを保存する。
【0069】
ステップS610において、ユーザインターフェース220から入力されるスクランブルされたパスワードPWD_SCを、保存していたスクランブル情報I_SCに基づいてデスクランブル(descramble)する。
【0070】
ステップS620において、デスクランブルされたパスワードPWD_DSCから生成される完全性確認コードICCと保存していた完全性確認コードICCとを比較する(図8参照)。前述のように、ここでの完全性確認コードICCは、図3のフレーム部(FRAME_1〜FRAME_N)に対する完全性確認コード(例えば、第1−KEY値KEY_1乃至第N−KEY値KEY_Nに係る完全性を確認するためのコード)である。
【0071】
ステップS630において、デスクランブルされたパスワードPWD_DSCから確認される第1−ID値ID_1乃至第N−ID値ID_Nと、パスワード確認器212内部の第2線形フィードバックシフトレジスタから生成される第1−ID値ID_1乃至第N−ID値ID_Nとをそれぞれ比較する。
【0072】
ステップS640において、デスクランブルされたパスワードPWD_DSCから確認されるフレーム数情報と、保存していたフレーム数情報とを比較する。
ステップS620、ステップS630、及びステップS640の順序は、変わることもある。
【0073】
ステップS620、ステップS630、及びステップS640の各比較結果で、デスクランブルされたパスワードPWD_DSCから生成される完全性確認コードと保存していた完全性確認コードとが一致し、デスクランブルされたパスワードPWD_DSCから確認される第1-ID値ID_1乃至第N−ID値ID_Nと、パスワード確認器212内部の第2線形フィードバックシフトレジスタから生成される第1−ID値ID_1乃至第N−ID値ID_Nとがそれぞれ一致し、デスクランブルされたパスワードPWD_DSCから確認されるフレーム数情報と保存していたフレーム数情報とが一致する場合に、ユーザインターフェース220を認証する。
ユーザインターフェース220が認証されれば、セキュリティが要求される装置などに対するそのユーザのアクセスが許容される。
【0074】
また、本実施形態のパスワードは、図3に例示したように、第1−ID値ID_1乃至第N−ID値ID_N及び第1−KEY値KEY_1乃至第N−KEY値KEY_N以外に、ユーザインターフェース220のアクセス権限を示すユーザモード値MODE、及びユーザモード値MODEに対するモード確認コードMCCをさらに含むことができる。
【0075】
その場合に、ステップS620、ステップS630、及びステップS640を経て認証されたユーザインターフェース220は、所定の検証過程をさらに経て、ユーザモード値MODEを変更できる。例えば、認証されたユーザインターフェース220は、セキュリティレベルの調整のために所定の検証過程をさらに経て、本来自体に付与されたセキュリティレベルを単純なユーザレベルから管理者レベルに変更できる。
【0076】
本実施形態のパスワード確認器212は、パスワード自体を保存せずに、フレーム数情報NF、完全性確認コードICC、及びスクランブル情報I_SCを保存する。
すなわち、ID値(ID_1〜ID_N)、KEY値(KEY_1〜KEY_N)、ユーザモード値MODE及びモード確認コードMCCを含むパスワード自体を保存する代わりに、フレーム数情報NF、完全性確認コードICC、及びスクランブル情報I_SCを保存する。
【0077】
従って、セキュリティレベルを高めるためにパスワードの長さを拡張させる場合にも、パスワード確認器212のメモリ容量を増加させる必要がない。KEY値(KEY_1〜KEY_N)自体を比較する代わりに、KEY値(KEY_1〜KEY_N)に対する完全性確認コードICCを比較するので、パスワード確認器212のメモリにKEY値(KEY_1〜KEY_N)を保存する必要がない。
【0078】
デスクランブルされたパスワードPWD_DSCから確認されるID値(ID_1〜ID_N)と第2線形フィードバックシフトレジスタから生成されるID値(ID_1〜ID_N)とをそれぞれ比較するので、パスワード確認器212のメモリにID値(ID_1〜ID_N)を保存する必要がない。
加算器(adder)及び公開された数字体系を保存するためのROM(Read−Only Memory)テーブルを使用する代わりに、線形フィードバックシフトレジスタを使用してID値(ID_1〜ID_N)を生成するので、ハードウェアの実装面積を縮小させることも可能である。
【0079】
また、パスワード自体を比較せずにパスワードに対する完全性確認コードICCのみを比較することは、暗号学的な衝突(collision)問題に脆弱でありうる。このような点を補完するために本発明では、完全性確認コードの確認、順次的なID値の確認、可変的なフレーム数の確認、及びスクランブリングを併用してパスワードシステムのセキュリティレベルを効果的に向上させている。
【0080】
本発明の実施形態によるパスワードシステムで使用されるパスワード確認方法は、例えば、デバッギング(debugging)用途のセキュリティJTAG(secure Joint Test Action Group)システムに適用されうる。JTAGは、ICやPCB(Printed Circuit Board)などをテストするために制定された標準を意味する。
【0081】
ユーザは、JTAGエミュレータをJTAGポートを介してICなどに連結し、JTAGエミュレータとICとの間のデータ入出力状態に基づいて、ICが正しく動作しているか否かをテストすることができる。セキュリティが要求されるICなどの場合には、ユーザのアクセスを制限する必要があるので、本発明によるパスワード確認方法をセキュリティJTAGシステムに適用することができる。それ以外にも、本発明の実施形態によるパスワードシステムによるパスワード生成方法及びパスワード確認方法は、セキュリティが要求されるいかなる装置やネットワークサーバ又はアプリケーションシステムなどにもハードウェア的にも、またはソフトウェア的にも適用可能である。
【0082】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【産業上の利用可能性】
【0083】
本発明の完全性確認コードを使用するパスワードシステムは、セキュリティが要求されるいかなる装置やネットワークサーバ又はアプリケーションシステムなどに適用可能である。
【符号の説明】
【0084】
212 パスワード確認器
220 ユーザインターフェース
230 パスワード生成器
ICC 完全性確認コード
I_SC スクランブル情報
MCC モード確認コード
MODE ユーザモード値
NF フレーム数情報
PWD パスワード
PWD_SC スクランブルされたパスワード
PWD_DSC デスクランブルされたパスワード
SD パスワードシード値


【特許請求の範囲】
【請求項1】
ユーザインターフェースと、
複数のフレームを含むパスワードを生成し、生成されたパスワードに対する完全性確認コード(integrity check code)を生成し、前記生成されたパスワードをスクランブル(scramble)し、スクランブルされたパスワードを前記ユーザインターフェースに提供するパスワード生成器と、
前記パスワード生成器から提供される完全性確認コード、フレーム数情報及びスクランブル情報を保存し、前記ユーザインターフェースから入力されるスクランブルされたパスワードを前記スクランブル情報に基づいてデスクランブル(descramble)し、デスクランブルされたパスワードから生成される完全性確認コードと前記保存していた完全性確認コードとを比較して前記ユーザインターフェースを認証するパスワード確認器とを有することを特徴とするパスワードシステム。
【請求項2】
前記パスワード生成器で生成されるパスワードに含まれるフレーム数は、可変的であることを特徴とする請求項1に記載のパスワードシステム。
【請求項3】
前記フレーム数情報は、前記パスワードに含まれるフレーム数を示す情報であることを特徴とする請求項2に記載のパスワードシステム。
【請求項4】
前記パスワード確認器は、前記デスクランブルされたパスワードから確認されるフレーム数情報と前記保存していたフレーム数情報とを比較して前記ユーザインターフェースを認証することを特徴とする請求項2に記載のパスワードシステム。
【請求項5】
前記パスワード生成器で生成されるパスワードはヘッダ部とフレーム部とを含み、
前記フレーム部は第1フレーム乃至第N(Nは自然数)フレームを含み、
第n(nは1からNまでの自然数)フレームは、第n−ID値及び第n−KEY値を含むことを特徴とする請求項1に記載のパスワードシステム。
【請求項6】
前記フレーム部に含まれる第1−ID値乃至第N−ID値は、順次的であることを特徴とする請求項5に記載のパスワードシステム。
【請求項7】
前記パスワード生成器は、前記第1−ID値乃至前記第N−ID値を順次に生成する第1線形フィードバックシフトレジスタ(Linear Feedback Shift Register:LFSR)を備えることを特徴とする請求項6に記載のパスワードシステム。
【請求項8】
前記第1線形フィードバックシフトレジスタの初期値又は係数値は、それぞれのパスワードごとに異なり、
前記第1線形フィードバックシフトレジスタは、それぞれのパスワードごとに異なる第1−ID値乃至第N−ID値を生成することを特徴とする請求項7に記載のパスワードシステム。
【請求項9】
前記パスワード確認器は、前記パスワード生成器に備わる前記第1線形フィードバックシフトレジスタと初期値及び係数値を共有する第2線形フィードバックシフトレジスタを備えることを特徴とする請求項7に記載のパスワードシステム。
【請求項10】
前記パスワード確認器は、前記デスクランブルされたパスワードから確認される第1−ID値乃至第N−ID値と前記第2線形フィードバックシフトレジスタから生成される第1−ID値乃至第N−ID値とをそれぞれ比較して前記ユーザインターフェースを認証することを特徴とする請求項9に記載のパスワードシステム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−213139(P2009−213139A)
【公開日】平成21年9月17日(2009.9.17)
【国際特許分類】
【出願番号】特願2009−52048(P2009−52048)
【出願日】平成21年3月5日(2009.3.5)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】SAMSUNG ELECTRONICS CO.,LTD.
【住所又は居所原語表記】416,Maetan−dong,Yeongtong−gu,Suwon−si,Gyeonggi−do 442−742(KR)
【Fターム(参考)】