TW201810107A - An authentication method of serializing data exchange with WORKER thread - Google Patents

An authentication method of serializing data exchange with WORKER thread Download PDF

Info

Publication number
TW201810107A
TW201810107A TW105129894A TW105129894A TW201810107A TW 201810107 A TW201810107 A TW 201810107A TW 105129894 A TW105129894 A TW 105129894A TW 105129894 A TW105129894 A TW 105129894A TW 201810107 A TW201810107 A TW 201810107A
Authority
TW
Taiwan
Prior art keywords
request
application
client
server
service identifier
Prior art date
Application number
TW105129894A
Other languages
Chinese (zh)
Other versions
TWI620091B (en
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 健行學校財團法人健行科技大學
Priority to TW105129894A priority Critical patent/TWI620091B/en
Publication of TW201810107A publication Critical patent/TW201810107A/en
Application granted granted Critical
Publication of TWI620091B publication Critical patent/TWI620091B/en

Links

Abstract

An authentication method of serializing data exchange with worker thread are disclosure. A request including an application identifier related to a client application is received at a web server application. A service identifier is generated if a session with the client application is valid, and a registry is generated at the web server application. The service identifier is sent to the client application. A sub-requests including the service identifier is received as a part of an asynchronous client server transaction. To judge validity of the sub-requests by determining whether the service identifier has expired or modification, whether the sub-requests request a service that is permissible according to an information of the registry. A renewal service identifier is generated and the service is provided if the sub-requests is valid. Thereby, more protection on website is provided via each request with renewal service identifier of the web server application.

Description

植基於WORKER序列化請求的認證處理方法Authentication processing method based on WORKER serialization request

本發明涉及網路技術領域,特別指一種保障AJAX網頁運行序列化請求的資料認證處理,以worker thread概念於背景執行請求過程可針對每次發送請求更新所取得的session憑證以防止惡意侵入使用者端的防護方式的認證處理方法。The invention relates to the field of network technology, in particular to a data authentication process for guaranteeing an AJAX webpage running serialization request, and the worker thread concept in the background execution request process can update the obtained session credential for each sending request to prevent malicious intrusion into the user. The authentication method of the protection mode of the end.

全球資訊網技術(Web Technology)是現今之電子商務系統所使用的主要技術,其中包含許多複雜的作業機制,用來確保電子商務的安全進行。例如,使用者登入及管理在電子商務系統中是一個常用而且重要的功能,但在一般之電子商務系統中受限於HTTP (Hyper Text Transfer Protocol)協定的無狀態式(stateless)及無連接式(connectionless)的工作模式之特性,使用者登入及管理的功能無法與一般Windows Based的程式(即一般之視窗程式)之使用者登入管理功能相比擬。Web Technology is the main technology used in today's e-commerce systems, and it contains many complex operating mechanisms to ensure the security of e-commerce. For example, user login and management is a common and important function in e-commerce systems, but it is limited to stateless and connectionless HTTP (Hyper Text Transfer Protocol) protocols in general e-commerce systems. The characteristics of the (connectionless) mode of operation, the user login and management functions cannot be compared with the user login management function of the general Windows Based program (ie, the general window program).

目前使用之技術通常以伺服端之Session及網站全域物件Application來記錄使用者之資訊,其主要做法為當使用者成功登入時,將該使用者之資訊記錄在Session物件中,待使用者按下登出按鈕再從Session物件中移除該使用者,但為避免Server記憶體被大量耗用在記錄使用者資訊上,通常都會以Session Timeout的方式亦即設定一無動作期間,當該瀏覽器對該網頁達到該期間以上之時間無動作即自動將使用者登出,因此對於登入後未登出前直接關閉瀏覽器或是直接在瀏覽器之網址列輸入新網址進而改變瀏覽之網址之使用者,前述之技術便無法精確地用來管理使用者。The currently used technology usually records the user's information by using the server's Session and the website's global object Application. The main method is to record the user's information in the Session object when the user successfully logs in. The logout button removes the user from the Session object, but in order to prevent the server memory from being used in a large amount of recording user information, the session timeout is usually set in a no-action period when the browser is used. If the webpage reaches the time above the period, the user will be automatically logged out. Therefore, the user who directly closes the browser before logging in or directly enters the new URL in the address bar of the browser to change the browsing URL. The aforementioned techniques cannot be used to accurately manage users.

多數網站系統都是透過 session 的機制來維持已登入使用者的狀態,且小型文字檔案(cookie)是作為HTTP的一個擴展誕生的,主要彌補HTTP的無狀態性,提供了一種保持客戶端與伺服器端之間狀態的途徑,傳統上,即是運用小型文字檔案(cookie) 實現 session 機制的,但此方式在資安上的防護相對而言是較為脆弱的,而session多用來儲存敏感的資料,實用性較高,因此常常會成為駭客攻擊的目標,攻擊者會想辦法取得使用者的session ID,一般session的攻擊方式大致包含猜測session ID(session prediction)、竊取session ID(session hijacking)以及固定session ID(session fixation),而伺服器端(server)和客戶端(client)不會一直保持連線狀態,也不會有雙方狀態的即時更新,伺服器端(server)並不清楚客戶端(client)的狀態,有了使用者的的ID(user ID)即可冒充使用者對網站進行存取,導致可能受到侵害客戶端隱私的問題。Most website systems maintain the state of the logged-in user through the session mechanism, and the small text file (cookie) is born as an extension of HTTP. It mainly compensates for the statelessness of HTTP and provides a way to maintain the client and the server. The way between the state of the device, traditionally, is to use a small text file (cookie) to achieve the session mechanism, but this method is relatively weak in the security of the security, and the session is used to store sensitive data. It is highly practical, so it often becomes the target of hacking attacks. The attacker will find a way to get the user's session ID. The general session attack method generally includes guessing session ID (session prediction) and stealing session ID (session hijacking). And the fixed session ID (session fixation), and the server side (server) and the client (client) will not stay connected, there will be no immediate update of the status of both parties, the server (server) is not clear about the client The state of the client, with the user's ID (user ID) can impersonate the user to access the site, resulting in possible violations Client privacy issues.

有效解決先前技術中所存在的問題,本發明之目的在提供一種植基於WORKER序列化請求的認證處理方法,透過於每次請求取得新的服務識別憑證,且可及時感知惡意程式的攻擊以使系統管理者取得更好的網站防護。To effectively solve the problems in the prior art, the object of the present invention is to provide an authentication processing method based on a WORKER serialization request, which can obtain a new service identification credential for each request, and can timely detect the attack of the malicious program so that System administrators get better website protection.

為達到本發明之目的,本發明提供一種植基於WORKER序列化請求的認證處理方法,步驟包括於一伺服器端中的一應用程式伺服器接收一請求,該請求係包含與一客戶應用程式相關聯之一應用程式識別符;回應於該客戶應用程式之一作業階段有效而產生一服務識別符;於該應用程式伺服器產生一登入檔,該登入檔包含准許使用該客戶應用程式的服務之一集合及資料的資訊; 將該服務識別符發送至該客戶應用程式;接收一子請求,該子請求為一非同步客戶伺服器異動的一部分,該子請求包含該服務識別符且判斷該服務識別符是否已過期或已修改,來判定該子請求之一有效性以產生一新的服務識別符;回應該子請求有效且提供回應於該子請求之該服務。In order to achieve the object of the present invention, the present invention provides an authentication processing method based on a WORKER serialization request, the method comprising: receiving, by an application server in a server, a request, the request being related to a client application Linking an application identifier; generating a service identifier in response to the active phase of the client application; generating a login file for the application server, the login file containing a service permitting use of the client application a set of information and information; sending the service identifier to the client application; receiving a sub-request that is part of an asynchronous client server transaction, the sub-request including the service identifier and determining the service Whether the identifier has expired or has been modified to determine the validity of one of the sub-requests to generate a new service identifier; the sub-request is valid and provides the service in response to the sub-request.

於本發明之一實施例,其中該判定是否結合該客戶應用程式使用包含:判定該服務識別符與該客戶應用程式識別符一起使用。In an embodiment of the invention, wherein the determining whether to use the client application includes determining that the service identifier is used with the client application identifier.

於本發明之一實施例,其中該判定無效的該服務識別符係由該應用程式伺服器回應一錯誤訊息至該客戶應用程式。In an embodiment of the invention, the service identifier in which the determination is invalid is that the application server responds with an error message to the client application.

於本發明之一實施例,其中於該應用程式伺服器接收該請求係於該客戶應用程式之一工作執行緒(Worker Tread)來處理請求佇列中的請求,以對請求佇列中的每個請求配給一個執行緒來處理,或者建立多數個執行緒且指定請求佇列預先建立的執行緒數量,以對每個執行緒會取出一個請求來執行。In an embodiment of the present invention, the request is received by the application server in a worker Tread of the client application to process the request in the request queue to each of the request queues Requests are assigned to a thread to handle, or a majority of threads are created and the number of pre-established threads is specified in the request queue to fetch one request for each thread to execute.

於本發明之一實施例,其中應用程式伺服器係為操作以伺服其他應用程式及服務之任何應用程式。In one embodiment of the invention, the application server is any application that operates to serve other applications and services.

於本發明之一實施例,其中應用程式伺服器包含一應用程式伺服器組件,該應用程式伺服器組件可為該應用程式伺服器對應執行的認證應用程式或認證引擎。In an embodiment of the invention, the application server includes an application server component, and the application server component can be an authentication application or an authentication engine corresponding to the application server.

有關本發明之詳細說明及技術內容,配合圖式說明如下,然而所附圖式僅提供參考與說明用,並非用來對本發明加以限制者;為了使貴審查委員及閱讀大眾能更容易瞭解本發明並避免混淆,針對本發明AJAX網路架構之一資料處理環境先行說明。The detailed description and technical content of the present invention are described in the following with reference to the accompanying drawings, which are not to be construed as limiting the invention, and are not intended to limit the invention; Inventing and avoiding confusion, the data processing environment of one of the AJAX network architectures of the present invention is first described.

一或多個資料網路頻繁地在各種資料處理系統之間交換,可將一些資料處理系統視為客戶資料處理系統,因為該等系統為資料或服務之消費者可將其他資料處理系統視為伺服器資料處理系統,因為該等系統提供所請求之資料或服務將作為客戶端(亦即,作為資料或服務之消費者)執行之應用程式稱為客戶應用程式,將作為伺服器端(亦即,提供資料或服務)執行之應用程式稱為伺服器應用程式。One or more data networks are frequently exchanged between various data processing systems, and some data processing systems can be considered as customer data processing systems because consumers of such systems can view other data processing systems as other data processing systems. The server data processing system, as these systems provide the requested data or services to be executed as a client (ie, as a consumer of data or services), the application is called a client application and will act as a server (also That is, an application that provides data or services is called a server application.

資料所駐留之系統及系統所操作之網路的安全性係資料通信中所要關心的通常,藉由某一安全性機制來實現資料處理系統、其內容及資料處理系統所操作之網路的安全性,使用者識別符(UID)及密碼(password)鑑認(authentication)為實現資料處理環境下之安全性目標之普通方法;客戶資料處理系統及伺服器資料處理系統可使用各種協定彼此通信;發生在一客戶與一伺服器資料處理系統之間的資料通信包括一序列化請求及回應,相互相關之請求及回應形成異動。The security of the network in which the data resides and the system operated by the system is usually concerned with the data communication system, its content and the security of the network operated by the data processing system by a security mechanism. , user identifier (UID) and password authentication are common methods for achieving security objectives in a data processing environment; customer data processing systems and server data processing systems can communicate with each other using various protocols; The data communication that takes place between a client and a server data processing system includes a serialization request and response, and the interrelated requests and responses form a transaction.

目前以各種方式來達成客戶伺服器異動之安全性;諸如安全超文字傳送協定(HTTPS)之某些協定藉由使用對伺服器資料處理系統之加密及安全識別來實現客戶伺服器異動之安全性,某些其他異動安全性機制包括使用作業階段識別符(作業階段ID),作業階段ID為用以識別客戶與伺服器資料處理系統之間的作業階段之識別符;典型作業階段可包括一系列異動。Security of client server transactions is currently achieved in a variety of ways; some protocols such as Secure Hypertext Transfer Protocol (HTTPS) implement security for client server transactions by using encryption and secure identification of the server data processing system. Some other transaction security mechanisms include the use of a job phase identifier (job phase ID), which is an identifier used to identify the stage of the job between the client and the server data processing system; a typical job phase can include a series of Change.

在一些情況下,客戶可以非同步方式請求來自伺服器之資料。非同步資料傳送傳送資料而不干擾進行中任務之行為。舉例而言,網頁瀏覽器應用程式可為一客戶應用程式,網頁瀏覽器可以非同步方式請求來自web伺服器之資料,以使得在網頁瀏覽器中顯示的頁面之行為或顯示不受非同步資料請求或回應影響,非同步請求亦不等待對應回應;換言之,對非同步請求之回應可在任何時間在客戶處到達且加以處理,客戶並不等待對非同步請求之回應,但繼續進行其他任務。In some cases, the customer can request data from the server in an asynchronous manner. Asynchronous data transfer transmits data without interfering with ongoing tasks. For example, the web browser application can be a client application, and the web browser can request the data from the web server in an asynchronous manner, so that the behavior or display of the page displayed in the web browser is not affected by the asynchronous data. The request or response impact, the asynchronous request does not wait for the corresponding response; in other words, the response to the asynchronous request can arrive at the client at any time and be processed, the client does not wait for a response to the asynchronous request, but continues other tasks .

非同步請求為對非同步資料或服務之請求。非同步客戶伺服器異動為相對於另一進行中任務以非同步方式發生的客戶伺服器異動,而非同步JavaScript及XML(AJAX)為目前用於創建及執行非同步客戶伺服器異動之技術。非同步客戶伺服器異動在改良web應用程式之效能及改良使用者體驗上特別有用,再者非同步JavaScript及XML(AJAX)為一種可讓瀏覽器進行非同步之網頁請求之技術,因為它是一種非同步之技術,因此,瀏覽器可在有需要的時候以背景(background)的方式執行網頁請求,而不用打斷或干擾瀏覽器前景(foreground)所執行之工作。An asynchronous request is a request for an asynchronous material or service. The asynchronous client server transaction is a client server transaction that occurs asynchronously with respect to another ongoing task, rather than synchronous JavaScript and XML (AJAX), which is currently used to create and execute asynchronous client server transactions. Unsynchronized client server transactions are especially useful for improving the performance of web applications and improving the user experience. Furthermore, asynchronous JavaScript and XML (AJAX) is a technology that allows browsers to make asynchronous web page requests because it is A technique that is asynchronous, so that the browser can execute a web page request in a background when needed, without interrupting or interfering with the work performed by the browser foreground.

第1圖係描繪本發明認證系統之網路架構,以表示網路架構下的一資料處理環境100包括一網路101以提供資料處理環境100內連接在一起的多部電腦主機100a以及多部作為伺服器的電腦100b之間的通信連接的媒介;而該些電腦主機100a係定義為一客戶端(110,112,114),該些伺服器的電腦係定義為一伺服器端(102,104)前述兩者以有線或無線方式連接的網路101以相互通信;補充說明,該些伺服器端或者該些客戶端可含有各種資料且可具有在系統上執行之軟體應用程式或軟體工具。1 is a diagram showing the network architecture of the authentication system of the present invention, to indicate that a data processing environment 100 under the network architecture includes a network 101 to provide a plurality of computer hosts 100a and a plurality of devices connected together in the data processing environment 100. The computer 100a is defined as a client (110, 112, 114), and the computer of the server is defined as a server end (102, 104). The network 101 connected in a wired or wireless manner communicates with each other; in addition, the server terminals or the clients may contain various materials and may have a software application or a software tool executed on the system.

伺服器端102及伺服器端104可個別包括有一應用程式伺服器103及一應用程式伺服器105,應用程式伺服器(103,105)可為操作以伺服其他應用程式及服務之任何應用程式。客戶112可包括客戶應用程式113,客戶應用程式113可為一應用程式或其一組件,其能夠進行根據本發明之一實施例之序列化請求的資料認證處理。The server end 102 and the server end 104 may each include an application server 103 and an application server 105. The application server (103, 105) may be any application that operates to serve other applications and services. The client 112 can include a client application 113, which can be an application or a component thereof that is capable of performing data authentication processing of a serialization request in accordance with an embodiment of the present invention.

伺服器端(102,104)及客戶端(110,112,114)可使用有線連接、無線通信協定或其他合適之資料連接性而耦接至網路101,客戶端(110,112,114)可為(例如)個人電腦或各型式具有連網功能的行動電子裝置;於本實施例中,各伺服器(102,104)將諸如啟動檔案、作業系統影像及應用程式之資料提供至客戶端(110,112,114)。客戶端(110,112,114)或其某一組合可包括其自身的資料、啟動檔案、作業系統影像及應用程式,資料處理環境100可包括圖式中所未表示之額外伺服器、客戶及其他裝置。The server side (102, 104) and the client (110, 112, 114) may be coupled to the network 101 using a wired connection, a wireless communication protocol, or other suitable data connectivity, and the client (110, 112, 114) may be, for example, a personal computer or a variety of models. A mobile electronic device having a networking function; in this embodiment, each server (102, 104) provides information such as a startup file, an operating system image, and an application to a client (110, 112, 114). The client (110, 112, 114) or some combination thereof may include its own data, startup files, operating system images, and applications. The data processing environment 100 may include additional servers, clients, and other devices not shown in the drawings.

網路102可表示使用傳輸控制協定/網際網路協定(TCP/IP)及其他協定以相互通信的網路及閘道器之集合。網際網路之中心處為主要節點或主機電腦之間的資料通信鏈路之骨幹,包括投送資料及訊息之成千之商業、政府、教育及其他電腦系統。當然,資料處理環境100亦可實施為許多不同類型之網路,諸如,企業內部網路、區域網路(LAN)或廣域網路(WAN)。Network 102 may represent a collection of networks and gateways that use Transmission Control Protocol/Internet Protocol (TCP/IP) and other protocols to communicate with one another. At the heart of the Internet is the backbone of data communication links between major nodes or host computers, including thousands of commercial, government, educational, and other computer systems that deliver information and information. Of course, the data processing environment 100 can also be implemented as many different types of networks, such as an intranet, a local area network (LAN), or a wide area network (WAN).

請參閱第2圖所示,本發明所述之植基於Worker序列化請求的認證處理方法係於前述資料處理環境100的架構進行運作,如同目前非同步客戶伺服器異動技術,於每個執行緒(Tread)處理一個請求,每次執行緒執行完請求後,再次嘗試取得下一個請求並執行,這是工作執行緒(Worker Thread)的基本概念,對於一些需要冗長計算或要在背景執行的請求,可以採用Worker Thread;Worker Thread可以應用在不同的場合,其使用一個執行緒來處理請求佇列中的請求,如果請求不斷來到,且請求中可能有冗長的處理,則請求佇列中的請求可能會來不及消化;透過Worker Thread可以為請求佇列中的每個請求配給一個執行緒來處理,不過實際上,只要建立足夠多的執行緒即可,以指定請求佇列預先建立的執行緒數量,每個執行緒會取出一個請求來執行;Worker Thread有請求來了就作,如果沒有請求,則所有的Worker Thread就等待,直到有新的工作進來而通知它們,取得請 求的WorkerThread要作的工作,就直接定義在execute()中。Referring to FIG. 2, the authentication processing method based on the worker serialization request according to the present invention operates in the architecture of the foregoing data processing environment 100, as in the current asynchronous client server transaction technology, in each thread. (Tread) processes a request, and each time the thread executes the request, it tries again to get the next request and executes. This is the basic concept of the Worker Thread, for some requests that require lengthy calculations or to be executed in the background. Worker Thread can be used; Worker Thread can be applied in different situations, it uses a thread to process the request in the request queue, if the request comes and the request may have lengthy processing, then the request queue The request may be too late to be digested; the Worker Thread can be used to assign a thread to each request in the request queue, but in practice, as long as enough threads are created, the pre-built thread can be queued with the specified request. Quantity, each thread will take out a request to execute; Worker Thread has a request to come, if not Request, all Worker Thread to wait until a new work coming in and inform them of the request made to make WorkerThread work directly defined in the execute () in.

承上所述,本發明所述之認證處理程序的運作說明如下:As stated above, the operation of the authentication processing program described in the present invention is as follows:

客戶應用程式113可向應用程式伺服器103或者應用程式伺服器105發出一初始非同步請求,例如請求網路位址(URL),會將URL插入原始碼陣列中,以進行下一步驟。The client application 113 can issue an initial non-synchronization request to the application server 103 or the application server 105, such as requesting a network address (URL), which will insert the URL into the original code array for the next step.

第二步驟係確認等待標籤的狀態,若是狀態為真,則會於一等待時間後,重新確認等待標籤的狀態,直到標籤狀態為否;若是等待標籤狀態為否,則進到進行下一步驟。The second step is to confirm the status of the waiting label. If the status is true, the status of the waiting label is reconfirmed after a waiting time until the label status is no; if the status of the waiting label is no, then proceed to the next step. .

第三步驟係由Worker Thread為確認這個陣列裡是否還有URL,若是沒有URL存在,則視狀態為真,則結束動作並返回,若是狀態為否,則進行下一步動作。The third step is to confirm whether there is a URL in the array by the Worker Thread. If there is no URL, if the status is true, the action is terminated and returned. If the status is no, the next action is taken.

第四步驟係利用AJAX引擎向伺服器端102發送請求,並且設定等待標籤的狀態為真,然後清除陣列裡的第一筆資料,再回到第二步驟來做循環。The fourth step is to use the AJAX engine to send a request to the server end 102, and set the status of the waiting tag to true, then clear the first data in the array, and then return to the second step to do the loop.

第五步為伺服器端接收到客戶端的請求後,會檢查cookie中的憑證,若是憑證錯誤,則回傳給客戶端112一未登入警訊,若是憑證沒有錯,則作廢舊憑證產生新憑證,再將結果回傳給客戶端112。The fifth step is that after the server receives the request from the client, it checks the credential in the cookie. If the credential is incorrect, it is sent back to the client 112 without logging in. If the credential is not wrong, the old credential is generated to generate a new credential. The result is then passed back to the client 112.

第六步為客戶端接收到伺服器端102回傳之後,會清除等待狀態,然後進行回傳的結果,並結束動作。The sixth step is that after the client receives the return from the server end 102, the wait state is cleared, and then the result of the return is performed, and the action is ended.

承上所述,於第四步驟AJAX請求時,會將請求URL先寫入到一個要求佇列(RequestQueue),再由一個獨立運作的Worker持續檢察要求佇列(RequestQueue),若空,則0.1秒後再檢查一次,由伺服器端檢查cookie中的憑證,送出待收到回應,若有URL則送出回應回主程式則將結果post message回主程式,再發送下一個request Back end:每次處理完一個請求,則將session憑證加以修改,所以每個session憑證只能使用一次。As stated above, in the fourth step of the AJAX request, the request URL is first written to a request queue (RequestQueue), and then an independently operated Worker continues to check the request queue (RequestQueue), if empty, then 0.1 Check again in seconds, the server checks the credentials in the cookie, sends the response to be received, and if there is a URL, sends a response back to the main program and sends the post message back to the main program, and then sends the next request Back end: each time After processing a request, the session credentials are modified, so each session credential can only be used once.

請配合參閱第3圖所示,其描繪根據說明性實施例之在非同步客戶伺服器異動內發生之異動的時序圖,其包含一客戶應用程式200可類似於第2圖中所述之客戶應用程式113,一應用程式伺服器300可類似於第2圖中所述之應用程式伺服器103,以及一應用程式伺服器組件310可為應用程式伺服器300對應執行的應用程式或引擎,例如認證應用程式或者認證引擎等等;而應用程式伺服器組件310可為服務不同功能的至少一個以上的應用程式伺服器組件。Please refer to FIG. 3, which depicts a timing diagram of a transaction occurring within a non-synchronized client server transaction in accordance with an illustrative embodiment, including a client application 200 that can be similar to the client described in FIG. The application server 113, an application server 300 can be similar to the application server 103 described in FIG. 2, and an application server or engine that the application server component 310 can execute for the application server 300, for example, The authentication application or authentication engine, etc., and the application server component 310 can be at least one application server component that serves different functions.

應用程式伺服器組件310可為應用程式伺服器300所利用之應用程式、引擎或組件。舉例而言,在一實施例中,應用程式伺服器組件310可為一鑑別引擎與一目前可用應用程式伺服器應用程式之某些其他現存組件之組合,應用程式伺服器組件310可為伺服不同功能之一個以上應用程式伺服器組件。The application server component 310 can be an application, engine, or component utilized by the application server 300. For example, in an embodiment, the application server component 310 can be a combination of an authentication engine and some other existing components of a currently available application server application, and the application server component 310 can be different for the servo. More than one application server component.

在一實施例中,應用程式伺服器300可將登入對話方塊301呈現給客戶應用程式200,登入對話方塊301可為可選的,且客戶應用程式200可自己主動地或回應於登入對話方塊301而在請求201中提供鑑認憑證;其中鑑認憑證可包括與客戶應用程式200相關聯之一應用程式識別符、與請求201相關聯之一識別符及與一使用者或帳戶相關聯之一或多個鑑認憑證之組合。In an embodiment, the application server 300 can present the login dialog box 301 to the client application 200. The login dialog box 301 can be optional, and the client application 200 can actively or respond to the login dialog box 301 by itself. An authentication credential is provided in request 201; wherein the authentication credential can include one of an application identifier associated with client application 200, one of identifiers associated with request 201, and one associated with a user or account Or a combination of multiple authentication credentials.

應用程式伺服器300使用請求201中之該等鑑認憑證來驗證與客戶應用程式200之作業階段,應用程式伺服器300可將驗證作業階段訊息302發送至應用程式伺服器組件310,且接收回一驗證訊息以完成此驗證;而應用程式伺服器300可使用應用程式伺服器組件310產生服務登錄檔303,所產生之服務登錄檔可包括對經由應用程式伺服器300可用的服務以及資料或其他資源之描述;其中應用程式伺服器組件310產生一服務識別符311且由應用程式伺服器300進行該資料之一或多個訊息回應304發送至客戶應用程式200,該回應304將該服務識別符傳達至客戶應用程式200。The application server 300 uses the authentication credentials in the request 201 to verify the operational phase with the client application 200, and the application server 300 can send the verification job phase message 302 to the application server component 310 and receive it back. A verification message is completed to complete the verification; and the application server 300 can generate a service login file 303 using the application server component 310. The generated service login file can include services and materials or other information available via the application server 300. A description of the resource; wherein the application server component 310 generates a service identifier 311 and the application server 300 sends one or more message responses 304 to the client application 200, the response 304 identifying the service identifier Communicated to the client application 200.

客戶應用程式200使用在回應304中接收之服務識別符及目錄而動態地建構子請求202且發送至應用程式伺服器300。舉例而言,子請求202可包括僅對出現在於回應304中接收之目錄中的服務的請求;而子請求202可進一步包括客戶應用程式20之應用程式識別符、或者在回應304中接收之服務識別符或此服務識別符之一變換。The client application 200 dynamically constructs the sub-request 202 and sends it to the application server 300 using the service identifier and directory received in response 304. For example, sub-request 202 can include a request only for services that appear in the directory received in response 304; and sub-request 202 can further include the application identifier of client application 20, or the service received in response 304. The identifier or one of the service identifiers is transformed.

應用程式伺服器300藉由使用應用程式伺服器組件310來執行服務識別符過期檢查305,且於每一子請求202之後執行檢查620;服務識別符之時間過期在此實施例中僅用作為一實例且並非對本發明之限制。在本發明之範疇內,可在步驟305中以合適方式檢查與服務識別符相關之任何安全性特徵。The application server 300 performs the service identifier expiration check 305 by using the application server component 310, and performs the check 620 after each sub-request 202; the timeout of the service identifier expires in this embodiment only as one The examples are not intended to limit the invention. Within the scope of the present invention, any security features associated with the service identifier can be checked in a suitable manner in step 305.

若服務識別符尚未過期,則應用程式伺服器300可將請求306發送至應用程式伺服器組件310以用於子請求202中所請求之服務或資料;又,應用程式伺服器300可將另一請求307發送至應用程式伺服器組件310,以用於可能必須使用服務識別符、應用程式識別符之組合執行的任何額外資料處理。舉例而言,請求307可用於記載子請求202;進一步說明,請求307可用於使服務識別符之過期計數增加。If the service identifier has not expired, the application server 300 can send the request 306 to the application server component 310 for the service or profile requested in the sub-request 202; again, the application server 300 can Request 307 is sent to application server component 310 for any additional data processing that may have to be performed using a combination of service identifiers and application identifiers. For example, request 307 can be used to record sub-request 202; further illustrated, request 307 can be used to increment the expiration count of the service identifier.

應用程式伺服器組件310係驗證每一子請求中的服務識別符,而該驗證係包含服務識別符的完整性以判定該服務識別符有效性,該有效性判定包含是否被修改、過期等等,若驗證判定為無效之服務識別符將會發送一錯誤訊息(圖未示),如上述未登入警訊至該請求的發送者,該發送者不一定是前述客戶應用程式200,可能為一惡意應用程式(圖未示)。The application server component 310 verifies the service identifier in each sub-request, and the verification includes the integrity of the service identifier to determine the validity of the service identifier, the validity determination including whether it has been modified, expired, etc. If the service identifier determined to be invalid is sent, an error message (not shown) will be sent. If the sender is not logged in to the sender, the sender may not be the client application 200, which may be one. Malicious application (not shown).

承上所述,回傳之服務識別符過期212係無法通過應用程式伺服器組件310之驗證,因此應用程式伺服器組件310將產生一新的服務識別符312,並且進行該新的服務識別符312b的一回應作業308至客戶應用程式200,而客戶應用程式200係使用該換新的服務識別符而動態地建構後續子請求,且客戶應用程式200以及應用程式伺服器300之間的資料傳遞以前述方式持續進行,直到確保非同步客戶伺服器異動的程序結束。As described above, the returned service identifier expired 212 is not verified by the application server component 310, so the application server component 310 will generate a new service identifier 312 and perform the new service identifier. A response job 308 of 312b to the client application 200, and the client application 200 dynamically constructs subsequent sub-requests using the renewed service identifier, and data transfer between the client application 200 and the application server 300 This continues in the manner described above until the end of the program that ensures the asynchronous client server transaction.

因此,由於不同於目前所使用的用於非同步客戶伺服器異動之技術,本發明之實施例藉由在需要時使用來自目錄及服務識別符之資訊而創建子請求來保障非同步客戶伺服器異動,目錄及服務識別符均可隨時間改變。以此方式創建子請求使子請求為動態的且能抵抗惡意應用程式之欺騙或試誤攻擊。Thus, embodiments of the present invention protect non-synchronized client servers by creating sub-requests using information from directories and service identifiers when needed, unlike techniques currently used for asynchronous client server transactions. Changes, directory and service identifiers can change over time. Creating subrequests in this way makes subrequests dynamic and resistant to spoofing or trial and error attacks by malicious applications.

綜所上述,本發明之認證處理方法係利用worker的技術來實作序列化的過程,前端技術會使用序列化的方式來處理每一次的請求,並向伺服器端傳送請求,而後端程式會在伺服器端處理,每處理完一次請求,則將Session憑證加以修改,藉由此技術改善使用者自己多開分頁或是遭到駭客擷取Session時,所可能發生資料更動錯誤或是被惡意更動的情形,讓使用者在第一時間知道身分可能遭冒用,進而減少損失在session 機制上的 cookie 值在每次請求被處理後都被變更,透過這樣的方式,使用者可以在當駭客透過攔截網路封包,並藉以冒充使用者做一些事情後,而及時發送錯誤資訊以立即感知到;由於 cookie 的值被改變了,因此,使用者拿舊的 cookie 跟系統做請求時,會被系統認定為是非法使用者,而透過使用者跟系統管理者反應狀況,便可讓這個網站系統得到更好的防護。In the above, the authentication processing method of the present invention uses the technology of the worker to implement the serialization process, and the front-end technology uses a serialization method to process each request and transmit the request to the server, and the backend program On the server side, each time the request is processed, the session credentials are modified. By using this technology to improve the user's own paging or when the hacker retrieves the session, data errors may occur or be The malicious change situation allows the user to know that the identity may be fraudulently used at the first time, thereby reducing the loss of the cookie value on the session mechanism. The value of the cookie is changed after each request is processed. In this way, the user can be By intercepting the network packet and spoofing the user to do something, the hacker sends the error message in time to immediately perceive it; since the value of the cookie is changed, the user takes the old cookie and the system to make a request. It will be recognized as an illegal user by the system, and the website system will be more affected by the user's reaction with the system administrator. Good protection.

以上所述,乃僅記載本發明為呈現解決問題所採用的技術手段之較佳實施方式或實施例而已,並非用來限定本發明專利實施之範圍。即凡與本發明專利申請範圍文義相符,或依本發明專利範圍所做的均等變化與修飾,皆為本發明專利範圍所涵蓋。The above description is only intended to describe the preferred embodiments or embodiments of the present invention, which are not intended to limit the scope of the invention. That is, the equivalent changes and modifications made in accordance with the scope of the patent application of the present invention or the scope of the invention are covered by the scope of the invention.

100‧‧‧資料處理環境100‧‧‧Data processing environment

101‧‧‧網路101‧‧‧Network

100a‧‧‧電腦主機100a‧‧‧Computer host

100b‧‧‧伺服器用之電腦100b‧‧‧computer for server

102‧‧‧伺服器端102‧‧‧Server side

103‧‧‧應用程式伺服器103‧‧‧Application Server

104‧‧‧伺服器端104‧‧‧Server side

105‧‧‧應用程式伺服器105‧‧‧Application Server

110‧‧‧客戶端110‧‧‧Client

112‧‧‧客戶端112‧‧‧Client

113‧‧‧客戶應用程式113‧‧‧Customer application

114‧‧‧客戶端114‧‧‧Client

200‧‧‧客戶應用程式200‧‧‧Customer Application

201‧‧‧發送請求201‧‧‧Send request

202‧‧‧動態建構子請求202‧‧‧ Dynamic Construction Subrequest

300‧‧‧應用程式伺服器300‧‧‧Application Server

301‧‧‧登入對話方塊301‧‧‧ Login dialog box

302‧‧‧驗證作業階段訊息302‧‧‧Verification of operation phase information

303‧‧‧登入檔303‧‧‧ Login file

304‧‧‧服務識別符之回應304‧‧‧ Response to Service Identifier

305‧‧‧服務識別符之驗證請求305‧‧‧Service identifier verification request

306‧‧‧服務與資料請求306‧‧‧Service and information request

307‧‧‧資料處理請求307‧‧‧ Data Processing Request

308‧‧‧服務與資料之回應308‧‧‧Response to services and information

310‧‧‧應用程式伺服器組件310‧‧‧Application Server Components

312‧‧‧產生新的服務識別符312‧‧‧ Generate new service identifiers

第1圖係繪製本發明網路架構之一資料處理環境示意圖。 第2圖係繪製本發明之植基於Worker序列化請求認證處理運作架構。 第3圖係繪製本發明之發送請求並進行服務識別符(session)認證過程的時序圖。Figure 1 is a schematic diagram showing a data processing environment of one of the network architectures of the present invention. Figure 2 is a diagram showing the operation architecture of the present invention based on the Worker Serialization Request Authentication process. Figure 3 is a timing diagram for plotting the transmission request of the present invention and performing a service identifier authentication process.

Claims (8)

植基於Worker序列化請求的認證處理方法,其步驟包括: 於一伺服器端中的一應用程式伺服器接收來自一客戶端之一請求,該請求係包含與一客戶應用程式相關聯之一應用程式識別符; 回應與該客戶應用程式之一作業階段有效而產生一服務識別符; 於該應用程式伺服器產生一登入檔,該登入檔包含准許使用該客戶應用程式的服務之一集合及資料的資訊; 將該服務識別符發送至該客戶應用程式; 接收一子請求,該子請求為一非同步客戶伺服器異動的一部分,該子請求包含該服務識別符且判斷該服務識別符是否已過期或已修改,來判定該子請求之一有效性以產生一新的服務識別符; 回應該子請求有效且提供回應於該子請求之該服務。An authentication processing method based on a worker serialization request, the method comprising: receiving, by an application server in a server, a request from a client, the request comprising an application associated with a client application a program identifier; generating a service identifier in response to an operation phase of the client application; generating a login file for the application server, the login file containing a set of services and materials for permitting use of the client application Transmitting the service identifier to the client application; receiving a sub-request that is part of an asynchronous client server transaction, the sub-request including the service identifier and determining whether the service identifier has Expired or modified to determine the validity of one of the sub-requests to generate a new service identifier; the sub-request is valid and provides the service in response to the sub-request. 如申請專利範圍第1項所述之植基於Worker序列化請求的認證處理方法,其中該判定是否結合該客戶應用程式使用包含:判定該服務識別符與該客戶應用程式識別符一起使用。The authentication processing method based on the worker serialization request according to claim 1, wherein the determining whether to use the client application includes: determining that the service identifier is used together with the client application identifier. 如申請專利範圍第2項所述之植基於Worker序列化請求的認證處理方法,其中該判定無效的該服務識別符係由該應用程式伺服器回應一錯誤訊息至該客戶應用程式。The method for authenticating a worker serialization request according to claim 2, wherein the invalid identifier of the service identifier is that the application server responds with an error message to the client application. 如申請專利範圍第1項所述之植基於Worker序列化請求的認證處理方法,其中於該應用程式伺服器接收該請求係於該客戶應用程式之一工作執行緒來處理請求佇列中的請求,以對請求佇列中的每個請求配給一個執行緒來處理,或者建立多數個執行緒且指定請求佇列預先建立的執行緒數量,以對每個執行緒會取出一個請求來執行。The method for authenticating a worker serialization request according to claim 1, wherein the application server receives the request in a work thread of the client application to process the request in the request queue. To assign a thread to each request in the request queue, or to create a majority of the thread and specify the number of pre-established threads to request, for each thread to take a request to execute. 如申請專利範圍第1項所述之植基於Worker序列化請求的認證處理方法,其中該應用程式伺服器係為操作以伺服其他應用程式及服務之任何應用程式。The authentication processing method based on the worker serialization request described in claim 1, wherein the application server is any application that operates to serve other applications and services. 如申請專利範圍第5項所述之植基於Worker序列化請求的認證處理方法,其中該應用程式伺服器包含一應用程式伺服器組件,該應用程式伺服器組件可為該應用程式伺服器對應執行的認證應用程式或認證引擎。The authentication processing method based on the worker serialization request according to claim 5, wherein the application server includes an application server component, and the application server component can execute the application server correspondingly. Certified application or authentication engine. 如申請專利範圍第1項所述之植基於Worker序列化請求的認證處理方法,其中該客戶端包含個人電腦或各型式具有連網功能的行動電子裝置。The authentication processing method based on the worker serialization request according to claim 1, wherein the client comprises a personal computer or various types of mobile electronic devices having a networking function. 如申請專利範圍第1項所述之植基於Worker序列化請求的認證處理方法,其中該客戶應用程式係為一網頁瀏覽器。The authentication processing method based on the worker serialization request according to claim 1, wherein the client application is a web browser.
TW105129894A 2016-09-13 2016-09-13 An authentication method of serializing data exchange with worker thread TWI620091B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW105129894A TWI620091B (en) 2016-09-13 2016-09-13 An authentication method of serializing data exchange with worker thread

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105129894A TWI620091B (en) 2016-09-13 2016-09-13 An authentication method of serializing data exchange with worker thread

Publications (2)

Publication Number Publication Date
TW201810107A true TW201810107A (en) 2018-03-16
TWI620091B TWI620091B (en) 2018-04-01

Family

ID=62189955

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105129894A TWI620091B (en) 2016-09-13 2016-09-13 An authentication method of serializing data exchange with worker thread

Country Status (1)

Country Link
TW (1) TWI620091B (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441263B1 (en) * 2000-03-23 2008-10-21 Citibank, N.A. System, method and computer program product for providing unified authentication services for online applications
US7716061B2 (en) * 2003-03-27 2010-05-11 International Business Machines Corporation Method and apparatus for obtaining status information in a grid
US20080320566A1 (en) * 2007-06-25 2008-12-25 Microsoft Corporation Device provisioning and domain join emulation over non-secured networks
US8955052B2 (en) * 2010-05-27 2015-02-10 International Business Machines Corporation System and method for maintaining dual identity in a server process
US9779069B2 (en) * 2014-01-31 2017-10-03 Yahoo Holdings, Inc. Model traversing based compressed serialization of user interaction data and communication from a client-side application

Also Published As

Publication number Publication date
TWI620091B (en) 2018-04-01

Similar Documents

Publication Publication Date Title
EP2078260B1 (en) Detecting stolen authentication cookie attacks
EP2810208B1 (en) Efficiently throttling user authentication
US9356963B2 (en) Detecting and applying different security policies to active client requests running within secure user web sessions
US9143502B2 (en) Method and system for secure binding register name identifier profile
US8819787B2 (en) Securing asynchronous client server transactions
US8869258B2 (en) Facilitating token request troubleshooting
US8769128B2 (en) Method for extranet security
US20050144441A1 (en) Presence validation to assist in protecting against Denial of Service (DOS) attacks
JP2020057363A (en) Method and program for security assertion markup language (saml) service provider-initiated single sign-on
JP2011522307A (en) System, method and program product for integrated authentication
CN105991640B (en) Handle the method and device of HTTP request
CN115022047B (en) Account login method and device based on multi-cloud gateway, computer equipment and medium
US20100293604A1 (en) Interactive authentication challenge
JP2006243924A (en) Secure session management program for website, session management method, and session management system
CN109495458A (en) A kind of method, system and the associated component of data transmission
CN112910915A (en) Trusted connection authentication method, device, equipment and computer readable storage medium
TWI620091B (en) An authentication method of serializing data exchange with worker thread
CN112929388B (en) Network identity cross-device application rapid authentication method and system, and user agent device
EP3573310B1 (en) Pluggable control system for fallback website access
TWM538610U (en) Authentication processing system based on AJAX serialization request
JP2017194771A (en) Authentication management device and program
JP2023115743A (en) Network system and single sign-on processing method
CN116132115A (en) Hotlinking protection method, hotlinking protection device, electronic equipment and computer readable storage medium
Lakshmiraghavan HTTP Anatomy and Security

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees