(57)【要約】      （修正有）【課題】管理・配布する鍵の個数を少なく保ちつつ、複雑なアクセス制御を実現する秘密鍵生成システムを提供する。【解決手段】第１の秘密鍵（マスター鍵１）と鍵ラベル（「ＳＥＲＶＩＣＥ  １」２）から、鍵ラベルを反映した第２の秘密鍵（「ＳＹＳＴＥＭ  １」１０）を生成する、一方向性を持つ計算手段を複数回適用して、必要な秘密鍵を生成する。一方向性を持つ計算手段として、ハッシュ署名、有限群における乗算、または有限体上の楕円曲線におけるスカラー倍演算を用いる。【効果】秘密として管理されるべき秘密鍵を唯一に保ちつつ、一部の権限を持った鍵を生成することができる。【選択図】図１
2019198052.tif 000002
【特許請求の範囲】
【請求項１】
暗号化のための秘密鍵を生成するシステムであって、与えられた１あるいは複数の第１の秘密鍵と鍵ラベルを用い、一方向性を持つ計算手段によって第２の秘密鍵を生成する鍵生成手段を備え、前記第２の秘密鍵を第１の秘密鍵として与えることによって、複数の階層の秘密鍵を生成することを特徴とする秘密鍵生成システム。
【請求項２】
前記鍵生成手段における一方向性を持つ計算手段として、鍵ラベルによるハッシュ署名を用いることを特徴とする請求項１記載の秘密鍵生成システム。
【請求項３】
前記鍵生成手段における一方向性を持つ計算手段として、有限群において、鍵ラベルによる乗算を用いることを特徴とする請求項１記載の秘密鍵生成システム。
【請求項４】
前記鍵生成手段における一方向性を持つ計算手段として、有限体上の楕円曲線において、鍵ラベルによるスカラー倍の演算を用いることを特徴とする請求項１記載の秘密鍵生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、鍵の管理を容易とする暗号鍵生成システムに関するものである。
【背景技術】
【０００２】  情報を取り扱うシステムにおいて、情報を暗号化することによって、その解読を、解読のための鍵を持つ者のみに限定することが広く行われている。【０００３】  この構成を用いると、解読のための鍵をその情報を閲覧できる権限とみなすことができ、個々の情報の閲覧に対するアクセス制御を、鍵の付与によって制御することが可能となる。【０００４】  一方、今日の情報システムの構成や運用においては、付与される権限の種類は様々であり、その対象の数も非常に大きいものとなる。【０００５】  付与される権限の種類の数に応じて、必要となる鍵の数も増加し、鍵の管理および配布に困難が生じるという課題がある。【０００６】  このため、複雑な構成を持つアクセス制御を、解読のための鍵の管理によって行うことには困難が伴い、複雑なアクセス制御を行う際には、別途アクセス権を確認するためのシステムを用意し、このシステムがアクセス権を制御するか、あるいは一時的に解読のための鍵を払い出すような仕組みによるアクセス制御が行われている（特許文献２、特許文献３）。【０００７】  しかし、この様なシステムを構築する場合、保管される情報そのものは、暗号化されないか、アクセス権制御システムが管理する単一の秘密鍵によって暗号化されることとなり、暗号化による情報の保護が行いにくいという課題がある。【０００８】  また、昨今、多くのサービスがクラウド上で提供されているが、クラウド上に情報を保存し、前記の様なアクセス制御システムを運用する場合、クラウド上での暗号化が適用しにくいという課題が生じている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−１９９５９
【特許文献２】特開２０１２−５９１４８
【特許文献３】特開２０１５−１２１９０６
【非特許文献】
【００１０】
【非特許文献１】ＲＦＣ２１０４，ＨＭＡＣ：Ｋｅｙｅｄ−Ｈａｓｈｉｎｇ  ｆｏｒ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ
【発明の概要】
【発明が解決しようとする課題】
【００１１】  本発明が解決しようとする課題は、管理・配布する鍵の個数を少なく保ちつつ、複雑なアクセス制御を実現することである。
【課題を解決するための手段】
【００１２】  本発明は、第１の秘密鍵と鍵ラベルから、鍵ラベルを反映した第２の秘密鍵を生成する手段を複数回適用して、必要な秘密鍵を生成することを最も主要な特徴とする。
【発明の効果】
【００１３】  本発明によれば、秘密として管理されるべき秘密鍵を唯一に保ちつつ、一部の権限を持った鍵を生成することが可能であり、管理・配布する鍵の個数を削減することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】図１は、階層を持った情報に対応し、本発明による鍵の生成を行う説明図である（実施例１）。
【図２】図２は、行と列を持ったテーブル状の構造を持つ情報に対応し、本発明による鍵の生成を行う説明図である（実施例２）
【発明を実施するための形態】
【００１５】  アクセス制御が行われる場合、アクセス権の付与はランダムに行われるのではなく、情報に階層構造が存在し、この階層構造に対応する形でアクセス制御が行われることが一般的である。
【００１６】  この情報が持つ階層構造に着目し、鍵生成を行うシステムを構築した。
【実施例１】
【００１７】  図１は、階層を持った情報に対応し、本発明による鍵の生成を行った状況を示したものであり、１はマスター鍵、２，３，６〜９，１４〜１８は、与えられた第１の鍵と鍵ラベルから新たに第２の秘密鍵を作り出す処理、４，５，１０〜１３，１９〜２３は、生成された新たな鍵を示している。【００１８】  本実施例においては、第１の秘密鍵と鍵ラベルを用い、第２の秘密鍵を生成する一方向性を持つ計算手段として、ハッシュ関数による署名を用いる。【００１９】  ハッシュ関数ＨＡＳＨを使用したメッセージ認証符号を生成する関数を、ＨＭＡＣ（ＨＡＳＨ，Ｋ，ｍ）とする。ここで、Ｋは秘密鍵であり、ｍは署名対象のメッセージである。【００２０】  ＨＭＡＣは、ＨＡＳＨ関数を用いて、非特許文献１に示す、ＲＦＣ２１０４の方法で生成しても良いし、秘密鍵とメッセージの単純な連結や排他的論理和によることもできる【００２１】  ＨＭＡＣ関数を用いて、ハッシュ関数ＨＡＳＨを用いて、第１の鍵（Ｋｅｙ＿ｎ）と、鍵ラベル（Ｌａｂｅｌ）、第２の鍵（Ｋｅｙ＿ｎ＋１）を生成する処理を、
【数１】
2019198052.tif 000003
【００２２】とする。【００２３】  図１は、マスター鍵１を第１の鍵とし、鍵ラベル「ＳＥＲＶＩＣＥ  １」２を用いて、第２の鍵である「ＳＥＲＶＩＣＥ  １」４を下位の鍵として生成し、さらに「ＳＥＲＶＩＣＥ  １」４を第１の鍵とし、鍵ラベル「ＳＹＳＴＥＭ  １」を用いて、第２の鍵として「ＳＹＳＴＥＭ  １」１０をさらに鍵として生成する例を示したものである。【００２４】  同様にして、より上位の鍵と鍵ラベルから、下位の鍵が任意に生成することができ、これを繰り返すことによって、任意の階層を構築することが可能となることを示している。【００２５】  この様に生成された鍵の集合においては、順次生成された下位の鍵は、上位の鍵と鍵ラベルから導き出すことができる。【００２６】  一方、下位の鍵を知っていても、ハッシュ関数が持つ一方向性から、より上位の鍵や、他の鍵を得ることは不可能である。【００２７】  鍵ラベルは暗号化に影響を与えることなく公開することが可能であり、マスター鍵のみを秘密とすれば、ある鍵だけを与えることによって、より下位の鍵で暗号化された情報のみを復号する権限を付与することが可能となる。【００２８】  この方式を用いることによって、権限が複雑に入れ子になっていても、大量の鍵を管理したり、配布したりする必要がなくなり、秘密情報として保持しなければならないのは、マスター鍵のみとすることが可能である。【００２９】  ここで、第１の鍵として、複数個の鍵を与えることが可能であり、図について示せば、１２，１３と鍵ラベル「ＧＲＯＵＰ  ３  ＡＮＤ  ４」から、２３を生成する、１８の処理がこれに該当する。【００３０】  複数個の鍵が与えられた場合、これを予め取り決めた方法で整順して連結するか、あるいはビット列を値として算術的に加算するか排他的論理和を得ることによって、順序の影響を取り除く形で結合し、これをＫｅｙ＿ｎとして、同様に第２の鍵を生成する。【００３１】  複数個の鍵は、論理積条件として作用し、第１の鍵全てを知っている場合にのみ、第２の鍵を生成することが可能となる。
【実施例２】
【００３２】  図２は、データベース上のテーブルの様な、行および列を持ったデータ構造に対して、本発明による鍵の生成を行った状況を示したものであり、１０１はマスター鍵、１０２はマスター鍵を第１の鍵とし鍵ラベル「ＴＡＢＬＥ  １」から鍵「ＴＡＢＬＥ  １」を生成する処理、１０３は鍵「ＴＡＢＬＥ  １」、１０４〜１０６は鍵「ＴＡＢＬＥ  １」を第１の鍵として各々の列に対応する鍵ラベルによって第２の鍵として列の鍵を生成する処理、１０７〜１０９は鍵「ＴＡＢＬＥ  １」を第１の鍵として各々の行に対応する鍵ラベルによって第２の鍵として行の鍵を生成する処理、１１０〜１１２は列に対応する鍵、１１３〜１１５は行に対応する鍵、１１６は「ＲＯＷ  ２」に対応する鍵を第１の鍵とし鍵ラベル「Ｒ２Ｃ２」によって第２の鍵としてカラムに対応する鍵「Ｒ２Ｃ２」を生成する処理、１１７はカラムに対応する鍵「Ｒ２Ｃ２」、１１８は「ＣＯＬ  ２」に対応する鍵を第１の鍵とし鍵ラベル「Ｒ２Ｃ２」によって第２の鍵としてカラムに対応する鍵「Ｒ２Ｃ２」を生成する処理を示している。【００３３】  有限群Ｇの生成元をｇとし、ある自然数ｒについてマスター鍵をｇのｒ乗とする。この時、第１の鍵（Ｋｅｙ＿ｎ）と、鍵ラベル（Ｌａｂｅｌ）から、第２の鍵（Ｋｅｙ＿ｎ＋１）を生成する処理を、
【数２】
2019198052.tif 000004
【００３４】  とする。【００３５】  Ｌａｂｅｌは、Ｇの位数より小さい整数を割り付けても良いし、位数のビット長さより短い固定幅の文字列であれば、このビット値をＬａｂｅｌの値として得ても良い。任意のハッシュ関数を通じて得たビット値をＬａｂｅｌの値とすることもできる。【００３６】  図について説明すれば、１０２は、マスター鍵１０１から、鍵ラベル「ＴＡＢＬＥ  １」によって、鍵「ＴＡＢＬＥ  １」１０３を得る処理である。
この時、鍵「ＴＡＢＬＥ  １」は、
【数３】
2019198052.tif 000005
【００３７】  である。【００３８】  同様にして、鍵「ＴＡＢＬＥ  １」を第１の鍵として、行を示すラベルによって、各行に対応する鍵を生成する。１１３を生成する１０７の処理について例示すれば、
【数４】
2019198052.tif 000006
【００３９】  である。
実施例１と同様に、第１の鍵として複数の鍵を使用することも可能である。
【数５】
2019198052.tif 000007
【００４０】  群Ｇにおいて生成源ｇに対する一方向性のある演算を設定することによって、実施例１と同様の効果を得ることができる。例えば、十分大きい位数を持つ剰余群を設定すれば、離散対数問題の困難性から、これらの処理は一方向性を持ち、実施例１と同様の効果を得ることができる。【００４１】  同様に、有限体上の楕円曲線において、鍵ラベルによるスカラー倍の演算を用いることによって、同様のシステムを構築することが可能である。【００４２】  本実施例においては、第１の秘密鍵と鍵ラベルを用い第２の秘密鍵を生成する一方向性を持つ計算手段として、群における乗算もしくは楕円曲線上のスカラー倍算を用いていることから、実施例１と異なり演算の順序によらず同じ鍵が生成される特徴を有する。【００４３】  この特徴を利用して、いずれかの鍵を知っていれば、以降の鍵を生成できる様に鍵を生成することができ、論理和の関係を実現することができる。
【数５】
2019198052.tif 000008
【数６】
2019198052.tif 000009
【００４４】  とすれば、
【数７】
2019198052.tif 000010
【００４５】  であることから、鍵「ＣＯＬ  ２」１１１と鍵「ＲＯＷ  ２」１１４のいずれかを知っていれば、公開された鍵ラベル「ＲＯＷ  ２」「ＣＯＬ  ２」を用いて、鍵「Ｒ２Ｃ２」１１７を得ることができる様な鍵を生成することができる。
【産業上の利用可能性】
【００４６】  秘密として管理されるべき秘密鍵を唯一に保ちつつ、一部の権限を持った鍵を生成することが可能であり、管理・配布する鍵の個数を削減することが可能となることから、クラウド上に配置した情報の暗号化に活用できる。
【符号の説明】
【００４７】〔図１〕
１            マスター鍵
２，３，６〜９，１４〜１８  与えられた第１の鍵と鍵ラベルから新たに第２の秘密鍵を作り出す処理
４，５，１０〜１３，１９〜２３    生成された新たな鍵
〔図２〕
１０１        マスター鍵
１０２        マスター鍵を第１の鍵とし鍵ラベル「ＴＡＢＬＥ  １」から鍵「ＴＡＢＬＥ  １」を生成する処理
１０３                鍵「ＴＡＢＬＥ  １」
１０４〜１０６        鍵「ＴＡＢＬＥ  １」を第１の鍵として各々の列に対応する鍵ラベルによって第２の鍵として列の鍵を生成する処理
１０７〜１０９        鍵「ＴＡＢＬＥ  １」を第１の鍵として各々の行に対応する鍵ラベルによって第２の鍵として行の鍵を生成する処理
１１０〜１１２        列に対応する鍵
１１３〜１１５        行に対応する鍵
１１６                「ＲＯＷ  ２」に対応する鍵を第１の鍵とし鍵ラベル「Ｒ２Ｃ２」によって第２の鍵としてカラムに対応する鍵「Ｒ２Ｃ２」
を生成する処理
１１７                カラムに対応する鍵「Ｒ２Ｃ２」
１１８                「ＣＯＬ  ２」に対応する鍵を第１の鍵とし鍵ラベル「Ｒ２Ｃ２」によって第２の鍵としてカラムに対応する鍵「Ｒ２Ｃ２」を生成する処理
【図１】
2019198052.tif 000011
【図２】
2019198052.tif 000012