JP4978896B2 - 通信端末装置、サーバ端末装置、それらを用いる通信システム - Google Patents
通信端末装置、サーバ端末装置、それらを用いる通信システム Download PDFInfo
- Publication number
- JP4978896B2 JP4978896B2 JP2007544123A JP2007544123A JP4978896B2 JP 4978896 B2 JP4978896 B2 JP 4978896B2 JP 2007544123 A JP2007544123 A JP 2007544123A JP 2007544123 A JP2007544123 A JP 2007544123A JP 4978896 B2 JP4978896 B2 JP 4978896B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- client application
- terminal device
- processing
- communication terminal
- 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.)
- Expired - Fee Related
Links
- 230000006854 communication Effects 0.000 title claims description 854
- 238000004891 communication Methods 0.000 title claims description 846
- 238000012545 processing Methods 0.000 claims description 395
- 238000007781 pre-processing Methods 0.000 claims description 208
- 238000000034 method Methods 0.000 claims description 178
- 230000008569 process Effects 0.000 claims description 165
- 230000005540 biological transmission Effects 0.000 claims description 55
- 238000012795 verification Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 24
- 238000003672 processing method Methods 0.000 claims description 8
- 230000010365 information processing Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 181
- 238000007726 management method Methods 0.000 description 76
- 238000010586 diagram Methods 0.000 description 34
- 230000000694 effects Effects 0.000 description 13
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 3
- VONSLYSEUXFYLE-UHFFFAOYSA-N Erychrosid Natural products C1C2(C)OC2(C)C(O)OC1C(C)C1C2(C)C(=O)CC3C4(C)C(=O)C=CCC4(O)C4OC4C3C2CC1 VONSLYSEUXFYLE-UHFFFAOYSA-N 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
Description
また、改ざんや偽造された通信処理をクライアントアプリケーション4301が実行する可能性がある。従って、クライアントアプリケーション4301が、通信前に必要な前処理が未遂にもかかわらず通信前に必要な前処理が完了したかのように振舞う不正な通信処理を介してサーバアプリケーション4311と通信することが可能である。
通信端末装置4300で通信前に必要な前処理を行ったクライアントアプリケーション4301からの通信か否かをサーバ端末装置4310が判別できない。通信前に必要な前処理を行ったクライアントアプリケーション4301からの通信とそうでない通信とをサーバ端末装置4310側で区別する方法がない。
以上のことから、通信端末装置においてサーバ端末装置との通信に先立って実行する特定の処理としては、実行されていてもいなくても大きな問題にならない処理に限定せざるを得ず、例えば課金処理などのサーバ端末装置にとって重要な処理は通信端末装置側でなくサーバ端末装置側で実施する必要があった。
本発明の他の目的は、通信前に必要な前処理が未遂にもかかわらず通信前に必要な前処理が完了したかのように振舞う不正な通信処理を介して通信端末装置がサーバ端末装置と通信することを防止する技術を提供することにある。
本発明の更に他の目的は、通信端末装置で通信前に必要な前処理を行った通信か否かをサーバ端末装置側で判別する技術を提供することにある。
サーバ端末装置は、サーバアプリケーションを保持する記憶部と、暗号化データを自装置の公開鍵で復号化する復号化部と、クライアントアプリケーションから受信した暗号化データが前記復号化部で復号化できた場合、通信に先立って所定の前処理を実行したクライアントアプリケーションからの受信データであると判断して復号化したデータを前記サーバアプリケーションに伝達する通信処理部とを備えている。
さらに、正規にライブラリ関数を呼び出してサーバ端末装置と通信した通信端末装置だけが、正しい証明書の作成あるいは通信相手の秘密鍵を用いた暗号化が行えるため、サーバ端末装置でその証明書を検証するか、或いは公開鍵で復号化すれば、通信端末装置で通信前に必要な前処理を行った通信か否かを判別できる。従って、通信相手との通信に先立って実行する処理として、前処理に加えて、前処理を行ったことを通信相手に証明する証明書を作成する処理あるいは通信相手に送るデータを通信相手の秘密鍵を用いて暗号化する処理を含ませる発明にあっては、通信端末装置で通信前に必要な前処理を行った通信か否かをサーバ端末装置側で判別することができる。
またさらに、正規にライブラリ関数を呼び出してサーバ端末装置と通信した通信端末装置だけが、正しい証明書の作成あるいは通信相手の秘密鍵を用いた暗号化が行えるため、サーバ端末装置でその証明書を検証するか、或いは公開鍵で復号化すれば、そのような不正な通信処理かどうかを判別できる。従って、通信相手との通信に先立って実行する処理として、前処理に加えて、前処理を行ったことを通信相手に証明する証明書を作成する処理あるいは通信相手に送るデータを通信相手の秘密鍵を用いて暗号化する処理を含ませる発明にあっては、通信前に必要な前処理が未遂にもかかわらず通信前に必要な前処理が完了したかのように振舞う不正な通信処理を介して通信端末装置がサーバ端末装置と通信することを防止できる。
図1は、本発明の通信端末装置のハードウェア構成の一例を示すブロック図である。図1を参照すると、本発明の通信端末装置は、CPU1、ROM2、RAM3、表示部4、入力操作部5、ファイルシステム6、ネットワークインタフェースカード(NIC)7およびこれらを相互に接続するバス8を備えている。ROM2は、読み取り専用のメモリであり、CPU1で実行されるオペレーティングシステム(OS)、ライブラリ関数および固定データなどを記憶する。RAM3は、読み書き可能なメモリであり、CPU1で実行されるクライアントアプリケーションおよび演算データなどを一時的に記憶する。表示部4は、LCDなどで構成され、アプリケーション画面などを表示する。入力操作部5はキーボードなどで構成され、ユーザからのデータや指示を入力する。ファイルシステム6は、ハードディスクやICカードなどで構成され、クライアントアプリケーションや各種データを記憶する。NIC7は、有線あるいは無線により外部の通信相手と通信するためのものである。このようなハードウェア構成を有する通信端末装置の例としては、パーソナルコンピュータなどの一般的なコンピュータ、ゲーム端末、携帯電話などがある。
図2は、本発明の第1実施例による通信端末装置の構成を示すブロック図である。図2を参照すると、本発明の第1実施例による通信端末装置は、OS11、ライブラリ関数12、クライアントアプリケーション13、属性値14および第1特定命令の許容アドレス範囲15を、コンピュータ読み取り可能な記録媒体に保持している。
OS11は、例えば、クライアントアプリケーション13毎にセキュリティレベルを設定可能なセキュアOSである。OS11は、クライアントアプリケーション13毎の属性値14を管理している。属性値14は、クライアントアプリケーション13が利用する機能やリソースのアクセス制御の判断に用いられる1以上の属性値である。属性値14の具体例としては、セキュリティレベルを示す属性値、セキュリティゲート進入状態を示す属性値がある。また、第1特定命令22、第2特定命令23および通信命令24、43の実行によって内部割り込みが発生した際、それらに対応する例外処理として、セキュリティゲート進入処理31、セキュリティゲート退出処理32および通信命令実行制御33を行う機能を持つ。
通信命令実行制御33では、クライアントアプリケーション13がライブラリ関数12を呼び出してその通信命令24を実行した際、および、クライアントアプリケーションコード上の通信命令43を実行した際、クライアントアプリケーション13の属性値14に基づいて通信命令24、43の実行可否を制御する。
セキュリティゲート進入処理31では、クライアントアプリケーション13が第1特定命令22を実行した際、第1特定命令22のアドレスが許容アドレス範囲15内であるか否かをチェックし、許容アドレス範囲15内であれば、クライアントアプリケーション13の属性値14を変更する。
セキュリティゲート退出処理32では、クライアントアプリケーション13が第2特定命令23を実行した際、クライアントアプリケーション13の属性値14を元に戻す。
図3は、本発明の第2実施例による通信端末装置の構成を示すブロック図である。図3を参照すると、本発明の第2実施例による通信端末装置は、ライブラリ関数12内に第2特定命令23が配置されておらず、その代わりに、呼び出し元に戻る前に第2特定命令23を含む関数16を経由するようにクライアントアプリケーション13のスタック17を改変(更新)する命令列25が配置されている点で、第1実施例の通信端末装置と相違する。ここで、命令列25の配置場所は、第1特定命令22が配置された箇所以降で必ず実行される経路上であれば、任意の場所で良い。
クライアントアプリケーション13がコール命令41によってライブラリ関数12を呼び出すと、その先頭部分に配置された第1特定命令22がまず実行され、OS11のセキュリティゲート進入処理31により、クライアントアプリケーション13の属性値14が変更される。続いて、命令列25がクライアントアプリケーション13によって実行されることにより、クライアントアプリケーション13に戻る前に関数16を経由するようにスタック17が改変される。続いて、通信相手との通信に先立って実行する処理21が実行された後、通信命令24がクライアントアプリケーション13によって実行されると、OS11の通信命令実行制御33により、クライアントアプリケーション13の属性値14に基づいて通信命令の実行可否が判定され、実行可であれば、通信命令24の実行が行われて、制御が呼び出し元に戻される。続いて、ライブラリ関数12の処理が進み、呼び出し元の情報を得るためにスタック17をポップすると、関数16の情報が得られるため、関数16が呼び出され、その中の第2特定命令23が実行される。これにより、OS11のセキュリティゲート退出処理32が実行され、クライアントアプリケーション13の属性値14がセキュリティゲート進入前の状態に戻される。
図4は、本発明の第2実施例の変形例による通信端末装置のブロック図である。図4を参照すると、本発明の第2実施例の変形例による通信端末装置は、ライブラリ関数12内に第2特定命令23が配置されておらず、その代わりに、OS11のセキュリティゲート進入処理31に、ライブラリ関数12からクライアントアプリケーション13に戻る前に第2特定命令23を含む関数16を経由するようにクライアントアプリケーション13のスタック17を改変(更新)する処理が追加されている点で、第1実施例と相違する。
クライアントアプリケーション13がコール命令41によってライブラリ関数12を呼び出すと、その先頭部分に配置された第1特定命令22がまず実行され、OS11のセキュリティゲート進入処理31により、クライアントアプリケーション13の属性値14が変更され、且つ、ライブラリ関数12からクライアントアプリケーション13に戻る前に関数16を経由するようにスタック17が改変される。続いて、通信相手との通信に先立って実行する処理21が実行された後、通信命令24がクライアントアプリケーション13によって実行されると、OS11の通信命令実行制御33により、クライアントアプリケーション13の属性値14に基づいて通信命令の実行可否が判定され、実行可であれば、通信命令24の実行が行われて、制御が呼び出し元に戻される。続いて、ライブラリ関数12の処理が進み、呼び出し元の情報を得るためにスタック17をポップすると、関数16の情報が得られるため、関数16が呼び出され、その中の第2特定命令23が実行される。これにより、OS11のセキュリティゲート退出処理32が実行され、クライアントアプリケーション13の属性値14がセキュリティゲート進入前の状態に戻される。
図5は、本発明の第3実施例による通信端末装置のブロック図である。図5を参照すると、本発明の第3実施例による通信端末装置は、セキュリティゲート進入処理31によってクライアントアプリケーション13の属性値14を変更した後、セキュリティゲート退出処理32によってクライアントアプリケーション13の属性値14を元に戻すまでのクライアントアプリケーション13の走行中に、シグナルまたは割り込み26が発生した際、クライアントアプリケーション13のシグナル/割り込みハンドラ44を呼び出す前にクライアントアプリケーション13の属性値14をセキュリティゲート進入処理31による変更前の値に戻し、シグナル/割り込みハンドラ44による処理が終わったときにセキュリティゲート進入処理31による変更後の値に戻すセキュリティゲート一時退出処理34をOS11が実行するようにした点で、第1実施例と相違する。
クライアントアプリケーション13がコール命令41によってライブラリ関数12を呼び出すと、その先頭部分に配置された第1特定命令22がまず実行され、OS11のセキュリティゲート進入処理31により、クライアントアプリケーション13の属性値14が変更される。続いて、通信相手との通信に先立って実行する処理21が実行された後、通信命令24がクライアントアプリケーション13によって実行されると、OS11の通信命令実行制御33により、クライアントアプリケーション13の属性値14に基づいて通信命令の実行可否が判定され、実行可であれば、通信命令24の実行が行われて、制御が呼び出し元に戻される。その後、シグナルまたは割り込み26が発生すると、内部割り込みが発生して制御がOS11に移り、セキュリティゲート一時退出処理34が実行され、クライアントアプリケーション13の属性値14がセキュリティゲート進入処理31による変更前の値に戻された後、クライアントアプリケーション13のシグナル/割り込みハンドラ44が呼び出される。そして、シグナル/割り込みハンドラ44による処理が終了すると、制御がOS11のセキュリティゲート一時退出処理34に戻り、クライアントアプリケーション13の属性値14がセキュリティゲート進入処理31による変更後の値に戻された後、ライブラリ関数12の前記シグナルまたは割り込み26で中断した箇所に制御が戻される。そして、ライブラリ関数12の処理が進み、呼び出し元に戻る直前に第2特定命令23が実行されると、OS11のセキュリティゲート退出処理32により、クライアントアプリケーション13の属性値14がセキュリティゲート進入前の状態に戻される。
本発明のサーバ端末装置のハードウェア構成の一例は、図1に示した通信端末装置と同じ構成、あるいは図1から表示部4および入力操作部5を取り除いた構成を有する。この場合、ROM2には、CPU1で実行されるOSおよび固定データなどが記憶され、RAM3にはCPU1で実行されるサーバアプリケーションおよび演算データなどが一時的に記憶される。また、ファイルシステム6は、ハードディスクなどで構成され、サーバアプリケーションや各種データが記憶される。NIC7は、有線あるいは無線により外部の通信相手と通信するためのものである。このようなハードウェア構成を有する通信端末装置の例としては、パーソナルコンピュータやワークステーションなどの一般的なコンピュータなどがある。
図6は、本発明の第1実施例によるサーバ端末装置のブロック図である。図6を参照すると、本発明の第1実施例によるサーバ端末装置は、サーバアプリケーション52と、通信処理部53と、証明書検証部54とを含んで構成されている。
通信処理部53は、図示しないネットワークを通じて通信相手と有線または無線により通信する部である。通信処理部53は、通信相手からデータおよび証明書を受信すると、証明書を証明書検証部54に渡してその検証結果を受け取り、証明書が正当である旨の検証結果が得られた場合、通信相手が所定の前処理を実行済みであると判断し、証明書と共に受信したデータをサーバアプリケーション52に伝達する。証明書が正当である旨の検証結果が得られなかった場合、通信処理部53は、通信相手が所定の前処理を実行していないと判断し、証明書と共に受信したデータはサーバアプリケーション52に伝達せず、破棄する。
サーバアプリケーション52は、通信相手から受信したデータを通信処理部53から受け取って処理する。処理の結果、通信相手に何らかのデータを送信する必要がある場合、サーバアプリケーション52は、データを通信処理部53を通じて通信相手へ送信する。
サーバ端末装置51の通信処理部53は、通信相手からデータと証明書を受信すると(図7のS101)、証明書を証明書検証部54へ渡し(S102)、証明書認証信号または証明書否認信号を受信するまで待つ(S103)。
証明書検証部54は、証明書を受け取ると(図8のS111)、その証明書が正当か不当かを判断する(S112)。証明書検証部54は、証明書が不当である場合、通信処理部53に証明書否認信号を送信し(S113)、証明書が正当である場合は通信処理部53に証明書認証信号を送信する(S114)。
通信処理部53は、証明書否認信号を受信すると(S103)、処理を終了する。他方、通信処理部53は、証明書認証信号を受信すると(S103)、通信相手から受信したデータをサーバアプリケーション52に伝達する(S104)。
サーバアプリケーション52は、通信処理部53からデータを渡されると(図9のS121)、渡されたデータを処理する(S122)。
本発明の第2実施例によるサーバ端末装置は、データと証明書とを送信してきた通信相手に対して通信の成功、失敗を応答する点が、サーバ端末装置の第1実施例と相違する。
サーバ端末装置51の通信処理部53は、通信相手からデータと証明書を受信すると(図10のS101)、証明書を証明書検証部54へ渡し(S102)、証明書認証信号または証明書否認信号を受信するまで待つ(S103)。証明書検証部54は、証明書を受け取ると(S111)、その証明書が正当か不当かを判断し(S112)、証明書が不当である場合、通信処理部53に証明書否認信号を送信し(S113)、証明書が正当である場合は通信処理部53に証明書認証信号を送信する(S114)。
通信処理部53は、証明書否認信号を受信すると(S103)、データと証明書を送信してきた通信相手に対して通信失敗信号を送信する(S106)。他方、通信処理部53は、証明書認証信号を受信すると(S103)、通信相手から受信したデータをサーバアプリケーション52に伝達する(S104)。
サーバアプリケーション52は、通信処理部53からデータを渡されると(図11のS121)、渡されたデータを処理し(S122)、通信処理部53にデータ処理完了信号を渡す(S123)。通信処理部53は、データ処理完了信号を受信すると(S105)、データと証明書を送信してきた通信相手に対して通信成功信号を送信する(S107)。
図12を参照すると、本発明のサーバ端末装置の第3実施例は、サーバアプリケーション62と、通信処理部63と、復号化部64とを含んで構成されている。
通信処理部63は、図示しないネットワークを通じて通信相手から暗号化データを受信すると、この暗号化データを復号化部64に渡してその結果を受け取り、復号化したデータが得られた場合、通信相手が所定の前処理を実行済みであると判断し、復号化したデータをサーバアプリケーション62に伝達する。復号化に失敗していれば、通信処理部63は、通信相手が所定の前処理を実行していないと判断し、処理を終了する。
サーバアプリケーション62は、通信処理部63から復号化したデータを受け取って処理する。処理の結果、通信相手に何らかのデータを送信する必要がある場合、サーバアプリケーション62は、データを通信処理部63を通じて通信相手へ送信する。
サーバ端末装置61の通信処理部63は、通信相手から暗号化データを受信すると(図13のS131)、その暗号化データを復号化部64へ渡し(S132)、その復号結果を待つ(S133)。
復号化部64は、暗号化データを受け取ると(図14のS141)、自サーバ端末装置61の公開鍵でその暗号化データを復号化する(S142)。復号化部64は、復号化に成功した場合(S143でYES)、復号化したデータを通信処理部63に渡し(S144)、復号化に失敗した場合(S143でNO)、復号不可信号を通信処理部63に渡す(S145)。
通信処理部63は、復号不可信号を受信すると(S133)、処理を終了する。他方、通信処理部53は、復号化したデータを受信すると(S133)、この復号化したデータサーバアプリケーション62に伝達する(S134)。サーバアプリケーション62は、通信処理部63から渡されたデータを処理する。
図15を参照すると、本発明の第1実施例の通信システムは、クライアント端末として動作する通信端末装置100とサーバ端末として動作するサーバ端末装置51とがインターネットなどのネットワークNWを通じて相互に通信可能に接続されている。
a)高信頼メモリエリア120がROM領域であれば、そのROM領域のアドレス範囲を許容アドレス範囲とする。
b)ファイルシステムまたはROM中にある信頼できるライブラリ関数121をRAM領域にロードして実行するコンピュータの場合、そのロードされたメモリアドレス範囲を許容アドレス範囲とする。なお、ロードされるライブラリ関数121が信頼できるかどうかの判断は、ロード元のファイルシステムやROMそのものが信頼できるかどうかの情報をあらかじめ保持しておき、これを参照して判断する方法、信頼できるライブラリ関数のリストをあらかじめ保持しておき、これを参照して判断する方法、信頼できるライブラリ関数自身にあらかじめ印(署名など)をつけておき、ロード時に確認する方法等を利用することができる。
まず、通信端末装置100の動作を説明する。OS130によって、クライアントアプリケーション111が通常メモリエリア110にロードされ、アプリケーションプロセス(プロセスID=nnn)として実行される。この時、クライアントアプリケーション111は信頼できるかどうか不明であり、セキュリティレベルは“Low”で動作する。クライアントアプリケーション111は、サーバ端末装置51のサーバアプリケーション52にデータを送信する場合、ライブラリ関数121を呼び出す。ライブラリ関数121は、呼び出されると、まず関数の先頭に配置された第1特定命令123を実行する(図16のS201)。
本適用例は、通信端末装置100としてLinux端末を、サーバ端末装置51としてパーソナルコンピュータを備えている。
パーソナルコンピュータであるサーバ端末装置51のサーバアプリケーション52は、ゲームコンテンツを配布する機能を有し、通信端末装置100とSecurity Socket Layer(SSL)を用いて通信する。Linux端末である通信端末装置100のクライアントアプリケーション111は、サーバアプリケーション52が配布するゲームコンテンツをダウンロードする機能を有する。通信端末装置100は、電子マネー情報が記憶されたICカードの機能を有しており、ROM領域でXIP(eXecute In Place)実行されるライブラリ関数121の前処理部125は、ICカードを通じて課金処理を行う機能を有している。このような前提で、クライアントアプリケーション111がサーバアプリケーション52にダウンロードリクエストを送信し、ゲームコンテンツのダウンロードを試みた場合の動作を説明する。
図19を参照すると、本発明の通信システムの第2実施例は、通信端末装置100の高信頼メモリエリア120に、データと前処理識別子との対応関係を保持する前処理記憶部127を備え、ライブラリ関数121の前処理部125は、クライアントアプリケーション111の送信データと同じデータに対応する前処理識別子を前処理記憶部127から検索し、その検索した前処理識別子で一意に識別される内容の前処理を実行する点で、図15に示した第1実施例と相違する。
本実施例の通信システムは、通信端末装置100のライブラリ関数121における前処理部125の動作だけが第1実施例の通信システムと相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121が、第1特定命令123を処理した後、前処理部125による処理に進むと、前処理部125は、前処理記憶部127を参照して、送信データに対応する前処理識別子を取得する。そして、取得した前処理識別子に対応する前処理を実行し、引き続き証明書管理部126による処理へ進む。
本実施例によれば、第1実施例の通信システムと同等の効果が得られると同時に、前処理記憶部123を備えたことにより、クライアントアプリケーション111がサーバアプリケーション52に送信するデータに応じて、前処理の内容を変更することができる。
次に本実施例にかかる通信システムの適用例について説明する。
本適用例は、通信端末装置100としてLinux端末を、サーバ端末装置51としてパーソナルコンピュータを備えている。
パーソナルコンピュータであるサーバ端末装置51のサーバアプリケーション52は、価格の異なる複数のゲームコンテンツを配布する機能を有し、通信端末装置100とSSLを用いて通信する。Linux端末である通信端末装置100のクライアントアプリケーション111は、サーバアプリケーション52が配布するゲームコンテンツをダウンロードする機能を有する。前処理記憶部127には、ダウンロード対象となるゲームコンテンツ毎の価格情報が記憶されている。通信端末装置100は、電子マネー情報が記憶されたICカードの機能を有しており、ROM領域でXIP実行されるライブラリ関数121の前処理部125は、前処理記憶部127を参照して、ICカードを通じてダウンロードするゲームコンテンツに応じた課金処理を行う機能を有している。このような前提で、クライアントアプリケーション111がサーバアプリケーション52にダウンロードリクエストを送信し、ゲームコンテンツのダウンロードを試みた場合の動作を説明する。
図20を参照すると、本発明の通信システムの第3実施例は、クライアント端末として動作する通信端末装置100とサーバ端末として動作するサーバ端末装置61とがインターネットなどのネットワークNWを通じて相互に通信可能に接続されている。
本実施例の通信システムにおける通信端末装置100は、ライブラリ関数121において証明書管理部126による処理に代えて暗号化部128による処理を行う点が第1実施例の通信システムにおける通信端末装置と相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121は、第1特定命令123および前処理部125による処理を終えると、暗号化部128により、クライアントアプリケーション111の送信データをサーバ端末装置61の秘密鍵で暗号化し、この暗号化データを送信データとする。引き続き実行される通信システムコール122を使用した通信では、この暗号化データがネットワークNWを通じてサーバ端末装置61の通信処理部63へ送信される。
次に本実施例にかかる通信システムの適用例について説明する。
本適用例は、通信端末装置100としてLinux端末を、サーバ端末装置61としてパーソナルコンピュータを備えている。
パーソナルコンピュータであるサーバ端末装置61のサーバアプリケーション62は、ゲームコンテンツを配布する機能を有し、Linux端末である通信端末装置100のクライアントアプリケーション111は、サーバアプリケーション62が配布するゲームコンテンツをダウンロードする機能を有する。通信端末装置100とサーバ端末装置61の通信は、通信端末装置100の暗号化部128が保持するサーバ端末装置61が予め配布した秘密鍵と、サーバ端末装置61の通信処理部63が保持する公開鍵を利用したSSLを用いて行う。また通信端末装置100は、電子マネー情報が記憶されたICカードの機能を有しており、ROM領域でXIP実行されるライブラリ関数121の前処理部125は、ICカードを通じて課金処理を行う機能を有している。このような前提で、クライアントアプリケーション111がサーバアプリケーション62にダウンロードリクエストを送信し、ゲームコンテンツのダウンロードを試みた場合の動作を説明する。
図21を参照すると、本発明の通信システムの第4実施例は、通信端末装置100において、クライアントアプリケーション111の新たな属性値としてセキュリティゲート進入状態を示す属性値を追加し、プロセス状態管理データベース138がプロセスIDとセキュリティレベルと前記属性値に対応するセキュリティゲート通過フラグとの組を保持し、このプロセス状態管理データベース138内のセキュリティゲート通過フラグを変更する機能を持つセキュリティゲート進入状態記録処理部139を備え、クライアントアプリケーション111がセキュリティゲートに進入した時点ではそのセキュリティレベルを変更せずに、セキュリティゲート進入状態にあることをセキュリティゲート通過フラグで管理しておき、権限チェック処理部136による通信命令実行の権限チェック時に一時的にセキュリティレベルを変更するようにした点で、通信システムの第1実施例と相違する。
通信端末装置100において、クライアントアプリケーション111が通常メモリエリア110にOS130によりロードされ、アプリケーションプロセス(プロセスID=nnn)として実行される。この時、クライアントアプリケーション111は信頼できるかどうか不明であり、セキュリティレベルは“Low”で動作する。また、セキュリティゲート通過フラグは“0”である。クライアントアプリケーション111は、サーバ端末装置51のサーバアプリケーション52にデータを送信する場合、ライブラリ関数121を呼び出す。ライブラリ関数121は、呼び出されると、まず関数の先頭に配置された第1特定命令123を実行する(図22のS301)。
図25を参照すると、本発明の通信システムの第5実施例は、通信端末装置100の高信頼メモリエリア120に、データと前処理識別子との対応関係を保持する前処理記憶部127を備え、ライブラリ関数121の前処理部125は、クライアントアプリケーション111の送信データと同じデータに対応する前処理識別子を前処理記憶部127から検索し、その検索した前処理識別子で一意に識別される内容の前処理を実行する点で、図21に示した第4実施例と相違する。
本実施例の通信システムは、通信端末装置100のライブラリ関数121における前処理部125の動作だけが第4実施例の通信システムと相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121が、第1特定命令123を処理した後、前処理部125による処理に進むと、前処理部125は、前処理記憶部127を参照して、送信データに対応する前処理識別子を取得する。そして、取得した前処理識別子に対応する前処理を実行し、引き続き証明書管理部126による処理へ進む。
図26を参照すると、本発明の通信システムの第6実施例は、クライアント端末として動作する通信端末装置100とサーバ端末として動作するサーバ端末装置61とがインターネットなどのネットワークNWを通じて相互に通信可能に接続されている。
本実施例の通信システムにおける通信端末装置100は、ライブラリ関数121において証明書管理部126による処理に代えて暗号化部128による処理を行う点が第4実施例の通信システムにおける通信端末装置と相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121は、第1特定命令123および前処理部125による処理を終えると、暗号化部128により、クライアントアプリケーション111の送信データをサーバ端末装置61の秘密鍵で暗号化し、この暗号化データを送信データとする。引き続き実行される通信システムコール122を使用した通信では、この暗号化データがネットワークNWを通じてサーバ端末装置61の通信処理部63へ送信される。
図27を参照すると、本発明の通信システムの第7実施例における通信端末装置100は、図21に示した第4実施例の通信システムにおける通信端末装置の構成から、セキュリティレベル変更部134及びセキュリティレベル変更ポリシデータベース135を省略し、権限チェック処理部136は、クライアントアプリケーション111がセキュリティゲート進入状態にある場合、クライアントアプリケーション111のセキュリティレベルによる権限チェックを省略して通信命令を実行し、クライアントアプリケーション111がセキュリティゲート進入状態にない場合、クライアントアプリケーション111のセキュリティレベルによる権限チェックを行い、通信命令を実行する権限があるときは通信命令を実行し、通信命令を実行する権限がないときは特権命令違反としてエラーを発生させるようにした点で、第4実施例の通信システムにおける通信端末装置と相違する。サーバ端末装置51は、第4実施例の通信システムにおけるものと同じである。
通信端末装置100において、クライアントアプリケーション111が通常メモリエリア110にOS130によりロードされ、アプリケーションプロセス(プロセスID=nnn)として実行される。この時、クライアントアプリケーション111は信頼できるかどうか不明であり、セキュリティレベルは“Low”で動作する。クライアントアプリケーション111は、サーバ端末装置51のサーバアプリケーション52にデータを送信する場合、ライブラリ関数121を呼び出す。ライブラリ関数121は、呼び出されると、まず関数の先頭に配置された第1特定命令123を実行する。このときの動作は第4実施例の通信システムにおける通信端末装置と同じであり、その結果、第1特定命令123が存在するメモリエリアが高信頼メモリエリア120である場合に限り、プロセス状態管理データベース138内にある、当該クライアントアプリケーション111のセキュリティゲート通過フラグが例えば“0”から“1”に変更される。
図29を参照すると、本発明の通信システムの第8実施例は、通信端末装置100の高信頼メモリエリア120に、データと前処理識別子との対応関係を保持する前処理記憶部127を備え、ライブラリ関数121の前処理部125は、クライアントアプリケーション111の送信データと同じデータに対応する前処理識別子を前処理記憶部127から検索し、その検索した前処理識別子で一意に識別される内容の前処理を実行する点で、図27に示した第7実施例と相違する。
本実施例の通信システムは、通信端末装置100のライブラリ関数121における前処理部125の動作だけが第7実施例の通信システムと相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121が、第1特定命令123を処理した後、前処理部125による処理に進むと、前処理部125は、前処理記憶部127を参照して、送信データに対応する前処理識別子を取得する。そして、取得した前処理識別子に対応する前処理を実行し、引き続き証明書管理部126による処理へ進む。
図30を参照すると、本発明の通信システムの第9実施例は、クライアント端末として動作する通信端末装置100とサーバ端末として動作するサーバ端末装置61とがインターネットなどのネットワークNWを通じて相互に通信可能に接続されている。
本実施例の通信システムにおける通信端末装置100は、ライブラリ関数121において証明書管理部126による処理に代えて暗号化部128による処理を行う点が第7実施例の通信システムにおける通信端末装置と相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121は、第1特定命令123および前処理部125による処理を終えると、暗号化部128により、クライアントアプリケーション111の送信データをサーバ端末装置61の秘密鍵で暗号化し、この暗号化データを送信データとする。引き続き実行される通信システムコール122を使用した通信では、この暗号化データがネットワークNWを通じてサーバ端末装置61の通信処理部63へ送信される。
図31を参照すると、本発明の通信システムの第10実施例における通信端末装置100は、図21に示した第4実施例の通信システムにおける通信端末装置の構成から、セキュリティレベル変更部134、セキュリティレベル変更ポリシデータベース135及びプロセス状態管理データベース138を省略する一方、セキュリティゲート進入状態のクライアントアプリケーション111のプロセスID一覧を管理するセキュリティゲート進入中プロセスIDデータベース150を追加し、権限チェック処理部136は、クライアントアプリケーション111がセキュリティゲート進入状態にあるか否かによって、通信命令の実行可否を制御するようにした点で、第4実施例の通信システムにおける通信端末装置と相違する。本実施例におけるサーバ端末装置51は、第4実施例の通信システムにおけるものと同じである。
通信端末装置100において、クライアントアプリケーション111が通常メモリエリア110にOS130によりロードされ、アプリケーションプロセス(プロセスID=nnn)として実行される。本実施例の場合、クライアントアプリケーション111へのセキュリティレベルの設定は必須でないため、任意のセキュリティレベルを設定して良い。クライアントアプリケーション111は、サーバ端末装置51のサーバアプリケーション52にデータを送信する場合、ライブラリ関数121を呼び出す。ライブラリ関数121は、呼び出されると、まず関数の先頭に配置された第1特定命令123を実行する。このときの動作は第4実施例の通信システムにおける通信端末装置と同じであり、第1特定命令123が存在するメモリエリアが高信頼メモリエリア120である場合に限り、当該クライアントアプリケーション111がセキュリティゲート進入中として管理される。具体的には、セキュリティゲート進入状態記録処理部139により、当該クライアントアプリケーション111のプロセスIDがセキュリティゲート進入中プロセスIDデータベース150に記録される。
図33を参照すると、本発明の通信システムの第11実施例は、通信端末装置100の高信頼メモリエリア120に、データと前処理識別子との対応関係を保持する前処理記憶部127を備え、ライブラリ関数121の前処理部125は、クライアントアプリケーション111の送信データと同じデータに対応する前処理識別子を前処理記憶部127から検索し、その検索した前処理識別子で一意に識別される内容の前処理を実行する点で、図31に示した第10実施例と相違する。
本実施例の通信システムは、通信端末装置100のライブラリ関数121における前処理部125の動作だけが第10実施例の通信システムと相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121が、第1特定命令123を処理した後、前処理部125による処理に進むと、前処理部125は、前処理記憶部127を参照して、送信データに対応する前処理識別子を取得する。そして、取得した前処理識別子に対応する前処理を実行し、引き続き証明書管理部126による処理へ進む。
図34を参照すると、本発明の通信システムの第12実施例は、クライアント端末として動作する通信端末装置100とサーバ端末として動作するサーバ端末装置61とがインターネットなどのネットワークNWを通じて相互に通信可能に接続されている。
本実施例の通信システムにおける通信端末装置100は、ライブラリ関数121において証明書管理部126による処理に代えて暗号化部128による処理を行う点が第10実施例の通信システムにおける通信端末装置と相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121は、第1特定命令123および前処理部125による処理を終えると、暗号化部128により、クライアントアプリケーション111の送信データをサーバ端末装置61の秘密鍵で暗号化し、この暗号化データを送信データとする。引き続き実行される通信システムコール122を使用した通信では、この暗号化データがネットワークNWを通じてサーバ端末装置61の通信処理部63へ送信される。
図35を参照すると、本発明の通信システムの第13実施例は、通信端末装置100において、ライブラリ関数121の処理の末尾に配置される第2特定命令124を省略する代わりに、第1特定命令123を実行する際に、クライアントアプリケーション111に戻る直前に必ず第2特定命令124を含む関数を経由するようにクライアントアプリケーション111のプロセスのスタックを改変する命令列であるところのスタック改変処理部129をライブラリ関数121に付加するようにした点で、第1実施例の通信システムにおける通信端末装置と相違する。本実施例のサーバ端末装置51は、第1実施例の通信システムにおけるものと同じである。
通信端末装置100において、クライアントアプリケーション111が通常メモリエリア110にOS130によりロードされ、アプリケーションプロセス(プロセスID=nnn)として実行される。この時、クライアントアプリケーション111は信頼できるかどうか不明であり、セキュリティレベルは“Low”で動作する。クライアントアプリケーション111は、サーバ端末装置51のサーバアプリケーション52にデータを送信する場合、ライブラリ関数121を呼び出す。ライブラリ関数121は、呼び出されると、まず関数の先頭に配置された第1特定命令123を実行する。これにより、第1実施例の通信システムの通信端末装置と同様に、第1特定命令123が存在するメモリエリアの種別が高信頼メモリエリア120である場合に限り、セキュリティレベル変更部134を用いてアプリケーションプロセスのセキュリティレベルが例えば“Low”から“High”に変更される。
図37を参照すると、本発明の通信システムの第14実施例は、通信端末装置100の高信頼メモリエリア120に、データと前処理識別子との対応関係を保持する前処理記憶部127を備え、ライブラリ関数121の前処理部125は、クライアントアプリケーション111の送信データと同じデータに対応する前処理識別子を前処理記憶部127から検索し、その検索した前処理識別子で一意に識別される内容の前処理を実行する点で、図35に示した第13実施例と相違する。
本実施例の通信システムは、通信端末装置100のライブラリ関数121における前処理部125の動作だけが第13実施例の通信システムと相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121が、第1特定命令123およびスタック改変処理部129による処理を行った後、前処理部125による処理に進むと、前処理部125は、前処理記憶部127を参照して、送信データに対応する前処理識別子を取得する。そして、取得した前処理識別子に対応する前処理を実行し、引き続き証明書管理部126による処理へ進む。
図38を参照すると、本発明の通信システムの第15実施例は、クライアント端末として動作する通信端末装置100とサーバ端末として動作するサーバ端末装置61とがインターネットなどのネットワークNWを通じて相互に通信可能に接続されている。
本実施例の通信システムにおける通信端末装置100は、ライブラリ関数121において証明書管理部126による処理に代えて暗号化部128による処理を行う点が第13実施例の通信システムにおける通信端末装置と相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121は、第1特定命令123、スタック改変処理部129および前処理部125による処理を終えると、暗号化部128により、クライアントアプリケーション111の送信データをサーバ端末装置61の秘密鍵で暗号化し、この暗号化データを送信データとする。引き続き実行される通信システムコール122を使用した通信では、この暗号化データがネットワークNWを通じてサーバ端末装置61の通信処理部63へ送信される。
図39を参照すると、本発明の通信システムの第16実施例は、第1実施例の通信システムにおける通信端末装置100に、シグナル/割り込みハンドラ112と、シグナル/割り込み処理部140と、セキュリティゲート一時退出処理部141とが追加されている。また、プロセス状態管理データベース138は、クライアントアプリケーション111のプロセスIDと、現在のセキュリティレベルと、プロセス生成時に元々割り当てられていたセキュリティレベル(初期レベル)と、セキュリティレベルの保存域との組を格納する。
第1実施例の通信システムにおいて説明した処理動作にて通信端末装置100が動作している場合において、クライアントアプリケーション111が処理を行っている間にシグナルや割り込みが発生すると、OS130はクライアントアプリケーション111の処理を一時中断し、シグナル/割り込み処理部140を用いてクライアントアプリケーション111内にあるシグナル/割り込みハンドラ112を呼び出そうとする。この時、もしもクライアントアプリケーション111の状態が、セキュリティゲート進入処理部131を通過している状態であれば、このままではクライアントアプリケーション111のプログラム内の通信システムコールの実行が可能になり、前処理を保証することができなくなる。そこで本実施例では、これを防ぐため、シグナル/割り込み処理部140がシグナル/割り込みハンドラ112を呼び出す前に、セキュリティゲート一時退出処理部141を用いて、以下のように、当該クライアントアプリケーション111のセキュリティレベルを一時的に元に戻す処理を行う。
図41を参照すると、本発明の通信システムの第17実施例は、通信端末装置100の高信頼メモリエリア120に、データと前処理識別子との対応関係を保持する前処理記憶部127を備え、ライブラリ関数121の前処理部125は、クライアントアプリケーション111の送信データと同じデータに対応する前処理識別子を前処理記憶部127から検索し、その検索した前処理識別子で一意に識別される内容の前処理を実行する点で、図39に示した第16実施例と相違する。
本実施例の通信システムは、通信端末装置100のライブラリ関数121における前処理部125の動作だけが第16実施例の通信システムと相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121が、第1特定命令123を処理した後、前処理部125による処理に進むと、前処理部125は、前処理記憶部127を参照して、送信データに対応する前処理識別子を取得する。そして、取得した前処理識別子に対応する前処理を実行し、引き続き証明書管理部126による処理へ進む。
図42を参照すると、本発明の通信システムの第18実施例は、クライアント端末として動作する通信端末装置100とサーバ端末として動作するサーバ端末装置61とがインターネットなどのネットワークNWを通じて相互に通信可能に接続されている。
本実施例の通信システムにおける通信端末装置100は、ライブラリ関数121において証明書管理部126による処理に代えて暗号化部128による処理を行う点が第16実施例の通信システムにおける通信端末装置と相違する。クライアントアプリケーション111から送信データを渡されて呼び出されたライブラリ関数121は、第1特定命令123および前処理部125による処理を終えると、暗号化部128により、クライアントアプリケーション111の送信データをサーバ端末装置61の秘密鍵で暗号化し、この暗号化データを送信データとする。引き続き実行される通信システムコール122を使用した通信では、この暗号化データがネットワークNWを通じてサーバ端末装置61の通信処理部63へ送信される。
Claims (30)
- 通信相手との通信に先立って実行されるべき処理の実行前に第1特定命令が実行され且つ呼び出し元に戻る前に第2特定命令が実行されるようにしたライブラリ関数、クライアントアプリケーション、その属性値、及び、前記第1特定命令の許容アドレス範囲を保持する記憶部と、
前記クライアントアプリケーションが通信命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値に基づいて通信命令の実行可否を制御する通信命令実行制御部と、
前記クライアントアプリケーションが第1特定命令を実行して内部割り込みが発生した際、前記第1特定命令のアドレスが前記許容アドレス範囲内であるか否かをチェックし、前記許容アドレス範囲内であれば、前記クライアントアプリケーションの前記属性値を変更するセキュリティゲート進入処理部と、
前記クライアントアプリケーションが第2特定命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値を元に戻すセキュリティゲート退出処理部と
を具備する通信端末装置。 - 請求の範囲1記載の通信端末装置において、
通信相手との通信に先立って実行する前記処理は、前処理と、該前処理を行ったことを通信相手に証明する証明書を送信データに付加する処理とを含む
通信端末装置。 - 請求の範囲1記載の通信端末装置において、
通信相手との通信に先立って実行されるべき前記処理は、前処理と、通信相手に送るデータを通信相手の秘密鍵を用いて暗号化する処理とを含む
通信端末装置。 - 請求の範囲2または3記載の通信端末装置において、
前記前処理は課金処理を含む
通信端末装置。 - 請求の範囲2または3記載の通信端末装置において、
前記前処理は著作権管理処理を含む
通信端末装置。 - 請求の範囲1乃至5の何れか1項に記載の通信端末装置において、
前記属性値が、前記クライアントアプリケーションのセキュリティレベルを示す属性値である
通信端末装置。 - 請求の範囲6記載の通信端末装置において、
前記通信命令実行制御部は、前記クライアントアプリケーションのセキュリティレベルによる権限チェックを行い、通信命令を実行する権限があるときは通信命令を実行する
通信端末装置。 - 請求の範囲1乃至5の何れか1項に記載の通信端末装置において、
前記属性値が、前記クライアントアプリケーションのセキュリティゲート進入状態を示す属性値である
通信端末装置。 - 請求の範囲8記載の通信端末装置において、
前記通信命令実行制御部は、前記クライアントアプリケーションがセキュリティゲート進入状態にある場合、通信命令を実行する
通信端末装置。 - 請求の範囲1乃至5の何れか1項に記載の通信端末装置において、
前記属性値が、前記クライアントアプリケーションのセキュリティレベルを示す属性値と前記クライアントアプリケーションのセキュリティゲート進入状態を示す属性値とを含む
通信端末装置。 - 請求の範囲10記載の通信端末装置において、
前記通信命令実行制御部は、前記クライアントアプリケーションがセキュリティゲート進入状態にある場合、前記クライアントアプリケーションのセキュリティレベルによる権限チェックを省略して通信命令を実行し、前記クライアントアプリケーションがセキュリティゲート進入状態にない場合、前記クライアントアプリケーションのセキュリティレベルによる権限チェックを行い、通信命令を実行する権限があるときは通信命令を実行する
通信端末装置。 - 請求の範囲10記載の通信端末装置において、
前記セキュリティゲート進入処理部は、セキュリティゲート進入状態となったクライアントアプリケーションのセキュリティレベルを変更するものであり、
前記セキュリティゲート退出処理部は、セキュリティゲート退出状態となったクライアントアプリケーションのセキュリティレベルを元に戻すものであり、
前記通信命令実行制御部は、前記クライアントアプリケーションのセキュリティレベルによる権限チェックを行い、通信命令を実行する権限があるときは通信命令を実行する
通信端末装置。 - 請求の範囲10記載の通信端末装置において、
前記通信命令実行制御部は、前記クライアントアプリケーションがセキュリティゲート進入状態にある場合、前記クライアントアプリケーションのセキュリティレベルを更新した後、前記クライアントアプリケーションのセキュリティレベルによる権限チェックを行い、通信命令を実行する権限があるときは通信命令を実行した後にセキュリティレベルを元の値に戻す
通信端末装置。 - 請求の範囲11乃至13のいずれかに記載の通信端末装置において、
セキュリティゲート進入状態にある前記クライアントアプリケーションの走行中にシグナルまたは割り込みが発生した際、前記クライアントアプリケーションのシグナル/割り込みハンドラを呼び出す前に前記クライアントアプリケーションのセキュリティレベルをセキュリティゲート進入前の値に戻し、前記シグナル/割り込みハンドラによる処理が終わったとき若しくは終わった後にセキュリティゲート進入後の値に戻すセキュリティゲート一時退出処理部を備える
通信端末装置。 - 請求の範囲1乃至5の何れか1項に記載の通信端末装置において、
前記セキュリティゲート進入処理部によって前記クライアントアプリケーションの前記属性値を変更した後、前記セキュリティゲート退出処理部によって前記クライアントアプリケーションの前記属性値を元に戻すまでの前記クライアントアプリケーションの走行中にシグナルまたは割り込みが発生した際、前記クライアントアプリケーションのシグナル/割り込みハンドラを呼び出す前に前記クライアントアプリケーションの前記属性値を前記セキュリティゲート進入処理部による変更前の値に戻し、前記シグナル/割り込みハンドラによる処理が終わったとき若しくは終わった後に前記セキュリティゲート進入処理部による変更後の値に戻すセキュリティゲート一時退出処理部を備える
通信端末装置。 - 請求の範囲6、7、10〜14の何れか1項に記載の通信端末装置において、
前記セキュリティゲート進入処理部は、前記クライアントアプリケーションのセキュリティレベルを特権レベルに変更する
通信端末装置。 - 請求の範囲1〜16の何れか1項に記載の通信端末装置において、
前記ライブラリ関数は、前処理記述の前に第1特定命令が配置され、呼び出し元に戻る出口の前に第2特定命令が配置されている
通信端末装置。 - 請求の範囲1〜16の何れか1項に記載の通信端末装置において、
前記ライブラリ関数は、前処理記述の前に第1特定命令が配置され、第1特定命令が配置された箇所以降で必ず実行される経路上に、呼び出し元に戻る前に第2特定命令を含む関数を経由するように前記クライアントアプリケーションのスタックを改変する命令列が配置されている
通信端末装置。 - 請求の範囲1〜16の何れか1項に記載の通信端末装置において、
前記ライブラリ関数は、前処理記述の前に第1特定命令が配置されており、
前記セキュリティゲート進入処理部は、前記クライアントアプリケーションの前記属性値を変更した場合、前記クライアントアプリケーションが呼び出し元に戻る前に第2特定命令を含む関数を経由するように前記クライアントアプリケーションのスタックを改変する
通信端末装置。 - 請求の範囲1〜16の何れか1項に記載の通信端末装置において、
前記予め定められたアドレス範囲が、ROM領域内のアドレス範囲である
通信端末装置。 - 請求の範囲1〜16の何れか1項に記載の通信端末装置において、
前記セキュリティゲート進入処理部は、前記クライアントアプリケーションが第1特定命令を実行して内部割り込みが発生した際、前記第1特定命令のアドレスが前記許容アドレス範囲内であるか否かのチェックに加えて、前記第1特定命令のアドレスがプログラムエリアであるか否かのチェックを行う
通信端末装置。 - 請求の範囲1〜16の何れか1項に記載の通信端末装置において、
前記第1特定命令と前記第2特定命令は、それぞれセキュリティゲート進入要求、退出要求をオペレーティングシステムに対して発行するシステムコール命令である
通信端末装置。 - ネットワークで接続された通信端末装置とサーバ端末装置とを備え、
前記通信端末は、
通信相手との通信に先立って実行されるべき処理の実行前に第1特定命令が実行され且つ呼び出し元に戻る前に第2特定命令が実行されるようにしたライブラリ関数、クライアントアプリケーション、その属性値、及び、前記第1特定命令の許容アドレス範囲を保持する記憶部と、
前記クライアントアプリケーションが通信命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値に基づいて通信命令の実行可否を制御する通信命令実行制御部と、
前記クライアントアプリケーションが第1特定命令を実行して内部割り込みが発生した際、前記第1特定命令のアドレスが前記許容アドレス範囲内であるか否かをチェックし、前記許容アドレス範囲内であれば、前記クライアントアプリケーションの前記属性値を変更するセキュリティゲート進入処理部と、
前記クライアントアプリケーションが第2特定命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値を元に戻すセキュリティゲート退出処理部とを具備し、
通信相手との通信に先立って実行する前記処理は、前処理と、該前処理を行ったことを通信相手に証明する証明書を送信データに付加する処理とを含み、
前記サーバ端末装置は、
サーバアプリケーションを保持する記憶部と、
証明書が正当であるか否かを判別する証明書検証部と、
クライアントアプリケーションから受信したデータに付加された証明書が前記証明書検証部で正当であると判別された場合、通信に先立って所定の前処理を実行したクライアントアプリケーションからの受信データであると判断して前記サーバアプリケーションに伝達する通信処理部とを具備する
通信システム。 - ネットワークにより接続された通信端末装置とサーバ端末装置とを備え、
前記通信端末装置は、
通信相手との通信に先立って実行されるべき処理の実行前に第1特定命令が実行され且つ呼び出し元に戻る前に第2特定命令が実行されるようにしたライブラリ関数、クライアントアプリケーション、その属性値、及び、前記第1特定命令の許容アドレス範囲を保持する記憶部と、
前記クライアントアプリケーションが通信命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値に基づいて通信命令の実行可否を制御する通信命令実行制御部と、
前記クライアントアプリケーションが第1特定命令を実行して内部割り込みが発生した際、前記第1特定命令のアドレスが前記許容アドレス範囲内であるか否かをチェックし、前記許容アドレス範囲内であれば、前記クライアントアプリケーションの前記属性値を変更するセキュリティゲート進入処理部と、
前記クライアントアプリケーションが第2特定命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値を元に戻すセキュリティゲート退出処理部とを具備し、
通信相手との通信に先立って実行されるべき前記処理は、前処理と、通信相手に送るデータを通信相手の秘密鍵を用いて暗号化する処理とを含み、
サーバ端末装置は、
サーバアプリケーションを保持する記憶部と、
暗号化データを自装置の公開鍵で復号化する復号化部と、
クライアントアプリケーションから受信した暗号化データが前記復号化部で復号化できた場合、通信に先立って所定の前処理を実行したクライアントアプリケーションからの受信データであると判断して復号化したデータを前記サーバアプリケーションに伝達する通信処理部とを具備する。
通信システム。 - 通信端末装置にて、通信相手との通信に先立って実行する処理の実行前に第1特定命令が実行され且つ呼び出し元に戻る前に第2特定命令が実行されるようにしたライブラリ関数、クライアントアプリケーション、その属性値、及び、前記第1特定命令の許容アドレス範囲を保持するステップと、
前記クライアントアプリケーションが通信命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値に基づいて通信命令の実行可否を制御するステップと、
前記クライアントアプリケーションが第1特定命令を実行して内部割り込みが発生した際、前記第1特定命令のアドレスが前記許容アドレス範囲内であるか否かをチェックし、前記許容アドレス範囲内であれば、前記クライアントアプリケーションの前記属性値を変更するステップと、
前記クライアントアプリケーションが第2特定命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値を元に戻すセキュリティゲート退出処理とを実行するステップと
を具備する情報処理方法。 - 請求の範囲25記載の情報処理方法において、
通信相手との通信に先立って実行する前記処理は、前処理と、該前処理を行ったことを通信相手に証明する証明書を送信データに付加する処理とを含む
情報処理方法。 - 請求の範囲25記載の情報処理方法において、
通信相手との通信に先立って実行する前記処理は、前処理と、通信相手に送るデータを通信相手の秘密鍵を用いて暗号化する処理とを含む
情報処理方法。 - 通信端末装置にて、通信相手との通信に先立って実行する処理の実行前に第1特定命令が実行され且つ呼び出し元に戻る前に第2特定命令が実行されるようにしたライブラリ関数、クライアントアプリケーション、その属性値、及び、前記第1特定命令の許容アドレス範囲を保持する記憶部を有するコンピュータにより実行される方法のためのコンピュータ読み取り可能なソフトウェアプログラムであって、
前記方法は、
前記クライアントアプリケーションが通信命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値に基づいて通信命令の実行可否を制御するステップと、
前記クライアントアプリケーションが第1特定命令を実行して内部割り込みが発生した際、前記第1特定命令のアドレスが前記許容アドレス範囲内であるか否かをチェックし、前記許容アドレス範囲内であれば、前記クライアントアプリケーションの前記属性値を変更するステップと、
前記クライアントアプリケーションが第2特定命令を実行して内部割り込みが発生した際、前記クライアントアプリケーションの前記属性値を元に戻すステップとを具備する
コンピュータ読み取り可能なソフトウェアプログラム。 - 請求の範囲28記載のコンピュータ読み取り可能なソフトウェアプログラムにおいて、
通信相手との通信に先立って実行する前記処理は、前処理と、該前処理を行ったことを通信相手に証明する証明書を送信データに付加する処理とを含む
コンピュータ読み取り可能なソフトウェアプログラム。 - 請求の範囲28記載のコンピュータ読み取り可能なソフトウェアプログラムであって、
通信相手との通信に先立って実行する前記処理は、前処理と、通信相手に送るデータを通信相手の秘密鍵を用いて暗号化する処理とを含む
コンピュータ読み取り可能なソフトウェアプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007544123A JP4978896B2 (ja) | 2005-11-09 | 2006-11-06 | 通信端末装置、サーバ端末装置、それらを用いる通信システム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005324507 | 2005-11-09 | ||
JP2005324507 | 2005-11-09 | ||
PCT/JP2006/322093 WO2007055169A1 (ja) | 2005-11-09 | 2006-11-06 | 通信端末装置、サーバ端末装置、それらを用いる通信システム |
JP2007544123A JP4978896B2 (ja) | 2005-11-09 | 2006-11-06 | 通信端末装置、サーバ端末装置、それらを用いる通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007055169A1 JPWO2007055169A1 (ja) | 2009-04-30 |
JP4978896B2 true JP4978896B2 (ja) | 2012-07-18 |
Family
ID=38023172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007544123A Expired - Fee Related JP4978896B2 (ja) | 2005-11-09 | 2006-11-06 | 通信端末装置、サーバ端末装置、それらを用いる通信システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US8112623B2 (ja) |
EP (1) | EP1950680A4 (ja) |
JP (1) | JP4978896B2 (ja) |
CN (1) | CN101305377A (ja) |
WO (1) | WO2007055169A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009134705A1 (en) * | 2008-05-02 | 2009-11-05 | Invicta Networks, Inc. | Method and system for protection of computer applications and software products againts unauthorized copying |
CA2759612C (en) * | 2010-11-23 | 2018-10-23 | Afore Solutions Inc. | Method and system for securing data |
US20120222037A1 (en) * | 2011-02-24 | 2012-08-30 | Intuit Inc. | Dynamic reprovisioning of resources to software offerings |
US9094830B2 (en) * | 2012-07-05 | 2015-07-28 | Blackberry Limited | Managing data transfer across a network interface |
TWI712915B (zh) * | 2014-06-12 | 2020-12-11 | 美商密碼研究公司 | 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 |
KR101930941B1 (ko) | 2016-07-19 | 2018-12-20 | 주식회사 안랩 | 클라이언트 단말의 보안성을 관리하는 보안 관리 장치 및 보안 관리 방법 |
JP2018200642A (ja) * | 2017-05-29 | 2018-12-20 | 富士通株式会社 | 脅威検出プログラム、脅威検出方法および情報処理装置 |
US10868814B2 (en) | 2018-04-30 | 2020-12-15 | Samsung Electronics Co., Ltd. | System and method for flow-based architecture |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08278886A (ja) * | 1995-02-10 | 1996-10-22 | Internatl Business Mach Corp <Ibm> | データ処理システムでの拡張システム管理操作のための方法およびシステム |
JPH10336169A (ja) * | 1997-05-28 | 1998-12-18 | Nippon Yunishisu Kk | 認証方法、認証装置、記憶媒体、認証サーバ及び認証端末装置 |
JP2001516908A (ja) * | 1997-09-05 | 2001-10-02 | インテル・コーポレーション | 不正な侵入を防ぐ方法および装置 |
EP1331539A2 (en) * | 2002-01-16 | 2003-07-30 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05134917A (ja) | 1991-11-14 | 1993-06-01 | Nec Corp | データ処理装置のデータ処理方式 |
JP3505058B2 (ja) | 1997-03-28 | 2004-03-08 | 株式会社日立製作所 | ネットワークシステムのセキュリティ管理方法 |
JPH1173372A (ja) | 1997-08-27 | 1999-03-16 | Hideo Takeda | コンピュータ・ウィルスによる不正アクセス検出方法 |
JP2004501407A (ja) * | 1999-10-25 | 2004-01-15 | フィーニックス テクノロジーズ リミテッド | 呼出し元アドレスを使用した安全なソフトウェアsmiディスパッチング |
JP4689954B2 (ja) | 2002-12-20 | 2011-06-01 | パナソニック株式会社 | 情報管理システムおよび情報管理方法 |
JP2005128960A (ja) | 2003-10-27 | 2005-05-19 | Sony Corp | コンテンツの再生装置及び方法 |
US7480755B2 (en) * | 2004-12-08 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Trap mode register |
-
2006
- 2006-11-06 CN CNA2006800419095A patent/CN101305377A/zh active Pending
- 2006-11-06 EP EP06823007A patent/EP1950680A4/en not_active Ceased
- 2006-11-06 WO PCT/JP2006/322093 patent/WO2007055169A1/ja active Application Filing
- 2006-11-06 US US12/092,916 patent/US8112623B2/en not_active Expired - Fee Related
- 2006-11-06 JP JP2007544123A patent/JP4978896B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08278886A (ja) * | 1995-02-10 | 1996-10-22 | Internatl Business Mach Corp <Ibm> | データ処理システムでの拡張システム管理操作のための方法およびシステム |
JPH10336169A (ja) * | 1997-05-28 | 1998-12-18 | Nippon Yunishisu Kk | 認証方法、認証装置、記憶媒体、認証サーバ及び認証端末装置 |
JP2001516908A (ja) * | 1997-09-05 | 2001-10-02 | インテル・コーポレーション | 不正な侵入を防ぐ方法および装置 |
EP1331539A2 (en) * | 2002-01-16 | 2003-07-30 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
Also Published As
Publication number | Publication date |
---|---|
EP1950680A4 (en) | 2011-11-09 |
JPWO2007055169A1 (ja) | 2009-04-30 |
US20090100524A1 (en) | 2009-04-16 |
US8112623B2 (en) | 2012-02-07 |
WO2007055169A1 (ja) | 2007-05-18 |
EP1950680A1 (en) | 2008-07-30 |
CN101305377A (zh) | 2008-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7461249B1 (en) | Computer platforms and their methods of operation | |
US7610632B2 (en) | Software use permission method and system | |
JP4978896B2 (ja) | 通信端末装置、サーバ端末装置、それらを用いる通信システム | |
US7243230B2 (en) | Transferring application secrets in a trusted operating system environment | |
US7305553B2 (en) | Manifest-based trusted agent management in a trusted operating system environment | |
US9336369B2 (en) | Methods of licensing software programs and protecting them from unauthorized use | |
US20100063996A1 (en) | Information processing device, information recording device, information processing system, program update method, program, and integrated circuit | |
US7152245B2 (en) | Installation of black box for trusted component for digital rights management (DRM) on computing device | |
JP2003507784A (ja) | 記憶されたデータの使用に対する強制的な制限 | |
US9129098B2 (en) | Methods of protecting software programs from unauthorized use | |
CN114651253A (zh) | 用于策略强制实施的虚拟环境类型验证 | |
US20220092155A1 (en) | Protecting an item of software | |
JP2006164184A (ja) | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 | |
JP2020150318A (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
KR101659082B1 (ko) | 휴대용 단말기에 설치된 애플리케이션 실행 제어 방법 및 시스템 | |
CN118260767A (zh) | 基于TrustZone技术的安全防护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120305 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120326 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150427 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4978896 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |