(57)【要約】【課題】複雑な処理を行うことなく高速に処理できる暗号化処理方法を提供する。【解決手段】少なくとも１０進数の数値を含む平文における上記１０進数の数値を１６進数に変換して２桁以上の桁数の１６進数の数値に圧縮する圧縮ステップと、上記１６進数の数値について、所定の規則により２桁ずつを抽出して第１コードを生成する第１コード生成ステップと、生成した第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換するコード変換ステップと、上記第２コードを、暗号文の少なくとも一部とするよう所定の並び順で配列する配列ステップとをコンピュータ装置により実行する。【選択図】図８
2007139919.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１０進数の数値を含む平文における上記１０進数の数値を１６進数に変換して２桁以上の桁数の１６進数の数値に圧縮する圧縮ステップと、
上記１６進数の数値について、所定の規則により２桁ずつを抽出して第１コードを生成する第１コード生成ステップと、
生成した第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換するコード変換ステップと、
上記第２コードを、暗号文の少なくとも一部とするよう所定の並び順で配列する配列ステップとをコンピュータ装置により実行することを特徴とする暗号化処理方法。
【請求項２】
行・列にそれぞれ１６進数の基数が割り当てられたテーブルにおいて、全セルを複数のセル群に区分して各セル群に上記第２コードの一方の１桁を構成する群コードが付与され、各セル群には、上記第２コードの他方の１桁を構成する相互に重複しない字群から選ばれた１字がそれぞれ割り当てられた鍵テーブルを準備し、
上記変換ステップは、上記鍵テーブルに基づいて、生成された第１コードの上位桁と下位桁をそれぞれ構成する基数を上記テーブルの行と列に割り当てられた基数と対応させ、基数が一致する行と列から特定されるセルに割り当てられた１字と、当該セルが属するセル群の群コードとを組み合わせて第２コードを生成する請求項１記載の暗号化処理方法。
【請求項３】
上記１０進数の数値に文字および／または文字列を組み合わせて平文とし、
上記第２コードの一方の１桁を構成する群コードとして１桁の数字を用いるとともに、
上記平文中の文字および／または文字列を所定のアルゴリズムにより他の文字および／または文字列に変換する請求項１または２記載の暗号化処理方法。
【請求項４】
少なくとも１０進数の数値を含む平文における上記１０進数の数値を１６進数に変換して２桁以上の桁数の１６進数の数値に圧縮する圧縮ステップと、
上記１６進数の数値について、所定の規則により２桁ずつを抽出して第１コードを生成する第１コード生成ステップと、
生成した第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換するコード変換ステップと、
上記第２コードを、暗号文の少なくとも一部とするよう所定の並び順で配列する配列ステップとをコンピュータ装置に実行させることを特徴とする暗号化処理プログラム。
【請求項５】
コンピュータ装置によって暗号化処理を行う装置であって、
少なくとも１０進数の数値を含む平文における上記１０進数の数値を１６進数に変換して２桁以上の桁数の１６進数の数値に圧縮する圧縮手段と、
上記１６進数の数値について、所定の規則により２桁ずつを抽出して第１コードを生成する第１コード生成手段と、
生成した第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換するコード変換手段と、
上記第２コードを、暗号文の少なくとも一部とするよう所定の並び順で配列する配列手段とを備えたことを特徴とする暗号化処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複雑な処理を行うことなく高速に処理できる暗号化処理方法およびプログラムならびに装置に関する。
【背景技術】
【０００２】
近年、オンラインショッピングシステム等、インターネット等の通信回線を介して取引や業務を行うことが広く行われている。このようなオンラインショッピングシステム等の電子取引システムでは、顧客の個人情報をデータベースとして保有し、必要に応じて顧客に閲覧させたり更新させたりすることが行われる。
【０００３】
そして、データベースのセキュリティを確保する方法として、データベースのデータを暗号化する方法が開示されている（下記の特許文献１）。また、暗号化プログラムとしては、暗号化の鍵となるアルゴリズムに各種の工夫を凝らしたものが開示されている。（例えば、下記の特許文献２）
【特許文献１】特開２００１−１０１０５５号公報
【特許文献２】特開２００４−０２３２９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の方法では、データベースのデータそのものを暗号化するため、検索速度が大幅に低下するという問題がある。また、従来の鍵による暗号化では、鍵長が長いほど解読が困難になることから、セキュリティの高い暗号であればそれだけ処理が重くなる。
【０００５】
本発明は、このような事情に鑑みなされたもので、複雑な処理を行うことなく高速に処理できる暗号化処理方法およびプログラムならびに装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明の暗号化処理方法は、少なくとも１０進数の数値を含む平文における上記１０進数の数値を１６進数に変換して２桁以上の桁数の１６進数の数値に圧縮する圧縮ステップと、上記１６進数の数値について、所定の規則により２桁ずつを抽出して第１コードを生成する第１コード生成ステップと、生成した第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換するコード変換ステップと、上記第２コードを、暗号文の少なくとも一部とするよう所定の並び順で配列する配列ステップとをコンピュータ装置により実行することを要旨とする。
【０００７】
また、上記の目的を達成するために、本発明の暗号化処理プログラムは、少なくとも１０進数の数値を含む平文における上記１０進数の数値を１６進数に変換して２桁以上の桁数の１６進数の数値に圧縮する圧縮ステップと、上記１６進数の数値について、所定の規則により２桁ずつを抽出して第１コードを生成する第１コード生成ステップと、生成した第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換するコード変換ステップと、上記第２コードを、暗号文の少なくとも一部とするよう所定の並び順で配列する配列ステップとをコンピュータ装置に実行させることを要旨とする。
【０００８】
また、上記の目的を達成するために、本発明の暗号化処理装置は、コンピュータ装置によって暗号化処理を行う装置であって、少なくとも１０進数の数値を含む平文における上記１０進数の数値を１６進数に変換して２桁以上の桁数の１６進数の数値に圧縮する圧縮手段と、上記１６進数の数値について、所定の規則により２桁ずつを抽出して第１コードを生成する第１コード生成手段と、生成した第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換するコード変換手段と、上記第２コードを、暗号文の少なくとも一部とするよう所定の並び順で配列する配列手段とを備えたことを要旨とする。
【発明の効果】
【０００９】
すなわち、本発明によれば、平文に含まれる１０進数の数値を１６進数に変換し、上記１６進数の数値から所定の規則により２桁ずつを抽出して第１コードを生成し、上記第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換し、上記第２コードを暗号文の少なくとも一部とするよう所定の並び順で配列する。このようにすることにより、平文中の１０進数の数値を、コンピュータ装置が使用する１６進数を利用した比較的簡単なアルゴリズムで高いセキュリティを確保しながら容易に暗号化することができる。
【００１０】
本発明において、行・列にそれぞれ１６進数の基数が割り当てられたテーブルにおいて、全セルを複数のセル群に区分して各セル群に上記第２コードの一方の１桁を構成する群コードが付与され、各セル群には、上記第２コードの他方の１桁を構成する相互に重複しない字群から選ばれた１字がそれぞれ割り当てられた鍵テーブルを準備し、上記変換ステップは、上記鍵テーブルに基づいて、生成された第１コードの上位桁と下位桁をそれぞれ構成する基数を上記テーブルの行と列に割り当てられた基数と対応させ、基数が一致する行と列から特定されるセルに割り当てられた１字と、当該セルが属するセル群の群コードとを組み合わせて第２コードを生成する場合には、暗号化の鍵としてデータベースが使用するテーブルを利用した鍵テーブルを使用するため、比較的簡単なアルゴリズムで容易に暗号化することができる。しかも、鍵テーブルそのものは無限の亜種を簡単に作り出せることから、高いセキュリティを確保することができる。
【００１１】
本発明において、上記１０進数の数値に文字および／または文字列を組み合わせて平文とし、上記第２コードの一方の１桁を構成する群コードとして１桁の数字を用いるとともに、上記平文中の文字および／または文字列を所定のアルゴリズムにより他の文字および／または文字列に変換する場合には、１０進数の数値に文字や文字列を組み合わせた平文のうち、１０進数の数値の部分から生成する２桁の字からなる第２コードのうち１桁を数字とし、文字および／または文字列が他の文字および／または文字列に変換されるため、暗号文のうち、平文の１０進数の数値に由来する部分と、文字や文字列に由来する部分を容易に識別でき、それぞれの部分の復号化が可能となる。
【００１２】
本発明において、上記第１コード生成ステップにおいて、上記１６進数の数値について、連続する２桁ずつを抽出して第１コードを生成する場合には、暗号化のアルゴリズムが容易になり、より高速処理が可能となる。
【００１３】
本発明において、上記配列ステップにおいて、上記コード変換ステップにおいて変換された第２コードを、もとの１６進数の数値の最下位桁からの第１コードの並び順に対応する並び順で配列して暗号文の少なくとも一部とする場合には、暗号化のアルゴリズムが容易になり、より高速処理が可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態について説明する。
【００１５】
図１は、本発明の暗号化方法が適用される電子商取引システムを示すネットワーク構成を示す図である。このシステムにおいて、本発明の暗号化プログラムを実行して本発明の暗号化方法を実現し、本発明の暗号化装置として機能するものである。
【００１６】
ショップ用ウェブサーバ６と、上記ショップ用ウェブサーバ６に付設されたショップ用データベースサーバ７とを有するショップサーバシステム１を備えている。そして、この電子商取引システムは、インターネット２に接続された顧客の端末装置５において、インターネット２経由でショップ用ウェブサーバ６に接続して商品の購入処理ページを表示し、当該商品購入処理ページにおいて商品の購入を実現する。
【００１７】
上記ショップサーバシステム１は、インターネット２に接続され、同じくインターネット２に接続された端末装置５においてウェブページを閲覧可能としてショップでの購入処理を可能とするショップサイトが格納されたショップ用ウェブサーバ６と、上記ショップでの購入処理を可能とするに必要なデータが格納されて、上記ショップ用ウェブサーバ６におけるウェブページを構築するためのデータを提供するためのショップ用データベースサーバ７とを備えて構成されている。
【００１８】
上記ショップサーバシステム１を構成するショップ用ウェブサーバ６およびショップ用データベースサーバ７は、それぞれ通信インターフェースや大容量データ記憶装置などを備えたシステムであり、中央処理装置がハードディスク装置等の外部記憶装置に記録されたプログラムを読み出し、そのプログラムに従って処理を実行することにより後に述べるような種々の機能を実現する。
【００１９】
上記ショップ用ウェブサーバ６は、それぞれ情報通信ネットワーク（本実施形態ではインターネット２）に接続されている。このインターネット２には、ユーザが使用する端末装置５が接続されている。上記各端末装置５は、例えばパソコン等のコンピュータ装置である。
【００２０】
上記ショップ用データベースサーバ７は、この電子商取引システムにおける各ショップサイトが対象とする種々のデータが記録された複数のテーブルが格納され、各テーブルをデータベース検索することにより、必要なデータの抽出を行って、ショップ用ウェブサーバ６に対して供給するようになっている。
【００２１】
上記ショップ用データベースサーバ７は、図示しない他の業者用データベースサーバである物流用データベースサーバや、金融用データベースサーバとにより、イントラネット３が構成されている。そして、上記イントラネット３では、ショップ用データベースサーバ７におけるデータ更新に応じて、物流用データベースサーバおよび金融用データベースサーバにおける上記データ更新に対応したデータが更新されるように構成されている。
【００２２】
上記ショップ用ウェブサーバ６は、インターネット２を介してアクセスしてきた各端末装置５と、例えばＨＴＴＰ（HyperText Transfer Protocol）等のプロトコルに従ってデータ通信を行うことでＷＥＢ配信サーバとして機能する。すなわち、ショップ用ウェブサーバ６は、各端末装置５からの要求に応じて、ＨＴＭＬ（HyperText Markup Language）等のデジタル文書記述言語により記述された文書や画像を含むデータであるウェブページを当該端末装置５へ向けて送信する。
【００２３】
図２は、ショップサーバシステム１を示す機能ブロック図である。
【００２４】
上記ショップ用ウェブサーバ６には、固有のネットワークアドレス（ＵＲＬ）が与えられている。ユーザは、それぞれの端末装置５でこのＵＲＬを指定することにより、ショップ用ウェブサーバ６へアクセスすることができ、上記ＨＴＭＬ（HyperText Markup Language）等のデジタル文書記述言語により記述された文書や画像を含むデータをホームページによる閲覧をしうるようになっている。また、当該ホームページにおいて、必要に応じて文書・画像等のデータや選択入力操作を入力してショップ用ウェブサーバ６に対して送信し、意思決定情報をショップ用ウェブサーバ６に対して送信するようになっている。これらの詳細については後述する。
【００２５】
上記ショップ用ウェブサーバ６には、ショップに関する情報が記録されたショップマスタ１１と、ショップにおいて取り扱う商品に関する情報が記録された商品マスタ１０と、上記ショップマスタ１１および商品マスタ１０に記録された情報をデータベース検索するデータベース検索手段１５とを含むショップ用データベースサーバ７が付設されている。
【００２６】
上記ショップ用データベースサーバ７は、各種のデータが格納されたショップデータ格納部２３と、上記ショップデータ格納部２３に格納されたデータをデータベース検索して所定の情報を抽出等するデータベース検索手段１５とを備えている。
【００２７】
上記ショップデータ格納部２３は、当該ショップサーバシステム１においてウェブサイトを構築して１つのショップサイトの運用に必要なショップに関する情報が記録されたショップマスタ１１と、各ショップにおいて取り扱う商品に関する情報が記録された商品マスタ１０と、当該ショップサーバシステム１に構築されたショップサイトで商品購入処理を行う顧客に関する情報が記録された顧客マスタ１２と、当該ショップサイトで商品購入処理が行われた取引に関する情報が記録されたトランザクションが格納されるトランザクション格納部１３とを備えている。
【００２８】
上記ショップデータ格納部２３は、１つのショップの業務に必要なマスタテーブルおよびトランザクションテーブルが格納されており、このようなショップデータ格納部２３がショップの数だけ複数設けられている。具体的には、ショップ毎に異なるディレクトリで異なるファイル名が付与されて格納されている。
【００２９】
図３は、上記ショップ用データベースサーバ７に格納された各テーブルの一例を示す。
【００３０】
上記商品マスタ１０には、商品を識別するための商品コード、品名、価格、商品を業種でカテゴリ分けする際の大分類である業種カテゴリ、商品を商品の種類でカテゴリ分けする際の小分類である商品分類、当該商品を取り扱うショップのショップコード等の商品に関する情報が記録されている。
【００３１】
上記ショップマスタ１１には、取引者としてのショップを識別するための利用者コードとしてショップコード、ＩＤ、パスワード等ログインの際の認証の際に照会される認証情報、ショップの名称（店名）、住所、電話番号、ＦＡＸ番号、メールアドレス、ショップを業種でカテゴリ分けする際の大分類である業種カテゴリ等、ショップにおける業務に必要なショップに関する情報が記録されている。
【００３２】
上記顧客マスタ１２には、取引者としての顧客を識別するための利用者コードとして顧客コード、ＩＤ、パスワード等ログインの際の認証の際に照会される認証情報が記録されている。また、上記顧客マスタ１２には、それ以外に、顧客の氏名、住所、電話番号、ＦＡＸ番号、メールアドレス等の顧客に関する情報が記録されている。
【００３３】
トランザクション格納部１３には、トランザクションテーブルとして、ショップの業務におけるトランザクションデータが記録されたショップトランザクション９が格納されている。
【００３４】
上記ショップトランザクション９には、例えば、トランザクションデータとして、伝票Ｎｏ．、年月日、商品コード、数量、金額・・・等の商品取引に関するデータが記録されている。また、トランザクションデータとして、利用者コードとしての顧客コードとショップコードが記録されている。
【００３５】
そして、上記データベース検索手段１５は、上記商品マスタ１０、ショップマスタ１１、顧客マスタ１２、ショップトランザクション９にそれぞれ記録された情報をデータベース検索して所定の情報を抽出等する。
【００３６】
上記ショップデータ格納部２３は、ショップごとに独立して表領域が異なるよう複数設けられており、ショップごとに商品マスタ１０、ショップマスタ１１、顧客マスタ１２、ショップトランザクション９が設けられている。
【００３７】
上記データベース検索手段１５でデータベース検索された情報は、必要に応じてショップ用ウェブサーバ６に出力され、外部記憶装置等のテンプレート格納部１７に格納されたテンプレートとなるデータに対して、ショップ用データベースサーバ７から供給されたデータをはめ込んで、ウェブページ画面が生成される。
【００３８】
図２に戻って説明すると、上記ショップ用ウェブサーバ６は、上記ショップマスタ１１および／または商品マスタ１０をデータベース検索手段１５でデータベース検索することにより抽出された情報に基づいてコンテンツページであるウェブページを自動生成するウェブページ生成手段１６と、上記ウェブページを格納するショップサイト格納部２０とを備えている。
【００３９】
図４は、上記ショップサイト格納部２０の詳細を示す図である。
【００４０】
上記ショップ用ウェブサーバ６は、上記ウェブページ生成手段１６がウェブページを生成する際のテンプレートが格納されるテンプレート格納部１７を備え、上記ウェブページ生成手段１６は、テンプレート格納部１７に格納された所定のテンプレートファイルにデータベース検索手段１５で抽出されたデータを割り当てることにより自動的にウェブページを生成する。ここで、データベース検索手段１５でデータベース検索されるデータは、商品マスタ１０、ショップマスタ１１、顧客マスタ１２に記録されたデータであり、これらの情報が生成されるウェブページに掲載される。
【００４１】
上記ショップサイト格納部２０は、ＨＴＭＬファイル等の静的ファイルからなるウェブページを格納する静的ファイル格納部１８と、Ｊａｖａ（登録商標）やＡＳＰ（Active Server Pages）等による動的ファイルとして生成されたウェブページをキャッシュする動的ファイルキャッシュ部１９とを備えて構成されている。上記静的ファイル格納部１８は具体的には例えばＨＤＤ装置等であり、上記動的ファイルキャッシュ部１９は具体的には例えばメモリ装置等である。
【００４２】
また、上記静的ファイル格納部１８には、当該ショップホームページ４３をはじめ、あらかじめ設けられた既設ぺージと、上述したようにウェブページ生成手段１６で生成されたショップ詳細情報ページ４５、商品詳細情報ページ４６等の新設ページが格納される。上記商品詳細情報ページ４６は、例えば、商品１つにつき１ページ設けることができ、複数のページから構成されている。これらの既設ページや新設ページは、ＨＴＭＬ等のデジタル文書記述言語により記述された文書や画像を含む静的ファイルから構成されている。
【００４３】
上記動的ファイルキャッシュ部１９には、各ショップで取り扱っている商品の一覧を表示するショップ毎の取扱商品一覧ページ４７と、顧客が購入処理を行うための購入処理ページ４８がキャッシュされる。
【００４４】
上記ウェブページ生成手段１６は、上記ショップマスタ１１をデータベース検索手段１５でデータベース検索することにより抽出された情報に基づいて、コンテンツページとしてショップの情報が掲載されたショップ詳細情報ページ４５を生成する。ここで生成されたショップ詳細情報ページ４５は、ＵＲＬの一部となるファイル名が付与されて静的ファイル格納部１８に格納される。
【００４５】
また、上記ウェブページ生成手段１６は、上記商品マスタ１０をデータベース検索手段１５でデータベース検索することにより抽出された情報に基づいて、上記コンテンツページとして各商品の情報が掲載された商品詳細情報ページ４６を静的ファイルとして自動生成する。ここで生成された商品詳細情報ページ４６は、ＵＲＬの一部となるファイル名が付与されて静的ファイル格納部１８に格納される。
【００４６】
上記ウェブページ生成手段１６は、上記商品マスタ１０をデータベース検索手段１５でデータベース検索することにより抽出された情報に基づいて、コンテンツページとして当該ショップにおける取扱い商品の一覧を示す取扱商品一覧ページ４７を動的ファイルとして自動生成する。上記取扱商品一覧ページ４７は、上記ショップ詳細情報ページ４５に設けられたリンクへの操作入力をトリガーとして生成される。あるいは、ショップホームページ４３におけるカテゴリ分類の選択や、検索手段による絞り込みをトリガーとして生成される。ここで生成された動的ファイルである取扱商品一覧ページ４７は、動的ファイルキャッシュ部１９にキャッシュされる。
【００４７】
上記ウェブページ生成手段１６は、上記商品詳細情報ページ４６に設けられたリンクへの操作入力をトリガーとして購入処理ページ４８を動的ファイルとして自動生成する。この購入処理ページ４８は、上記商品詳細情報ページ４６を見た顧客が実際にその商品を購入するための処理を行うページである。ここで生成された動的ファイルである購入処理ページ４８は、動的ファイルキャッシュ部１９にキャッシュされる。
【００４８】
また、上記ウェブページ生成手段１６は、端末装置５からのアクセスにより、マイページ４４を動的ファイルとして自動生成する。このマイページ４４は、顧客が操作する端末装置５からの要求により、顧客マスタ１２に格納された顧客情報を端末装置５に表示して顧客情報の閲覧および更新を可能とするページである。このマイページ４４は、ショップが操作する端末装置５からの要求により、ショップマスタ１１に格納されたショップ情報を端末装置５に表示してショップ情報の閲覧および更新を可能とするページである。
【００４９】
上記ショップサイト格納部２０は１つのショップサイトを格納するものであり、このようなショップサイト格納部２０はショップの数だけ複数設けられている。具体的には、ショップごとに異なるディレクトリで異なるファイルとして格納またはキャッシュされている。
【００５０】
一方、上述したように、上記ショップデータ格納部２３は、１つのショップの業務に必要なマスタテーブルおよびトランザクションテーブルが格納されており、このようなショップデータ格納部２３がショップの数だけ複数設けられている。具体的には、ショップ毎に異なるディレクトリで異なるファイル名が付与されて格納されている。
【００５１】
そして、上記ウェブページ生成手段１６は、あるショップに係るショップデータ格納部２３をデータベース検索手段１５でデータベース検索することにより抽出された情報に基づいて、当該ショップのショップサイトを構成するウェブページを生成し、当該ショップに対応するショップサイト格納部２０に格納またはキャッシュする。
【００５２】
上記ウェブページ生成手段１６は、ショップサイト格納部２０に格納されるショップ詳細情報ページ４５や商品詳細情報ページ４６は、ショップデータ格納部２３のショップマスタ１１や商品マスタ１０に記録されたデータをデータベース検索手段１５で検索し、当該データに基づいてＨＴＭＬ等の静的ファイルを生成して所定のファイル名を付けてショップサイト格納部２０の静的ファイル格納部１８に格納する。
【００５３】
このとき、対応するショップデータ格納部２３とショップサイト格納部２０とは、例えばそれぞれのファイル名で関連付けることが行われ、データベース検索手段１５で検索したショップデータ格納部２３のファイル名に基づいて、ウェブページ生成手段１６で生成した静的ファイルのウェブページを格納すべきショップサイト格納部２０を決定する。
【００５４】
上記ウェブページ生成手段１６は、ショップサイト格納部２０に格納される購入処理ページ４８やショップ毎の取扱商品一覧ページ４７は、ショップデータ格納部２３のショップマスタ１１や商品マスタ１０に記録されたデータをデータベース検索手段１５で検索し、当該データに基づいて動的ファイルを生成して所定のファイル名を付けてショップサイト格納部２０の動的ファイルキャッシュ部１９にキャッシュする。
【００５５】
このとき、対応するショップデータ格納部２３とショップサイト格納部２０とは、例えばそれぞれのファイル名で関連付けることが行われ、データベース検索手段１５で検索したショップデータ格納部２３のファイル名に基づいて、ウェブページ生成手段１６で生成した動的ファイルのディレクトリを決定する。
【００５６】
そして、上記ショップ用データベースサーバ７におけるショップデータ格納部２３および、ショップ用ウェブサーバ６におけるショップサイト格納部２０を、ショップが増加するごとに増設しうるように構成されている。すなわち、既存のショップと異なるディレクトリおよびファイル名でショップデータ格納部２３およびショップサイト格納部２０それぞれの領域を確保すればよいのである。
【００５７】
ここで、上記ウェブページ生成手段１６は、各ショップごとのコンテンツページおよび購入処理ページの表示設定を変更可能に構成されている。具体的には、上記ウェブページ生成手段１６は、生成するウェブページのデザインを複数のテンプレートから選択し、フレームデザイン、色彩、構図、操作ボタンの種類や位置等の変更設定が可能となっている。これにより、ショップごとに所望のデザインにカスタマイズすることが可能となる。
【００５８】
ショップが端末装置５に表示される設定画面で選択した設定をショップごとに記憶しておき、ウェブページ生成手段１６は、データベース検索手段１５で検索したショップデータ格納部２３のショップに対応した設定を読み出してウェブページを生成し、対応するショップサイト格納部２０に格納またはキャッシュする。
【００５９】
上記ショップ用ウェブサーバ６は、上記静的ファイル格納部１８に格納されたＨＴＭＬファイル等の静的ファイル、動的ファイルキャッシュ部１９に格納された動的ファイルを各端末装置５のブラウザ等において表示可能に制御するとともに、各端末装置５に表示された画面で入力され送信されたデータを受け付ける受信制御等を行う表示制御手段２１を備えている。
【００６０】
上記ショップ用ウェブサーバ６は、上記ショップ用データベースサーバ７、静的ファイル格納部１８、動的ファイルキャッシュ部１９、表示制御手段２１等に対するデータ処理を始めとして、本発明の各種機能を実現する動作をつかさどるデータ処理手段２２を備えている。このデータ処理手段２２は、アクセスされた端末装置５に表示されたウェブページ上において、各種の操作・処理を可能とする。
【００６１】
また、上記ショップ用ウェブサーバ６は、当該ショップ用ウェブサーバ６に対してアクセスしてきた端末装置５に対してＩＤやパスワードの入力を促してログイン認証を行う認証手段２５を備えている。この認証手段２５で認証された端末装置５に対してのみトランザクションデータの閲覧や更新処理等の各種データ処理が許可される。
【００６２】
そして、ショップ用ウェブサーバ６においてログイン認証された端末装置５に対して、ショップ用データベースサーバ７に対してデータベース検索を行って検索されたデータを含むウェブページの表示を許可するように構成されている。そして、ショップ用ウェブサーバ６においてログイン認証された端末装置５において、ショップ用データベースサーバ７でのトランザクションデータやマスタデータのデータ処理を許可するようになっている。
【００６３】
本実施形態では、このようなデータ処理の一形態として、顧客またはショップが操作する端末装置５からの要求によりマイページ４４を表示し、マイページ４４において、データベース検索手段１５で顧客マスタ１２またはショップマスタ１１を検索されたデータの更新等を許可することが行われる。
【００６４】
そのため、上記ショップ用ウェブサーバ６には、暗号化処理手段２７を備えている。そして、上記暗号化処理手段２７は、暗号化部２８と復号化部２９とを備えている。
【００６５】
上記暗号化部２８では、１０進数の数値と文字または文字列からなる平文が、文字または文字列部分と数値部分とに分解され、文字または文字列部分は他の文字または文字列に変換する文字変換を行うとともに、１０進数の数値部分は所定のアルゴリズムにより２桁の字からなる複数の第２コードに変換し、上記文字変換された文字または文字列と第２コードを配列して暗号文とする暗号化が行われる。
【００６６】
一方、上記復号化部２８では、上記暗号化の反対の処理が行われ、暗号文を文字由来部分と数値由来部分とに分解し、文字由来部分は元の文字または文字列に復元されるととにも、数値由来部分は元の１０進数の数値に復元されて元の平文とする復号化が行われる。
【００６７】
図５は、上記暗号化部２８を示すブロック図である。
【００６８】
上記暗号化部２８は、１０進数の数値に文字および／または文字列を組み合わせてなる平文を、数値部分と文字部分に分解する第１分解手段３０と、上記文字部分を所定のアルゴリズムにより他の文字および／または文字列に変換する文字変換手段３１と、上記１０進数の数値を１６進数に変換して２桁以上の桁数の１６進数の数値に圧縮する圧縮手段３２と、上記１６進数の数値について所定の規則により２桁ずつを抽出して第１コードを生成する第１コード生成手段３３と、生成された第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換するコード変換手段３４と、上記第２コードを暗号文の少なくとも一部とするよう、文字変換手段３１で変換された文字または文字列と第２コードとを所定の並び順で配列する第１配列手段３５とを備えている。
【００６９】
図６は、上記復号化部２９を示すブロック図である。
【００７０】
上記復号化部２９は、暗号文を文字由来部分と数値由来部分とに分解する第２分解手段３６と、上記文字由来部分を元の文字または文字列に復元する文字復元手段３７と、上記数値由来部分から第２コードを復元する第２コード復元手段３８と、復元された第２コードから第１コードを復元するとともに、さらにそこから１６進数の数値を復元する第１コード復元手段３９と、復元された１６進数の数値を１０進数に復元する解凍手段４０と、文字復元手段３７で復元された文字または文字列と１０進数の数値とを配列して元の平文とする第２配列手段４１とを備えている。
【００７１】
そして、この実施形態では、顧客マスタ１２およびショップマスタ１１の主キーとなるショップコードおよび顧客コードを本発明の暗号化方法で暗号化して暗号文とし、上記暗号文を顧客またはショップが操作する端末装置５にあらかじめ送信して記憶させておき、顧客情報やショップ情報をマイページ４４として端末装置５に表示してデータ更新の許可等をするにあたって、端末装置５から上記暗号文を受信して復号化し、復号化したショップコードおよび顧客コードに基づいてデータベース検索手段１５で顧客マスタ１２またはショップマスタ１１を検索することが行われる。
【００７２】
このようにすることにより、ショップコードおよび顧客コードを暗号化してアクセス許可キーとして使用することにより、データベースのデータそのものを暗号化する必要が無くなるため、データベース検索を高速に行うことができる。
【００７３】
また、顧客マスタ１２の主キーとなる顧客コードを本発明の暗号化方法で暗号化して暗号文とし、上記暗号文を顧客が操作する端末装置５にあらかじめ送信して記憶させておき、顧客が端末装置５によって本システムにアクセスして購入処理ページ４８を表示して、所望のショップサイトにおいて所望の商品の購入処理を行う場合、購買処理を行ったときに、顧客が保有する顧客コードの暗号文を復号化するとともに、当該購買に係るショップのショップコードおよび商品の商品コードをデータベース検索手段１５を介して読み出し、復号化した顧客コードと読み出した商品コード・ショップコードを繋いで連続した文字列とし、これを平文として暗号化し、当該購入処理に係るトランザクションのトランザクションデータとして記録することが行われる。
【００７４】
このようにすることにより、当該トランザクションデータにおいて、どの顧客がどのショップでどの商品について購入処理を行ったかのデータを暗号化して短縮した状態で保有することができる。
【００７５】
つぎに、暗号化方法の具体例について説明する。
【００７６】
図７は、上記暗号化部２８で行われる暗号化処理の具体例を説明する図である。
【００７７】
この例では、顧客コードまたはショップコードである平文５６として、２文字のアルファベット文字と１０進数８桁の数値とを組み合わせたもの（アスキーコード）を用いた例を説明する。１０進数の数値部分５０は、この例では８桁の数値を適用したものを説明するが、これに限定するものではない。また、文字部分５１も、この例では２文字のアルファベット文字を適用したものを説明するが、これに限定するものではない。
【００７８】
また、上記平文５６としては、１０進数の数値部分５０の前および／または後ろに文字部分５１が結合されたものが好ましい。
【００７９】
図７（Ａ）に示すように、まず、第１分解手段３０により、上記平文５６を、文字部分５１と数値部分５０とに分解する。
【００８０】
図７（Ｂ）に示すように、上記文字部分５１の文字を所定のアルゴリズムにより他の文字または文字列に変換する。この例では、文字部分５１を構成する各文字を同じ文字２文字に変換する処理を行っており、文字部分５１「ＳＡ」のうち「Ｓ」を「ＳＳ」に変換し、「Ａ」を「ＡＡ」に変換している。したがって、変換後の文字列である文字由来コード５４は「ＳＳＡＡ」である。ここで、文字部分５１（この例では「ＳＡ」）と文字由来コード５４（この例では「ＳＳＡＡ」）はアスキーコードである。
【００８１】
図７（Ｃ）に示すように、上記数値部分５０の数値を１６進数に変換する圧縮ステップと、上記１６進数の数値から２桁ずつを抽出して第１コードを生成する第１コード生成ステップと、生成した第１コードを後述する鍵テーブルに基づいて２桁の字からなる第２コードに変換するコード変換ステップとを実行する。
【００８２】
この例では、１０進数の数値は「１２３４５６７８」であるから、圧縮ステップによって１６進数の数値「Ｅ４１６ＣＢ」に圧縮される。ここで、１０進数の数値（この例では「１２３４５６７８」）はアスキーコード、１６進数の数値（この例では「Ｅ４１６ＣＢ」）はバイナリコードである。
【００８３】
つぎに、第１コード生成ステップでは、１６進数の数値「Ｅ４１６ＣＢ」から、この例では、最下位桁または最上位桁から順に連続する２桁ずつを抽出して「Ｅ４」「１６」「ＣＢ」の複数（この例では３つ）の第１コード５２を生成する。これら第１コード５２（この例では「Ｅ４」「１６」「ＣＢ」）はバイナリコードである。
【００８４】
ついで、コード変換ステップでは、鍵テーブルに基づいて、生成された第１コード５２の上位桁と下位桁をそれぞれ構成する基数を上記テーブルの行と列に割り当てられた基数と対応させ、基数が一致する行と列から特定されるセルに割り当てられた１字と、当該セルが属するセル群の群コードとを組み合わせて第２コード５３を生成する。
【００８５】
この例では、上記第２コード５３は、上位桁を１桁の数字とし、下位桁を１桁の大文字アルファベットとする。上記上位桁の数字は後述する群コードであり、下位桁は上記群コードと関連付いた文字群から選ばれた１文字である。
【００８６】
図８は、鍵テーブルの一例を示す。
【００８７】
この鍵テーブルは、１６行×１６列のテーブルであり、各行・各列には、それぞれ１６進数の基数である「０」「１」「２」「３」「４」「５」「６」「７」「８」「９」「Ａ」「Ｂ」「Ｃ」「Ｄ」「Ｅ」「Ｆ」が割り当てられている。したがって、２桁の１６進数の数値によって鍵テーブルのセルが１つ特定されることになる。この例では、２桁の１６進数の数値のうち、上位桁（左側）の基数を列と対応させ、下位桁（右側）の基数を行と対応させる。
【００８８】
そして、全セルが複数（この例では５つ）のセル群に区分して各セル群に上記第２コードの一方の１桁を構成する群コードが付与されている。この例ではセル群は５つなので、群コードとして「１」「２」「３」「４」「５」がそれぞれ付与されている。
【００８９】
各セル群には、上記第２コード５３の他方の１桁を構成する相互に重複しない字群から選ばれた１字がそれぞれ割り当てられている。この例では、小文字アルファベットの「ａ〜ｚ」と大文字アルファベットの「Ａ〜Ｚ」の合計５２文字のうち一字がそれぞれ割り当てられている。この例では、セルは合計２５６なので、群コード１〜４のセル群は、上記５２文字に対応して５２のセルから構成され、群コード５のセル群は、上記５２文字より４少ない４８のセルから構成されている。
【００９０】
この例では、各セル群において、小文字アルファベットの「ａ〜ｚ」と大文字アルファベットの「Ａ〜Ｚ」が、最も左上のセルから右に向かって順に１文字ずつ割り当てられ、右端のセルまで埋まると、次ぎの行の左端のセルから右に向かって順に１文字ずつ割り当てられ、以下同様に繰り返される。
【００９１】
上述した鍵テーブルにおけるセル群の区分や各セル群に当てはめる文字はあくまで一例を示したものであり、セル群の区分の仕方や各セル群に当てはめる文字の順序・種類等を適宜変更することにより、鍵テーブルとして無限の亜種を生成することができる。
【００９２】
このような鍵テーブルに基づいて、上記コード変換ステップは、生成された第１コード５２の上位桁と下位桁をそれぞれ構成する基数を上記鍵テーブルの行と列に割り当てられた基数と対応させ、基数が一致する行と列から特定されるセルに割り当てられた１字と、当該セルが属するセル群の群コードとを組み合わせて第２コード５３を生成する。
【００９３】
この例では、３つの第１コード５２として「Ｅ４」「１６」「ＣＢ」が抽出されている。「Ｅ４」は、上位桁が「Ｅ」、下位桁が「４」なので、上記鍵テーブルの「Ｅ」に対応する列と、「４」に対応する行から特定されるセルは、群コード「２」の「Ａ」である。したがって、第１コード５２「Ｅ４」は第２コード５３「２Ａ」に変換される。
【００９４】
同様に、「１６」は、上位桁が「１」、下位桁が「６」なので、上記鍵テーブルの「１」に対応する列と、「６」に対応する行から特定されるセルは、群コード「２」の「Ｔ」であり、第１コード５２「１６」は第２コード５３「２Ｔ」に変換される。また、「ＣＢ」は、上位桁が「Ｃ」、下位桁が「Ｂ」なので、上記鍵テーブルの「Ｃ」に対応する列と、「Ｂ」に対応する行から特定されるセルは、群コード「４」の「Ｇ」であり、第１コード５２「ＣＢ」は第２コード５３「４Ｇ」に変換される。
【００９５】
ここで、上記第２コード５３（この例では「２Ａ」「２Ｔ」「４Ｇ」）はバイナリコードである。
【００９６】
そして、上記のようにして生成した複数の第２コード５３を、暗号文の少なくとも一部とするよう所定の並び順で配列する。この例では、上記コード変換ステップにおいて変換された第２コード５３を、もとの１６進数の数値の最下位桁からの第１コード５２の並び順に対応する並び順で配列し、「２Ａ２Ｔ４Ｇ」の数値由来コード５５を生成する。ここで、上記数値由来コード５５（この例では「２Ａ２Ｔ４Ｇ」）はアスキーコードである。
【００９７】
図７（Ｄ）に示すように、上記文字変換ステップで変換された文字由来コード５４「ＳＳＡＡ」と数値由来コード５５「２Ａ２Ｔ４Ｇ」を結合して暗号文５７「ＳＳＡＡ２Ａ２Ｔ４Ｇ」を得る。ここで、上記暗号文５７（この例では「ＳＳＡＡ２Ａ２Ｔ４Ｇ」）はアスキーコードである。
【００９８】
図９は、上記復号化部２９で行われる復号化処理の具体例を説明する図である。
【００９９】
図９（Ａ）に示すように、第２分解手段３６により、暗号文５７「ＳＳＡＡ２Ａ２Ｔ４Ｇ」を、文字由来部分である文字由来コード５４と、数値由来部分である数値由来コード５５に分解する。
【０１００】
このとき、暗号文５７「ＳＳＡＡ２Ａ２Ｔ４Ｇ」を連続する２文字ずつに分解すると、「ＳＳ」「ＡＡ」「２Ａ」「２Ｔ」「４Ｇ」である。それぞれに着目すると、「ＳＳ」「ＡＡ」は、数値由来コード５５には必ず含まれる数値である群コードを含まないことから、「ＳＳＡＡ」が文字由来コード５４であることが識別される。また、「２Ａ」「２Ｔ」「４Ｇ」は、数値由来コード５５に必ず含まれる数値である群コードを含むことから、「２Ａ２Ｔ４Ｇ」が数値由来コード５５であることが識別される。
【０１０１】
図９（Ｂ）に示すように、文字由来コード５４を所定のアルゴリズムにより元の文字部分５１に復元する。この例では、文字由来コード５４「ＳＳＡＡ」は、文字部分５１を構成する各文字を同じ文字２文字に変換する処理で生成したことから、文字由来コード５４「ＳＳＡＡ」のうち「ＳＳ」を「Ｓ」に復元し、「ＡＡ」を「Ａ」に復元し、元の文字部分５１「ＳＡ」に復元する。
【０１０２】
図９（Ｃ）に示すように、数値由来コード５５を、上記鍵テーブルに基づいて数値部分５０に復元する。この例では、まず、数値由来コード５５「２Ａ２Ｔ４Ｇ」を連続する２文字ずつの第２コード５３に分解して「２Ａ」「２Ｔ」「４Ｇ」とする。
【０１０３】
第２コード復元ステップでは、上記各第２コード５３を、それぞれ２桁の１６進数である第１コード５２に復元する。例えば、第２コード５３「２Ａ」は、群コード「２」の「Ａ」のセルであることから、当該セルの列は「Ｅ」、行は「４」で特定されている。したがって、第２コード５３「２Ａ」は、第１コード「Ｅ４」に復元される。同様にして、第２コード５３「２Ｔ」は第１コード５２「１６」に、第２コード５３「４Ｇ」は第１コード５２「ＣＢ」に復元される。
【０１０４】
第１コード５２「Ｅ４」「１６」「ＣＢ」を、元の数値由来コード５５の並びと対応した並びに配列して１６進数６桁の数値「Ｅ４１６ＣＢ」が復元される。つぎに、上記１６進数６桁の数値「Ｅ４１６ＣＢ」を１０進数の数値「１２３４５６７８」に解凍して数値部分５０が復元される。
【０１０５】
そして、復元された文字部分５１と数値部分５０を組み合わせて平文５６「ＳＡ１２３４５６７８」が復元されるのである。
【０１０６】
以上のように、本発明によれば、平文に含まれる１０進数の数値を１６進数に変換し、上記１６進数の数値から所定の規則により２桁ずつを抽出して第１コードを生成し、上記第１コードをそれぞれ所定のアルゴリズムにより２桁の字からなる第２コードに変換し、上記第２コードを暗号文の少なくとも一部とするよう所定の並び順で配列する。このようにすることにより、平文中の１０進数の数値を、コンピュータ装置が使用する１６進数を利用した比較的簡単なアルゴリズムで高いセキュリティを確保しながら容易に暗号化することができる。
【０１０７】
また、行・列にそれぞれ１６進数の基数が割り当てられたテーブルにおいて、全セルを複数のセル群に区分して各セル群に上記第２コードの一方の１桁を構成する群コードが付与され、各セル群には、上記第２コードの他方の１桁を構成する相互に重複しない字群から選ばれた１字がそれぞれ割り当てられた鍵テーブルを準備し、上記変換ステップは、上記鍵テーブルに基づいて、生成された第１コードの上位桁と下位桁をそれぞれ構成する基数を上記テーブルの行と列に割り当てられた基数と対応させ、基数が一致する行と列から特定されるセルに割り当てられた１字と、当該セルが属するセル群の群コードとを組み合わせて第２コードを生成するため、暗号化の鍵としてデータベースが使用するテーブルを利用した鍵テーブルを使用するため、比較的簡単なアルゴリズムで容易に暗号化することができる。しかも、鍵テーブルそのものは無限の亜種を簡単に作り出せることから、高いセキュリティを確保することができる。
【０１０８】
また、上記１０進数の数値に文字および／または文字列を組み合わせて平文とし、上記第２コードの一方の１桁を構成する群コードとして１桁の数字を用いるとともに、上記平文中の文字および／または文字列を所定のアルゴリズムにより他の文字および／または文字列に変換するため、１０進数の数値に文字や文字列を組み合わせた平文のうち、１０進数の数値の部分から生成する２桁の字からなる第２コードのうち１桁を数字とし、文字および／または文字列が他の文字および／または文字列に変換されるため、暗号文のうち、平文の１０進数の数値に由来する部分と、文字や文字列に由来する部分を容易に識別でき、それぞれの部分の復号化が可能となる。
【０１０９】
また、上記第１コード生成ステップにおいて、上記１６進数の数値について、連続する２桁ずつを抽出して第１コードを生成するため、暗号化のアルゴリズムが容易になり、より高速処理が可能となる。
【０１１０】
また、上記配列ステップにおいて、上記コード変換ステップにおいて変換された第２コードを、もとの１６進数の数値の最下位桁からの第１コードの並び順に対応する並び順で配列して暗号文の少なくとも一部とするため、暗号化のアルゴリズムが容易になり、より高速処理が可能となる。
【０１１１】
なお、上記実施の形態では、文字変換ステップは、文字部分５１を構成する各文字を同じ文字２文字に変換する処理としたが、これに限定するものではなく、たとえば、アルファベットの並び順で１文字ずらせた文字に変換する等、各文字を所定のアルゴリズムで他の文字に変換するものであれば各種の処理を適用することができる。
【０１１２】
また、上記実施の形態では、第１コード生成ステップは、最下位桁または最上位桁から順に連続する２桁ずつを抽出して第１コード５２を生成したが、これに限定するものではなく、所定のアルゴリズムで重複することなく２文字の１６進数基数を抽出するものであれば各種の処理を適用することができる。
【０１１３】
また、上記実施の形態におけるコード変換ステップで例示した鍵テーブルは一例であり、各種の亜種を生成して使用することができる。
【０１１４】
また、上記実施の形態では、配列ステップにおいて、第２コード５３を、もとの１６進数の数値の最下位桁からの第１コード５２の並び順に対応する並び順で配列して数値由来コード５５を生成したが、これに限定するものではなく、各種の法則に従ったアルゴリズムで配列することができる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の暗号化方法が適用される電子商取引システムを示すネットワーク構成図である。
【図２】ショップサーバシステムの構成を示す機能ブロック図である。
【図３】データ格納部に格納されたテーブルを示す図である。
【図４】ショップサイト格納部の詳細を示すブロック図である。
【図５】暗号化手段の詳細を示すブロック図である。
【図６】復号化手段の詳細を示すブロック図である。
【図７】本発明の暗号化方法の具体的処理の一例を示す図である。
【図８】鍵テーブルの一例を示す図である。
【図９】本発明の復号化方法の具体的処理の一例を示す図である。
【符号の説明】
【０１１６】
１      ショップサーバシステム
２      インターネット
３      イントラネット
５      端末装置
６      ショップ用ウェブサーバ
７      ショップ用データベースサーバ
９      ショップトランザクション
１０      商品マスタ
１１      ショップマスタ
１２      顧客マスタ
１３      トランザクション格納部
１５      データベース検索手段
１６      ウェブページ生成手段
１７      テンプレート格納部
１８      静的ファイル格納部
１９      動的ファイルキャッシュ部
２０      ショップサイト格納部
２１      表示制御手段
２２      データ処理手段
２３      ショップデータ格納部
２５      認証手段
２７      暗号化処理手段
２８      暗号化部
２９      復号化部
３０      第１分解手段
３１      文字変換手段
３２      圧縮手段
３３      第１コード生成手段
３４      コード変換手段
３５      第１配列手段
３６      第２分解手段
３７      文字復元手段
３８      第２コード復元手段
３９      第１コード復元手段
４０      解凍手段
４１      第２配列手段
４３      ショップホームページ
４４      マイページ
４５      ショップ詳細情報ページ
４６      商品詳細情報ページ
４７      取扱商品一覧ページ
４８      購入処理ページ
５０      数値部分
５１      文字部分
５２      第１コード
５３      第２コード
５４      文字由来コード
５５      数値由来コード
５６      平文
５７      暗号文
【図１】
2007139919.tif 000003
【図２】
2007139919.tif 000004
【図３】
2007139919.tif 000005
【図４】
2007139919.tif 000006
【図５】
2007139919.tif 000007
【図６】
2007139919.tif 000008
【図７】
2007139919.tif 000009
【図８】
2007139919.tif 000010
【図９】
2007139919.tif 000011