JP2007086845A - クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラム - Google Patents

クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラム Download PDF

Info

Publication number
JP2007086845A
JP2007086845A JP2005271352A JP2005271352A JP2007086845A JP 2007086845 A JP2007086845 A JP 2007086845A JP 2005271352 A JP2005271352 A JP 2005271352A JP 2005271352 A JP2005271352 A JP 2005271352A JP 2007086845 A JP2007086845 A JP 2007086845A
Authority
JP
Japan
Prior art keywords
variable
encoding
program
encoded
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005271352A
Other languages
English (en)
Inventor
Kazuhide Fukushima
和英 福島
Shinsaku Kiyomoto
晋作 清本
Toshiaki Tanaka
俊昭 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2005271352A priority Critical patent/JP2007086845A/ja
Publication of JP2007086845A publication Critical patent/JP2007086845A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 クライアントプログラムのデータを符号化することによって安全なサーバサイドプログラムを実現する。
【解決手段】 クライアント装置1が、プログラムに含まれる変数を任意の符号化式を用いて符号化してネットワーク経由でサーバ装置2に送信し、サーバ装置2が、当該符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、符号化式に依存して決まる復号式を用いて符号化前の変数を取得する。
【選択図】 図1

Description

本発明は、ネットワーク経由でクライアント装置から送信されるプログラムを受信し、前記プログラムの少なくとも一部を実行する、クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラムに関する。
一般に、ソフトウェアには、価値のあるアルゴリズムおよびコンテンツの暗号鍵など、利用者に対して秘密にすべき情報が含まれる場合がある。一方では、ソフトウェアを解析するための技術(RE:Reverse Engineering)が数多く開発されている。このため、これらの技術によりソフトウェアが解析されると、不正者が秘密情報を入手するという脅威が考えられる。この脅威に対し、ソフトウェアの仕様を保ったまま、ソフトウェアの解析を困難にする難読化という技術がある。
このような技術としては、例えば、変数の符号化によるソフトウェアの難読化として、ソースコード中の変数を線形変換により符号化する方法が提案されている(例えば、非特許文献1参照)。この方法では、単一の変数xを線形変換により、変数X(=ax+b)に符号化することで、ソフトウェアの解析を難しくすることを意図するものである。ここでは、線形変換の際に用いる整数a,bが秘密鍵となり、ソースコード中の変数の値や演算を隠蔽することを目的としている。
佐藤他、信学技報、Vol.IT‐2002−49,pp.13−18,Mar.2002"データの符号化と演算子の変換によるプログラムの難読化手法"
ところで、サーバサイドプログラムとは、クライアントプログラムの少なくとも一部の処理をサーバ装置側で行うプログラムである。サーバサイドプログラムでは、不正者によるクライアントプログラムのデータ改竄が問題となる。
例えば、水道、ガス、電気などの使用料から料金を求めるクライアントプログラムでは、利用者が計算結果を不正に改竄し、料金を減額する可能性がある。また、オンラインゲームでは、不正者が得点を改竄し、ランキングの上位に入賞しようとする可能性がある。
上記した利用者によるデータ改竄を防ぐための従来技術として、以下に説明する二つの方法がある。
一つは、サーバ側ですべての処理を行う方法である。具体的に、図6(a)に示されるように、クライアントプログラムPcには、サーバプログラムPsと通信を行う機能のみを持たせる。このとき、Psは、Pcから送られてきたデータに対しすべての処理を行う。他の一つは、共通鍵を利用する方法である。具体的に、図6(b)に示されるように、クライアントプログラムPcとサーバプログラムPs間で、秘密鍵Kを共有する。このとき、Pcは、計算結果を秘密鍵Kで暗号化し、Psに送信する。そして、Psは、秘密鍵Kを用いて送られたデータを復号し、残りの処理を行う。
しかしながら、サーバ装置側で全ての処理を行う方法によれば、サーバ装置の負荷が大きくなる。また、不正者がデータを改竄することを防止することができない。一方、共通鍵を共有する方法によれば、共通鍵を利用者に入手されないように、耐タンパーデバイスなどに格納することが必要となり、鍵の保管コストが大きくなる。また、不正者がメモリを観測、あるいは操作することによって、暗号化前のデータが改竄される可能性がある。
本発明は上記事情に基づいてなされたものであり、クライアントプログラムのデータを符号化することによって安全なサーバサイドプログラムを実現する、クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラムを提供することを目的とする。
上記した課題を解決するために本発明のクライアントサーバシステムは、プログラムに含まれる変数を任意の符号化式を用いて符号化し、ネットワーク経由でサーバ装置に送信するクライアント装置と、前記符号化された変数を前記ネットワーク経由で受信し、当該符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化式に依存して決まる復号式を用いて前記符号化前の変数を取得するサーバ装置と、を備えることを特徴とする。
また、本発明において、前記クライアント装置は、前記プログラムに含まれる変数から符号化の対象となるn個の変数を選択出力する変数選択出力部と、m個(但し、m≧nであって正の整数)の符号化関数のうち、n個の符号化関数を独立とする任意の符号化式を生成する符号化式生成部と、前記符号化式に含まれる独立なn個の符号化式から成る連立方程式を解き、前記符号化関数に依存して決まる復号関数から成るn個の復号式を生成する復号式生成部と、前記生成されたn個の復号式を、残るm−n個の符号化式から成る連立方程式に代入し、m−n個の符号化された変数が満たすべき関係式を生成する関係式生成部と、前記サーバ装置に対して計算結果を送信する命令を、全ての符号化された変数、および必要な符号化されていない変数を送信する命令に変換し、かつ、前記符号化前の変数に対する代入命令を前記符号化式に基づき前記符号化された変数に対する代入命令に置換し、前記プログラム中で参照されている前記符号化前の変数を前記復号式で置換する変数命令符号演算部とから成ることを特徴とする。
また、本発明は、クライアントサーバシステムのサーバ装置上で動作し、ネットワークを介してクライアント装置から送信されるプログラムを受信してサーバ装置本来の処理を行うサーバサイドプログラムの実現方法であって、前記クライアント装置が、前記プログラムに含まれる変数を任意の符号化式を用いて符号化し、前記ネットワーク経由でサーバ装置に送信するステップと、前記サーバ装置が、前記符号化された変数を前記ネットワーク経由で受信し、当該符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化式に依存して決まる復号式を用いて前記符号化前の変数を取得するステップと、を有することを特徴とする。
また、本発明は、ネットワークを介してクライアント装置から送信されるプログラムを受信し、当該プログラムの少なくとも一部を実行するサーバ装置であって、前記クライアント装置から送信される、任意の符号化式により符号化された前記プログラムに含まれる変数を前記ネットワーク経由で受信する手段と、前記符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化に依存して決まる復号式を用いて前記符号化前の変数を取得する手段と、を具備することを特徴とする。
また、本発明は、サーバ装置で動作し、ネットワーク経由でクライアント装置から送信されるプログラムを受信し、前記プログラムの少なくとも一部を実行するサーバサイドプログラムであって、任意の符号化式により符号化された前記プログラムに含まれる変数を前記ネットワーク経由で受信する処理と、前記符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化式に依存して決まる復号式を用いて前記符号化前の変数を取得する処理と、をコンピュータに実行させることを特徴とする。
本発明によれば、変数(データ)の符号化による難読化を用いて安全なサーバサイドプログラムを実現することができる。すなわち、難読化されたクライアントプログラムは、符号化式によって符号化されたデータに関してのみ処理を行い、符号化された計算結果をサーバ装置に送信し、サーバ装置は、保持している復号式でその計算結果を復号し残りの処理を行う。従って、秘密鍵を使用しないことから鍵を格納するための技術および資源を必要としない。また、クライアントプログラムから送られてきたデータが自明でない関係式を満たすことを確認することによってデータの正当性を検証することができる。
図1は、本発明の実施形態に係るクライアントサーバシステムの一例を示すである。
ここでは、データの符号化による難読化方式を使い、安全なサーバサイド方式を実現する。難読化されたクライアントプログラムO(Pc)(Pc:難読化前のクライアントプログラム)は、符号化式Eによって符号化されたデータに関してのみ処理を行い、符号化された計算結果をサーバプログラム(Ps)に送信し、サーバ装置2は、保持している復号式Dでその計算結果を復号し残りの処理を行う。従って、秘密鍵を使用しないことから鍵を格納するための技術を必要としない。
図2は、本発明の実施形態に係るクライアントサーバシステムの内部構成を機能展開して示したブロック図である。
クライアントサーバシステムは、クライアント装置1とサーバ装置2で構成され、両者は、IP(Internet Protocol)等のネットワーク3を介して接続される。
クライアント装置1は、プログラムに含まれる変数を任意の符号化式を用いて符号化し、ネットワーク3経由でサーバ装置2に送信する機能を持ち、変数選択出力部11と、符号化式生成部12と、復号式生成部13と、関係式生成部14と、変数命令符号演算部15と、プログラム送信部16とで構成される。
変数選択出力部11は、プログラムに含まれる変数から符号化の対象となるn個の変数を選択して符号化式生成部12へ供給する。符号化式生成部12は、m個(但し、m≧nであって正の整数)の符号化関数のうち、n個の符号化関数を独立とする任意の符号化式を生成して復号式生成部13および関係式生成部14へ供給する。復号式生成部13は、符号化式に含まれるn個の符号化式から成る連立方程式を解き、符号化関数に依存して決まる復号関数から成るn個の復号式を生成して変数命令符号演算部15へ供給する、また、関係式生成部14は、復号式生成部13によって生成されたn個の復号式を、残るm−n個の符号化式から成る連立方程式に代入し、m−n個の符号化された変数が満たすべき関係式を生成して変数命令符合演算部15へ供給する。
変数命令符号演算部15は、サーバ装置2に対して計算結果を送信する命令を、全ての符号化された変数、および必要な符号化されていない変数を送信する命令に変換し、かつ、符号化前の変数に対する代入命令を符号化式に基づき符号化された変数に対する代入命令に置換し、プログラム中で参照されている符号化前の変数を復号式で置換する。また、プログラム送信部16は、上記により置換されたプログラムをネットワーク3経由でサーバ装置2へ送信する。
サーバ装置2は、クライアント装置1により符号化された変数をネットワーク3経由で受信し、当該符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、符号化式に依存して決まる復号式を用いて符号化前の変数を取得する機能を持ち、プログラム受信部21と、変数検証演算部22と、変数復号演算部23と、情報処理部24とで構成される。
プログラム受信部21は、請求項に示す、「クライアント装置1から送信される任意の符号化式により符号化されたプログラムに含まれる変数をネットワーク3経由で受信する手段」として機能し、ここで受信されたプログラムは、変数検証演算部22へ供給される。
変数検証演算部22は、符号化された変数が満たすべき関係式を満足するか否かを判定し、その結果に従い変数復号演算部23を制御し、変数復号演算部23は、変数検証演算部22により関係式が満足すると判定されたとき、符号化式に依存して決まる復号式を用いて符号化前の変数を取得し、当該変数を含むプログラムを情報処理部24へ供給する。従って、上記した変数検証演算部22と変数復号演算部23は、請求項に示す、「符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化式に依存して決まる復号式を用いて前記符号化前の変数を取得する手段」として機能する。
なお、情報処理部24は、そのプログラムに従いサーバ装置2本来の処理を実行する。
図3、図4は、本発明の実施形態に係るクライアントサーバシステムの動作を説明するために引用したプログラムの処理フローチャートであり、クライアントプログラムPc(図3)、サーバプログラムPs(図4)のそれぞれを示す。
以下、図3、図4に示すフローチャートを参照しながら図1、図2に示す本発明の実施形態の動作について詳細に説明する。
まず、図3に示すフローチャートを参照しながらクライアント装置1の動作から説明する。クライアント装置1は、以下に示す手順に従いクライアントプログラムPcの難読化を行う。
クライアント装置1は、クライアントプログラムPcに含まれる変数を符号化するにあたり、変数選択出力部11を起動して符号化対象となる変数の選択出力を行う(ステップS31)。変数選択出力部11は、クライアントプログラムPcに含まれる変数から符号化の対象となるn個(nは正の整数)の変数x1,x2,…,xを選択する。
続いて、クライアント装置1は符号化式生成部12を起動し、ここで符号化式の生成が行われる(ステップS32)。ここでは、以下の式(1)で示されるm個(但し、mは正の整数であり、なおかつm≧nであるものとする)の符号化式E1,E2,…,Emを定義する。
Figure 2007086845
但し、X1,X2,…,Xmは符号化された変数である。m個の符号化関数E1,E2,…,Emは任意に定義し、生成することが可能であるが、m個の関数のうち、n個の関数は独立である必要がある。符号化関数の例としては、affine関数や、排他的論理和演算を用いた非線型関数などが考えられる。
上記した符号化式を用いることにより、プログラムに含まれる変数x1,x2,…,xmに対する代入命令を、符号化された変数X1,X2,…,Xmに対する代入命令に置換することができる。
(定義1)n個の関数f1,f2,…,fnが独立である。
⇔関数f1,f2,…,fnが従属でない。
(定義2)n個の関数f1,f2,…,fnが従属である。
⇔定数列c1,c2,…,ckおよび定数cが存在して、以下の式(2)が成立する。
Figure 2007086845
但し、c1,c2,…,cnの少なくとも1つは、0ではない。上記した符号化式を用いることにより、プログラムに含まれる変数x1,x2,…,xnに対する代入命令を、符号化された変数X1,X2,…,Xmに対する代入命令に置換することができる。
クライアント装置1は、続いて復号式生成部13を起動し、復号式生成部13にて復号式を生成する(ステップS33)。ここでは、符号化式に含まれるn個の独立な式を、連立方程式と見なし、変数x1,x2,…,xnについて解き、以下の式(3)で示すn個の復号式を生成する。
Figure 2007086845
但し、D1,D2,…,Dnは復号関数であり、上記により生成された符号化関数E1,E2,…,Enに依存して決まる。得られたn個の復号式を残りのm−n個の方程式に代入することにより、m−n個の自明でない関係式が得られる。復号式を用いることにより、参照されている変数x1,x2,…,xnを、符号化された変数X1,X2,…,Xmに書き換えることができる。
なお、自明でない関係式とは、符号化された変数X1,X2,…,Xmが満たすべき関係式である。この関係式を用いると、1つの変数の復号式2m-n通りに表現することができ、どの変数が復号されているかを特定することを難しくすることができる。また、符号化される変数がこの関係式を満たしているか否かを判定することによって、クライアントプログラムPcが送信したデータの正当性を確認することができる。
次に、クライアント装置1は、変数命令符号演算部15を起動して変数命令の符号化のための演算を行う(ステップS34)。ここでは、プログラムで用いられている符号化前の変数x1,x2,…,xnを、以下の手順に従い、全て符号化された変数X1,X2,…,Xmに置換する。
すなわち、まず、サーバプログラムPsとの通信部分につき、クライアントプログラムPc中で、サーバプログラムPsに計算結果を送信する命令を、すべての符号化された変数および必要な符号化されていない変数を送信する命令に置換する。これ以外の変数については、以下の手順に従い、符号化された変数に置換する。
まず、代入命令に関し、符号化前の変数xiに対する代入命令xi←vを、以下の式(4)に示される符号化された変数X1,X2,…,Xmに対する代入命令に置換する。
Figure 2007086845
また、プログラム中で参照されている符号化前の変数xiについては、ステップS33で生成した復号式D(X1,X2,…,Xm)で置換する。
最後に後処理として、符号化された変数に初期値を与える。また連続する代入命令のマージを行う(ステップS35)。
ここでは、まず、符号化された変数への初期値代入命令の追加を行う。具体的に、符号化された変数X1,X2,…,Xmには、m−n個の自明でない関係式を満たす任意の値を初期値として代入する。そして、連続する代入命令のマージを行う。ここでは、上記により生成された代入命令の中で、連続しているものをマージする。例えば、以下の(5)式で示される連続する2命令は、以下の(6)式で示される1個の命令にマージされる。そして、こられ符号化された変数を含むプログラムをプログラム送信部16によりサーバ装置2へ送信する。
Figure 2007086845
Figure 2007086845
次に、図4に示すフローチャートを参照しながらサーバ装置2の動作について説明する。
サーバ装置2は、ネットワーク3経由でクライアント装置1から送信される符号化されたプログラムを、プログラム受信部21を介して受信し、まず、変数検証演算部22を起動してデータ(変数)の検証を行う。
すなわち、変数検証演算部22は、クライアント装置1から送られてきた符号化された変数X1,X2,…,Xmがm−n個すべての自明でない関係式を満たしているか否かをチェックして変数の検証を行う(ステップS41)。もし、変数が自明でない関係式を満たしていない場合、クライアントプログラムPcから送られたデータは改竄された可能性がある。
次に、サーバ装置2は、変数復号演算部23を起動し、変数復号演算部23は、保持してある復号式Dを用いて演算を行い、符号化された変数X1,X2,…,Xmを復号し、元の変数x1,x2,…,xnを復元して情報処理部24へ供給する(ステップS42)。
情報処理部24は、得られた変数および必要に応じ符号化されない変数を用いて計算結果を出力し(ステップS43)、計算結果が出力された後は、サーバプログラムPs本来の処理を実行する(ステップS44)。
図5(a)(b)に、サーバサイドプログラムの具体例が示されている。(a)は従来例、(b)は本発明の適用例を示している。
ここでは、変数xを読み取り、y=10x+50を計算し、サーバプログラムPsに送信するクライアントプログラムPcを例示している。また、変数xを、2つの変数XおよびYに、以下の式(7)に示すように符号化するものとする。また、符号化された変数XおよびYは、自明でない関係式2X+Y−50を満たす。
Figure 2007086845
クライアントプログラムPcは、計算結果の変わりに、符号化された変数XおよびYをサーバフムログラムPsに送信している。また、サーバプログラムPsでは、変数XおよびYを受信し、自明でない関係式2X+Y=50を満たすことを検証する。関係式が満たされない場合は、不正者によるデータの改竄が行われた可能性があり、サーバプログラムPsは処理を終了する。関係式が満たされた場合は、サーバプログラムPsは復号式y=3X+Y−60を用いて、符号化前の変数の値を得ることができる。
以上説明のように本発明は、クライアント装置1が、プログラムに含まれる変数を任意の符号化式を用いて符号化してネットワーク3経由でサーバ装置2に送信し、サーバ装置2が、当該符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、符号化式に依存して決まる復号式を用いて符号化前の変数を取得するものである。
このことにより、変数の符号化による難読化を用いて安全なサーバサイドプログラムを実現することができる。すなわち、難読化されたクライアントプログラムPcは、符号化式によって符号化されたデータに関してのみ処理を行い、符号化された計算結果をサーバ装置2に送信し、サーバ装置2は、保持している復号式でその計算結果を復号し残りの処理を行う。従って、秘密鍵を使用しないことから鍵を格納するための技術および資源を必要としない。また、クライアントプログラムPcから送られてきたデータが自明でない関係式を満たすことを確認することによってデータの正当性を検証することができる。
なお、図2に示す、変数選択出力11、符号化式生成部12、復号式生成部13、関係式生成部14、変数命令符号演算部15、プログラム送信部16、プログラム受信部21、変数検証演算部22、変数復号演算部23、情報処理部24のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって本発明のクライアントサーバシステムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明の実施形態に係るクライアントサーバシステムの一例を示した図である。 本発明の実施形態に係るクライアントサーバシステムの内部構成を機能展開して示したブロック図である。 本発明の実施形態の動作を説明するために引用したフローチャートである。 本発明の実施形態の動作を説明するために引用したフローチャートである。 本発明の実施形態の具体例を説明するために引用したプログラムリストの一例である。 従来例におけるクライアントサーバシステムの動作を説明するために引用した図である。
符号の説明
1…クライアント装置、2…サーバ装置、3…ネットワーク、11…変数選択出力、12…符号化式生成部、13…復号式生成部、14…関係式生成部、15…変数命令符号演算部、16…プログラム送信部、21…プログラム受信部、22…変数検証演算部、23…変数復号演算部、24…情報処理部

Claims (5)

  1. プログラムに含まれる変数を任意の符号化式を用いて符号化し、ネットワーク経由でサーバ装置に送信するクライアント装置と、
    前記符号化された変数を前記ネットワーク経由で受信し、当該符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化式に依存して決まる復号式を用いて前記符号化前の変数を取得するサーバ装置と、
    を備えることを特徴とするクライアントサーバシステム。
  2. 前記クライアント装置は、
    前記プログラムに含まれる変数から符号化の対象となるn個の変数を選択出力する変数選択出力部と、
    m個(但し、m≧nであって正の整数)の符号化関数のうち、n個の符号化関数を独立とする任意の符号化式を生成する符号化式生成部と、
    前記符号化式に含まれる独立なn個の符号化式から成る連立方程式を解き、前記符号化関数に依存して決まる復号関数から成るn個の復号式を生成する復号式生成部と、
    前記生成されたn個の復号式を、残るm−n個の符号化式から成る連立方程式に代入し、m−n個の符号化された変数が満たすべき関係式を生成する関係式生成部と、
    前記サーバ装置に対して計算結果を送信する命令を、全ての符号化された変数、および必要な符号化されていない変数を送信する命令に変換し、かつ、前記符号化前の変数に対する代入命令を前記符号化式に基づき前記符号化された変数に対する代入命令に置換し、前記プログラム中で参照されている前記符号化前の変数を前記復号式で置換する変数命令符号演算部と、
    から成ることを特徴とする請求項1に記載のクライアントサーバシステム。
  3. クライアントサーバシステムのサーバ装置上で動作し、ネットワークを介してクライアント装置から送信されるプログラムを受信してサーバ装置の本来の処理を行うサーバサイドプログラムの実現方法であって、
    前記クライアント装置が、前記プログラムに含まれる変数を任意の符号化式を用いて符号化し、ネットワーク経由でサーバ装置に送信するステップと、
    前記サーバ装置が、前記符号化された変数を前記ネットワーク経由で受信し、当該符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化式に依存して決まる復号式を用いて前記符号化前の変数を取得するステップと、
    を有することを特徴とするサーバサイドプログラムの実現方法。
  4. ネットワークを介してクライアント装置から送信されるプログラムを受信し、当該プログラムの少なくとも一部を実行するサーバ装置であって、
    前記クライアント装置から送信される、任意の符号化式により符号化された前記プログラムに含まれる変数を前記ネットワーク経由で受信する手段と、
    前記符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化式に依存して決まる復号式を用いて前記符号化前の変数を取得する手段と、
    を具備することを特徴とするサーバ装置。
  5. サーバ装置で動作し、ネットワーク経由でクライアント装置から送信されるプログラムを受信し、前記プログラムの少なくとも一部を実行するサーバサイドプログラムであって、
    任意の符号化式により符号化された前記プログラムに含まれる変数を前記ネットワーク経由で受信する処理と、
    前記符号化された変数が満たすべき関係式を満足するか否かを判定し、満足すると判定されたとき、前記符号化式に依存して決まる復号式を用いて前記符号化前の変数を取得する処理と、
    をコンピュータに実行させるサーバサイドプログラム。

JP2005271352A 2005-09-20 2005-09-20 クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラム Pending JP2007086845A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005271352A JP2007086845A (ja) 2005-09-20 2005-09-20 クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005271352A JP2007086845A (ja) 2005-09-20 2005-09-20 クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラム

Publications (1)

Publication Number Publication Date
JP2007086845A true JP2007086845A (ja) 2007-04-05

Family

ID=37973803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005271352A Pending JP2007086845A (ja) 2005-09-20 2005-09-20 クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラム

Country Status (1)

Country Link
JP (1) JP2007086845A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150560A (ja) * 2010-01-22 2011-08-04 Kddi Corp ソフトウェア保護システム、ソフトウェア保護方法、ソフトウェア変換方法およびプログラム
JP2012133736A (ja) * 2010-12-24 2012-07-12 Kddi Corp ソフトウェアの難読化装置、ソフトウェアの難読化方法およびプログラム
JP2014186498A (ja) * 2013-03-22 2014-10-02 Kddi R & D Laboratories Inc ライセンス管理システム、方法及びモジュール

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03262334A (ja) * 1990-03-13 1991-11-22 Nec Corp 誤り訂正符号の復号方式
JP2002514333A (ja) * 1997-06-09 2002-05-14 インタートラスト テクノロジーズ コーポレイション ソフトウェアセキュリティを増強するための混乱化技術
JP2005049925A (ja) * 2003-07-29 2005-02-24 Nara Institute Of Science & Technology プログラム難読化装置、プログラム難読化プログラム及びプログラム難読化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03262334A (ja) * 1990-03-13 1991-11-22 Nec Corp 誤り訂正符号の復号方式
JP2002514333A (ja) * 1997-06-09 2002-05-14 インタートラスト テクノロジーズ コーポレイション ソフトウェアセキュリティを増強するための混乱化技術
JP2005049925A (ja) * 2003-07-29 2005-02-24 Nara Institute Of Science & Technology プログラム難読化装置、プログラム難読化プログラム及びプログラム難読化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150560A (ja) * 2010-01-22 2011-08-04 Kddi Corp ソフトウェア保護システム、ソフトウェア保護方法、ソフトウェア変換方法およびプログラム
JP2012133736A (ja) * 2010-12-24 2012-07-12 Kddi Corp ソフトウェアの難読化装置、ソフトウェアの難読化方法およびプログラム
JP2014186498A (ja) * 2013-03-22 2014-10-02 Kddi R & D Laboratories Inc ライセンス管理システム、方法及びモジュール

Similar Documents

Publication Publication Date Title
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
US9350544B2 (en) Apparatus for encrypting data
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
JP2008516548A (ja) コンテンツ暗号化方法、これを利用したネットワークによるコンテンツ提供システム及びその方法
US20210281406A1 (en) Cryptographic security system, method, and program product using data partitioning
US8392723B2 (en) Information processing apparatus and computer readable medium for preventing unauthorized operation of a program
CN107196840B (zh) 数据处理方法、装置及设备
Firdaus et al. Monitoring system with two central facilities protocol
Ertaul et al. Novel obfuscation algorithms for software security
CN112822228A (zh) 一种基于国密算法的浏览器文件加密上传方法及系统
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
Sultana et al. A new approach to hide data in color image using LSB steganography technique
JP2007086845A (ja) クライアントサーバシステムおよび同システムにおけるサーバサイドプログラムの実現方法ならびにそのサーバ装置、サーバサイドプログラム
JP4667800B2 (ja) 符号化方法およびそのプログラム
JP4675642B2 (ja) プログラム難読化装置およびその方法ならびにプログラム
CN109951735B (zh) 一种视频播放地址解析获取方法、系统及介质
CN102238150A (zh) 表单注册方法及服务器
CN102571323A (zh) 非标准字符库处理方法和装置以及引用该方法和装置的系统
US20080181397A1 (en) Secure data transmission and storage using limited-domain functions
KR20230095750A (ko) 일방향 함수를 이용한 암호 운영모드 기반의 화이트박스 암호화 방법 및 장치
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
KR20130020231A (ko) 웹 어플리케이션의 저작권 보호 시스템
CN112597453A (zh) 程序代码加密解密方法和装置
JP5149061B2 (ja) プログラム難読化装置、プログラム難読化方法およびプログラム
Putra et al. Implementation of Steganography using LSB with Encrypted and Compressed Text using TEA-LZW on Android

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071015

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110318

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110419