(57)【要約】【課題】安全性の高いコンテンツデータ処理装置、コンテンツデータ処理方法、及びプログラムを提供する。【解決手段】セキュリティフォントデータｍｓ’と埋込値ｕ’との排他的論理和を算出して、元のアウトラインフォントデータと同一のアウトラインフォントデータｍ’を生成することにより、元のアウトラインフォントデータが示す文字の形状を復元する。判定値ｃとアウトラインフォントデータｍ’のハッシュ値ｈ’とを用いて、判別値ｃｐを算出する。そして、判別値ｃと判別値ｃｐとが合致するか否かを判別することにより、セキュリティフォントデータｍｓ’が偽造・改竄されていないか否かの認証を行う。【選択図】図９
2015019126.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツをベクトルデータで表す第１コンテンツデータと所定の埋込値との排他的論理和を算出することにより得られる第２コンテンツデータから、該第１コンテンツデータが示す前記コンテンツを復元するコンテンツデータ処理装置であって、
前記第２コンテンツデータと前記所定の埋込値との排他的論理和を算出することにより、前記第１コンテンツデータが示す前記コンテンツを復元する排他的論理和算出手段を備える、
ことを特徴とするコンテンツデータ処理装置。
【請求項２】
前記第２コンテンツデータの認証を行うコンテンツデータ認証手段をさらに備え、
前記所定の埋込値は、第１判別値と前記第１コンテンツデータのハッシュ値とを用いて求められ、
前記コンテンツデータ認証手段は、
前記排他的論理和算出手段によって算出した前記排他的論理和のハッシュ値を算出するハッシュ値算出手段と、
前記第１判別値と前記ハッシュ値算出手段によって算出した前記排他的論理和のハッシュ値とを用いて、第２判別値を算出する第２判別値算出手段と、
前記第１判別値と、前記第２判別値算出手段によって算出した前記第２判別値と、が合致するか否かを判別することにより、前記第２コンテンツデータの認証を行う合致判別手段と、
を含むことを特徴とする請求項１に記載のコンテンツデータ処理装置。
【請求項３】
前記第１判別値及び前記第１コンテンツデータとの排他的論理和が算出される前記所定の埋込値は、該第１判別値をｃ、該所定の埋込値をｕ、該第１コンテンツデータのハッシュ値をｈ、有限体上の楕円曲線ＥのベースポイントをＧ、ベースポイントＧの位数をｎ、所定の乱数値をｋ（１≦ｋ≦ｎ−１）、Ｖ＝ｋＧ＝（ｘｖ，ｙｖ）、秘密鍵をｄ（１≦ｄ≦ｎ−１）とした場合、以下の数１に従って求められ、
【数１】
2015019126.tif 000007
前記第２判別値算出手段は、前記第２コンテンツデータとの排他的論理和が算出される前記所定の埋込値ｕ’、前記排他的論理和のハッシュ値をｈ’、公開鍵をＱ＝ｄＧ、前記第２判別値をｃｐとした場合、以下の数２に従って、前記第２判別値を算出する、
【数２】
2015019126.tif 000008
ことを特徴とする請求項２に記載のコンテンツデータ処理装置。
【請求項４】
前記ベクトルデータは、前記コンテンツを構成する直線及び／又は曲線の制御点の座標値を含み、
前記第２コンテンツデータは、前記第１コンテンツデータと前記所定の埋込値との排他的論理和を算出して、前記ベクトルデータのうち前記制御点の座標値に該所定の埋込値を埋め込むことにより得られる、
ことを特徴とする請求項１乃至３のいずれか１項に記載のコンテンツデータ処理装置。
【請求項５】
前記ベクトルデータは、前記コンテンツを構成する直線及び／又は曲線の始点の座標値と終点の座標値とを含み、
前記第２コンテンツデータは、前記第１コンテンツデータと前記所定の埋込値との排他的論理和を算出して、前記ベクトルデータのうち前記始点の座標値と前記終点の座標値とに該所定の埋込値を埋め込むことにより得られる、
ことを特徴とする請求項１乃至４のいずれか１項に記載のコンテンツデータ処理装置。
【請求項６】
コンテンツをベクトルデータで表す第１コンテンツデータと所定の埋込値との排他的論理和を算出することにより得られる第２コンテンツデータから、該第１コンテンツデータが示す前記コンテンツを復元するコンテンツデータ処理方法であって、
前記第２コンテンツデータと前記所定の埋込値との排他的論理和を算出することにより、前記第１コンテンツデータが示す前記コンテンツを復元する排他的論理和算出ステップを備える、
ことを特徴とするコンテンツデータ処理方法。
【請求項７】
コンテンツをベクトルデータで表す第１コンテンツデータと所定の埋込値との排他的論理和を算出することにより得られる第２コンテンツデータから、該第１コンテンツデータが示す前記コンテンツを復元するコンテンツデータ処理装置のコンピュータに、
前記第２コンテンツデータと前記所定の埋込値との排他的論理和を算出することにより、前記第１コンテンツデータが示す前記コンテンツを復元する排他的論理和算出手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータ処理装置、コンテンツデータ処理方法、及びプログラムに関し、特に安全性の高いコンテンツデータ処理装置、コンテンツデータ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
フォントデータは、ビットマップフォントデータとアウトラインフォントデータとの２つに大別される。ビットマップフォントデータは、文字の形状を、小さな正方形の点（ドット）の集合で表し、所定数の格子（例えば縦３２個×横３２個）ですべての文字の形状を表現する。アウトラインフォントデータは、文字の形状を、基準となる点の座標と輪郭線の集まりとして表現する。
【０００３】
ビットマップフォントデータは、アウトラインフォントデータより高速処理が可能であるという長所がある一方、拡大・縮小時に字形が崩れるという短所がある。これに対して、アウトラインフォントデータは、拡大・縮小をしても字形が崩れることはないという長所があり、また昨今のＣＰＵ（Central Processing Unit）の高速化もあり、現在の主流はアウトラインフォントデータとなっている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０４８４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このため、このようなアウトラインフォントデータを用いて作成される文章の流出や偽造・改竄を防止して安全性を高める技術が強く求められる。
【０００６】
本発明は、上記実状に鑑みてなされたものであり、安全性の高いコンテンツデータ処理装置、コンテンツデータ処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係るコンテンツデータ処理装置は、
コンテンツをベクトルデータで表す第１コンテンツデータと所定の埋込値との排他的論理和を算出することにより得られる第２コンテンツデータから、該第１コンテンツデータが示す前記コンテンツを復元するコンテンツデータ処理装置であって、
前記第２コンテンツデータと前記所定の埋込値との排他的論理和を算出することにより、前記第１コンテンツデータが示す前記コンテンツを復元する排他的論理和算出手段を備える、
ことを特徴とする。
【０００８】
上記コンテンツデータ処理装置は、
前記第２コンテンツデータの認証を行うコンテンツデータ認証手段をさらに備え、
前記所定の埋込値は、第１判別値と前記第１コンテンツデータのハッシュ値とを用いて求められ、
前記コンテンツデータ認証手段は、
前記排他的論理和算出手段によって算出した前記排他的論理和のハッシュ値を算出するハッシュ値算出手段と、
前記第１判別値と前記ハッシュ値算出手段によって算出した前記排他的論理和のハッシュ値とを用いて、第２判別値を算出する第２判別値算出手段と、
前記第１判別値と、前記第２判別値算出手段によって算出した前記第２判別値と、が合致するか否かを判別することにより、前記第２コンテンツデータの認証を行う合致判別手段と、
を含んでもよい。
【０００９】
また、上記コンテンツデータ処理装置において、
前記第１判別値及び前記第１コンテンツデータとの排他的論理和が算出される前記所定の埋込値は、該第１判別値をｃ、該所定の埋込値をｕ、該第１コンテンツデータのハッシュ値をｈ、有限体上の楕円曲線ＥのベースポイントをＧ、ベースポイントＧの位数をｎ、所定の乱数値をｋ（１≦ｋ≦ｎ−１）、Ｖ＝ｋＧ＝（ｘｖ，ｙｖ）、秘密鍵をｄ（１≦ｄ≦ｎ−１）とした場合、以下の数１に従って求められ、
【数１】
2015019126.tif 000003
前記第２判別値算出手段は、前記第２コンテンツデータとの排他的論理和が算出される前記所定の埋込値ｕ’、前記排他的論理和のハッシュ値をｈ’、公開鍵をＱ＝ｄＧ、前記第２判別値をｃｐとした場合、以下の数２に従って、前記第２判別値を算出する、
【数２】
2015019126.tif 000004
ようにしてもよい。
【００１０】
さらに、上記コンテンツデータ処理装置において、
前記ベクトルデータは、前記コンテンツを構成する直線及び／又は曲線の制御点の座標値を含み、
前記第２コンテンツデータは、前記第１コンテンツデータと前記所定の埋込値との排他的論理和を算出して、前記ベクトルデータのうち前記制御点の座標値に該所定の埋込値を埋め込むことにより得られる、
ようにしてもよい。
【００１１】
また、上記コンテンツデータ処理装置において、
前記ベクトルデータは、前記コンテンツを構成する直線及び／又は曲線の始点の座標値と終点の座標値とを含み、
前記第２コンテンツデータは、前記第１コンテンツデータと前記所定の埋込値との排他的論理和を算出して、前記ベクトルデータのうち前記始点の座標値と前記終点の座標値とに該所定の埋込値を埋め込むことにより得られる、
ようにしてもよい。
【００１２】
また、本発明の第２の観点に係るコンテンツデータ処理方法は、
コンテンツをベクトルデータで表す第１コンテンツデータと所定の埋込値との排他的論理和を算出することにより得られる第２コンテンツデータから、該第１コンテンツデータが示す前記コンテンツを復元するコンテンツデータ処理方法であって、
前記第２コンテンツデータと前記所定の埋込値との排他的論理和を算出することにより、前記第１コンテンツデータが示す前記コンテンツを復元する排他的論理和算出ステップを備える、
ことを特徴とする。
【００１３】
さらに、本発明の第３の観点に係るプログラムは、
コンテンツをベクトルデータで表す第１コンテンツデータと所定の埋込値との排他的論理和を算出することにより得られる第２コンテンツデータから、該第１コンテンツデータが示す前記コンテンツを復元するコンテンツデータ処理装置のコンピュータに、
前記第２コンテンツデータと前記所定の埋込値との排他的論理和を算出することにより、前記第１コンテンツデータが示す前記コンテンツを復元する排他的論理和算出手順を実行させる。
【発明の効果】
【００１４】
本発明によれば、安全性の高いコンテンツデータ処理装置、コンテンツデータ処理方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】セキュリティフォントシステムを例示する構成図である。
【図２】セキュリティフォント生成装置の構成例を示すブロック図である。
【図３】変形前の文字「Ｂ」の輪郭線を例示する説明図である。
【図４】変形後の文字「Ｂ」の輪郭線を例示する説明図である。
【図５】変形後の文字「Ｂ」の輪郭線を例示する説明図である。
【図６】ウェブフォントサーバの構成例を示すブロック図である。
【図７】セキュリティフォント認証装置の構成例を示すブロック図である。
【図８】セキュリティフォント生成処理の一例を示すフローチャートである。
【図９】セキュリティフォント認証処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態について説明する。
【００１７】
まず、本実施形態に係るセキュリティフォントシステムの構成について図面を参照しつつ説明する。
【００１８】
セキュリティフォントシステム１は、図１に示すように、セキュリティフォント生成装置１０と、ウェブフォントサーバ２０と、セキュリティフォント認証装置３０と、から構成され、これらはインターネットなどのネットワークＮを介して相互に通信可能に接続されている。
【００１９】
図２は、セキュリティフォント生成装置の構成例を示すブロック図である。
【００２０】
セキュリティフォント生成装置１０は、例えば汎用コンピュータ等から構成され、図２に示すように、記憶部１１と、制御部１２と、通信部１３と、を備えている。
【００２１】
記憶部１１は、例えばハードディスクドライブ等から構成され、アウトラインフォントデータｍを、各文字に対応して複数種類記憶する。
【００２２】
アウトラインフォントデータｍは、文字の形状を、文字の輪郭線を構成する直線及び／又は曲線を座標値で表現する。
【００２３】
本実施形態において、アウトラインフォントデータｍは、２次ベジェ曲線（Quadratic Bezier curve）を用いたポストスクリプト（Post Script）フォントであって、文字の輪郭線を構成する直線及び／又は曲線は、ベクトルデータ（始点ｘｓ，始点ｙｓ，制御点ｘｃ，制御点ｙｃ，終点ｘｅ，終点ｙｅ）で表現される。ここで、制御点ｘｃ及びｙｃは、曲線の曲がり具合を制御する座標値で、直線の場合、その座標値は（０，０）となる。なお、アウトラインフォントデータｍは、３次ベジェ曲線（Cubic Bezier curve）を用いたトゥルータイプ（True Type）フォントであってもよい。
【００２４】
例えば、図３に示す文字「Ｂ」の外側の輪郭線を構成する直線及び曲線のベクトルデータ
（始点ｘｓ，始点ｙｓ，制御点ｘｃ，制御点ｙｃ，終点ｘｅ，終点ｙｅ）は、
（−１００，−１２０，        ０，        ０，    １８，−１２０），
（    １８，−１２０，      ９０，  −１１４，    ９２，  −６０），
（    ９２，  −６０，      ９７，    −２０，    ５７，    −５），
（    ５７，    −５，    １０７，      １１，  １０４，    ５５），
（  １０４，    ５５，    １０８，    １２４，    １８，  １２５），
（    １８，  １２５，        ０，        ０，−１００，  １２５），
（−１００，  １２５，        ０，        ０，−１００，−１２０）となる。
【００２５】
図２に示す制御部１２は、例えばＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等から構成され、記憶部１１に記憶されているアウトラインフォントデータｍから、セキュリティフォントデータｍｓを生成する。
【００２６】
本実施形態において、制御部１２は、まず、記憶部１１に記憶されているアウトラインフォントデータｍのハッシュ値ｈ＝Ｈ（ｍ）を求める。
【００２７】
次に、制御部１２は、ハッシュ値ｈを用いて埋込値ｕを求める。
【００２８】
具体的に、制御部１２は、まず、乱数値ｋ（１≦ｋ≦ｎ−１）（ｎは素数）を生成してＶ＝ｋＧ＝（ｘｖ，ｙｖ）を求める。ここで、Ｇは有限体上の楕円曲線Ｅのベースポイントであり、Ｇ＝（ｘ，ｙ）∈Ｅと表される。また、ｎはＧの位数である。次に、制御部１２は、以下の数３に従って、判別値ｃを求めるとともに、秘密鍵ｄ（１≦ｄ≦ｎ−１）及び判別値ｃを用いて、埋込値ｕを求める。
【００２９】
【数３】
2015019126.tif 000005
【００３０】
続いて、制御部１２は、アウトラインフォントデータｍと埋込値ｕとの排他的論理和を求め、セキュリティフォントデータｍｓを生成する。このように生成されたセキュリティフォントデータｍｓは、原理的には、楕円曲線暗号（ＥＣＣ：Elliptic Curve Cryptography）を用いた電子署名（ＥＣＤＳＡ：Elliptic Curve Digital Signature Algorithm）に基づいており、安全性が高いものとなる。
【００３１】
ここで、文字の輪郭線を構成する直線及び／又は曲線の始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最下位ビット（ＬＳＢ：Least Significant Bit）に、埋込値ｕを埋め込んだ場合には、始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅが僅かしか移動しない。このため、文字の形状は、見た目上気付かれない程度にしか変化しないか、気付かれるようなものであっても十分に認識できる程度にしか変化しない。
【００３２】
一方、文字の輪郭線を構成する直線及び／又は曲線の始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最上位ビット（ＭＳＢ：Most Significant Bit）に埋込値ｕを埋め込んだ場合には、始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅが大きく移動するため、文字の形状は、認識できない程度にまで変化する。
【００３３】
例えば、図３に示す文字「Ｂ」の外側の輪郭線のうち、右半分の輪郭線を構成する直線及び／又は曲線の始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最上位ビットに埋込値ｕを埋め込んだ場合、文字の形状は、図４に示すように、「Ｂ」と認識することが困難な程度にまで変化する。
【００３４】
なお、文字「Ｂ」の外側の輪郭線のうち、左半分の輪郭線を構成する直線及び／又は曲線の始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最上位ビットに埋込値ｕを埋め込んでもよいし、文字「Ｂ」の外側の輪郭線を構成する直線及び曲線の始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最上位ビットの全てに、埋込値ｕを埋め込んでもよい。
【００３５】
また、文字の輪郭線を構成する直線の制御点ｘｃ及びｙｃの座標値に埋込値ｕを埋め込んだ場合には、直線部分が曲線に変化するため、文字の形状は、認識できない程度にまで変化する。
【００３６】
例えば、図３に示す文字「Ｂ」の外側の輪郭線を構成する直線の制御点ｘｃ及びｙｃの座標値に埋込値ｕを埋め込んだ場合、直線部分の制御点ｘｃ及びｙｃの座標値（０，０）が（０，１）等に変更され、直線部分が曲線に変化するため、文字の形状は、図５に示すように、「Ｂ」と認識することが困難な程度にまで変化する。
【００３７】
なお、文字「Ｂ」の内側の輪郭線を構成する直線の制御点ｘｃ及びｙｃの座標値に埋込値ｕを埋め込んでもよいし、内側の輪郭線を構成する直線、及び外側の輪郭線を構成する直線の制御点ｘｃ及びｙｃの座標値の双方に埋込値ｕを埋め込んでもよい。また、文字「Ｂ」の輪郭線を構成する直線の制御点ｘｃ及びｙｃの座標値に加えて曲線の制御点ｘｃ及びｙｃの座標値にも埋込値ｕを埋め込んでもよいし、直線の制御点ｘｃ及びｙｃの座標値に代えて、曲線の制御点ｘｃ及びｙｃの座標値にのみ埋込値ｕを埋め込んでもよい。
【００３８】
本実施形態において、制御部１２は、埋込値ｕの２進数表現を用い、アウトラインフォントデータｍを構成する輪郭線の座標値のうち、制御点ｘｃ及びｙｃの座標値に埋込値ｕを埋め込んで、セキュリティフォントデータｍｓを生成する。
【００３９】
なお、制御部１２は、文字の輪郭線を構成する直線及び／又は曲線の座標値のうち、始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最下位ビットに、埋込値ｕを埋め込んでもよいし、始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最上位ビットに、埋込値ｕを埋め込んでもよい。また、制御部１２は、文字の輪郭線を構成する直線及び／又は曲線の座標値のうち、始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最下位ビット及び最上位ビット以外のビットに、埋込値ｕを埋め込んでもよく、始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の全ビットに、埋込値ｕを埋め込んでもよい。あるいは、文字の輪郭線を構成する直線及び／又は曲線の座標値のうち、始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最下位ビット、最上位ビット、並びに制御点ｘｃ及びｙｃの座標値のうちのいずれか二つに、埋込値ｕを埋め込んでもよい。さらには、文字の輪郭線を構成する直線及び／又は曲線の座標値の全てに埋込値ｕを埋め込んでもよい。
【００４０】
図２に示す通信部１３は、例えばＮＩＣ（Network Interface Card）等から構成され、セキュリティフォントデータｍｓと埋込値ｕとの組（ｍｓ，ｕ）を、ネットワークＮを介してウェブフォントサーバ２０にアップロードする。
【００４１】
図６は、ウェブフォントサーバの構成例を示すブロック図である。
【００４２】
ウェブフォントサーバ２０は、例えばフレームワークやワークステーション等から構成され、通信部２１と、記憶部２２と、制御部２３と、を備えている。
【００４３】
通信部２１は、例えばＮＩＣ等から構成され、セキュリティフォント生成装置１０からネットワークＮを介してアップロードされたセキュリティフォントデータｍｓと埋込値ｕとの組（ｍｓ，ｕ）の受信等を行う。
【００４４】
記憶部２２は、例えばハードディスクドライブ等から構成され、認証アプリケーションプログラムのダウンロードデータや、通信部２１で受信したセキュリティフォントデータｍｓと埋込値ｕとの組（ｍｓ，ｕ）等を記憶する。なお、認証アプリケーションプログラムには、上述した位数ｎ，判別値ｃ，及びベースポイントＧに加えてｃＱがシステムパラメータとして含まれている。ここで、Ｑは公開鍵で、有限体上の楕円曲線Ｅ上でＱ＝ｄＧを算出することで求められる。
【００４５】
制御部２３は、例えばＣＰＵ、ＲＯＭ、及びＲＡＭ等から構成され、ＣＰＵがＲＡＭをワークメモリとして用いてＲＯＭや記憶部２２等に記憶されている各種プログラムを適宜実行することによって、ウェブフォントサーバ２０の各部の動作を制御する。
【００４６】
図７は、セキュリティフォント認証装置の構成例を示すブロック図である。
【００４７】
セキュリティフォント認証装置３０は、汎用コンピュータ及び汎用印刷装置等から構成され、図７に示すように、通信部３１と、記憶部３２と、制御部３３と、表示部３４と、を備えている。
【００４８】
通信部３１は、例えばＮＩＣ等から構成され、ウェブフォントサーバ２０からネットワークＮを介して認証アプリケーションプログラムや、セキュリティフォントデータｍｓ’と埋込値ｕ’との組（ｍｓ’，ｕ’）等をダウンロードする。
【００４９】
記憶部３２は、例えばハードディスクドライブ等から構成され、ウェブフォントサーバ２０からダウンロードした認証アプリケーションプログラムが予めインストールされている。
【００５０】
制御部３３は、例えばＣＰＵ、ＲＯＭ、及びＲＡＭ等から構成され、記憶部３２にインストールした認証アプリケーションプログラムを起動することによって、ウェブフォントサーバ２０からダウンロードしたセキュリティフォントデータｍｓ’の認証を行う。
【００５１】
本実施形態において、制御部３３は、まず、ウェブフォントサーバ２０からダウンロードしたセキュリティフォントデータｍｓ’と埋込値ｕ’との排他的論理和を求め、アウトラインフォントデータｍ’を生成する。
【００５２】
次に、制御部３３は、アウトラインフォントデータｍ’のハッシュ値ｈ’＝Ｈ（ｍ’）を求める。続いて、制御部３３は、以下の数４に従って、認証アプリケーションプログラムに含まれているシステムパラメータ（ｎ，ｃ，Ｇ，ｃＱ）を用いて、判別値ｃｐを求める。
【００５３】
【数４】
2015019126.tif 000006
【００５４】
そして、制御部３３は、数４に従って求めた判別値ｃｐと、システムパラメータに含まれる判別値ｃと、が合致するか否かを判別し、合致していれば有効と判別し、合致していなければ無効と判別する。
【００５５】
表示部３４は、例えばＬＣＤ（Liquid Crystal Display）等から構成され、制御部３３で生成したアウトラインフォントデータｍ’が示す形状の文字と、制御部３３による判別結果と、を表示する。
【００５６】
次に、上記構成を備えるセキュリティフォント生成装置によるセキュリティフォント生成処理について図面を参照しつつ説明する。
【００５７】
図８は、セキュリティフォント生成処理の一例を示すフローチャートである。
【００５８】
図８に示すセキュリティフォント生成処理において、制御部１２は、まず、記憶部１１に記憶されているアウトラインフォントデータｍのハッシュ値ｈ＝Ｈ（ｍ）を求める（ステップＳ１１）。
【００５９】
次に、制御部１２は、ステップＳ１１で求めたハッシュ値ｈを用いて、判別値ｃを求める（ステップＳ１２）。また、制御部１２は、ステップＳ１１で求めたハッシュ値ｈと、ステップＳ１２で求めた判別値ｃと、を用いて、埋込値ｕを求める（ステップＳ１３）。
【００６０】
続いて、制御部１２は、アウトラインフォントデータｍと、ステップＳ１３で算出した埋込値ｕと、の排他的論理和を求めてセキュリティフォントデータｍｓを生成する（ステップＳ１４）。
【００６１】
そして、制御部１２は、ステップＳ１４で生成したセキュリティフォントデータｍｓと、ステップＳ１３で求めた埋込値ｕと、の組（ｍｓ，ｕ）を通信部１３からウェブフォントサーバ２０にアップロードして（ステップＳ１５）、セキュリティフォント生成処理を終了する。
【００６２】
次に、上記構成を備えるセキュリティフォント認証装置によるセキュリティフォント認証処理について図面を参照しつつ説明する。
【００６３】
図９は、セキュリティフォント認証処理の一例を示すフローチャートである。
【００６４】
制御部２３は、通信部２１でセキュリティフォントデータｍｓ’と埋込値ｕ’との組（ｍｓ’，ｕ’）をダウンロードしたことに応答して、図９に示すセキュリティフォント認証処理を開始する。
【００６５】
セキュリティフォント認証処理において、制御部３３は、まず、記憶部３２にインストールした認証アプリケーションプログラムを起動する（ステップＳ２１）。
【００６６】
次に、制御部３３は、ウェブフォントサーバ２０からダウンロードしたセキュリティフォントデータｍｓ’と埋込値ｕ’との排他的論理和を求め、アウトラインフォントデータｍ’を生成する（ステップＳ２２）。
【００６７】
続いて、制御部３３は、アウトラインフォントデータｍ’のハッシュ値ｈ’＝Ｈ（ｍ’）を求める（ステップＳ２３）。
【００６８】
また、制御部３３は、ステップＳ２３で求めたハッシュ値ｈ’と記憶部３２に記憶されているシステムパラメータ（ｎ，ｃ，Ｇ，ｃＱ）とを用いて、判別値ｃｐを求める（ステップＳ２４）。
【００６９】
さらに、制御部３３は、ステップＳ２４で求めた判別値ｃｐと、システムパラメータ（ｎ，ｃ，Ｇ，ｃＱ）に含まれる判別値ｃと、が合致するか否かを判別する（ステップＳ２５）。
【００７０】
ステップＳ２５で判別値ｃｐと判別値ｃとが合致している場合（ステップＳ２５；Ｙｅｓ）、制御部２３は、ステップＳ２２で生成したアウトラインフォントデータｍ’に示す形状の文字とともに、「有効」との認証結果を表示部３４に表示してから（ステップＳ２６）、セキュリティフォント認証処理を終了する。
【００７１】
これに対して、ステップＳ２５で判別値ｃｐと判別値ｃとが合致していない場合（ステップＳ２５；Ｎｏ）、制御部３３は、ステップＳ２２で生成したアウトラインフォントデータｍ’が示す形状の文字とともに、「無効」との認証結果を表示部３４に表示してから（ステップＳ２７）、セキュリティフォント認証処理を終了する。
【００７２】
具体的に、セキュリティフォントデータｍｓ’が偽造・改竄されていない場合、ステップＳ２２で生成したアウトラインフォントデータｍ’は、元のアウトラインフォントデータｍと合致する。このため、表示部３４には、元のアウトラインフォントデータｍに示される文字の形状が復元されて表示される。また、判別値ｃｐと判別値ｃとは合致するため（ステップＳ２５；Ｙｅｓ）、「有効」との認証結果が得られて表示部３４に表示される。
【００７３】
これに対して、セキュリティフォントデータｍｓ’が偽造・改竄されていない場合、ステップＳ２２で生成したアウトラインフォントデータｍ’は、元のアウトラインフォントデータｍとは異なるものとなる。このため、表示部３４には、元のアウトラインフォントデータｍに示される文字とは形状が異なる文字が表示される。また、判別値ｃｐと判別値ｃとは合致しないため（ステップＳ２５；Ｎｏ）、「無効」との認証結果が得られて表示部３４に表示される。
【００７４】
以上説明したように、本実施形態に係るセキュリティフォントシステム１では、セキュリティフォント生成装置１０が、まず、判別値ｃとアウトフォントデータｍのハッシュ値ｈとを用いて、埋込値ｕを求める。次に、セキュリティフォント生成装置１０は、アウトフォントデータｍと埋込値ｕとの排他的論理和を算出して、アウトフォントデータｍを構成するベクトルデータの座標値のうち、始点ｘｓ及びｙｓ、終点ｘｅ及びｙｅ、及び／又は制御点ｘｃ及びｙｃの各座標値に埋込値ｕを埋め込むことにより、セキュリティフォントデータｍｓを生成する。
【００７５】
一方、セキュリティフォント認証装置３０は、セキュリティフォントデータｍｓ’と埋込値ｕ’との排他的論理和を算出して、元のアウトラインフォントデータｍと同一のアウトラインフォントデータｍ’を生成することにより、アウトラインフォントデータｍが示す文字の形状を復元する。これにより、アウトラインフォントデータｍを用いて作成される文章の流出を防止して安全性を高めることができる。
【００７６】
また、文字の輪郭線を構成する直線の制御点ｘｃ及びｙｃの座標値に埋込値ｕを埋め込んで、直線部分が曲線に変化するため、文字の形状は、認識できない程度にまで変化する。これにより、アウトラインフォントデータｍを用いて作成される文章の流出を防止して安全性をさらに高めることができる。
【００７７】
さらに、セキュリティフォント認証装置３０は、判定値ｃとアウトラインフォントデータｍ’のハッシュ値ｈ’とを用いて、判別値ｃｐを算出する。そして、セキュリティフォント認証装置３０は、判別値ｃと判別値ｃｐとが合致するか否かを判別することにより、セキュリティフォントデータｍｓ’が偽造・改竄されていないか否かの認証を行うことができるため、文章の偽造・改竄を防止して安全性を高めることができる。
【００７８】
また、セキュリティフォントデータｍｓは、楕円曲線暗号を用いた電子署名に基づいて作成されているため、これを用いて作成される文書は、安全性がさらに高いものとなる。
【００７９】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。
【００８０】
上記実施形態では、コンテンツデータとして、アウトラインフォントデータを例に説明した。しかしながら、本発明はこれに限定されるものではなく、コンテンツをベクトルデータで表すものであれば任意であり、文字のみならず、静止画像や、動画像、音声等をベクトルデータで表すものであってもよい。
【００８１】
上記実施形態では、コンテンツデータの偽造・改竄の検出に楕円曲線暗号を用いた例を説明したが、本発明はこれに限定されるものではなく、ＲＳＡ（Rivest-Shamir-Adleman）暗号やエルガマル暗号等の公開鍵暗号（非対称鍵暗号）を用いてもよい。また、アウトラインフォントデータｍの始点ｘｓ及びｙｓ、終点ｘｅ及びｙｅ、及び／又は制御点ｘｃ及びｙｃの各座標値に暗号を埋め込み、鍵保有者のみが復号できるアルゴリズムとすれば、ＡＥＳ（Advanced Encryption Standard）暗号や、ＤＥＳ（Data Encryption Standard）暗号（好適には３ＤＥＳ（Triple ＤＥＳ）暗号）等の共通鍵暗号（対称鍵暗号）の適用も可能である。一例として、鍵保有者以外の第三者が復号しても元のアウトラインフォントデータｍが示す文字の形状を正しく復元できないシステムや、秘密情報を暗号化してアウトラインフォントデータｍに埋め込んで使う秘密通信等が考えられる。
【００８２】
上記実施形態では、判別値ｃｐと判別値ｃとが合致していない場合、制御部３３は、アウトラインフォントデータｍ’が示す形状の文字とともに、「無効」との認証結果を表示部３４に表示するものとして説明した。すなわち、元のアウトラインフォントデータｍが示す文字とは異なる形状の文字が表示部３４に表示されるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、判別値ｃｐと判別値ｃとが合致していない場合には、「無効」との認証結果のみを表示し、アウトラインフォントデータｍ’が示す形状の文字を表示しないようにしてもよい。
【００８３】
上述したように、文字の輪郭線を構成する直線及び／又は曲線の始点ｘｓ及びｙｓ、並びに終点ｘｅ及びｙｅの座標値の最下位ビットに、埋込値ｕを埋め込んだ場合、文字の形状は、見た目上気付かれない程度にしか変化しないか、気付かれるようなものであっても十分に認識できる程度にしか変化しない。このため、判別値ｃｐと判別値ｃとが合致していない場合には、「無効」との認証結果のみを表示し、アウトラインフォントデータｍ’が示す形状の文字を表示しないようにすることで、これを用いて作成される文書の流出を防止して安全性を高めることができる。さらに、このようにすれば、セキュリティフォント認証装置３０の処理能力が非力な場合でも、高速表示が可能となる。
【００８４】
上記実施形態では、アウトラインフォントデータｍ’が示す形状の文字が表示部３４に表示されるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、アウトラインフォントデータｍ’が示す形状の文字の出力方法は任意であり、アウトラインフォントデータｍ’が示す形状の文字が汎用の印刷装置で所定の印刷媒体に印刷されるようにしてもよい。
【００８５】
さらに、安全性を強固にすべく、文字の連なりも相対座標で数値化してもよい。このようにすれば、セキュリティフォントデータｍｓが解読されたとしても、相対座標が解読できなければ、例えば「おはようございます」が「およごいまはうざす」と連なりの再現に失敗するため、安全性を強固にすることができる。
【００８６】
上記実施形態において、制御部１２，２３，３３のＣＰＵが実行するプログラムは、予めＲＯＭ等に記憶されていた。しかしながら、本発明は、これに限定されず、上述の処理を実行させるためのプログラムを、既存の汎用コンピュータや、フレームワーク、ワークステーション等に適用することで、上記実施形態に係るセキュリティフォント生成装置１０、ウェブフォントサーバ２０、及びセキュリティフォント認証装置３０として機能させてもよい。
【００８７】
このようなプログラムの提供方法は任意であり、例えばコンピュータが読取可能な記録媒体（フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ等）に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【００８８】
また、上記の処理をＯＳ（Operating System）とアプリケーションプログラムとの分担、又はＯＳとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板（ＢＢＳ：Bulletin Board System）に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【符号の説明】
【００８９】
１  セキュリティフォントシステム
１０  セキュリティフォント生成装置
１１  記憶部
１２  制御部
１３  通信部
２０  ウェブフォントサーバ
２１  通信部
２２  記憶部
２３  制御部
３０  セキュリティフォント認証装置
３１  通信部
３２  記憶部
３３  制御部
３４  表示部
【図２】
2015019126.tif 000009
【図３】
2015019126.tif 000010
【図４】
2015019126.tif 000011
【図５】
2015019126.tif 000012
【図６】
2015019126.tif 000013
【図７】
2015019126.tif 000014
【図８】
2015019126.tif 000015
【図９】
2015019126.tif 000016
【図１】
2015019126.tif 000017