(57)【要約】【課題】ＳＳＬサーバ証明書の発行に際してシステム運用者のシステム構築と運用の手間を削減することのできるサーバ装置およびＳＳＬサーバ証明書発行プログラムを得ること。【解決手段】ＣＰＵ１０１と制御プログラム格納部１０２を備えたサーバ装置１００は、ソフトウェアでサーバソフトウェアセットアップ装置１１０と認証局装置１２０を構成するようになっている。認証局構築装置１１１は鍵ペア・ＣＳＲ作成装置１１２で鍵ペアを生成し、ルートＣＡ証明書１２１のサブジェクト（認証対象）をサーバのマシン名を使用して決定する。ＳＳＬサーバ証明書発行装置１２５はＣＳＲを読み込んでＳＳＬサーバ証明書を発行し、ＳＳＬサーバ証明書インストール装置１１３に送付する。【選択図】図１
2008252219.tif 000002
【特許請求の範囲】
【請求項１】
電子的な証明書を使用してデータを暗号化して通信する際の秘密鍵と公開鍵の対を生成する鍵生成手段と、
ユニークな値を使用して前記証明書を発行される者の名称としてのサブジェクト名を設定する証明書サブジェクト名設定手段と、
この証明書サブジェクト名設定手段で設定した証明書のサブジェクト名を用いて証明書要求（ＣＳＲ）を生成する証明書要求生成手段と、
この証明書要求生成手段によって生成した証明書要求を自装置に構築した認証局に送付してサーバ証明書の発行を要求するサーバ証明書発行要求手段と、
このサーバ証明書発行要求手段の要求に基づいて前記認証局がサーバ証明書を発行したときこれを受け取って前記鍵生成手段の設定した前記秘密鍵および公開鍵と対応付ける設定を行うサーバ証明書設定手段
とを具備することを特徴とするサーバ装置。
【請求項２】
前記証明書サブジェクト名設定手段の使用する前記ユニークな値は、自装置を他と識別するために使用する装置名を含んでいることを特徴とする請求項１記載のサーバ装置。
【請求項３】
前記記ユニークな値は、装置名の他に乱数を使用するものであることを特徴とする請求項１記載のサーバ装置。
【請求項４】
前記自装置内部に前記認証局を構築する認証局構築手段を具備することを特徴とする請求項１記載のサーバ装置。
【請求項５】
前記サーバ証明書設定手段によって設定されたサーバ証明書のうちで失効したものの一覧を発行するＣＲＬ（Certificate Revocation List）発行手段を具備することを特徴とする請求項１記載のサーバ装置。
【請求項６】
サーバ装置のコンピュータに、
電子的な証明書を使用してデータを暗号化して通信する際の秘密鍵と公開鍵の対を生成する鍵生成処理と、
ユニークな値を使用して前記証明書を発行される者の名称としてのサブジェクト名を設定する証明書サブジェクト名設定処理と、
この証明書サブジェクト名設定処理で設定した証明書のサブジェクト名を用いて証明書要求（ＣＳＲ）を生成する証明書要求生成処理と、
この証明書要求生成処理によって生成した証明書要求を自装置内に構築した認証局に送付してサーバ証明書の発行を要求するサーバ証明書発行要求処理と、
このサーバ証明書発行要求処理での要求に基づいて前記認証局がサーバ証明書を発行したときこれを受け取って前記鍵生成処理で設定した前記秘密鍵および公開鍵と対応付ける設定を行うサーバ証明書設定処理
とを実行させることを特徴とするＳＳＬサーバ証明書発行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置およびＳＳＬサーバ証明書発行プログラムに係わり、特に暗号化通信を行うサーバ装置およびＳＳＬサーバ証明書発行プログラムに関する。
【背景技術】
【０００２】
インターネット等の通信ネットワークを使用した通信システムが発展すると共に、通信の際のセキュリティ技術の重要性が高まっている。そこで、通信の対象となる電子文書が正しい内容のものであることを電磁的な署名で確認する電子署名という技術が、データの改ざんを防止するために使用されている。
【０００３】
ある者としてのＡが電子文書を他の者としてのＢに送信するものとする。この場合、Ａは電子文書としての平文を作成し、次にこの平文をハッシュ関数を用いて圧縮し、メッセージ・ダイジェストを作成する。そして、これをＰＫＩ（Public Key Infrastructures）システムにおける自分の秘密鍵を用いて暗号化して電子署名を作成する。Ａは前記した平文に電子署名を付して、公開鍵を添付してＢにたとえばインターネットを用いて送付する。
【０００４】
Ｂはインターネットを介してＡから送られてきたデータを受信する。そして、送られてきた公開鍵を用いて電子署名を復号してメッセージ・ダイジェストを取り出す。また、送られてきた平文をハッシュ関数を用いて圧縮して、メッセージ・ダイジェストを作成する。これらのメッセージ・ダイジェストが一致するかを調べて、一致していれば、送られてきた公開鍵に対応する秘密鍵を所有するＡが電子署名を行っていることが分かる。
【０００５】
ところで、本人認証に必要な電子署名の生成には暗号化技術が使用される。暗号化を行う際に、乱数を用いることが従来から第１の提案として提案されている（たとえば特許文献１参照）。
【０００６】
図６は、この第１の提案の概要を表わしたものである。パーソナルコンピュータ等の情報処理装置４０１は、所定の通信機器４０２を介してＩＣ（Integrated Circuit）カード４０３と接続されるようになっている。ＩＣカード４０３は、マイクロコンピュータ４０４を備えている。
【０００７】
マイクロコンピュータ４０４には、通信機器４０２とのインタフェースをとるＩ／Ｏ処理部４１１と、電子署名を生成する電子署名生成部４１２と、乱数発生部４１３が存在している。乱数生成部４１３は、電子署名生成部４１２から乱数の要求があったときに乱数を生成し、これに供給する。電子署名生成部４１２は、入力データを乱数で暗号化し、電子署名を生成して通信機器４０２に送出するようになっている。
【０００８】
一方、デバイスとクライアントとがネットワークを介して通信するとき、ネットワークの外部から証明書を購入することなく、保証された証明書として使うことが第２の提案として提案されている（たとえば特許文献２参照）。この提案でデバイスは、生成された公開鍵と秘密鍵の対の中の公開鍵を含み、秘密鍵で署名されたルート証明書を記憶手段に記憶しておき、また、ルート証明書を上位認証局として含む証明書として作成し、作成した証明書を秘密鍵を用いて署名する証明書作成手段を用意しておく。そして、この証明書作成手段により作成された証明書をクライアントに送信する。また、クライアントは、前記した記憶手段に記憶されているルート証明書を記憶する他の記憶手段と、前記したデバイスから受け取った証明書の署名を公開鍵を用いて検証する検証手段を備えるようにしている。
【特許文献１】特開２０００−２４２４７０号公報（第００１８段落〜第００２０段落、図１、図２）
【特許文献２】特開２００５−００６０７６号公報（第００１２段落、図１、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のこのような提案によれば、まず、ＳＳＬ（Secure Sockets Layer）サーバ証明書の取得と配置がシステム運用者にとって手間となるという問題がある。従来では、サーバソフトウェアもしくは外部のソフトウェアによって秘密鍵と公開鍵のペアの生成とＣＳＲ（証明書要求）の作成を行い、システム運用者はＣＳＲファイルを認証局で受け取ってＳＳＬサーバ証明書の発行を行っている。発行されたＳＳＬサーバ証明書は、システム運用者がサーバソフトウェアにセットしなくてはならない。このため、システム運用者にとって各ステップを踏んでいくことが非常に手間となるという問題がある。
【００１０】
また、従来のこのような提案によれば、ＳＳＬサーバ証明書を発行する認証局の構築と運用がシステム運用者にとって手間となるという問題もあった。すなわち、システム運用者は、認証局構築を行うために鍵ペアの生成とＣＳＲ（証明書要求）の作成と、ＣＳＲを基にして自己署名証明書を発行してルート証明書を作成することが必要となる。また、認証局でＳＳＬサーバ証明書を発行するにはサーバソフトウェアからＣＳＲを受け取り、ＣＳＲを検証して証明書の発行を行わなければならない。これらの各ステップを踏んでいくことはシステム運用者にとって手間となるのである。
【００１１】
そこで本発明の目的は、ＳＳＬサーバ証明書の発行に際してシステム運用者のシステム構築と運用の手間を削減することのできるサーバ装置およびＳＳＬサーバ証明書発行プログラムを提供することにある。
【００１２】
本発明の他の目的は、セキュアな通信経路をより効率よく構築することが可能なサーバ装置およＳＳＬサーバ証明書発行プログラムを提供することにある。
【課題を解決するための手段】
【００１３】
請求項１記載の発明では、（イ）電子的な証明書を使用してデータを暗号化して通信する際の秘密鍵と公開鍵の対を生成する鍵生成手段と、（ロ）ユニークな値を使用して証明書を発行される者の名称としてのサブジェクト名を設定する証明書サブジェクト名設定手段と、（ハ）この証明書サブジェクト名設定手段で設定した証明書のサブジェクト名を用いて証明書要求（ＣＳＲ）を生成する証明書要求生成手段と、（ニ）この証明書要求生成手段によって生成した証明書要求を自装置に構築した認証局に送付してサーバ証明書の発行を要求するサーバ証明書発行要求手段と、（ホ）このサーバ証明書発行要求手段の要求に基づいて認証局がサーバ証明書を発行したときこれを受け取って鍵生成手段の設定した秘密鍵および公開鍵と対応付ける設定を行うサーバ証明書設定手段とをサーバ装置に具備させる。
【００１４】
すなわち本発明では、証明書サブジェクト名設定手段で装置名とこれに必要に応じて乱数を使用したユニークな値を使用することでサブジェクト名を設定し、これを用いて証明書要求（ＣＳＲ）を生成することにしている。そして、この証明書要求を自装置に構築した認証局に送付してサーバ証明書の発行を要求し、認証局がサーバ証明書を発行したときこれを受け取って鍵生成手段の設定した秘密鍵および公開鍵と対応付ける設定を行うことにしている。これにより、システム運用者の手間を掛けずにＳＳＬサーバ証明書の発行が可能になる。
【００１５】
請求項６記載の発明では、サーバ装置のコンピュータに、ＳＳＬサーバ証明書発行プログラムとして、（イ）電子的な証明書を使用してデータを暗号化して通信する際の秘密鍵と公開鍵の対を生成する鍵生成処理と、（ロ）ユニークな値を使用して証明書を発行される者の名称としてのサブジェクト名を設定する証明書サブジェクト名設定処理と、（ハ）この証明書サブジェクト名設定処理で設定した証明書のサブジェクト名を用いて証明書要求（ＣＳＲ）を生成する証明書要求生成処理と、（ニ）この証明書要求生成処理によって生成した証明書要求を自装置内に構築した認証局に送付してサーバ証明書の発行を要求するサーバ証明書発行要求処理と、（ホ）このサーバ証明書発行要求処理での要求に基づいて認証局がサーバ証明書を発行したときこれを受け取って鍵生成処理で設定した秘密鍵および公開鍵と対応付ける設定を行うサーバ証明書設定処理とを実行させることを特徴としている。
【００１６】
すなわち本発明では、請求項１記載の発明と同一の技術思想をサーバ装置のＳＳＬサーバ証明書発行プログラムとしてコンピュータに実行させることにしている。
【発明の効果】
【００１７】
以上説明したように本発明によれば、サーバソフトウェアもしくは外部のソフトウェアによって鍵ペアの生成とＣＳＲ（証明書要求）の作成を行い、ＣＳＲファイルを認証局で受け取ってＳＳＬサーバ証明書の発行を行い、このＳＳＬサーバ証明書をサーバソフトウェアにセットするため、システム運用者の手間を軽減することができる。また、ＳＳＬサーバ証明書を発行する認証局を自装置内に構築するので、運用が簡素化されるという効果がある。
【発明を実施するための最良の形態】
【００１８】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００１９】
図１は、本発明の一実施例におけるＳＳＬサーバ証明書の自動発行を行うサーバ装置の構成を表わしたものである。ＳＳＬ（Secure Sockets Layer）サーバ証明書を自動発行するサーバ装置１００は、ＣＰＵ（Central Processing Unit）１０１と、このＣＰＵ１０１が実行する制御プログラムを格納した制御プログラム格納部１０２と、この制御プログラム格納部１０２に格納された制御プログラムを実行するときに各種のデータを一時的に格納する作業用メモリ１０３とから構成される基本ハードウェア部１０４を備えている。基本ハードウェア部１０４内のＣＰＵ１０１が制御プログラムを実行することで、サーバ装置１００は、サーバソフトウェアセットアップ装置１１０と、認証局装置１２０を機能的に実現するようになっている。
【００２０】
ここでサーバソフトウェアセットアップ装置１１０は、認証局構築装置１１１と、鍵ペア・ＣＳＲ（Certificate Signing Request：証明書要求）作成装置１１２およびＳＳＬサーバ証明書インストール装置１１３によって構成されている。また、認証局装置１２０は、ルートＣＡ（Certificate Authority）証明書１２１と、ルートＣＡ秘密鍵１２２、ＣＡ情報ファイル１２３、ＳＳＬサーバ証明書プロファイル１２４と、ＳＳＬサーバ証明書発行装置１２５によって構成されている。
【００２１】
サーバソフトウェアセットアップ装置１１０は、各種セットアップ処理でサーバの起動に必要な設定を行うステップＳ２０１の処理の最中に、認証局構築装置１１１を使用して、認証局装置１２０を構築する（ステップＳ２０２）ようになっている。認証局装置１２０を構築したら、認証局構築装置１１１から鍵ペア・ＣＳＲ作成装置１１２にその後の処理が移る（ステップＳ２０３）。
【００２２】
鍵ペア・ＣＳＲ作成装置１１２は、ＳＳＬ通信を行うための鍵ペアとＣＳＲ（証明書要求）を作成する。そして、このうちのＣＳＲ（証明書要求）を、認証局装置１２０のＳＳＬサーバ証明書発行装置１２５が読み込んで（ステップＳ２０４）、ＳＳＬサーバ証明書を発行する。この発行したＳＳＬサーバ証明書は、ステップＳ２０５で示すようにサーバソフトウェアセットアップ装置１１０内のＳＳＬサーバ証明書インストール装置１１３に送られる。
【００２３】
ＳＳＬサーバ証明書インストール装置１１３は、サーバソフトウェアがＳＳＬによりセキュアな通信を実現できるように、サーバ証明書と秘密鍵の配置を行う。この後、ステップＳ２０６に示すようにサーバソフトウェアセットアップ装置１１０で各種セットアップ処理が引き継がれる。
【００２４】
ところで、認証局装置１２０は、ルートＣＡ証明書１２１等の各種のファイルを生成し、ＳＳＬサーバ証明書発行装置１２５に必要な認証局構成ファイルとして配置するようになっている。
【００２５】
図２は、認証局についての自動構築処理の様子を表わしたものである。図１と共に説明する。この自動構築処理では、まず鍵ペアの生成を最初に行う（ステップＳ２２１）。生成された鍵は長期にわたり使用する。このため、安全性が高いＲＳＡ（Rivest、Shamir、Adelman）方式による２０４８ビットの暗号処理のアルゴリズムや、ＥＣＤＳＡ（Elliptic Curve Digital Signature Algorithm）と呼ばれる２５６ビットの円曲線暗号による電子署名のアルゴリズムといった暗号アルゴリズムと鍵長を使用する。
【００２６】
生成した秘密鍵は、暗号化してファイルに保存しなければならない。暗号化する際のパスワードは、認証局構築装置１１１に埋め込まれた値やＯＳ（Operating System）のシリアル番号等のデータを要約関数を使用してハッシュ（hash）化して、ＳＳＬサーバ証明書発行装置１２５の内部で同じパスワードの生成が可能であるようにする。
【００２７】
次のステップＳ２２２では、マシン名を取得する。そして、ルートＣＡ証明書１２１のサブジェクト（認証対象）にサーバのマシン名をユニークな値として加えて決定する。また、図示しない乱数発生手段を使用してランダム文字列を生成して、同じマシンでもセットアップするサーバが違うとユニークなサブジェクトになる仕組みとする。
【００２８】
以上のようにしてサブジェクトと公開鍵、秘密鍵が揃ったので、サーバソフトウェアセットアップ装置１１０は次のステップＳ２２３でこれらの情報を認証局装置１２０内のＳＳＬサーバ証明書発行装置１２５に送って自己署名証明書を発行させる。ここで自己署名証明書とは認証局装置１２０が自身を証明するために発行する証明書である。
【００２９】
自己署名証明書の期限は１０〜２０年とする。公開鍵証明書の規格のＩＴＵ（International Telecommunication Union）やＩＳＯ（International Organization for Standardization）で標準化されたＸ．５０９では、オプションとして拡張情報を設定することができる。拡張情報には、標準設定として基本制約（Basic Constraints）、鍵用途（Key Usage）、サブジェクト鍵識別子（Subject Key Identifier）、認証局識別子（Authority Key Identifier）を含める。
【００３０】
ここで基本制約とは、サブジェクトがＣＡ（証明書の発行者）かどうかの情報や、証明書を検証するための階層の最大値の情報をいう。鍵用途とは、証明書に含まれている公開鍵の利用目的を示している。サブジェクト鍵識別子とは、サブジェクトが持っているそれぞれの公開鍵を識別するために使用する情報である。認証局識別子とは、証明書に署名した秘密鍵と一致する公開鍵を識別するために使用する情報である。これらの拡張情報は自動的に設定される。ＳＳＬサーバ証明書発行装置１２５の発行するこの自己署名証明書は、ルートＣＡ証明書１２１として使用する。
【００３１】
最後のステップＳ２２４では、運用に必要なＣＡの設定を行い、ＣＡ情報ファイル１２３を生成する。また、ＳＳＬサーバ証明書向けのＳＳＬサーバ証明書プロファイル１２４も生成して認証局の構築を完了する（エンド）。
【００３２】
図３は、鍵ペア・ＣＳＲ作成装置によるＳＳＬサーバ証明書向けの鍵ペア生成とＣＳＲ作成の処理の様子を表わしたものである。この場合にも鍵ペアの生成が最初に行われる（ステップＳ２４１）。一定期間同じ鍵ペアを使用するため、安全性を考えて前記したＲＳＡ方式による１０２４〜２０４８ビットの暗号処理のアルゴリズムと鍵長を使用する。他の暗号処理のアルゴリズムの採用も可能であるが、現状の多くのＳＳＬ実装では、暗号アルゴリズムはＲＳＡ方式が主流である。
【００３３】
秘密鍵は暗号化する必要がある。暗号化する際のパスワードは、図１に示した認証局構築装置１１１やＯＳのシリアル番号等のデータをハッシュ化して、ＳＳＬサーバ証明書発行装置１２５の内部で同じパスワードの生成が可能であるようにする。
【００３４】
次のステップＳ２４２では、マシン名を取得して、ＳＳＬサーバ証明書のサブジェクトを決定する。ここでＳＳＬサーバ証明書のサブジェクトは任意とする。基本的にはランダム文字列を生成して、ＣＳＲ（証明書要求）にはユニークなサブジェクトを設定する。なお、サーバ証明書にサーバ名が必要な場合は、サブジェクトの共通名（ＣＮ）にサーバ名称もしくはＩＰアドレス（Internet Protocol address）を設定する。
【００３５】
最後のステップＳ２４３では、ＣＳＲを作成して、ファイルに出力する（エンド）。
【００３６】
図４は、ＳＳＬサーバ証明書発行装置における証明書の発行業務の手順を表わしたものである。図１と共に説明する。認証局装置１２０内のＳＳＬサーバ証明書発行装置１２５は、ステップＳ２６１でルートＣＡ秘密鍵１２２の読み込みを行う。このルートＣＡ秘密鍵１２２を復号する際に使用するパスワードは、ＳＳＬサーバ証明書発行装置１２５に埋め込まれた値やＯＳのシリアル番号等のデータをハッシュ化して、認証局構築装置１１１で生成したものと同じものを使用する。
【００３７】
次のステップＳ２６２では、ＣＡ運用に必要なルートＣＡ証明書１２１、ＣＡ情報ファイル１２３およびＳＳＬサーバ証明書プロファイル１２４の読み込みを行う。
【００３８】
次のステップＳ２６３では、図３のステップＳ２４３で作成されたＣＳＲを読み込んで、署名の検証を行う。
【００３９】
次のステップＳ２６４では、ＳＳＬサーバ証明書を発行する。発行済み証明書はファイルとして出力する。
【００４０】
最後に、ステップＳ２６５で、ステップＳ２６２で読み込んだ管理情報であるＣＡ情報ファイル１２３を更新して終了する（エンド）。
【００４１】
図５は、ＳＳＬサーバ証明書インストール装置によるインストールの処理を表わしたものである。図１に示したサーバソフトウェアセットアップ装置１１０内のＳＳＬサーバ証明書インストール装置１１３は、まず、ルートＣＡ証明書１２１をトラストアンカ（信頼するＣＡ証明書）として設定する（ステップＳ２８１）。
【００４２】
次のステップＳ２８２では、図４のステップＳ２６４で発行したＳＳＬサーバ証明書を暗号通信用のＳＳＬサーバ証明書として設定する。
【００４３】
そして、最後のステップＳ２８３では図３のステップＳ２４１で生成した秘密鍵を暗号通信用のＳＳＬサーバ秘密鍵として設定して、処理を終了する（エンド）。
【００４４】
なお、実施例で説明したサーバ装置１００は、ＳＳＬサーバ証明書発行装置１２５で発行したＳＳＬサーバ証明書が誤発行されたり、失効したときこれらのＳＳＬサーバ証明書のリストの管理を行うＣＲＬ（Certificate Revocation List）管理部を備えていてもよい。サーバ装置１００内の認証局装置１２０がこれらの最新のリストを定期的に発行することで、他の装置はＳＳＬサーバ証明書が有効であるかを確認することができる。
【００４５】
以上説明したように本実施例では、サーバソフトウェアもしくは外部のソフトウェアを使用して鍵ペアの生成とＣＳＲ（証明書要求）の作成を行う。そして、ＣＳＲファイルを認証局装置１２０で受け取って、図４のステップ２６４でＳＳＬサーバ証明書の発行を行っている。そしてこのＳＳＬサーバ証明書をサーバソフトウェアにセットする。このため、システム運用者の手間を軽減することができ、ＳＳＬサーバ証明書の取得と配置が簡素化されるという効果がある。
【００４６】
また、一般に、認証局装置１２０の構築には、鍵ペアの生成とＣＳＲ（証明書要求）の作成、およびＣＳＲを基にして自己署名証明書を発行してルート証明書を作成することが必要である。更に、この認証局装置１２０でＳＳＬサーバ証明書を発行するにはサーバソフトウェアからＣＳＲを受け取り、ＣＳＲを検証して証明書の発行を行わなければならない。本実施例では、これらの各ステップを自動化しているので、システム運用者の手間を軽減することができる。したがって、ＳＳＬサーバ証明書を発行する認証局装置１２０の構築と運用が簡素化されるという効果がある。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施例におけるサーバ装置の構成を表わしたブロック図である。
【図２】本実施例で認証局についての自動構築処理の様子を表わした流れ図である。
【図３】本実施例で鍵ペア・ＣＳＲ作成装置によるＳＳＬサーバ証明書向けの鍵ペア生成とＣＳＲ作成の処理を表わした流れ図である。
【図４】本実施例でＳＳＬサーバ証明書発行装置における認証局の証明書の発行業務の手順を表わした流れ図である。
【図５】本実施例でＳＳＬサーバ証明書インストール装置によるインストールの様子を表わした流れ図である。
【図６】従来技術としての第１の提案の概要を表わしたブロック図である。
【符号の説明】
【００４８】
１００  サーバ装置
１０１  ＣＰＵ
１０２  制御プログラム格納部
１１０  サーバソフトウェアセットアップ装置
１１１  認証局構築装置
１１２  鍵ペア・ＣＳＲ作成装置
１１３  ＳＳＬサーバ証明書インストール装置
１２０  認証局装置
１２５  ＳＳＬサーバ証明書発行装置
【図１】
2008252219.tif 000003
【図２】
2008252219.tif 000004
【図３】
2008252219.tif 000005
【図４】
2008252219.tif 000006
【図５】
2008252219.tif 000007
【図６】
2008252219.tif 000008