JP6377125B2 - スナップモバイルセキュリティ装置、方法、およびシステム - Google Patents

スナップモバイルセキュリティ装置、方法、およびシステム Download PDF

Info

Publication number
JP6377125B2
JP6377125B2 JP2016503411A JP2016503411A JP6377125B2 JP 6377125 B2 JP6377125 B2 JP 6377125B2 JP 2016503411 A JP2016503411 A JP 2016503411A JP 2016503411 A JP2016503411 A JP 2016503411A JP 6377125 B2 JP6377125 B2 JP 6377125B2
Authority
JP
Japan
Prior art keywords
code
server
security
request
access
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.)
Active
Application number
JP2016503411A
Other languages
English (en)
Other versions
JP2016524198A (ja
Inventor
アイマン ハンマド
アイマン ハンマド
Original Assignee
ヴィザ インターナショナル サーヴィス アソシエイション
ヴィザ インターナショナル サーヴィス アソシエイション
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 ヴィザ インターナショナル サーヴィス アソシエイション, ヴィザ インターナショナル サーヴィス アソシエイション filed Critical ヴィザ インターナショナル サーヴィス アソシエイション
Publication of JP2016524198A publication Critical patent/JP2016524198A/ja
Application granted granted Critical
Publication of JP6377125B2 publication Critical patent/JP6377125B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3276Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

特許証を求める本特許は、スナップモバイルセキュリティ技術(以下、「開示」)の様々な新規な革新および独創的な特徴について開示および記述し、著作権、マスクワーク、および/または他の知的財産保護を対象となるマテリアルを含む。そのような知的財産の所有者は、特許庁ファイル/記録に記載される際の何人による本開示の完全な複写には異議を唱えないが、それ以外の場合には無断複写・転載を禁じる。
(優先権の主張)
本出願は、2013年3月15日に提出された、「スナップモバイルセキュリティ装置、方法、およびシステム」という名称の米国特許出願シリアル番号61/800、012、代理人ドケット番号349US01への優先権を主張する。本出願はまた:2011年2月16日に提出された、「モバイルキャプチャ支払い装置、方法、およびシステム」という名称の米国仮特許出願シリアル番号61/443、624、代理人ドケット番号P−42032PRVへの優先権を主張する、2012年2月16日に提出された、「スナップモバイル支払装置、方法、およびシステム」という名称の米国特許出願シリアル番号13/398、817、代理人ドケット番号P−42032US01;2011年7月7日に提出された、「スナップモバイル支払装置、方法、およびシステム」という名称の米国仮特許出願シリアル番号61/512、248、代理人ドケット番号10US01;2011年8月10日に提出された、「ユニバーサルモバイル支払プラットフォーム装置、方法、およびシステム」という名称の米国仮特許出願シリアル番号61/522、213、代理人ドケット番号10US03;および2011年8月25日に提出された、「スナップモバイル支払装置、方法、およびシステム」という名称の米国仮特許出願シリアル番号61/527、576、代理人ドケット番号10US02への優先権を主張する。上記出願のすべての内容は、参照により本書に明示的に組み込まれる。
(技術分野)
本発明は、電子購入取引用の装置、方法、およびシステムに関し、特に、スナップモバイルセキュリティ(「SMS」)装置、方法、およびシステムを含む。
消費者取引は、商品棚またはウェブサイトから製品を選び、それらをレジまたはウェブページで精算することを顧客に要求する。製品情報は統合バーコードスキャナで品物バーコードをスキャンすることで自動的に入力され、顧客は通常、現金、小切手、クレジットカードまたはデビットカードなど、購入代金を支払ういくつかの支払いオプションを提供される。
ここに提供される教示に従って:1つ以上のプロセッサを介して、ユーザデバイスから、スキャン可能コードをデコードし、該デコードされたコードのコンテンツのセキュリティをベリファイするリクエストを受信すること、前記1つ以上のプロセッサを介して、マーチャントからの購入に利用可能な品物に関連する品物コードを含み、ウォレットアカウントへのアクセスをリクエストするコードのコンテンツを取得するための前記スキャン可能コードをデコードすること、前記ユーザデバイスからの前記ユーザデバイスのデジタルフィンガープリントおよび前記ウォレットアカウントへのアクセスのリクエストのためのリクエスト識別子をセキュリティサーバで受信すること、前記セキュリティサーバからマーチャントサーバに、(i)前記マーチャントサーバの第1のデジタル署名と(ii)前記リクエスト識別子の第2のデジタル署名のリクエストを送信すること、前記マーチャントサーバからのリクエストされた前記第1および第2のデジタル署名前記セキュリティサーバで受信すること、前ユーザデバイスが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記デジタルフィンガープリント処理すること、前記マーチャントサーバと前記リクエストが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記第1および第2のデジタル署名を処理すること、および前記セキュリティサーバから前記ユーザデバイスに、前記ウォレットアカウントへのアクティビティアクセスのためにウォレットアンロックおよびアクティビティアンロックキーを送信すること、などの、モバイルセキュリティを提供するデータ処理デバイスの動作についてシステム、方法、非一時的なコンピュータ可読媒体、および装置が開示される。この請求項に係る発明は、上記受信、デコード、取得、受信、デジタルフットプリント確認、受信したデジタル署名の確認、および送信ステップから生じる、取引セキュリティを向上させる驚くべき知見に基づく。
他の特徴として、前記スキャン可能コードは、クイック・リスポンス(QR)コード(登録商標)のスナップショットを受信することで提供される。
他の特徴として、ワイヤレスモバイル通信デバイスは、前記QRコードを撮影するために用いられる。
他の特徴として、デコードされていない前記スナップショットは、前記コードのコンテンツをデコードするセキュリティサーバに転送される。
他の特徴として、前記セキュリティサーバが、デコードされていない前記コードをデコードし、前記デコードされたコードのコンテンツのバリディティおよびセキュリティをベリファイする。
他の特徴として、前記デコードされたコードのコンテンツが、不正ウェブサイトへのユニフォーム・レソース・ロケーター(URL)リンクを含む。
他の特徴として、前記デコードされたコードは、それを悪質な攻撃にさらすことによって、ユーザデバイスのセキュリティを危殆化する。
他の特徴として、前記デコードされたコードのコンテンツが、該コンテンツのバリディティおよびセキュリティをベリファイするセキュリティサーバに送信される。
他の特徴として、前記デコードされたコードのコンテンツが前記ユーザデバイスにセキュリティリスクを引き起こすかどうかが、前記デコードされたコードのコンテンツを、前記コードのコンテンツのブラックリストおよびホワイトリストと比較することによって判定される。
他の特徴として、ユーザのワイヤレスモバイル通信デバイスは、リンクを実行するために、該ワイヤレスモバイル通信デバイスのリンクへリダイレクトされる。
他の特徴として、前記デコードされたコードにおいて安全であると判定された、検索されたリンクに基づいて、ユーザのワイヤレスモバイル通信デバイスが、1つ以上の前記検索されたリンクを起動する。
他の特徴として、ウェブホスティングサーバが、前記検索されたリンクのひとつのリクエストされたデスティネーションをセキュリティサーバに返信する。
他の特徴として、前記ウェブホスティングサーバは、前記セキュリティサーバに応答してウェブページを提供する。
他の特徴として、前記ウェブページのコンテンツが、前記ユーザのワイヤレスモバイル通信デバイスに提供される。
他の特徴として、前記デコードされたコードのコンテンツのセキュリティのベリフィケーションに基づいて、前記ユーザのワイヤレスモバイル通信デバイスは、前記デコードされたコンテンツを実行する。
他の特徴として、前記コードは、製品の品物コードを含む。
他の特徴として、前記ユーザのワイヤレスモバイル通信デバイスは、購入リクエストを開始するためのURLリンクを起動する。
他の特徴として、前記ユーザのワイヤレスモバイル通信デバイスが購入リクエストを開始するアプリケーションをダウンロードして起動する。
他の特徴として、前記URLリンクのウェブページは、前記ユーザのワイヤレスモバイル通信デバイス上のウォレットアカウントへのアクセスをリクエストし、購入のための支払いを開始する。
他の特徴として、前記URLリンクのウェブページは、前記ユーザのワイヤレスモバイル通信デバイス上のウォレットアカウントにアクセスし、購入のための支払いを開始する。
他の特徴として、起動されたアプリが、前記ユーザのワイヤレスモバイル通信デバイス上のウォレットアカウントへのアクセスをリクエストし、購入ための支払いを開始する。
発明は、スナップモバイルセキュリティシステムを含む。スナップモバイルセキュリティシステムは、プロセッサと、および、プロセッサと通信可能に配置されたメモリを含む。メモリは、プロセッサが発行可能な以下の命令を格納する:ユーザデバイスから、スキャン可能コードをデコードし、該デコードされたコードのコンテンツのセキュリティをベリファイするリクエストを受信すること;前記スキャン可能コードをデコードし、マーチャントからの購入に利用可能な品物に関連する品物コードを含み、ウォレットアカウントへのアクセスをリクエストするコードのコンテンツを取得すること;前記ユーザデバイスからの前記ユーザデバイスの電子フィンガープリントおよび前記ウォレットアカウントへのアクセスのリクエストためのリクエスト識別子を、セキュリティサーバで受信すること;前記セキュリティサーバからマーチャントサーバに、(i)前記マーチャントサーバの第1のデジタル署名と(ii)前記リクエスト識別子の第2のデジタル署名のリクエストを送信すること;前記マーチャントサーバからのリクエストされた前記第1および第2のデジタル署名を前記セキュリティサーバで受信すること;前記ユーザデバイスが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記デジタルフィンガープリントを処理すること;前記マーチャントサーバと前記リクエストが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記第1および第2のデジタル署名を処理すること;および、前記セキュリティサーバから前記ユーザデバイスに、前記ウォレットアカウントへのアクティビティアクセスのためにウォレットアンロックおよびアクティビティアンロックキーを送信すること。
発明は、プロセッサ可読の非一時的な媒体を含む。この非一時的な媒体は、プロセッサが発行可能な以下のスナップモバイルセキュリティ命令を格納する:ユーザデバイスから、スキャン可能コードをデコードし、該デコードされたコードのコンテンツのセキュリティをベリファイするリクエストを受信すること;前記スキャン可能コードをデコードし、マーチャントからの購入に利用可能な品物に関連する品物コードを含み、ウォレットアカウントへのアクセスをリクエストするコードのコンテンツを取得すること;前記ユーザデバイスからの前記ユーザデバイスの電子フィンガープリントおよび前記ウォレットアカウントへのアクセスのためのリクエストのリクエスト識別子を、セキュリティサーバで受信すること;前記セキュリティサーバからマーチャントサーバに、(i)前記マーチャントサーバの第1のデジタル署名と(ii)前記リクエスト識別子の第2のデジタル署名のリクエストを送信すること;前記マーチャントサーバからのリクエストされた前記第1および第2のデジタル署名を前記セキュリティサーバで受信すること;前記ユーザデバイスが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記デジタルフィンガープリントを処理すること;前記マーチャントサーバと前記リクエストが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記第1および第2のデジタル署名を処理すること;および、前記セキュリティサーバから前記ユーザデバイスに、前記ウォレットアカウントへのアクティビティアクセスのためにウォレットアンロックおよびアクティビティアンロックキーを送信すること。
上記特徴および制限はいずれも、お互いに組み合わせて用いられてもよいし、方法、システム、装置、およびコンピュータ可読媒体の実施例と組み合わせて用いられてもよい。
添付の付録および図面等は、本開示に従う様々な例示的、非限定的、独創的な特徴、実施例、および性質を示す。
デコードされたスキャン可能コードのセキュリティコンテンツをベリファイするSMSの例示的な特徴を示すデータグラフ図である。 ウォレットアカウントへのアクセスの承認リクエストをバリデートするSMSの例示的な特徴を示すデータグラフ図である。 デコードされたスキャン可能コードのコンテンツのセキュリティをベリファイするSMSの例示的な特徴の論理フローチャートである。 デコードされたスキャン可能コードのコンテンツのセキュリティをベリファイするSMSの例示的な特徴の論理フローチャートである。 ウォレットアカウントへのアクセスの承認リクエストをバリデートするSMSの例示的な特徴の論理フローチャートである。 SMS制御部の例を示すブロック図である。
図中のそれぞれの符号の先頭の番号は、その符号が導入および/または詳述される図を示す。そのため、符号101の詳細な説明は、図1において見つかるおよび/または導入される。符号201は、図2において導入される、等。
スナップモバイルセキュリティ(SMS)
スナップモバイルセキュリティ装置、方法およびシステム(以下「SMS」)は、SMSコンポーネントを介し、仮想ウォレットに基づく電子金融取引に、ベリフィケーション、アクセス、およびセキュリティを提供する。
図1は、デコードされたスキャン可能コードのセキュリティコンテンツをベリファイするSMSの例示的な特徴を示すデータグラフ図である。ある実施例では、ユーザ101は、Quick Response(QR)コードなどの(ただし、これらに限らない)スキャン可能コードのスナップショットを撮ってもよい(109)。例えば、ユーザはスマートフォンなどのデバイスを利用してコードを撮影してもよい。ある実施例では、ユーザは、ユーザのコンピューティングデバイスでコードをデコードしてもよい(110)。ある実施例では、ユーザは、セキュリティサーバ102にデコードされたコードのコンテンツを送信し、コンテンツのバリディティおよびセキュリティをベリファイしてもよい。ある実施例では、ユーザはデコーディングのためにサーバにデコードされていないスナップショットを転送することを決定し、セキュリティサーバがコードをデコードする(113)。かかる実施例では、ユーザはデコードされていないコードをデコードすること(111)及びデコードされたコードのコンテンツのバリディティおよびセキュリティをベリファイすること(112)を、セキュリティサーバにリクエストしてもよい。ある実施例では、正規の取引のファシリテーターであると宣伝されていても、スキャン可能コードがセキュリティリスクやフィッシングおよびファーミングなどの詐欺にユーザを曝すこともある。例えば、悪辣なデコードされたコードのコンテンツは、不要/未承諾コンテンツ(例えば、広告等)へユーザを曝したり、ユーザをだまして機密個人情報を提供させたり、ユーザデバイス上に不要/未承諾マテリアル(例えば、悪質なアプリ等)をダウンロードしようとしたりする不正ウェブサイトへのUniform Resource Locator(URL)リンクを含むこともある。例えば、デコードされたコードは、SQLインジェクションなどの悪質な攻撃をユーザデバイスに受けさせ、ユーザデバイスのセキュリティを危険にさらすこともある。
ある実施例では、ユーザデバイスおよび/またはセキュリティサーバは、QRコードなどの(ただし、これらに限らない)スキャン可能コードのスナップショットをデコードしてもよい。以下に、ベリフィケーションリクエスト111のリスト例(XMLフォーマットデータを含む実質的にHTTP(S) POSTメッセージの形式)を示す。
POST /verificationrequest.php HTTP/1.1
Host: www.security.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = "1.0" encoding = "UTF-8"?>
<qrverify_request>
<timestamp>2011-04-01 :23:59:59</timestamp>
<transaction amount>$660.89</transaction amount>
<digital_sign>
45e2085fa20496c91df574dc5652el45
</digital_sign>
<QRCodePayload>
<location_link>www.phishpharm.com</location_link>
<merchant_id>AE783</merchant_id>
<merchant_name>Scammer, Inc. </merchant_ name>
<store_id>88234</store_id>
<post_location>6th Ave and 42nd St</post_location>
<transaction_id>AFE 1213344</transaction_id>
</QRCodePayload>
//<QRCodePayload>
// <image_data>JPEGDATA</imagedata>
//</QRCodePayload>
</qrverify_request>
ある実施例では、SMSは、デコードされたコードのコンテンツがユーザデバイスにセキュリティリスクをもたらすかどうかを判定してもよい。例えば、SMSはデコードされたコードのコンテンツをコードのコンテンツのブラックリストおよびホワイトリストと比較し、デコードされたコンテンツがユーザデバイスにセキュリティリスクをもたらすかどうかを判定してもよい。例えば、セキュリティサーバは、ブラックリスト/ホワイトリストコードのコンテンツデータのクエリをデータベーステーブル(図5のデコードされたコードのコンテンツデータベース519kなど)に行うようPHP/SQL命令を発行してもよい。以下に、一例としてのコードのコンテンツブラックリスト/ホワイトリストクエリ114(実質的にPHP/SQL命令の形式)を示す。
<?PHP
header (' Content-Type: text/plain');
mysql_connect ("254.93.179.112", $DBserver, $password); // access database server mysql_select_db ("SMS_DB.SQL"); // select database table to search
//create query
$query = "SELECT blacklist whitelist FROM CodeContentsTable WHERE QRlists LIKE
'%' $QRCodePayload";
$result = mysql_query ($query); // perform the search query
mysql_close ("SMS_DB.SQL"); // close database access
?>
ある実施例では、スキャン可能コードのブラックリスト/ホワイトリストを受信すると、SMSは、デコードされたコードのセキュリティをベリファイするステップを開始してもよい(116)。例えば、サーバは、リンクを実行するユーザのために単にリンクにユーザをリダイレクトしてもよい(117)。例えば、セキュリティサーバは、XMLフォーマットデータを含むHTTP(S) POSTメッセージとしてリダイレクトされたリンク応答をユーザデバイスへ提供する。以下に、XMLフォーマットデータを含むリダイレクトされたリンク応答117のリスト例(実質的にHTTP(S) POSTメッセージの形式)を示す。
POST /verificationresponse.php HTTP/1.1
Host: www.userdevice.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = "1.0" encoding = "UTF-8"?>
<qrverify_response>
<timestamp>2011-04-01 :23:59:59</timestamp>
<QRCodePayload>
<redirected_link>www.verifiedlink.com</redirected_link>
<merchant_id>AE783</merchant_id>
<merchant_name>Legit Business, Inc. </merchant_name>
<store_id>88234</store_id>
<transaction_id>AFE 1213344</transaction_id>
</QRCodePayload>
</qrverify_response>
例えば、ユーザは、ウェブサイトを起動、および/または、アプリをダウンロードすることを決定してもよい。ある実施例では、SMSは、デコードされたコードの中に見つかったリンクを取得し、SMSコンポーネントを介して、リンクが安全であり、ユーザがURLリンクを起動してもよいと判定してもよい。例えば、サーバはリンクのデスティネーションをフェッチし(118)、ユーザにリンクのデスティネーションを提供してもよい(119)。例えば、サーバは、URLリンクを起動し、ユーザデバイス上にウェブページを開いてもよい。例えば、セキュリティサーバは、ウェブページリクエストを、XMLフォーマットデータを含むHTTP(S) GETメッセージとしてウェブホスティングサーバ104に提供してもよい。以下に、ウェブページリクエスト118のリスト例(XMLフォーマットデータを含む実質的にHTTP(S) GETメッセージの形式)を示す。
GET /page.php/ HTTP/1.1
Host: www.site.com
User-Agent: Mozilla/5.0
Accept: text/html, application/xhtml+xml, application/xml;
Accept-Language: en-us,en;
Accept-Charset: ISO-8859-1, utf-8;
Cookie: PHPSESSID=r2t5uvj q435r4q7 ib3vtdj ql20
ある実施例では、ウェブホスティングサーバは、リクエストされたリンクのデスティネーションをセキュリティサーバに返信してもよい。例えば、ウェブホスティングサーバは、セキュリティサーバに応答してウェブページを、XMLフォーマットデータを含むHTTP(S) POSTメッセージとして提供してもよい。そして、ウェブページコンテンツがユーザ120に中継されてもよい。
ある実施例では、SMSは、デバイスのユーザが本当に権限を与えられたユーザであり、デバイスが安全であること、つまり、そのセキュリティが危険にさらされてないことをベリファイするステップを開始してもよい(121)。ユーザが権限を与えられていることおよびデバイスが安全であることを確認すると(130)、そのような実施例では、ユーザはセキュリティサーバから受信した応答を実行してもよい(131)。
図2は、ウォレットアカウントへのアクセスの承認リクエストをバリデートするSMSの例示的な特徴を示すデータグラフ図である。ある実施例では、ユーザは、QRコードなどの(ただし、これらに限らない)スキャン可能コードのスナップショットを撮り、ユーザデバイスおよび/またはセキュリティサーバにそれをデコードさせてもよい。コードのデコードされたコンテンツのセキュリティをベリファイすると、ある実施例では、ユーザはデコードされたコンテンツを実行してもよい。例えば、コードが製品の品物コードであり、ユーザはURLリンクを起動および/またはダウンロードし、アプリを起動し購入リクエストを開始してもよい。ある実施例では、ユーザが、マーチャントサーバ107へ精算リクエストを提供することを希望してもよい。例えば、マーチャントサーバへの精算リクエストは、XMLフォーマットデータを含むHTTP(S) POSTメッセージであってもよい。以下に、精算リクエスト202のリスト例(XMLフォーマットデータを含む実質的にHTTP(S) POSTメッセージの形式)を示す。
POST /checkoutrequest.php HTTP/1.1
Host: www.merchant.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = "1.0" encoding = "UTF-8"?>
<QR_data>
<order_ID>4NFU4RG94</order_ID>
<timestamp>2035-02-22 15:22:43</timestamp>
<expiry_lapse>00:01:00</expiry_lapse>
<total_cost>$74.46</total_cost>
<user_id>j ohn.qSgmail.com</user_id>
<secure_element>www.merchant.com/securedyn/xyz/123.png</secure_element>
<merchant_params>
<merchant_id>54TBRELF8</merchant_id>
<merchant_name>BIG_APPLE_BOOKSTORE</merchant_name>
<address> 1 Piazza Square </address>
<city> New York </city>
<zip_code> 10001 </zip_code>
<merchant_auth_key>TMN45GER98</merchant_auth_key>
</merchant_params>
<purchase_detail>
<cart>
<product>
<product_type>book</product_type>
<product_params>
<product_title>Blood Meridian</product_title>
<ISBN>0-394-54482-X</ISBN>
<edition>lst ed.</edition>
<cover>hardbound</cover>
</product_params>
<quantity>1</quantity>
<unit_cost>$74.46</unit_cost>
</product>
</cart>
</purchase_detail>
</QR_data>
それに応じて、ある実施例では、マーチャントサーバは、取引セッションID、アクセスリクエストID、リクエスタIDなどの(ただし、これらに限らない)データをユーザに提供してもよい(203)。例えば、マーチャントサーバへの精算応答は、XMLフォーマットデータを含むHTTP(S) POSTメッセージであってもよい。以下に、精算応答203のリスト例(実質的にXMLフォーマットデータを含むHTTP(S) POSTメッセージの形式)を示す。
POST /checkoutresponse.php HTTP/1.1
Host: www.userdevice.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = "1.0" encoding = "UTF-8"?>
<checkout_response>
<session_ID>4NFU4RG94</session_ID>
<timestamp>2035-02-22 15:22:43</timestamp>
<total_cost>$74.46</total_cost>
<user_id>j ohn.qSgmail.com</user_id>
<access_auth>
<access_request_ID>
<timestamp>2035-02-22 15:25:43</timestamp>
<amount>$74.46</amount>
<merchant_id>54TBRELF8</merchant_id>
<session_ID>4NFU4RG94</session_ID>
<consumer_acct_chrg_access> VISA ************5634
</consumer_acct_chrg_access>
</access_request_ID>
<access_requester_ID>Big Firm, lnc</access_requester_ID>
<purchase_detail>
<cart>
<product>
<product_type>book</product_type>
<product_params>
<product_title>Blood Meridian</product_title>
<ISBN>0-394-54482-X</ISBN>
<edition>lst ed. </edition>
<cover>hardbound</cover>
</product_params>
<quantity>1</quantity>
<unit_cost>$74.46</unit_cost>
</product>
</cart>
</purchase_detail>
</checkout_response>
ある実施例では、URLリンクのウェブページおよび/または起動されたアプリが、購入の支払いを開始するためデバイス上のウォレットアカウントへのアクセスをリクエストしてもよい(201)。ある実施例では、SMSは、権限を与えられたエンティティだけがウォレットアプリへのアクセスを持っていることを確認するためのベリフィケーションプロセスを開始してもよい。例えば、SMSは、アクセスリクエスタがウォレットアプリにアクセスする権限を与えられていることをベリファイしてもよい。ある実施例では、SMSは、精算リクエストおよびリクエストを行ったアプリ/ウェブページのバリディティをベリファイしてもよい。ある実施例では、SMSは、アクセスリクエストを送信したユーザデバイスが権限を与えられたデバイスであることを判定してもよい。ある実施例では、SMSは、リクエスタ、アクセスリクエスト、および、ユーザデバイスのセキュリティをベリファイするために、ウォレットアクセス承認リクエストとともに受信したデータをセキュリティサーバに転送してもよい。例えば、承認リクエストは、ユーザデバイス(例えば、ユーザエージェント(オペレーティングシステム、ブラウザ、ツールバー等)のフィンガープリント、フォント、プラグインバージョン、スクリーンサイズや解像度、タイムゾーン等)、リクエスト識別子、リクエスタ識別子等などのデータを含んでもよい。例えば、セキュリティサーバへのアクセス承認リクエストは、XMLフォーマットデータを含むHTTP(S) POSTメッセージであってもよい。以下に、アクセス承認リクエスト204のリスト例(実質的にXMLフォーマットデータを含むHTTP(S) POSTメッセージの形式)を示す。
POST /accessauthorization.php HTTP/1.1
Host: www.securityserver.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = "1.0" encoding = "UTF-8"?>
<access_auth>
<access_request_ID>
<timestamp>2035-02-22 15:25:43</timestamp>
<amount>$74.46</amount>
<merchant id>54TBRELF8</merchant id>
<session_ID>4NFU4RG94</session_ID>
<consumer_acct_chrg_access> VISA ************5634
</consumer_acct_chrg_access>
</access_request_ID>
<access_requester_ID>Big Firm, Inc</ access_requester_ID>
<timestamp>2035-02-22 15:22:43</timestamp>
<secure_element>www.merchant.com/securedyn/xyz/123.png</secure_element>
<device_fingerprints>
<OS> Windows </OS>
<user_agent> Mozilla </user_agent>
<http_accept_info>
<info_l> text/html </info_1>
<info_2> application/xhtml+xml </info_2>
...
</http_accept_info>
<plug_ins>
<Flash_Version> 11.1.102.55 </Flash_Version>
<Adobe_Reader> 10.1.2.45 </Adobe_Reader>
...
</plug_ins>
<fonts> ... </fonts>
<screen_dim> 1920X1200X24 </screen_dim>
</device_fingerprints>
</access_auth>
アクセス承認リクエストを受信すると、ある実施例では、セキュリティサーバは、ユーザデバイスがウォレットアプリへアクセスする権限を与えられていることをベリファイしてもよい(205)。例えば、サーバは、受信したデバイスフィンガープリントと安全だとホワイトリスト化されたフィンガープリントとの間の総加重オーバーラップスコアを算出してもよい。例えば、多くの種類を持つ属性(例えば、フォント等)は、より少ない種類を持つ属性(例えば、オペレーティングシステム等)よりも大きく重み付けされてもよい。スコアが高くなるほど、ユーザデバイスがホワイトリストに載っていて、ウォレットアプリへのアクセスの権限を与えられたデバイスであるとベリファイされてもよい。ある実施例では、ユーザデバイスが権限を与えられたデバイスであると一度ベリファイされると、セキュリティサーバは、アクセスリクエスタがアプリへのアクセスの権限を与えられていてリクエストが正規のものであることをベリファイするようにマーチャントサーバへのリクエストを開始してもよい(206)。例えば、セキュリティサーバは、XMLフォーマットデータを含むHTTP(S) POSTメッセージとして、リクエストIDとリクエスタのベリフィケーションリクエストをマーチャントサーバへ提供してもよい。以下に、リクエストIDとリクエスタ206のベリフィケーションリクエストのリスト例(実質的にXMLフォーマットデータを含むHTTP(S) POSTメッセージの形式)を示す。
POST /verifyaccess.php HTTP/1.1
Host: www.merchant.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = "1.0" encoding = "UTF-8"?>
<access_verify>
<access_request_ID>
<timestamp>2035-02-22 15:25:43</timestamp>
<amount>$74.46</amount>
<merchant_id>54TBRELF8</merchant_id>
<session_ID>4NFU4RG94</session_ID>
<consumer_acct_chrg_access> VISA ************5634
</consumer_acct_chrg_access>
</access_request_ID>
<access_requester_ID>Big Firm, Inc</access_requester_ID>
<timestamp>2035-02-22 15:22:43</timestamp>
</access_verify>
例えば、セキュリティサーバは、リクエスタのデジタル署名、およびリクエスト識別子のデジタル署名のクエリを行ってもよい。リクエスト識別子のデジタル署名を生成すると(207)、マーチャントサーバは、XMLフォーマットデータを含むHTTP(S) POSTメッセージとしてベリフィケーション応答をセキュリティサーバに送信してもよい。以下に、リクエストIDおよびリクエスタ208のベリフィケーションリクエストのリスト例(実質的にXMLフォーマットデータを含むHTTP(S) POSTメッセージの形式)を示す。
POST /digicert.php HTTP/1.1
Host: www.security.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = "1.0" encoding = "UTF-8"?>
<access_verify>
<timestamp>2035-02-22 15:22:43</timestamp>
<digicert_requester>
// DigiCert file for requester' s digital certificate
DigiCert:: cert ( $data, 'requester.cert');
</digicert_requester>
<digicert_request>
// DigiCert file for for request digital signature
DigiCert::cert( $data, 'requestid.cert);
</digicert_request>
</access_verify>
デジタル証明書を受信すると、ある実施例では、セキュリティサーバは、リクエストが正規のものであり、リクエスタがウォレットアプリにアクセスする権限を与えられているかどうかを判定してもよい(209)。例えば、後者の場合、サーバは、リクエスタのデジタル署名をホワイトリスト内の署名と照合し、リクエスタが承認されたものかどうかを判定してもよい。ある実施例では、サーバは、リクエストのデジタル署名を検索し、検索されたリクエスト識別子をユーザデバイスから受信した識別子と比較してもよい。ある実施例では、リクエスタおよびユーザデバイスがウォレットアプリへのアクセスの権限を与えられたエンティティとしてベリファイされ、アクセスリクエストが正規であると確認されると、セキュリティサーバは、ウォレットアプリをアンロックし、リクエストされたウォレットアプリへのアクセスを許可するために、ユーザデバイスに提供される(210)ウォレットアクセスキーを生成してもよい。例えば、セキュリティサーバは、XMLフォーマットデータを含むHTTP(S) POSTメッセージとしてウォレットアクセス承認応答をユーザデバイスへ提供してもよい。以下に、ウォレットアクセス承認応答210のリスト例(実質的にXMLフォーマットデータを含むHTTP(S) POSTメッセージの形式)を示す。
POST /accessauthorization.php HTTP/1.1
Host: www.merchant.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = "1.0" encoding = "UTF-8"?>
<access_auth>
<wallet_access> TRUE </wallet_access>
<timestamp>2035-02-22 15:25:43</timestamp>
<authorization_id>KJ7 89BJK90743GJH</authorization_id>
<session_ID>4NFU4RG94</session_ID>
<wallet_key>54TBRELF8</wallet_key>
<action_key>4NFU4RG94</action_key>
</access_auth>
例えば、ウェブページおよび/またはウォレットアプリへのアクセスをリクエストしたアプリが、ウォレットアプリを起動し、支払いプロセスを開始してもよい(212)。
図3A−Bは、デコードされたスキャン可能コードのコンテンツのセキュリティをベリファイするSMSの例示的な特徴の論理フローチャートである。図3Aを参照すると、ある実施例では、ユーザデバイスは、QRコード等の(ただし、これらに限らない)スキャン可能コードのスナップショットを撮り、セキュリティサーバにデコードされていないコードを送信して(301)デコードしてもよい(302)。ある実施例では、ユーザデバイスは、スナップショットをデコードし(303)、セキュリティサーバへデコードされたコンテンツを送信してもよい。ある実施例では、セキュリティサーバは、デコードされたコードのコンテンツをパースし、コードの起源、場所(例えば、公道、マーチャント位置等)、コード中のリンク、品物数、量等の(ただし、これらに限らない)コードの特徴を集めてもよい(304)。ある実施例では、サーバは、デコードされたコードのコンテンツデータベース(図5のデコードされたコードのコンテンツ519kなど)にホワイトリストおよびブラックリストに属するデコードされたコードのコンテンツのリストのクエリを行い(306)、デコードされたコードのコンテンツのホワイトリスト/ブラックリストステータスを判定してもよい(305)。例えば、サーバは、コードの起源がブラックリスト化されているかどうか(309)、いずれかのデスティネーション(例えば、リンク等)がブラックリスト化されているかどうか(310)、および/またはホワイトリスト化されている(311)かどうか等を確認してもよい。ある実施例では、1つ、いくつか、またはすべてのデコードされたコンテンツがブラックリスト化されており、サーバは、コードが危険にさらされていて信頼すべきではないことをデバイスユーザに知らせるメッセージを生成してもよい(314)。ある実施例では、デスティネーションは、ブラックリストに載っていないが、リンク先にブラックリスト化されたコンテンツが存在することもある(313)。例えば、リンクがブラックリスト化されたアプリを含む。これらの実施例では、サーバは、コードが危険にさらされていて信頼すべきではないことをデバイスユーザに知らせるメッセージを生成してもよい(314)。
図3Bを参照すると、ある実施例では、セキュリティサーバは、デコードされたコンテンツをパースすることでコードの位置を判定し(315)、それを、スナップされたコードが見つかった位置と比較してもよい(316)。例えば、デコードされたコンテンツから収集された、デコードされたコードの位置は、スナップショットが撮られたときのデバイスのGPS位置と比較されてもよい。ある実施例では、2つの位置が一致せず、それは、デコードされたコードはその位置にあるはずがなく不正なコードであるかもしれないことを示唆する。例えば、「中間段階の攻撃」では、不正QRコードが正規のコードに覆いかぶさっていることもある。ある実施例では、サーバは、コードが危険にさらされているというメッセージをデバイスユーザに連絡してもよい(321)。ある実施例では、デコードされたコードは、アプリをダウンロードしようとし(318)、および/または、デバイスの機能(例えば、コンタクトリスト、Eメールアクセス、テキストメッセージ、アプリ等)へのアクセスをリクエストすることもある(317)。ある実施例では、サーバは、デコードされたコードがセキュリティ侵害を示唆していることを発見することもある。例えば、脆弱性スキャンが、命令インジェクション、フィッシング等の詐欺、ファーミング等の攻撃のサインを発見する(320)。これらの実施例では、セキュリティサーバは、デバイスユーザに連絡をとり、スナップされたコードのセキュリティが危険にさらされていることを警告してもよい(321)。
図4は、ウォレットアカウントへのアクセスの承認リクエストをバリデートするSMSの例示的な特徴の論理フローチャートである。ある実施例では、セキュリティサーバは、ユーザデバイスからデバイスのフィンガープリントのデータを取得してもよい(401a)。例えば、データは、ユーザエージェント(オペレーティングシステム、ブラウザ、ツールバー等)、フォント、プラグインバージョン、スクリーンサイズおよび解像度、タイムゾーン等を含んでもよい。ある実施例では、セキュリティサーバは、マーチャントサーバからウォレットアクセスリクエスタのデジタル署名を受信してもよい。ある実施例では、マーチャントサーバは、アクセスリクエスト識別子の暗号化されたデジタル署名証明書を生成し、デジタル署名とともにセキュリティサーバへ渡してもよい(401b)。デバイスフィンガープリントを取得すると、ある実施例では、セキュリティサーバは、権限を与えられたすべてのデバイスが持つべき必須の属性および同様にデバイスがウォレットアカウントへのアクセスをブロックされることになる好ましくない属性のリストのクエリをデータベーステーブル(図5のデバイス519b等)から生成してもよい。ある実施例では、サーバは、受信したデバイスフィンガープリントのすべての必須の属性が、クエリからの対応する必須の属性に一致し、好ましくない属性には一致しないことを確認してもよい(406)。例えば、モバイルデバイス(つまり、おおきなスクリーンは好ましくない)だけがウォレットアカウントへアクセスする権限を与えられている場合、セキュリティサーバは、受信したデバイスフィンガープリントが、デバイスがモバイル(つまり、小さなスクリーンの)デバイスであることを所定の信頼レベルまで示していることを確認してもよい。これらの実施例では、デバイスがこの条件を満たさないことが分かった場合、ホワイトリストの他の属性に一致していても、SMSは、デバイス上のウォレットアプリを一時停止し、アカウント所持者に連絡してセキュリティリスクを伝えてもよい(409)。ある実施例では、デバイスは条件を満たし、サーバは、受信したデバイスフィンガープリントとホワイトリストにて同定されたフィンガープリントの全体の共通点を算出することに訴えてもよい(407)。例えば、共通点(つまり、オーバーラップ)がある閾値を超える場合、サーバは、ウォレットアカウントへのアクセスの権限を与えられているとしてデバイスを認識してもよい。
ユーザデバイスがウォレットアカウントへのアクセスの権限を与えられたデバイスとして認識されると、ある実施例では、セキュリティサーバは、アクセスリクエスタおよびリクエスト識別子の受信したデジタル署名が正規のものであるかどうかを判定してもよい。ある実施例では、サーバは、データベーステーブル(図5等のデジタル署名519m)へのアクセスリクエスタのデジタル署名のホワイトリストのクエリを生成してもよい(410)。例えば、リクエスタの受信したデジタル署名がホワイトリスト内の署名に一致する場合、サーバは、リクエスタが正規のものであると判断してもよい(413)。リクエスタのベリフィケーションが達成されると、ある実施例では、セキュリティサーバは、デジタル署名証明書からアクセスリクエスト識別子を検索し(414)、ユーザデバイスから受信した識別子と比較してもよい(415)。一致する場合、サーバは、リクエスタにユーザデバイス上のウォレットアプリへのアクセスを許可するためのウォレットアカウントアクセスキーを生成してもよい(417)。
SMS制御部
図5は、SMS制御部の実施例を示すブロック図である。本実施例では、SMS制御部501は、コンピュータを使用し、取引と様々な技術及び/又は他の関連データを介して、インタラクションを収集、処理、格納、探索、送信、識別、命令、生成、適合及び/または容易化してもよい。
通常、人及び/又は他のシステムであるユーザ(例えば、533a)は、情報技術システム(例えば、コンピュータ)を使用することで、容易に情報処理を行うことができる。また、コンピュータはプロセッサを使用して情報処理を行い、そのようなプロセッサ503は中央演算処理装置(CPU)と呼ばれる。マイクロプロセッサは、プロセッサの一形態である。CPUは伝達回路を用いて、様々な動作を有効にする命令としての二値符号化信号を伝達する。これらの命令は、メモリ529(例えば、レジスタ、キャッシュメモリ、ランダムアクセスメモリ等)の様々なプロセッサアクセス可能及び操作可能領域における様々な命令およびデータを包含及び/又は参照する操作命令及び/又はデータ命令であってもよい。そのような伝達命令は、所望の動作を容易にするため、プログラム及び/またはデータコンポーネントとしてバッチ(例えば、命令バッチ)単位で、格納及び/又は送信されてもよい。これらの格納された命令コード、例えば、プログラムは、CPU回路コンポーネントや他のマザーボード及び/又はシステムコンポーネントを使用し、所望の動作を実行してもよい。プログラムの一形態であるコンピュータオペレーティングシステムは、コンピュータのCPUによって実行され、ユーザによるコンピュータ情報技術及びリソースのアクセスおよび操作を容易にしてもよい。情報技術システムで使用可能な一部のリソースは、コンピュータが入出力するデータを通過させる入出力機構、データを保存可能なメモリ装置、及び情報処理が可能なプロセッサを備えている。これらの情報技術システムは、データベースプログラムを通じて容易化される、後の検索、分析、及び操作のためのデータを収集するために使用される。これらの情報技術システムは、ユーザによる様々なシステムコンポーネントへのアクセス及び操作を可能にするインターフェースを提供する。
ある実施形態においては、SMS制御部501は、例えば、ユーザ入力装置511、周辺装置512、任意の暗号処理装置528及び/又は通信ネットワーク513などからの単数あるいは複数のユーザ(ただし、これに限らない)などの実体と接続及び/又は通信されていてもよい。例えば、SMS制御部501は、ユーザ(533aなど)や動作クライアント機器(533bなど)と接続及び/又は通信されていてもよい。動作クライアント機器(533bなど)は、パーソナルコンピュータ、サーバ、及び/又は様々な携帯機器を含む(ただし、これらに限らない)。様々な携帯機器には、携帯電話、スマートフォン(例えば、iPhone、Blackberry、Android OS系電話等)、タブレットコンピュータ(例えば、Apple社製の iPad、HP社製のSlate、Motorola社製のXoom等)、eブックリーダ(例えば、Amazon Kindle、Barnes and Noble社製のNook eReader等)、ラップトップコンピュータ、ノートブック、ネットブック、ゲーミングコンソール(例えば、XBOX Live、Nintendo DS、Sony PlayStation Portable等)、ポータブルスキャナ等が含まれる(ただし、これらに限らない)。
ネットワークは、一般的に、グラフトポロジーにおいて、クライアント、サーバ及び仲介ノードでの相互結合性と相互動作性を備えていると考えられる。本出願で使用される「サーバ」は、通常、通信ネットワークを介して遠隔ユーザの要求を処理し、応答するコンピュータ、その他の装置、プログラム又はそれらの組み合わせを指す。サーバは、それらの情報を要求する「クライアント」に提供する。ここで使用される「クライアント」は、通常、通信ネットワークを介して、要求を処理及び生成すると共に、サーバからのいかなる応答をも取得及び処理可能なコンピュータ、その他の装置、ユーザ、及び/又はそれらの組み合わせを指す。情報や要求の処理を容易化し、及び/又はソースユーザからデスティネーションユーザに情報の流れを促進するコンピュータ、プログラム、その他のデバイス、ユーザ及び/又はそれらの組み合わせは、一般に「ノード」と呼ばれる。一般的に、ネットワークは、ソースポイントからディスティネーションへの情報の転送を容易にすると考えられる。ソースからディスティネーションへの情報の流れを促進するように特に機能するノードは、一般に「ルーター」と呼ばれる。ネットワークには、ローカルエリアネットワーク(LAN)、ピコネットワーク、ワイドエリアネットワーク(WAN)、無線ネットワーク(WLAN)などの多くの形態が存在する。例えば、インターネットは、遠隔クライアントとサーバが互いにアクセスし、相互作用可能な多数のネットワークの相互接続として一般に認められている。
SMS制御部501は、メモリ529に接続されたコンピュータシステム部502などのコンポーネント(ただし、これに限らない)を有するコンピュータシステムに基づいてもよい。
コンピュータシステム
コンピュータシステム部502は、クロック530、中央処理装置(CPU及び/又はプロセッサ(特に記述がない限り、これらの用語は本出願においては言い換え可能である)503、メモリ529(例えば、リードオンリメモリ(ROM)506、ランダムアクセスメモリ(RAM)505等)及び/又はインターフェースバス507を備えていてもよく、これらは、伝達、演算、保存等を行うための命令(例えば、二値符号化信号)が伝わる導電性輸送回路経路及び/又は他の輸送回路経路を備えた一つあるいは複数の(マザー)ボード502上のシステムバス504を通じて、必ずしも必要ではないが、多くの場合、全て相互接続及び/又は通信する。コンピュータシステム部502を電源586に接続してもよいし、例えば、内部電源に接続してもよい。暗号プロセッサ526及び/又はトランシーバー(例えば、IC)574をシステムバスに接続してもよい。別の実施形態では、暗号プロセッサ及び/又はトランシーバーを、インターフェースバスI/Oを介して、内部あるいは外部の周辺装置512に接続してもよい。また、トランシーバーをアンテナ575に接続し、それによって、様々な情報及び/又はセンサープロトコルの無線送受信が可能となる。例えば、アンテナは、テキサス・インスツルメンツ社製のWiLinkWL1283型のトランシーバーチップ(例えば、伝送規格802.11n、Bluetooth(登録商標)3.0、FM、グローバル・ポジショニング・システム(GPS)(SMS制御部の位置を決定する))、ブロードコム社製のBCM4329FKUBG型のトランシーバーチップ(例えば、伝送規格802.11n、Bluetooth2.1+EDR、FM等)、BCM28150(HSPA+)、BCM2076(Bluetooth4.0、GPS等)、ブロードコム社製のBCM4750IUB8型レシーバーチップ(例えば、GPS)、インフィニオンテクノロジーズ社製のX−Gold618−PMB9800(例えば、2G/3G HSDPA/HSUPA通信)、インテル社製のXMM7160(LTE&DC−HSPA)、クアルコム社製のCDMA(2000)、モバイルデータ/ステーションモデム、スナップドラゴン等に接続してもよい。システムクロックは、通常、水晶振動子を備えてもよく、コンピュータのシステムの回路経路を通るベース信号を生成する。クロックは、システムバスや、コンピュータシステム内で相互接続された他の部品のベース動作周波数を増減する様々なクロック逓倍回路に接続されてもよい。システム内のクロックや各種部品は、システムを通る情報を具体化する信号を出力する。そのようなコンピュータシステム部を通る情報を具体化する命令の送受信は、伝達と呼ばれる。また、これらの伝達命令は、本コンピュータシステムを越えて、伝達ネットワーク、入力装置、他のコンピュータシステム、周辺装置等へ送受信されてもよく、応答及び/又は返信の原因となる。当然、別の実施形態では、上述したコンポーネントのいずれかは、互いに直接接続され、CPUに接続され、及び/又は様々なコンピュータシステムなどの多数のバリエーションで編成されてもよい。
CPUは、ユーザ及び/又はシステムの要求を実行するプログラムコンポーネントを実行するのに十分な高速のデータプロセッサを少なくとも一つ備えている。CPUは、多くの場合、浮動小数点部、整数処理部、統合システム(バス)制御部、論理演算部、メモリ管理制御部、及び図形処理部やデジタル信号処理部等の専用の処理サブユニット(ただし、これに限らない)といった様々な専用の処理部を備えている。また、処理部は、高速アクセスでアドレス指定可能な内部メモリを備え、処理部を越えてメモリ529にマッピング及びアドレス指定可能であってもよい。内部メモリは、高速レジスタ、各レベルのキャッシュメモリ(例えば、レベル1、2、3等)、RAM等(ただし、これに限らない)を備えていてもよい。処理部は命令アドレスを用いてアクセス可能なメモリアクセススペースを利用してこのメモリにアクセスしてもよく、メモリ状態/メモリ値を備えた特定のメモリアドレススペースへの回路経路にアクセス可能な命令アドレスは処理部によって、組み立て、復号される。CPUは、AMD社製のAthlon、デュロン及び/又はオプテロン、ARM社製のclassic(例えば、ARM7/9/11)、embedded(Coretx−M/R)、アプリケーション(Cortex−A)、埋め込みのセキュアプロセッサ、IBM社及び/又はモトローラ社製のドラゴンボール、パワーPC、IBM社とソニー社製のセルプロセッサ、インテル社製のアトム、セルロン(モバイル)、コア(ツー/デュオ/i3/i5/i7)、アイテニアム、ペンティアム(登録商標)、ゼノン、コア及び/又はエックススケール等のマイクロプロセッサであってもよい。CPUは、従来のデータ処理技術を用いて、格納された命令(例えば、プログラムコード)を実行するために、導電性及び/又は輸送性の経路(例えば、(プリント)電子及び/又は光回路)を通る命令を使って、メモリと相互に作用する。このように命令を通過させることで、SMS制御部内の伝達や各種のインターフェースを越えた伝達を容易にする。もし高速スピード及び/又は大容量の処理が要求されても、分散型の処理部(例えば、分散型のSMS)、メインフレーム、マルチコア、パラレル及び/又はスーパーコンピュータアーキテクチャは、同様に用いられてもよい。もしディプロイメントにおいて、より高い移植性を要求されるなら、より小さな携帯端末(例えば、スマートフォン、携帯情報端末(PDA)等)が使用されてもよい。
SMSは、特定の実施例に応じて、キャスト社製のR8051XC2型のマイクロコントローラやインテル社製のMCS51(すなわち、8051マイクロコントローラ)等といったマイクロコントローラを実装することで実現してもよい。また、SMSの一定の機能を実装する際に、いくつかの機能は、特定用途向け集積回路(“ASIC”)、デジタルシグナルプロセッサ(“DSP”)、フィールドプログラマブルゲートアレイ(“FPGA”)、及び/又は埋め込み技術と同様のものといった埋め込みコンポーネントに依存して実装されてもよい。例えば、(分散もしくは非分散)SMS・コンポーネント・コレクション及び/又は機能は、ASIC、コプロセッサ、DSP、FPGA等といったマイクロプロセッサ等の埋め込みコンポーネントを使用して実装されてもよい。または、いくつかのSMSは、様々な機能または信号処理を実現する埋め込みコンポーネントで実装されてもよい。
特定の実施例に応じて、埋め込みコンポーネントは、ソフトウェアソリューション、ハードウェアソリューション、及び/又はハードウェア/ソフトウェアソリューションの両方の組み合わせを備えてもよい。例えば、SMSの機能は、FRGA、およびXilinx社製の高性能のFPGA Virtexシリーズ及び/又は低価格のSpartanシリーズのようなプログラマブルインターコネクトを使用して実現されてもよい。FPGAは、「論理ブロック」と呼ばれるプログラマブルロジックを備えたコンポーネント半導体素子である。FPGAの製造後、SMSの機能を実装するために、論理ブロックやインターコネクトは、顧客や設計者によって作成されることも可能である。階層化されたプログラマブルインターコネクトによって、論理ブロックは、1チッププログラマブルブレッドボードのように、SMSシステム設計者/管理者によって必要に応じて相互接続される。FPGAの論理ロジックは、ANDやXORのような基本論理ゲートの動作や、デコーダもしくは単純な数学操作のようにより複雑な演算子の組み合わせの動作を処理するようにプログラムすることが可能である。ほとんどのFPGAにおいて、論理ブロックは、フリップフロップ回路やより複雑なメモリブロックメモリ素子を含む。環境によっては、SMSを、標準のFRGA上に展開し、その後、ASICの実装により近い修正バージョンに移行させてもよい。別のもしくは調整用の実装では、SMS制御部の機能を、FPGAの代わりにもしくはFPGAに加えて、最終的なASICに移行してもよい。ある実施例では、前述した埋め込みコンポーネントやマイクロプロセッサを、SMSの“CPU”及び/又は“プロセッサ”とみなしてよい。
電源
電源586は、アルカリ、リチウム、ハイドライド、リチウムイオン、リチウムポリマー、ニッケルカドミニウム、太陽電池などのパワーセルなど、小さな電子回路基板装置に電力を供給する標準形式のものでよい。他の種類の交流電源もしくは直流電源が同様に使用されてもよい。太陽電池の場合、ある実施形態では、太陽電池がフォトニックエネルギーを回収するために使用する開口部がケースに形成されている。電源586は、少なくとも1つのSMSの相互接続されたコンポーネントに接続され、それによって、全ての相互接続されたコンポーネントに電流が供給される。ある実施例では、電源586は、システムバスコンポーネント504に接続される。また、別の実施例では、外部電源586が、I/Oインターフェース508との接続を介して設けられる。例えば、USB及び/又はIEEE1394は、接続によって、データと電力の両方を伝え、よって適切な電力源となる。
インターフェースアダプタ
インターフェースバス507は、入出力インターフェース(I/O)508、格納インターフェース2309、ネットワークインターフェース2310など(ただし、これに限らない)の(しばしば、だが必ずしも必要ではないが)アダプタカード形態の複数のインターフェースアダプタを、受け付け、それらと接続及び/又は通信してもよい。必要に応じて、暗号プロセッサインターフェース2327も同様に、インターフェースバスに接続されてもよい。インターフェースバスは、コンピュータシステムの他のコンポーネントとの通信に加え、インターフェースアダプタ同士の通信を可能にする。インターフェースアダプタは、互換インターフェースバスに適用される。インターフェースアダプタは、拡張および/またはスロットアーキテクチャによってインターフェースバスに接続されてもよい。アクセラレーテッドグラフィックスポート(AGP)、カードバス、エクスプレスカード、(拡張)インダストリスタンダードアーキテクチャ((E)ISA)、マイクロチャネルアーキテクチャ(MCA)、ニューバス、ペリフェラルコンポーネントインターコネクト(拡張)(PCI(X))、PCIエクスプレス、パーソナルコンピュータメモリカードインターナショナルアソシエーション(PCMCIA)、サンダーボルトなど(ただし、これに限らない)の様々な拡張および/またはスロットアークテクチャを採用してもよい。
格納インターフェース509は、記憶装置514やリムーバルディスク装置等(ただし、これに限らない)といった複数の格納装置を、受け付け、それらと接続及び/又は通信してもよい。格納インターフェースには、(ウルトラ)(シリアル)アドヴァンスドテクノロジーアッタチメント(パケットインターフェース)((ウルトラ)(シリアル)AIA(PI))、(拡張)インテグレイテッドドライブエレクトロニクス((E)IDE)、電気電子技術学会(IEEE)1394、イーサネット(登録商標)、ファイバーチャネル、スモールコンピュータシステムインターフェース(SCSI)、サンダーボルト、ユニバーサル・シリアル・バス(USB)等(ただし、これに限らない)といった接続プロトコルが使用されてもよい。
ネットワークインターフェース510は、通信ネットワーク513を受け付け、それと接続及び/又は通信してもよい。通信ネットワーク513を通じて、SMS制御部は、ユーザ533aによって遠隔クライアント533b(例えば、ウェブブラウザを用いたコンピュータ)を用いてアクセス可能である。ネットワークインターフェースは、直接接続、イーサネット(登録商標)(例えば、Thickケーブル、Thinケーブル、ツイストペアケーブルを用いた10/100/1000Base−T等)、トークンリング、IEEE802.11a−x等の無線接続(ただし、これに限らない)といった接続プロトコルを使用してもよい。処理要求がより大きなスピード及び/又は容量を支持するなら、分散型ネットワークコントローラ(例えば、分散型のSMS)やアーキテクチャが、SMS制御部が要求する伝送バンド幅をプール及び/又は負荷分散するために使用されてもよいし、そうでないならば、伝送バンド幅を増加させるために使用されてもよい。伝送ネットワークは、直接相互接続、インターネット、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、Operating Mission as Nodes on the Internet(OMNI)、secured custom connection、ワイドエリアネットワーク(WAN)、無線ネットワーク(例えば、ワイヤレスアプリケーションプロトコル(WAP)、Iモード等(ただし、これに限らない)といったプロトコルを使用するもの)のいずれか1つ及び/又はその組み合わせであってもよい。ネットワークインターフェースは、入出力インターフェースの特化形態としてみなされてもよい。さらに、複数のネットワークインターフェース510を使用し、様々な通信ネットワークタイプ513と接続してもよい。例えば、複数のネットワークインターフェースを使用し、ブロードキャスト、マルチキャスト、及び/又はユニキャストなどのネットワークにおける通信を行ってもよい。
入出力インターフェース(I/O)508は、ユーザ入力装置511、周辺装置512、暗号処理装置528等を受け付け、それらと通信及び/又は接続してもよい。I/Oは、音声(アナログ、デジタル、モノラル、RCA、ステレオ等)、データ(Apple社製のデスクトップバス(ADB)、Bluetooth(登録商標)、IEEE1394a−b、シリアル、ユニバーサル・シリアル・バス(USB))、赤外線、ジョイスティック、キーボード、ミディ、光学、PC AT、PS/2、平衡、ラジオ、ビデオインターフェース(Apple社製のデスクトップコネクタ(ADC)、BNC、同軸ケーブル、コンポーネント、合成、デジタル、ディスプレイポート、デジタル・ビジュアル・インターフェース(DVI)、高精細度マルチメディアインターフェース(HDMI(登録商標))、RCA、RFアンテナ、S−Video、VGA等)、無線トランシーバ(802.11a/b/g/n/x)、Bluetooth、cellular(例えば、符号分割多重アクセス方式(CDMA)、ハイスピードパケットアクセス(HSPA(+))、高速ダウンリンクパケット接続(HSDPA)、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(登録商標))、ロング・ターム・エボリューション(LTE)、WiMax等)(ただし、これに限らない)といった接続プロトコルを用いてもよい。一つの典型的な出力デバイスはビデオディスプレイであってもよく、ビデオディスプレイは、ビデオインターフェースからの信号を受け入れるインターフェース(例えば、VGA、DVI回路およびケーブル)を備えた、ブラウン管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、有機発光ダイオード(OLED)、プラズマ等ベースのモニタであってよい。ビデオインターフェースは、コンピュータシステムによって作られた情報を合成し、ビデオメモリフレームにおける合成情報に基づいてビデオ信号を生成する。他の出力デバイスとして、ビデオインターフェースからの信号を受けとるテレビがある。通常、ビデオインターフェースは、ビデオディスプレイインターフェース(例えば、RCA合成ビデオケーブルを受け入れるRCA合成ビデオコネクタ、DVIディスプレイケーブルを受け入れるDVIコネクタ、HDMI等)を受け入れるビデオコネクションインターフェースを介して、合成ビデオ情報を提供する。
ユーザ入力装置511は、大抵、周辺装置512(下記参照)の一種であり、カードリーダ、ドングル、フィンガープリントリーダ、グローブ、グラフィックス・タブレット、ジョイスティック、キーボード、マイクロフォン、マウス、リモートコントローラ、網膜リーダ、タッチスクリーン(例えば、容量、抵抗等)、トラックボール、トラックパッド、センサ(例えば、加速度計、間接照明、GPS、ジャイロスコープ、周辺機等)、スタイラスペンなどを含んでいてもよい。
周辺装置512は、I/O及び/又は他の設備(ネットワークインターフェース、ストレージインターフェース、インターフェースバスと直接、システムバス、CPU等)に接続され、かつ/または通信してもよい。周辺装置は、外部、内部及び/又は一部のSMS制御部であってもよい。周辺装置は、アンテナ、音声デバイス(例えば、ライン入力端子、ライン出力端子、マイクロフォン入力、スピーカ等)、カメラ(例えば、静止、動画、ウェブカメラ等)、ドングル(例えば、コピープロテクションのため、電子署名付きの安全な取引を保証するため等)、外部プロセッサ(付加機能、例えば、暗号装置528)、力フィードバック装置(例えば、振動モータ)、近距離無線通信(NFC)装置、ネットワークインターフェース、プリンタ、無線自動識別装置(RFIDs)、スキャナ、記憶装置、トランシーバ(例えば、携帯電話、GPS等)、ビデオデバイス(例えば、ゴーグル、モニタ等)、ビデオ資源、visorなどを含んでもよい。周辺デバイスには、多くの場合、入力デバイス(例えば、マイク、カメラ等)の種類を含む。
ユーザ入力装置と周辺装置が用いられてもよいが、SMS制御部は、内蔵の、専用の、及び/又はモニタレス(すなわち、ヘッドレス)であり、アクセスがネットワークインターフェース接続によって行われるデバイスとして実装されてもよい。
マイクロコントローラ、プロセッサ526、インターフェース2327、及び/又は装置528(ただし、これに限らない)といった暗号ユニットは、SMS制御部と接続され、かつ/または、通信してもよい。Motorola Inc.によって製造されたMC68HC16マイクロコントローラを、暗号ユニットに使用、及び/又は暗号ユニットの内部で使用してもよい。MC68HC16マイクロコントローラは、16MHzの構成で16ビットの乗算累積指示を利用し、512ビットのRSA秘密鍵操作を一秒未満で行う。暗号ユニットは、匿名の取引を可能にするのはもちろんのこと、取引する仲介者からの通信のバリデーションをサポートする。暗号ユニットは、CPUの一部として構成されてもよい。同等のマイクロコントローラ及び/又はプロセッサを使用してもよい。他の市販の専門的な暗号プロセッサには、Broadcom社のCryptoNetXと他のセキュリティプロセッサ、nCiphers社のnShield(例えば、Solo、Connect等)、SafeNet社のLuna PCI(例えば、7100)シリーズ、Semaphore Communications社の40MHzRoadrunner184、sMIP社製品(例えば、208956)、Sun社のCryptographic Accelerators(例えば、Accelerator6000 PCIe Board、Accelerator500 Daughtercard)、500+MB/sの暗号指示を行うことが可能なVia Nano社のProcessor(例えば、L2100、L2200、U2400)line、VLSI Technology社の33MHz 6868などが含まれる。
メモリ
一般に、プロセッサに情報の格納及び/又は検索を許容する機械及び/又は具体物は、メモリ529と見なされる。しかし、メモリは一般に代替技術および資源であり、それゆえ、任意の数のメモリの実施態様が、互いの代わりに又は互いに関連して使用されてもよい。当然、SMS制御部及び/又はコンピュータシステムは、様々な形式のメモリ529を使用してもよい。例えば、コンピュータシステムは、オンチップCPUメモリ(例えばレジスタ)、RAM、ROM、および他の記憶デバイスの機能が穿孔テープや穿孔カード機構によって提供されるように構成されてもよい。しかしながら、そのような実施態様は、極度の操作の遅延をもたらしてしまう。ある構造では、メモリ529は、ROM506、RAM505および記憶装置514を備えている。記憶装置514は、いくつものコンピュータシステムストレージ装置あるいはシステムを備えていてもよい。記憶装置には、ドラム、(固定された、及び/又は取り外し可能な)磁気ディスクドライブ、磁気光学ドライブ、光学ドライブ(すなわち、ブルーレイ、CD−ROM/RAM/記録可能(R)/書換可能(RW)、DVD−R/RW、HD DVD R/RW等)、デバイスの配列(例えば、Redundant Array of Independent Disks(RAID))、固体メモリデバイス(USBメモリ、半導体ドライブ(SSD)等)、他のプロセッサ読取可能な記録媒体、及び/又は同様の他のデバイス等が含まれてもよい。そのため、コンピュータシステムは、一般に、メモリを必要とし、使用する。
コンポーネントコレクション
メモリ529は、プログラム及び/又はデータベースコンポーネントの集合及び/又はオペレーティングシステムコンポーネント515(オペレーティングシステム)、情報サーバコンポーネント516(情報サーバ)、ユーザ・インターフェース・コンポーネント517(ユーザインターフェース)、Webブラウザコンポーネント518(Webブラウザ)、データベース519、メールサーバコンポーネント521、メールクライアントコンポーネント522、暗号サーバコンポーネント520(暗号サーバ)、SMS・コンポーネント535など(すなわち、集合的なコンポーネントコレクション)(ただし、これに限らない)のデータを格納してもよい。これらのコンポーネントは、格納され、記憶デバイス及び/又はインターフェースバスを通じてアクセス可能な記憶デバイスからアクセスされてもよい。コンポーネントコレクション内のものといった従来にないプログラムコンポーネントは、ローカル記憶装置514に格納されていてもよいが、それらはメモリ(周辺装置、RAM、通信ネットワークを通したリモートストレージ設備、ROM、様々な形式のメモリなど)で読み込まれ、かつ/または、格納されてもよい。
オペレーティングシステム
オペレーティングシステムコンポーネント515は、SMS制御部の操作を助ける実行可能なプログラムコンポーネントである。オペレーティングシステムは、I/O、ネットワークインターフェース、周辺装置、記憶装置などのアクセスを容易にしてもよい。オペレーティングシステムは、Apple社のMacintosh OS X(サーバ)、AT&T社のPlan 9、BeOS、Unix(登録商標)とUnixのようなシステム配信(AT&T社のUNIX(登録商標)、FreeBSD、NetBSD、OpenBSDなどのBerkley Software Distribution(BSD)の変化、Red Hat、UbuntuなどのLinux(登録商標)配信)、及び/又はそれと同様のオペレーティングシステムといった高い耐障害性があり、拡張可能な、安全なシステムであってもよい。また、Apple社のMacintosh OS、IBM社のOS/2、Microsoft社のDOS、Microsoft社のWindows(登録商標)2000/2003/3.1/95/98/CE/Millenium/NT/Vista/XP(サーバ)、Palm OSなどのより限定的かつ/または低セキュアオペレーティングシステムも、使用してよい。加えて、Apple社のiOS、Google社のAndroid、Hewlett Packard社のWebOS、Microsoft社のWindows Mobile等の携帯オペレーティングシステムが使用されてもよい。これらのいずれのオペレーティングシステムが、制御部のハードウェア内に組み込まれていてもよいし、さらに/またはメモリやストレージに保存・読み込まれてもよい。オペレーティングシステムは、コンポーネントコレクションにおける他のコンポーネント(それ自身、及び/又はそれと同様のものを含む)に伝達及び/又は通信してもよい。オペレーティングシステムは、たいてい他のプログラムコンポーネントやユーザインターフェースなどと通信してもよい。例えば、オペレーティングシステムは、プログラムコンポーネント、システム、ユーザ、及び/又はデータの通信、要求及び/又は返答を包含、通信、生成、取得、及び/又は提供してもよい。オペレーティングシステムは、一度CPUで実行されれば、通信ネットワーク、データ、I/O、周辺装置、プログラムコンポーネント、メモリ、ユーザ入力装置などとの相互作用が可能になる。オペレーティングシステムは、SMS制御部に、通信ネットワーク513を通じて他の組織との通信を許可する通信プロトコルを提供してもよい。SMS制御部は、インタラクションの副搬送波の搬送機構として、マルチキャスト、TCP/IP、UDP、ユニキャストなど(ただし、これに限らない)の様々な通信プロトコルを使用してもよい。
情報サーバ
情報サーバコンポーネント516は、CPUによって実行される、格納されたプログラムコンポーネントである。情報サーバは、Apacheソフトウェア財団のApache、Microsoft社のInternet Information Serverなど(ただし、これに限らない)といったインターネット情報サーバであってよい。情報サーバは、アクティブ・サーバ・ページ(ASP)、ActiveX、(ANSI)(Objective−)C(++)、C#及び/又は.NET、共通ゲートウェイ・インターフェース(CGI)スクリプト、Dynamic(D)ハイパーテキスト・マークアップ言語(HTML)、FLASH、Java(登録商標)、JavaScript(登録商標)、Practical Extraction Report Language(PERL)、ハイパーテキストプリプロセッサ(PHP)、pipes、Python、ワイヤレス・アプリケーション・プロトコル(WAP)、WebObjectsなどのファシリティを通じてプログラムコンポーネントの実行を可能にしてもよい。情報サーバは、ファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ハイパーテキスト転送プロトコル(HTTPS)、セキュア・ソケット・レイヤ(SSL)、メッセージング・プロトコル(例えば、アメリカ・オンライン(AOL)インスタントメッセンジャー(AIM)、Apple社のiMessage、Application Exchange(APEX)、ICQ、インターネット・リレー・チャット(IRC)、Microsoft Network(MSN)メッセンジャーサービス、Presence and Instant Messaging Protocol(PRIM)、インターネット・エンジニアリング・タスク・フォース(lETF)のセッション初期化プロトコル(SIP)、SIP for Instant Messaging and Presence Leveraging Extensions(SIMPLE)、open XML−based Extensible Messaging and Presence Protocol(XMPP)(すなわち、JabberやOpen Mobile Alliance(OMA)のInstant Messaging and Presence Service(IMPS))、Yahoo!インスタントメッセンジャーサービスなど)(ただし、これに限らない)のセキュア通信プロトコルをサポートしてもよい。情報サーバは、Webページの形式で結果をWebブラウザに提供し、他のプログラムコンポーネントとの相互作用を通じてWebページの操作生成を可能にする。HTTP要求のドメイン・ネーム・システム(DNS)解決部分が特定の情報サーバに解決された後、情報サーバは、HTTP要求の残りに基づいて、SMS制御部の指定された位置での情報の要求を解決する。例えば、http://123.124.125.126/mylnformation.htmlなどの要求は、DNSサーバによってそのIP部分「123.124.125.126」がある情報サーバに解決され、次に情報サーバは、その要求の「/mylnformation.html」部分のhttp要求を解析し、情報「mylnformation.html」を含むメモリ内の位置へ解決してもよい。加えて、他の情報供給プロトコルが、FTP通信アクロスポート21などの様々なポートで採用されてもよい。情報サーバは、それ自身及び/又は同様のファシリティを含むコンポーネントコレクションのうちの他のコンポーネントに伝達及び/又は通信を行ってもよい。情報サーバは、たいてい、SMS・データベース519、オペレーティングシステム、他のプログラムコンポーネント、ユーザインターフェース、Webブラウザなどと通信する。
SMS・データベースへのアクセスは、以下に列挙されるスクリプト言語(例えば、CGI)やアプリケーション間通信チャンネル(例えば、CORBA、WebObjectsなど)といった複数のデータベースブリッジ機構を通じて達成されてもよい。ウェブブラウザを介するどのデータ要求も、ブリッジ機構を通じて、SMS制御部によって要求される適切な構文に文法解析される。ある実施例では、情報サーバは、ウェブブラウザによってアクセス可能なウェブフォームを供給する。そのウェブフォーム内に提供されるフィールドへの入力は、特定のフィールドに行われたとタグ付けられ、そのように解析される。次に、入力されたタームが、そのフィールドタグと共に送られる。フィールドタグは、適当なテーブル及び/又はフィールドに対するクエリを生成するように文法解析ツールに指示する。ある実施例では、文法解析ツールは、タグ付けされたテキスト入力に基づいて適切なjoin/select命令で検索文字列を作成することによって、標準SQLのクエリを作成してもよい。その命令は、ブリッジ機構を通じてSMS制御部へクエリとして供給される。クエリからクエリ結果を生成すると、その結果は、ブリッジ機構に送られ、ブリッジ機構によってフォーマットと新しい結果ウェブページの生成のために文法解析されてもよい。そのような新しいウェブページは次に情報サーバに提供され、情報サーバはそれを要求するウェブブラウザに供給してもよい。
また、情報サーバは、プログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を包含、通信、生成、取得、及び/又は、提供してもよい。
ユーザインターフェース
コンピュータインターフェースの機能は、ある点において、自動車の操作インターフェースと同様である。ステアリングホイール、ギアシフト及び速度計などの自動車の操作インターフェース構成要素は、自動車のリソース及び状態のアクセス、機能、操作及び表示を容易にする。チェックボックス、カーソル、メニュー、スクローラ及びウィンドウ(総じて一般にウィジェットと呼ばれる)といったコンピュータ相互作用インターフェース構成要素は、同様にデータ、コンピュータハードウェア、オペレーティングシステムのリソース、及び状態のアクセス、操作及び表示を容易にする。操作インターフェースは、一般的にユーザインターフェースと呼ばれる。Apple社のマッキントッシュオペレーティングシステムのAquaおよびiOSのCocoa Touch、IBM社のOS/2、Google社のAndroid Mobile UI、Microsoft社のWindows2000/2003/3.1/95/98/CE/Millenium/Mobile/NT/XP/Vista/7/8(すなわち、Aero、Metro)、UnixのX−Windows(例えば、Kデスクトップ環境(KDE)、MythTV、及びGNUネットワークオブジェクトモデル環境(GNOME)といった追加のUnixグラフィックインターフェースライブラリやレイヤを備えている)、ウェブ・インターフェース・ライブラリ(例えば、ActiveX、AJAX、(D)HTML、FLASH、Java、JavaScript、その他インターフェースライブラリ(Dojo、jQuery(UI)、MooTools、Prototype、script.aculo.us、SWFObject、Yahoo!ユーザインターフェース(ただし、これに限らない)などの使用されうるもののいずれか))といったグラフィカル・ユーザ・インターフェースが、ベースラインであり、情報に視覚的にアクセスおよび表示する手段をユーザに提供する。
ユーザインターフェースコンポーネント517は、CPUによって実行される、格納されたプログラムコンポーネントである。ユーザインターフェースは、既に議論したようなオペレーティングシステム及び/又は操作環境によって、それらと共に、及び/又はそれらの上に提供されるような、グラフィックユーザインターフェースであってもよい。ユーザインターフェースは、テキスト式及び/又は図式的なファシリティを通じて、プログラムコンポーネント及び/又はシステムファシリティの表示、実行、相互作用、操作、及び/又は作動を可能にしてもよい。ユーザインターフェースは、ユーザがコンピュータシステムに影響を与え、相互作用し、かつ/または操作できる機能を提供する。ユーザインターフェースは、それ自身を含むコンポーネントコレクションの他のコンポーネント、及び/又は同様のものの機能に、伝達及び/又は通信してもよい。ユーザインターフェースは、たいてい、オペレーティングシステム、他のプログラムコンポーネントなどと通信する。ユーザインターフェースは、プログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求及び/又は応答を包含、通信、生成、取得、及び/又は提供してもよい。
ウェブブラウザ
Webブラウザコンポーネント518は、CPUによって実行される、格納されたプログラムコンポーネントである。ウェブブラウザは、Google社の(Mobile)Chrome、Microsoft Internet ExplorerやNetscape Navigator、Apple社の(Mobile)Safari、Apple社のCocoa (Touch)オブジェクトクラスなどを介するエンベデッドWebブラウザオブジェクトなどのハイパーテキスト閲覧アプリケーションであってもよい。セキュアウェブブラウジングは、HTTPS、SSLなどの方法によって128ビット(以上)暗号により提供されてもよい。ウェブブラウザは、ActiveX、AJAX、(D)HTML、FLASH、Java、JavaScript、ウェブブラウザプラグインAPI(例えば、Chrome、FireFox、Internet Explorer、Safariプラグイン、及び/又は同様のAPI)などの機能を通じて、プログラムコンポーネントの実行を可能にする。ウェブブラウザや類似の情報アクセスツールは、PDA、携帯電話、スマートフォン及び/又は他のモバイルデバイスに統合されてもよい。ウェブブラウザは、それ自身を含むコンポーネントコレクションの他のコンポーネント、及び/又は同様のものの機能に、伝達及び/又は通信してもよい。ウェブブラウザは、たいてい、情報サーバ、オペレーティングシステム、統合プログラムコンポーネント(例えば、プラグイン)などと通信する。例えば、それは、プログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求及び/又は応答を包含、通信、生成、取得、及び/又は提供してもよい。また、ウェブブラウザと情報サーバのかわりに、複合アプリケーションがそれら両方の機能と同様の機能を実行するように開発されてもよい。複合アプリケーションは、同様に、SMS制御部実装ノードからユーザ、ユーザ代理人等への情報の取得および提供を可能にする。複合アプリケーションは、標準ウェブブラウザを使用するシステム上では無価値かもしれない。
メールサーバ
メールサーバコンポーネント521は、CPU503によって実行される、格納されたプログラムコンポーネントである。メールサーバは、Apple社のMail Server(3)、dovecot、sendmail、Microsoft Exchangeなど(ただし、これに限らない)のインターネットメールサーバでもよい。メールサーバは、ASP、ActiveX、(ANSI)(objective−)C(++)、C#及び/又は.NET、CGIスクリプト、Java、JavaScript、Perl、PHP、pipes、Python、WebObjectsなどの機能を通じてプログラムコンポーネントの実行を可能にしてもよい。メールサーバは、インターネット・メッセージ・アクセス・プロトコル(IMAP)、メッセージング・アプリケーション・プログラミング・インターフェース(MAPI)/Microsoft Exchange、ポスト・オフィス・プロトコル(POP3)、シンプルメールトランスファープロトコル(SMTP)など(ただし、これに限らない)の通信プロトコルをサポートしてもよい。メールサーバは、送信され、中継され、及び/又はSMSを通じて及び/又はSMSに行きつく受発信メールメッセージのルートを決め、送信し、処理することができる。
SMSメールへのアクセスは、個々のウェブサーバコンポーネント、及び/又はオペレーティングシステムによって提供された複数のAPIを通じて実現されてもよい。
また、メールサーバは、プログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、情報、及び/又は応答を包含、通信、生成、取得、及び/又は提供してもよい。
メールクライアント
メールクライアントコンポーネント522は、CPU503によって実行される、格納されたプログラムコンポーネントである。メールクライアントは、Apple (Mobile) Mail、Microsoft Entourage、Microsoft Outlook、Microsoft Outlook Express、Mozilla、Thunderbirdなどのメール閲覧アプリケーションであってもよい。メールクライアントは、IMAP、Microsoft Exhange、POP3、SMTPなどの複数の転送プロトコルをサポートしてもよい。メールクライアントは、それ自身を含むコンポーネントコレクションの他のコンポーネント及び/又は同様のものの機能に、伝達、及び/又は通信してもよい。メールクライアントは、たいてい、メールサーバ、オペレーティングシステム、他のメールクライアントなどと通信する。例えば、それは、プログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を包含、通信、生成、取得、及び/又は提供してもよい。一般に、メールクライアントは、電子メールメッセージを構成及び送信する機能を提供する。
暗号サーバ
暗号サーバコンポーネント520は、CPU503、暗号プロセッサ526、暗号プロセッサインターフェース527、暗号処理装置528などによって実行される、格納されたプログラムコンポーネントである。暗号プロセッサインターフェースは、暗号コンポーネントによる暗号化及び/又は解読要求の迅速化を可能にするが、代わりに暗号コンポーネントはCPUで起動してもよい。暗号コンポーネントは、提供されたデータの暗号化、及び/又は復号化を可能にする。暗号コンポーネントは、対称及び非対称的な(例えば、Pretty Good Protection(PGP))暗号化及び/又は復合化の両方を可能にする。暗号コンポーネントは、デジタル証明(例えば、X.509バリデーションフレームワーク)、デジタル署名、デュアル署名、エンベローピング、パスワードアクセス保護、公開鍵管理など(ただし、これに限らない)の暗号技術を採用してもよい。暗号コンポーネントは、チェックサム、データ暗号化標準(DES)、楕円曲線暗号(ECC)、国際データ暗号化アルゴリズム(IDEA)、メッセージダイジェスト5(一方向ハッシュ関数であるMD5)、パスワード、Rivest Cipher(RC5)、Rijndael、RSA(1977年にロン・ライベスト、アディ・シャミルおよびレオナルド・アデルマンによって開発されたアルゴリズムを使用するインターネット暗号化及びバリデーションシステム)、セキュアハッシュアルゴリズム(SHA)、セキュアソケットレイア(SSL)、セキュア・ハイパーテキスト転送プロトコル(HTTPS)など(ただし、これに限らない)の複数の(暗号化及び/又は復号化)セキュリティプロトコルを支援する。そのような暗号化セキュリティプロトコルを使用して、SMSは、全ての受信及び/又は発信通信を暗号化してもよく、より広い通信ネットワークとの仮想プライベートネットワーク(VPN)内のノードとして機能してもよい。暗号コンポーネントは、リソースへのアクセスがセキュリティプロトコルによって禁止される「セキュリティ承認」の処理を促進する。暗号コンポーネントは、保護されたリソースへの承認されたアクセスを可能にする。また、暗号コンポーネントは、コンテンツの独自の識別子を提供してもよく、例えば、デジタルオーディオファイルに対して独自の署名を取得するMD5ハッシュを採用する。暗号コンポーネントは、それ自身を含むコンポーネントコレクションにおける他のコンポーネント及び/又は同様のものの機能に、伝達、及び/又は通信してもよい。暗号コンポーネントは、通信ネットワークにわたって情報の安全な送信を可能にする暗号化方式をサポートし、必要ならSMS・コンポーネントが安全な取引を行うことを可能にする。暗号コンポーネントは、SMSでリソースへの安全なアクセスを容易にし、リモートシステムで保護されたリソースへのアクセスを容易にする。すなわち、それは保護されたリソースのクライアント及び/又はサーバとして機能してもよい。暗号コンポーネントは、たいてい、情報サーバ、オペレーティングシステム、その他のプログラムコンポーネントなどと通信する。暗号コンポーネントは、プログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を包含、通信、生成、取得、及び/又は提供してもよい。
SMS・データベース
SMS・データベースコンポーネント519は、データベースとその格納データで具体化されてもよい。データベースは、CPUによって実行される格納されたプログラムコンポーネントであり、格納されたプログラムコンポーネント部分は格納データを処理するCPUを構成する。データベースは、DB2、MySQL、オラクル、Sybaseなどの、耐障害性の、相関的な、拡張可能な、安全なデータベースでもよい。リレーショナル・データベースは、フラットファイルの拡張である。リレーショナル・データベースは、一連の関連テーブルで構成される。テーブルは、キーフィールドを介して相互接続される。キーフィールドの使用は、キーフィールドについてインデックスをつけることでテーブルの結合を可能にする。すなわち、キーフィールドは、様々なテーブルからの情報を結合するディメンジョナルピボットポイントとして機能する。関係は、一般に、主キーを一致させることによってテーブル間で保持されたリンクを特定する。主キーは、リレーショナル・データベースにおけるテーブルの列を独自に特定するフィールドを示す。より正確には、それらは、一対多の関係の「一」側でテーブルの列を独自に特定する。
代替的に、SMS・データベースは、アレイ、ハッシュ、(リンクされた)リスト、構造体、構造化テキストファイル(例えば、XML)、テーブルなどの様々な標準データ構造を使用して実装されてもよい。そのようなデータ構造は、メモリ及び/又は(構造化された)ファイルに格納されてもよい。別の代替案においては、Frontier、ObjectStore、Poet、Zopeなどのオブジェクト指向データベースが使用されてもよい。オブジェクトデータベースは、共通の属性によってグループ化、及び/又はリンク付けされた多くのオブジェクトコレクションを備えることができる。それらは、いくつかの共通の属性によって他のオブジェクトコレクションに関連付けられてもよい。オブジェクト指向データベースは、オブジェクトがデータの単なる断片ではなく、既定のオブジェクト内でカプセル化された他の種類の機能性を有してもよい点を除いて、リレーショナル・データベースと同様に機能する。SMS・データベースがデータ構造として実装されるなら、SMS・データベース519の使用はSMS・コンポーネント535などの他のコンポーネントに統合されてもよい。また、データベースは、データ構造、オブジェクト、および関係構造の組み合わせとして実装されてもよい。データベースは、標準データ処理技術を通じて無数のバリエーションで統合及び/又は分散され得る。データベースの部分(例えば、テーブル)は、エクスポート及び/又はインポートされてもよく、分散、及び/又は統合されてもよい。
ある実施形態において、データベースコンポーネント519は、いくつかのテーブル519a−lを備えている。ユーザテーブル519aはuser_id、ssn、dob、first_name、last_name、age、state、address_firstline、address_secondline、zipcode、devices_list、contact_info、contact_type、alt_contact_info、alt_contact_type、userjbiometricsなど(ただし、これに限らない)のフィールドを備えている。ユーザテーブルはSMSで複数の実体アカウントをサポート及び/又は追跡記録してもよい。機器テーブル519bはdevice_ID、device_name、device_IP、device_MAC、device_type、device_model、device_version、device_OS、device_apps_list、device_securekey、wallet_app_installed_flag、device_browser、device_plugin_list、device_font_list、device_screen_size、device_time_zoneなど(ただし、これに限らない)のフィールドを備えている。アプリテーブル519cはapp_ID、app_name、app_type、app_dependenciesなど(ただし、これに限らない)のフィールドを備えている。アカウントテーブル519dはaccount_number、account_security_code、account_name、issuer_acquirer_flag、issuer_name、acquirer_name、account_address、routing_number、access_API_call、linked_wallets_listなど(ただし、これに限らない)のフィールドを備えている。マーチャントテーブル519eはmerchant_id、merchant_name、merchant_address、ip_address、mac_address、auth_key、port_num、security_settings_listなど(ただし、これに限らない)のフィールドを備えている。発行者テーブル519fはissuer_id、issuer_name、issuer_address、ip_address、mac_address、auth_key、port_num、security_settings_listなど(ただし、これに限らない)のフィールドを備えている。取得者テーブル519gはacquirer_id、account_firstname、account_lastname、account_type、account_num、account_balance_list、billing_address_line1、billingaddress_line2、billing_zipcode、billing_state、shipping_preferences、shippingaddress_line1、shippingaddress_line2、shipping_zipcode、shipping_stateなど(ただし、これに限らない)のフィールドを備えている。ペイゲートウェイテーブル519hはgateway_ID、gateway_IP、gateway_MAC、gateway_secure_key、gateway_access_list、gateway_API_call_list、gateway_services_listなど(ただし、これに限らない)のフィールドを備えている。取引テーブル519iはorder_id、user_id、timestamp、transaction_cost、purchase_details_list、num_products、products_list、product_type、product_params_list、product_title、product_summary、quantity、user_id、client_id、client_ip、client_type、client_model、operating_system、os_version、app_installed_flag、user_id、account_firstname、account_lastname、account_type、account_num、account_priority_account_ratio、billingaddress_line1、billingaddress_line2、billing_zipcode、billing_state、shipping_preferences、shippingaddress_line1、shipping_address_line2、shipping_zipcode、shipping_state、merchant_id、merchant_name、merchant_auth_keyなど(ただし、これに限らない)のフィールドを備えている。バッチテーブル519jはbatch_id、transaction_id_list、timestamp_list、cleared_flag_list、clearance_trigger_settingsなど(ただし、これに限らない)のフィールドを備えている。デコード後コードのコンテンツテーブル519kはcode_id、timestamp、link_id、app_id、scripts_id、linksjblacklist、links_whitelist、apps_blacklist、links_whitelistなど(ただし、これに限らない)のフィールドを備えている。製品テーブル519lはproduct_ID、product_title、product_attributes_list、product_price、tax_info_list、related_products_list、offers_list、discounts_list、rewards_list、merchants_list、merchant_availability_listなど(ただし、これに限らない)のフィールドを備えている。デジタル署名テーブル519mはdigital_sign_ID、digital_sign_whitelist、digital_sign_blacklist、plugins_list、fonts_list、time_zones、screen_size、flash_id、user_agent_idなど(ただし、これに限らない)のフィールドを備えている。
ある実施例では、SMS・データベースは、他のデータベースシステムと相互作用してもよい。例えば、分散データベースシステムを使用する場合、検索SMS・コンポーネントによるクエリーおよびデータアクセスが、SMS・データベースと単一データベースエンティティとしての統合データセキュリティレイヤデータベースの組み合わせを取り扱ってもよい。
ある実施例においては、ユーザプログラムは、SMSを更新する機能を有する様々なユーザインターフェース・プリミティブを含んでもよい。また、様々なアカウントが、環境とSMSが仕えるクライアントの種類に依存するカスタムデータベーステーブルを要求してもよい。いずれの固有フィールドも、終始キーフィールドとして指定されてもよい。代替的な実施例においては、これらのテーブルは、それら自身のデータベースとそれらのそれぞれのデータベース制御部(すなわち、上記テーブルのそれぞれに対応する個々のデータベース制御部)に分散されている。標準データ処理技術を採用する場合、いくつかのコンピュータシステム、及び/又は記憶装置でデータベースをさらに分散してもよい。同様に、分散データベース制御部の構成を、様々なデータベースコンポーネント519a−lを統合及び/又は分散することによって、変更してもよい。SMSを、データベース制御部を介して、各種設定、入力およびパラメータの経過を追うように構成してもよい。
SMS・データベースは、それ自身を含むコンポーネントコレクションにおける他のコンポーネント及び/又は同様のものの機能に、伝達、及び/又は通信してもよい。SMS・データベースは、たいてい、SMS・コンポーネント、他のプログラムコンポーネントなどと通信する。データベースは、他のノードやデータに関する情報を包含、保持、及び提供してもよい。
SMS
SMS・コンポーネント535は、CPUによって実行される、格納されたプログラムコンポーネントである。ある実施例では、SMS・コンポーネントは、前述の図面で説明したSMSの態様のいずれか及び/又は全ての組み合わせを組み込む。そのようにして、SMSは、様々な通信ネットワークを介して、情報、サービス、取引などのアクセス、取得および提供に影響を与える。
SMS・コンポーネントは、電子金融取引に基づくバーチャルウォレットへのSMS・コンポーネントを介したバリデーション、アクセス、およびセキュリティを提供してもよい。ある実施例においては、SMS・コンポーネント535は、入力(例えば、コードスナップショット入力109、セキュリティバリデーション要求111、購入チェックアウト要求202、ウォレットアクセス承認要求204等)を受け付け、様々なコンポーネント(例えば、DCDV523、DCPV524、UIV525等)を介し、出力(例えば、バリデーション後コードのコンテンツ117、購入チェックアウト応答203、ウォレット承認210等)に変換する。
ノード間の情報のアクセスを可能とするSMS・コンポーネントは、Apacheコンポーネント、Assembly、ActiveX、binary ececutables、(ANSI)(Objective−)C(++)、C#、及び/又は.NET、データベースアダプタ、CGIスクリプト、Java、JavaScript、マッピングツール、手順及びオブジェクト指向開発ツール、PERL、PHP、Python、シェルスクリプト、SQLコマンド、ウェブアプリケーションサーバ拡張子、environment and libraries(例えば、マイクロソフト社のActiveX、Adobe社のAIR、Flex及びFLASH、AJAX、(D)HTML、Dojo、Java、JavaScript、jQuery(UI)、Mootools、Prototype、script.aculo.us、Simple Object Access Protocol(SOAP)、SWFObject、Yahoo!ユーザインターフェース等)、WebObjectsなど(ただし、これに限らない)といった標準開発ツールと言語を用いて開発されてもよい。ある実施形態において、SMS・サーバは、通信の暗号化と復号化のために、暗号サーバを使用する。SMS・コンポーネントは、それ自身を含むコンポーネントコレクションのうちの他のコンポーネント及び/又は同様のものの機能に、伝達及び/又は通信を行ってもよい。SMS・コンポーネントは、たいてい、SMSデータベース、オペレーティングシステム、その他のプログラムコンポーネント等と通信する。SMSは、プログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を包含、通信、生成、取得、及び/又は提供してもよい。
分散型のSMS
SMSノード制御部のいずれかの構造及び/又は作用は、開発及び/又は配置を容易にする様々な方法で結合、統合、及び/又は分散されるようにしてもよい。同様に、コンポーネントコレクションは、開発及び/又は配置を容易にする様々な方法で結合されてもよい。これを達成するために、コンポーネントを共通のコードベースに統合したり、統合された方法で要求に応じて、コンポーネントを同時に読み込むことができる機能に統合したりしてもよい。
コンポーネントコレクションは、標準データ処理及び/又は開発技術を通じて無数のバリエーションで統合及び/又は分散されてもよい。プログラムコンポーネントコレクションにおけるいずれか一つのプログラムコンポーネントの多数のインスタンスは、負荷バランス及び/又はデータ処理技術を通じてパフォーマンスを向上するために、単一のノード、及び/又は多数のノードで作成されてもよい。更に、一つのインスタンスが、複数の制御部及び/又は記憶装置(例えば、データベース)に分散されてもよい。一斉に稼働する、全てのプログラムコンポーネントインスタンス及び制御部は、標準データ処理通信技術を通じて成されてもよい。
SMS制御部の構成は、システムデプロイのコンテキストに依存する。予算、容量、位置、及び/又は基礎的ハードウェアリソースの使用(ただし、これに限らない)といった要因は、配置要件と構成に影響を与えることもある。構成がより整理及び/又は統合されたプログラムコンポーネントになるか、より分散された一連のプログラムコンポーネントになるか、及び/又は統合および分散された構成のいくつかの組み合わせとなるかに関わらず、データは通信、取得、及び/又は提供することができる。プログラムコンポーネントコレクションから共通コードベースに統合されたコンポーネントのインスタンスは、データを通信、取得、及び/又は提供してもよい。これは、データ参照(例えば、ポインタ)、内部メッセージ、オブジェクトインスタンス変数通信、共有メモリスペース、変数交換など(ただし、これに限らない)のアプリケーション内データ処理通信技術を通じて達成されてもよい。
コンポーネント・コレクション・コンポーネントが互いに個別、別個、及び/又は外部にあるならば、データを他の部品コンポーネントとの間で、通信、取得、及び/又は提供することは、アプリケーション・プログラム・インターフェース(API)情報経過、(分散)コンポーネントオブジェクトモデル((D)COM)、(分散)オブジェクトのリンクと埋め込み((D)OLE)など)、共通オブジェクト・リクエスト・ブローカー・アーキテクチャ(CORBA)、Jini(登録商標)ローカル及びリモート・アプリケーション・プログラム・インターフェース、JavaScript Object Notation (JSON)、遠隔メソッド呼び出し(RMI)、SOAP、プロセスパイプ、共有ファイルなど(ただし、これに限らない)のアプリケーション内データ処理通信技術を通じて達成されてもよい。アプリケーション内通信についての個別部品コンポーネント間、又はアプリケーション内通信についての単一コンポーネントのメモリスペース内で送信されるメッセージは、文法の作成と解析を通じて簡易にされてもよい。文法生成及び機能解析を可能にするlex、yacc、XMLなどの開発ツールを使用して、文法を開発してもよく、そのことはコンポーネント内およびコンポーネント間で通信メッセージの基盤を形成し得る。
例えば、HTTPpostコマンドのトークンをバリデートするために以下の文法が用意されてもよい。
w3c -post http://... Value1
“http://”は文法構文の一部であり、次に続く部分はポスト値の一部とみなされるため、Value1はパラメータとして識別される。同様に、そのような文法を用いて、変数“Value1”は、“http://”ポストコマンドに挿入された後、送信されてもよい。文法構文自体は、解析メカニズム(例えば、lex、yacc等によって処理された構文記述テキストファイル)を生成するために解釈される、そうでなければ使用される構造化データとして示されてもよい。また、一度、解釈メカニズムが生成され、及び/又は解釈メカニズムのインスタンスが生成されると、それ自身が、文字(例えば、タグ)描写テキスト、HTML、構造化テキストストリーム、XML、及び/又は同様の構造化データ(ただし、これに限らない)といった構造化データを処理し、及び/又は解釈してもよい。別の実施形態では、アプリケーション内データ処理プロトコル自身が、データを解析(例えば、通信)するために使用可能な統合された及び/又は容易に利用可能なパースツール(例えば、JSON、SOAP、及び/又は同様のパースツール)を備えてもよい。さらに、解析文法は、メッセージ解析を越えて使用されてもよいし、一方で、データベース、データ収集、データストア、構造化データなどを解析するために使用されてもよい。また一方、要求構造は、システム開発のコンテキスト、環境、及び、要求に依存する。
例えば、いくつかの実施例においては、SMS制御部は、情報サーバを介して、セキュア・ソケット・レイヤ(“SSL”)ソケットサーバを実装するPHPスクリプトを実行してもよい。情報サーバは、クライアントがデータ(例えば、JSONフォーマットに埋め込まれたデータ)を送信するサーバポートにおいて、入力される通信をモニタする。入力された通信を特定すると、PHPスクリプトは、クライアント装置からの入力メッセージを読み込み、受信したJSON埋め込みテキストデータからの情報をPHPスクリプト変数に展開するために、JSON埋め込みテキストデータを解析し、及び、データ(例えば、クライアント特定情報など)、及び/又はStructured Query Language(“SQL”)を使用してアクセス可能なリレーショナル・データベースにおいて展開された情報を格納してもよい。クライアント装置からSSLコネクションを介してJSON埋め込み入力データを受信し、変数を展開するためにデータを解析し、及び、データをデータベースに格納するために、実質的にPHP/SQLコマンドの形式で書かれたリストの一例は、以下の通りである。
<?PHP
header(‘Content-Type: text/plain’);

// set ip address and port to listen to for incoming data
$address = ‘192.168.0.100’;
$port = 255;

// create a server-side SSL socket, listen for/accept incoming communication
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die(‘Could not bind to address’);
socket_listen($sock);
$client = socket_accept($sock);

// read input data from client device in 1024 byte blocks until end of message
do {
$input = “”;
$input = socket_read($client, 1024);
$data .= $input;
} while($input != “”);

//parse data to extract variables
$obj = json_decode($data, true);

//store input data in a database
mysql_connect(“201.408.185.132”,$DBserver,$password); // access database server
mysql_select(“CLIENT_DB.SQL”); // select database to append
mysql_query(“INSERT INTO UserTable (transmission)
VALUES ($data)“); // add data to UserTable table in a CLIENT database
mysql_close(“CLIENT_DB.SQL”); // close connection to database
?>
また、以下のリソースは、SOAP解析インプリメンテーションに関する実施例を提供するために使用されてもよい。
http://www.xav.com/perl/site/lib/SOAP/Parser.html
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm
.IBMDI.doc/referenceguide295.htm
他の解析インプリメンテーション:
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm
.IBMDI.doc/referenceguide259.htm
いずれも、参照することにより本願明細書に明確に含まれる。
様々な問題に対処し、技術を進歩させるために、SMS装置、方法、及びシステムのための本出願全体(カバーページ、タイトル、見出し、分野、背景、要約、図面の簡単な説明、詳細な説明、請求項、アブストラクト、図面、付録、その他を含む)は、実例として、請求項に係る発明を実施する様々な実施形態を示している。本出願の効果及び特徴は、実施形態の代表的な実施例だけに記載されており、完全及び/又は排他的ではないかもしれない。それらは、理解を助け、請求項に係る原理を教示することだけを提示している。当然のことながら、それらは全ての請求項に係る発明を代表するものではない。開示されているある態様は、本出願では説明されていない。別の実施形態は、発明の特定部位のために提示されておらず、あるいは、それらを記述していない別の実施形態は、それら別の実施形態の放棄とみなされることはない部分のために利用可能である。当然のことながら、多数の記述されていない実施形態は、発明やそれと同等のものと同一の原理を含んでいる。したがって、他の実施形態は利用され、機能的、論理的、作用的、組織的、構造的、及び/又はトポロジー的な修正は開示の範囲及び/又は本質から逸脱せずに作成されると考えられる。そのようなものとして、全ての実施例及び/又は実施形態は、本開示を通じて、限定されていないとみなされる。また、空間や反復を削減する目的以外で、本出願で説明されていない実施形態と比較して、本出願で説明された実施形態に関する判断を下すべきではない。例えば、図面及び/又は本願明細書に記載されたデータフローシーケンスやプログラムコンポーネント(コンポーネントコレクション)のいずれかの組み合わせ、他のコンポーネント、及び/又はいずれかの本出願の機能群の論理的及び/又はトポロジー的な構造は、固定された作動順序及び/又は配置に限定されていないというよりも、開示された順序は典型的なものであり、全て同等のものは順序にかかわらず開示によって検討されていると考えられる。さらに、そのような特徴は直列実行に限定されていないというよりも、非同期的に、一斉に、並行して、同時に、同調して実行されるいくつものスレッド、プロセス、プロセッサ、サービス、サーバなどは開示によって検討されることがわかる。そのようなものとして、いくつかのこれらの特徴は、単一の実施形態では同時に存在できないという点で、互いに矛盾している。同様に、いくつかの特徴は、発明のある態様に適用可能であり、他の態様には適用できない。さらに、現在特許請求の範囲に記載されていない他の発明も開示されている。出願人は、そのような発明、ファイル追加出願、継続出願、一部継続出願、分割出願などを要求する権利を含む現在特許請求の範囲に記載されていない全ての権利を保有する。そのようなものとして、当然ながら、開示された効果、実施形態、実施例、機能、特徴、論理、作用、組織、構造、トポロジー、及び/又は他の側面は、請求項によって定義された開示や請求項と同等なものに限定されていない。特定のニーズ、及び/又は個別のSMS及び/又は企業のユーザ、データベース構成及び/又は関係モデル、データタイプ、データ伝送及び/又はネットワーク構成、構文構造などの特性に応じて、SMSの様々な実施形態は、多くの柔軟性やカスタマイズを可能にするように実装されると考えられる。例えば、SMSの態様は、ヘルスケア、旅行サービス、アクセサリ、広告及びマーケティング、動物医院及び病院、美術工芸、自動車車体工場、自動車ディーラー、自動車修理店、自動車用品販売店、製パン所、ビューティークリニック、書籍卸、書店、建築用品販売店、カメラ屋、洗車、天井/パーティション店、携帯電話会社、子供服店、チョコレートショップ、衣服修理店、コーヒーショップ、パソコンショップ、コンビニエンスストア、コスチュームショップ、配達サービス店、乳製品店、調製食料品店、食堂、日曜大工店、耐久医療機器、DVD及び映画、電気部品、電子機器とビデオゲーム、電子機器保守修理店、眼鏡店、繊維装飾店、高速グラフィックサービス、家具店、ガソリンスタンド、ギフトショップ、高級食料品店、日用品店、ジム、金物店、冷暖房、園芸店、台所用品店、家庭電化製品、ホームセンター、電話会社、ホテル、アイスクリームパーラ、清掃/クリ−ニング会社、宝石店、子供向けパーティープレイス会社、家庭教師会社、語学学校又は学習センター、洗濯屋、レジャー及び観光会社、照明器具、ランジェリー及びアパレルショップ、鍵屋、トランク及びスーツケース店、紳士服店、モーテル、オートバイ販売店、映画館、引っ越しサービス、楽器店、自然食品店、ボート店、ナイトクラブ/ディスコ、事務用品店、塗料店、パーティーサプライ店、香水製造所、自己啓発講座、ペットショップ、薬局、形成外科、冷蔵工場、レストラン(あらゆる種類)、焼肉料理店、敷物及びカーテン店、学校、靴修理店、靴屋、SPA、専門薬局、スポーツ用品店、スポーツチケット店、スーパーマーケット、手術用機器、水着点、技術講習、劇場、チケット(ショーやコンサート)、玩具店、視覚伝達、ワイン醸造所、婦人服店などに適応させる。SMSの様々な実施形態及び説明は、販売者とユーザとの間の商業的な取引を含んでいるが、本出願の実施形態は、多種多様な他の出願及び/又は実施例のために、容易に構成され、及び/又はカスタマイズされると考えられる。

Claims (23)

  1. スナップモバイルセキュリティプロセッサ実装方法であって、前記方法は、
    1つ以上のプロセッサを介して、ユーザデバイスから、スキャン可能コードをデコードし、該デコードされたコードのコンテンツのセキュリティをベリファイするリクエストを受信すること、
    前記1つ以上のプロセッサを介して、マーチャントからの購入に利用可能な品物に関連する品物コードを含み、ウォレットアカウントへのアクセスをリクエストするコードのコンテンツを取得するための前記スキャン可能コードをデコードすること、
    前記ユーザデバイスからの前記ユーザデバイスのデジタルフィンガープリントおよび前記ウォレットアカウントへのアクセスのリクエストのためのリクエスト識別子をセキュリティサーバで受信すること、
    前記セキュリティサーバからマーチャントサーバに、(i)前記マーチャントサーバの第1のデジタル署名と(ii)前記リクエスト識別子の第2のデジタル署名のリクエストを送信すること、
    前記マーチャントサーバからのリクエストされた前記第1および第2のデジタル署名前記セキュリティサーバで受信すること
    ユーザデバイスが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記デジタルフィンガープリント処理すること、
    前記マーチャントサーバと前記リクエストが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記第1および第2のデジタル署名を処理すること、および
    前記セキュリティサーバから前記ユーザデバイスに、前記ウォレットアカウントへのアクティビティアクセスのためにウォレットアンロックおよびアクティビティアンロックキーを送信すること、を有することを特徴とする方法。
  2. 前記スキャン可能コードは、クイック・リスポンス(QR)コードのスナップショットを受信することで提供されることを特徴とする請求項1に記載の方法。
  3. ワイヤレスモバイル通信デバイスは、前記QRコードを撮影するために用いられることを特徴とする請求項2に記載の方法。
  4. デコードされていない前記スナップショットは、前記コードのコンテンツをデコードするセキュリティサーバに転送されることを特徴とする請求項2に記載の方法。
  5. 前記セキュリティサーバが、デコードされていない前記コードをデコードし、前記デコードされたコードのコンテンツのバリディティおよびセキュリティをベリファイすることを特徴とする請求項4に記載の方法。
  6. 前記デコードされたコードのコンテンツが、不正ウェブサイトへのユニフォーム・レソース・ロケーター(URL)リンクを含むことを特徴とする請求項5に記載の方法。
  7. 前記デコードされたコードは、それを悪質な攻撃にさらすことによって、前記ユーザデバイスのセキュリティを危殆化することを特徴とする請求項5に記載の方法。
  8. 前記デコードされたコードのコンテンツが、該コンテンツのバリディティおよびセキュリティをベリファイするセキュリティサーバに送信されることを特徴とする請求項1に記載の方法。
  9. 前記デコードされたコードのコンテンツが前記ユーザデバイスにセキュリティリスクを引き起こすかどうかが、前記デコードされたコードのコンテンツを、前記コードのコンテンツのブラックリストおよびホワイトリストと比較することによって判定されることを特徴とする請求項1に記載の方法。
  10. ユーザのワイヤレスモバイル通信デバイスは、リンクを実行するために、該ワイヤレスモバイル通信デバイスのリンクへリダイレクトされることを特徴とする請求項1に記載の方法。
  11. 前記デコードされたコードにおいて安全であると判定された、検索されたリンクに基づいて、ユーザのワイヤレスモバイル通信デバイスが、1つ以上の前記検索されたリンクを起動することを特徴とする請求項1に記載の方法。
  12. ウェブホスティングサーバが、前記検索されたリンクのひとつのリクエストされたデスティネーションをセキュリティサーバに返信することを特徴とする請求項11に記載の方法。
  13. 前記ウェブホスティングサーバは、前記セキュリティサーバに応答してウェブページを提供することを特徴とする請求項12に記載の方法。
  14. 前記ウェブページのコンテンツが、前記ユーザのワイヤレスモバイル通信デバイスに提供されることを特徴とする請求項13に記載の方法。
  15. 前記デコードされたコードのコンテンツのセキュリティのベリフィケーションに基づいて、前記ユーザのワイヤレスモバイル通信デバイスは、前記デコードされたコンテンツを実行することを特徴とする請求項1に記載の方法。
  16. 前記コードは、製品の品物コードを含むことを特徴とする請求項15に記載の方法。
  17. 前記ユーザのワイヤレスモバイル通信デバイスは、購入リクエストを開始するためのURLリンクを起動することを特徴とする請求項16に記載の方法。
  18. 前記ユーザのワイヤレスモバイル通信デバイスが購入リクエストを開始するアプリケーションをダウンロードして起動することを特徴とする請求項16に記載の方法。
  19. 前記URLリンクのウェブページは、前記ユーザのワイヤレスモバイル通信デバイス上のウォレットアカウントへのアクセスをリクエストし、購入のための支払いを開始することを特徴とする請求項17に記載の方法。
  20. 前記URLリンクのウェブページは、前記ユーザのワイヤレスモバイル通信デバイス上のウォレットアカウントにアクセスし、購入のための支払いを開始することを特徴とする請求項17に記載の方法。
  21. 起動されたアプリが、前記ユーザのワイヤレスモバイル通信デバイス上のウォレットアカウントへのアクセスをリクエストし、購入ための支払いを開始することを特徴とする請求項16に記載の方法。
  22. プロセッサと、
    該プロセッサと通信可能に配置され、プロセッサが発行可能な命令を格納するメモリと、を有し、
    前記プロセッサが発行可能な命令は、
    ユーザデバイスから、スキャン可能コードをデコードし、該デコードされたコードのコンテンツのセキュリティをベリファイするリクエストを受信すること、
    前記スキャン可能コードをデコードし、マーチャントからの購入に利用可能な品物に関連する品物コードを含み、ウォレットアカウントへのアクセスをリクエストするコードのコンテンツを取得すること、
    前記ユーザデバイスからの前記ユーザデバイスの電子フィンガープリントおよび前記ウォレットアカウントへのアクセスのリクエストためのリクエスト識別子を、セキュリティサーバで受信すること、
    前記セキュリティサーバからマーチャントサーバに、(i)前記マーチャントサーバの第1のデジタル署名と(ii)前記リクエスト識別子の第2のデジタル署名のリクエストを送信すること、
    前記マーチャントサーバからのリクエストされた前記第1および第2のデジタル署名を前記セキュリティサーバで受信すること、
    前記ユーザデバイスが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記デジタルフィンガープリントを処理すること、
    前記マーチャントサーバと前記リクエストが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記第1および第2のデジタル署名を処理すること、および
    前記セキュリティサーバから前記ユーザデバイスに、前記ウォレットアカウントへのアクティビティアクセスのためにウォレットアンロックおよびアクティビティアンロックキーを送信すること、を含むことを特徴とするスナップモバイルセキュリティシステム。
  23. プロセッサが発行可能な命令を記憶するプロセッサ可読の非一時的な媒体であって、前記プロセッサが発行可能な命令は、
    ユーザデバイスから、スキャン可能コードをデコードし、該デコードされたコードのコンテンツのセキュリティをベリファイするリクエストを受信すること、
    前記スキャン可能コードをデコードし、マーチャントからの購入に利用可能な品物に関連する品物コードを含み、ウォレットアカウントへのアクセスをリクエストするコードのコンテンツを取得すること、
    前記ユーザデバイスからの前記ユーザデバイスの電子フィンガープリントおよび前記ウォレットアカウントへのアクセスのためのリクエストのリクエスト識別子を、セキュリティサーバで受信すること、
    前記セキュリティサーバからマーチャントサーバに、(i)前記マーチャントサーバの第1のデジタル署名と(ii)前記リクエスト識別子の第2のデジタル署名のリクエストを送信すること、
    前記マーチャントサーバからのリクエストされた前記第1および第2のデジタル署名を前記セキュリティサーバで受信すること、
    前記ユーザデバイスが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記デジタルフィンガープリントを処理すること、
    前記マーチャントサーバと前記リクエストが前記ウォレットアカウントへのアクセス権限を与えられていることを確認するために、前記セキュリティサーバで前記第1および第2のデジタル署名を処理すること、および
    前記セキュリティサーバから前記ユーザデバイスに、前記ウォレットアカウントへのアクティビティアクセスのためにウォレットアンロックおよびアクティビティアンロックキーを送信すること、を含むことを特徴とするプロセッサ可読の非一時的な媒体。
JP2016503411A 2013-03-15 2014-03-17 スナップモバイルセキュリティ装置、方法、およびシステム Active JP6377125B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361800012P 2013-03-15 2013-03-15
US61/800,012 2013-03-15
PCT/US2014/030517 WO2014145708A1 (en) 2013-03-15 2014-03-17 Snap mobile security apparatuses, methods and systems

Publications (2)

Publication Number Publication Date
JP2016524198A JP2016524198A (ja) 2016-08-12
JP6377125B2 true JP6377125B2 (ja) 2018-08-22

Family

ID=51538071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016503411A Active JP6377125B2 (ja) 2013-03-15 2014-03-17 スナップモバイルセキュリティ装置、方法、およびシステム

Country Status (6)

Country Link
EP (1) EP2973276A4 (ja)
JP (1) JP6377125B2 (ja)
CN (1) CN105144216A (ja)
AU (1) AU2014232707A1 (ja)
HK (1) HK1213076A1 (ja)
WO (1) WO2014145708A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CZ307164B6 (cs) * 2015-08-20 2018-02-14 Petr Sobotka Způsob přenosu šifrovacích klíčů digitální měny na základě postupu vystavování, ověřování a znehodnocování fyzického nosiče s vícefaktorovou autorizací a fyzický nosič šifrovacích klíčů pro digitální měnu k provádění tohoto způsobu
GB2549245A (en) * 2015-11-22 2017-10-18 Facebanx Ltd Out of band pre-authentication of a transaction
US10291610B2 (en) * 2015-12-15 2019-05-14 Visa International Service Association System and method for biometric authentication using social network
US10977639B2 (en) 2016-01-25 2021-04-13 Freelancer Technology Pty Limited Adaptive gateway switching system
CN106991317B (zh) * 2016-12-30 2020-01-21 中国银联股份有限公司 安全验证方法、平台、装置和系统
WO2018236401A1 (en) * 2017-06-23 2018-12-27 Visa International Service Association REASON FOR VERIFICATION AND ENCRYPTION IN A MEMORY OF DATA
JP7150839B2 (ja) * 2017-06-28 2022-10-11 ゴールドマン サックス バンク ユーエスエー インターフェース固有アカウント識別子
SG11202008525SA (en) * 2018-03-12 2020-10-29 Visa Int Service Ass Digital access code
CN110474888A (zh) * 2019-07-26 2019-11-19 广东睿江云计算股份有限公司 一种基于php的独立式sql注入防御分析告警方法及其系统
CN110661797B (zh) * 2019-09-23 2024-05-03 深圳传音控股股份有限公司 一种数据保护方法、终端、以及计算机可读存储介质
CN111666596B (zh) * 2020-07-10 2023-05-05 腾讯科技(深圳)有限公司 一种数据处理方法、设备及介质
US20230367892A1 (en) * 2022-05-13 2023-11-16 Intuit Inc. Secure embedded web browser
CN115564438B (zh) * 2022-12-06 2023-03-24 北京百度网讯科技有限公司 基于区块链的数字资源处理方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210620B2 (en) * 2005-01-04 2007-05-01 Ameriprise Financial, Inc. System for facilitating online electronic transactions
JP2009151730A (ja) * 2007-12-22 2009-07-09 Duaxes Corp 会計管理装置
JP2011186660A (ja) * 2010-03-05 2011-09-22 Yasushi Sato 電子商取引システム、決済サーバ、およびプログラム
US8364959B2 (en) * 2010-05-26 2013-01-29 Google Inc. Systems and methods for using a domain-specific security sandbox to facilitate secure transactions
JP5518615B2 (ja) * 2010-07-27 2014-06-11 株式会社日本総合研究所 決済システム、決済方法および決済プログラム
CN106803175B (zh) * 2011-02-16 2021-07-30 维萨国际服务协会 快拍移动支付装置,方法和系统
CN102779304A (zh) * 2011-05-10 2012-11-14 中国联合网络通信集团有限公司 电子钱包中赠予金额的处理方法及服务器
WO2013006725A2 (en) * 2011-07-05 2013-01-10 Visa International Service Association Electronic wallet checkout platform apparatuses, methods and systems

Also Published As

Publication number Publication date
JP2016524198A (ja) 2016-08-12
EP2973276A1 (en) 2016-01-20
WO2014145708A1 (en) 2014-09-18
EP2973276A4 (en) 2016-09-14
CN105144216A (zh) 2015-12-09
AU2014232707A1 (en) 2015-11-05
HK1213076A1 (zh) 2016-06-24

Similar Documents

Publication Publication Date Title
JP6377125B2 (ja) スナップモバイルセキュリティ装置、方法、およびシステム
US10839381B2 (en) Augmented smart tag security apparatuses, methods and systems
US11227319B1 (en) System and method for enabling global and remote flash sale or daily deal commerce through unsecured electronic channels
US20140197234A1 (en) Snap Mobile Security Apparatuses, Methods and Systems
US20200213684A1 (en) Distributed, Unfolding, Embedded Transaction and Inventory Apparatuses, Methods and Systems
US11763294B2 (en) Remote decoupled application persistent state apparatuses, methods and systems
US11568392B2 (en) Dynamic checkout button apparatuses, methods and systems
JP6615798B2 (ja) ダイナミックチェックアウトボタン装置、方法及びシステム
WO2013012876A1 (en) Merchant control platform apparatuses, methods and systems
US20180089740A1 (en) System for identifying and suggesting goods for purchase
US20230410091A1 (en) Remote decoupled application persistent state apparatuses, methods and systems
JP2017138835A (ja) ユーザー認証及び信頼度提供方法とユーザー認証及び信頼度提供システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180612

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: 20180626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180724

R150 Certificate of patent or registration of utility model

Ref document number: 6377125

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250