WO2006103743A1 - 通信制御装置及び通信制御システム - Google Patents

通信制御装置及び通信制御システム Download PDF

Info

Publication number
WO2006103743A1
WO2006103743A1 PCT/JP2005/005789 JP2005005789W WO2006103743A1 WO 2006103743 A1 WO2006103743 A1 WO 2006103743A1 JP 2005005789 W JP2005005789 W JP 2005005789W WO 2006103743 A1 WO2006103743 A1 WO 2006103743A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
communication control
search
control device
circuit
Prior art date
Application number
PCT/JP2005/005789
Other languages
English (en)
French (fr)
Inventor
Mitsugu Nagoya
Original Assignee
Duaxes Corporation
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 Duaxes Corporation filed Critical Duaxes Corporation
Priority to PCT/JP2005/005789 priority Critical patent/WO2006103743A1/ja
Priority to CN200580049496A priority patent/CN100580644C/zh
Priority to US11/910,240 priority patent/US8073855B2/en
Priority to EP05727698A priority patent/EP1868103A1/en
Priority to CA002603106A priority patent/CA2603106A1/en
Priority to JP2007505311A priority patent/JP4554675B2/ja
Priority to KR20077021091A priority patent/KR20070103774A/ko
Priority to US11/884,526 priority patent/US8336092B2/en
Priority to EP05774657A priority patent/EP1850234A1/en
Priority to CA002596948A priority patent/CA2596948A1/en
Priority to JP2007503571A priority patent/JP4546998B2/ja
Priority to CN2005800493258A priority patent/CN101147138B/zh
Priority to PCT/JP2005/015480 priority patent/WO2006087837A1/ja
Publication of WO2006103743A1 publication Critical patent/WO2006103743A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/922Communications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Definitions

  • the present invention relates to a communication control technique, and more particularly, to a communication control apparatus and a communication control system that control permission / refusal of access to content held at a location accessible via a network.
  • databases such as a list of permitted access sites, a list of prohibited access sites, prohibited word keywords, and useful word keywords are prepared, and these databases are referred to when accessing external information via the Internet.
  • a technique for controlling access has been proposed (for example, see Patent Document 1).
  • Patent Document 1 Japanese Patent Laid-Open No. 2001-282797
  • the present invention has been made in view of such circumstances, and an object thereof is to provide a technique for realizing a high-speed communication control device.
  • One embodiment of the present invention relates to a communication control apparatus.
  • the communication control apparatus requests a storage unit for storing reference data serving as a reference for determining whether or not to permit access to content held at a location accessible via a network, and access to the content.
  • a search unit that acquires whether or not the reference data is included in the communication data, and a processing unit that controls access to the content based on the search result.
  • the search unit is configured by a wire logic circuit.
  • the search unit may search whether or not the reference data is included in the information indicating the location of the access destination content included in the communication data.
  • the information indicating the position of the content may be, for example, a URL (Uniform Resource Locator).
  • the storage unit may include a plurality of databases that store the reference data.
  • the search unit stores the communication data for each of the plurality of databases in the database.
  • a plurality of the search circuits which may include a search circuit for searching whether or not the force includes reference data, may execute a search of the plurality of databases in parallel. Thereby, the search speed can be improved.
  • a plurality of the search circuits which may have priorities set for the plurality of databases, execute a search of the plurality of databases in parallel, and match the reference data of the plurality of databases.
  • a search result with a high priority may be adopted. Even if priority is set, searches can be executed in parallel at the same time. Thus, the search speed can be improved.
  • the database may store data indicating a position of content permitted to be accessed.
  • the database may store data indicating the location of content that is prohibited from being accessed.
  • the database may store data indicating the location of content that contains computer viruses and access is prohibited.
  • the database may store, for each power category, data in which a user individually sets a power prohibiting power that allows access to content belonging to the category.
  • the communication control system includes any one of the communication control devices described above and a server device connected to the communication control device and controlling the operation of the communication control device.
  • the communication control device can realize various functions, and a highly flexible system can be provided.
  • FIG. 1 is a diagram showing a configuration of a communication control system according to an embodiment.
  • FIG. 2 is a diagram showing a configuration of a conventional communication control device.
  • FIG. 3 is a diagram showing a configuration of a communication control apparatus according to the embodiment.
  • FIG. 4 is a diagram showing an internal configuration of a packet processing circuit.
  • FIG. 5 is a diagram showing an internal configuration of a position detection circuit.
  • FIG. 6 is a diagram showing an example of internal data of the first database.
  • FIG. 7 is a diagram showing another example of internal data of the first database.
  • FIG. 8 is a diagram showing still another example of internal data in the first database.
  • FIG. 9 is a diagram showing a configuration of a comparison circuit included in a Neuner research circuit.
  • FIG. 10 is a diagram showing an example of internal data of the second database.
  • FIG. 11 is a diagram showing another example of internal data of the second database.
  • FIG. 12 is a diagram showing an internal configuration of a packet processing circuit according to the embodiment.
  • FIG. 13 is a diagram showing an example of internal data of the virus list
  • Fig. 13 (b) is a diagram showing an example of internal data of the white list
  • Fig. 13 (c) is a diagram showing an example of internal data of a black list.
  • FIG. 14 is a diagram showing an example of internal data of a common category list.
  • FIG. 15 (a), (b), (c), and (d) are diagrams showing examples of internal data of the second database.
  • FIG. 16 is a diagram showing the priorities of the virus list, white list, black list, and common category list.
  • 10 communication control device 20 packet processing circuit, 30 search circuit, 32 position detection circuit, 3 3 comparison circuit, 34 index circuit, 35 comparison circuit, 36 binary search circuit, 40 processing execution circuit, 50 first database, 57 user database, 60 second database, 100 communication control system, 110 operation monitoring server, 120 connection management server, 13 0 message output server, 140 log management server, 150 database server, 160 URL database, 161 virus list, 162 white list, 163 black list, 164 common category list.
  • FIG. 1 shows a configuration of a communication control system according to the embodiment.
  • the communication control system 100 includes a communication control device 10 and various peripheral devices provided to support the operation of the communication control device 10.
  • the communication control apparatus 10 of the present embodiment realizes a URL filtering function provided by an Internet service provider or the like.
  • the communication control device 10 provided in the network path acquires an access request for content, analyzes the content, and determines whether or not access to the content is permitted. When access to the content is permitted, the communication control device 10 sends the access request to the content. Is sent to the server that holds When access to the content is prohibited, the communication control apparatus 10 discards the access request and returns a warning message or the like to the request source.
  • the communication control device 10 receives an HTTP (HyperText Transfer Protocol) “GET” request message, and the URL of the content of the access destination matches the list of reference data for determining whether access is permitted or not. Search for whether or not it is possible to determine whether to allow access to the content.
  • HTTP HyperText Transfer Protocol
  • the peripheral devices include an operation monitoring server 110, a connection management server 120, a message output server 130, a log management server 140, and a database server 150.
  • the connection management server 120 manages connections to the communication control device 10. For example, the connection management server 120 uses the information that uniquely identifies the mobile phone terminal included in the packet when the communication control device 10 processes a packet in which the mobile phone terminal power is also transmitted. Authenticate that you are 10 users. Once authenticated, the packet that has also been sent the IP address temporarily attached to the mobile phone terminal is sent to the communication control unit 10 for processing for a certain period without being authenticated by the connection management server 120. .
  • the message output server 130 outputs a message to the access request destination or request source in accordance with the access permission / rejection result determined by the communication control device 10.
  • the log management server 140 manages the operation history of the communication control device 10.
  • the database server 150 acquires the latest database from the URL database 160 and inputs it to the communication control device 10.
  • the communication control apparatus 10 may have a backup database.
  • the operation monitoring server 110 monitors the operation statuses of peripheral devices such as the communication control device 10, the connection management server 120, the message output server 130, the log management server 140, and the database server 150.
  • the operation monitoring server 110 performs monitoring control of the communication control device 10 having the highest priority in the communication control system 100 and all peripheral devices.
  • the communication control device 10 is configured by a dedicated hardware circuit.
  • the operation monitoring server 110 uses a boundary scan circuit by utilizing a technique such as Patent No.
  • the communication control system 100 of the present embodiment has various functions connected to the periphery of a communication control device 10 configured by a dedicated hardware circuit for high-speed operation.
  • a configuration controlled by a server group having a server various functions can be realized by a similar configuration by appropriately replacing the software of the server group. According to the present embodiment, such a highly flexible communication control system can be provided.
  • FIG. 2 shows a configuration of a conventional communication control device 1.
  • the conventional communication control apparatus 1 includes a communication control unit 2 on the reception side, a packet processing unit 3, and a communication control unit 4 on the transmission side.
  • Each of the communication control units 2 and 4 includes PHY processing units 5a and 5b that perform processing on the physical layer of the packet, and MAC processing units 6a and 6b that perform processing on the MAC layer of the packet.
  • the packet processing unit 3 includes a protocol processing unit that performs processing according to a protocol, such as an IP processing unit 7 that performs IP (Internet Protocol) protocol processing and a TCP processing unit 8 that performs TCP (Transport Control Protocol) protocol processing.
  • an AP processing unit 9 that performs application layer processing.
  • the AP processing unit 9 executes processing such as filtering according to data included in the packet.
  • the packet processing unit 3 is realized by software using a CPU that is a general-purpose processor and an OS that runs on a CPU.
  • the performance of the communication control device 1 depends on the performance of the CPU, and even if it is intended to realize a communication control device capable of processing large-capacity packets at high speed, it is naturally limited. There is. For example, with a 64-bit CPU, the maximum amount of data that can be processed simultaneously at one time is 64 bits, and there was no communication control device with higher performance.
  • maintenance work such as OS version upgrades that would never have the possibility of security holes was required.
  • FIG. 3 shows a configuration of the communication control apparatus according to the present embodiment.
  • the communication control device 10 replaces the packet processing unit 3 realized by software including the CPU and OS in the conventional communication control device 1 shown in FIG.
  • a packet processing circuit 20 constituted by By installing a dedicated hardware circuit for processing communication data rather than processing communication data by OS and software that operates on a CPU that is a general-purpose processing circuit, the performance limitations caused by the CPU and OS are limited. It is possible to overcome and realize a communication control device with high processing capability.
  • the communication data and the reference are used using the CPU.
  • the CPU needs to repeat the process of reading 64 bits from the communication data into the memory, comparing it with the reference data, and then reading the next 64 bits into the memory. The reading time is limited, and the processing speed is limited.
  • a dedicated hardware circuit configured by a yard logic circuit is provided in order to compare communication data and reference data.
  • a dedicated hardware circuit may be realized using FPGA (Field Programmable Gate Array)!
  • the communication control apparatus 10 of the present embodiment is configured by dedicated hardware using a wired logic circuit, an OS (Operating System) is not required. For this reason, it is possible to reduce costs and man-hours for management and maintenance that require operations such as OS installation, bug handling, and version upgrade. In addition, general-purpose functions are required. Unlike a CPU that does not include unnecessary functions, it can be expected to reduce costs without using extra resources, reduce circuit area, and increase processing speed. Furthermore, unlike conventional communication control devices that use an OS, it does not have an extra function, so it is unlikely that a security hole will occur, and is resistant to attacks from malicious third parties via the network. Excellent resistance.
  • OS Operating System
  • FIG. 4 shows the internal configuration of the packet processing circuit.
  • the packet processing circuit 20 includes a first database 50 that stores reference data serving as a reference for determining the contents of processing to be performed on communication data, and the received communication data includes reference data! Whether or not the search circuit 30 for searching by comparing the communication data with the reference data, and the search result by the search circuit 30 and the contents of the processing to be executed for the communication data are stored in association with each other.
  • the second database 60 includes a processing execution circuit 40 that processes communication data based on the search result by the search circuit 30 and the conditions stored in the second database 60.
  • the search circuit 30 divides the reference data stored in the first database 50 into three or more ranges, the position detection circuit 32 for detecting the position of the comparison target data to be compared with the reference data from the communication data Index circuit 34, which is an example of a determination circuit that determines to which of the ranges the comparison target data belongs, and a binary search that searches for reference data that matches the comparison target data within the determined range Circuit 36.
  • the binary search method is used in the present embodiment.
  • FIG. 5 shows the internal configuration of the position detection circuit.
  • the position detection circuit 32 includes a plurality of comparison circuits 33a to 33f for comparing the position specifying data for specifying the position of the comparison target data with the communication data.
  • six comparison circuits 33a to 33f are provided, but as will be described later, the number of comparison circuits may be arbitrary.
  • Communication data is input to each of the comparison circuits 33a to 33f with a predetermined data length, for example, shifted by 1 byte.
  • the plurality of comparison circuits 33a to 33f the position specifying data to be detected and the communication data are compared in parallel at the same time.
  • a character string “No. # # #” included in communication data is detected, and the character string is detected. Included The number “# # #” is compared with the reference data, and if it matches the reference data, the packet is allowed to pass, and if it does not match, the packet is discarded. To do.
  • the comparison circuit 33c matches, and it is detected that the character string “No.” exists as the third character from the top of the communication data. In this way, it is detected that numerical data as comparison target data exists after the position specifying data “No.” detected by the position detection circuit 32.
  • the position detection circuit 32 may be used as a circuit for detecting a character string for general purposes, not only for detecting position specifying data. It may also be configured to detect position specific data in bit units, not just character strings.
  • FIG. 6 shows an example of internal data of the first database.
  • the first database 50 stores the data sorted according to some sort condition, which is a reference data force used as a reference for determining contents of processing such as knot filtering, routing, switching, and replacement. In the example of FIG. 6, 1000 pieces of reference data are stored.
  • an offset 51 indicating the position of the comparison target data in the communication data is stored.
  • the data structure in the knot is defined in bit units, so if the position of flag information etc. for determining the processing contents of the packet is set as offset 51, only the necessary bits are set. Since the processing contents can be determined by comparing the two, the processing efficiency can be improved. Even if the data structure of the packet is changed, it can be dealt with by changing the offset 51.
  • the first database 50 may store the data length of the comparison target data. As a result, comparison can be performed by operating only the necessary comparators, so that search efficiency can be improved.
  • the index circuit 34 determines to which of these ranges the comparison target data belongs.
  • 1000 pieces of reference data are divided into four ranges 52a to 52d, each having 250 pieces.
  • the index circuit 34 includes a plurality of comparison circuits 35a to 35c that compare the reference data at the boundary of the range with the comparison target data. By comparing the comparison target data and the boundary reference data simultaneously in parallel by the comparison circuits 35a to 35c, it is possible to determine which range the comparison target data belongs to by one comparison process.
  • the binary search circuit 36 When the range is determined by the index circuit 34, the binary search circuit 36 performs a search by the binary search method.
  • the binary search circuit 36 further divides the range determined by the index circuit 34 into two, and compares the reference data at the boundary position with the comparison target data to determine which range it belongs to.
  • the binary search circuit 36 includes a plurality of comparison circuits for comparing the reference data and the comparison target data in bit units, for example, 1024 in this embodiment, and simultaneously executes 1024-bit bit matching.
  • the range The reference data at the boundary position is read out in two and is compared with the comparison target data. Thereafter, the range is further limited by repeating this process, and finally the reference data that matches the comparison target data is searched.
  • the comparison target data following the position specifying data “No.” is the number “361”. Since there is a space for one character between the position identification data “No.” and the comparison target data “361”, offset 51 is set to “8” to remove this space from the comparison target data. Is set.
  • the Neua research circuit 36 skips “8” bits, that is, one byte from the communication data following the position specifying data “No.”, and reads “361” as the comparison target data.
  • comparison circuits 35a to 35c of the index circuit 34 "361" is input as comparison target data, and as reference data, the comparison circuit 35a receives reference data "between the ranges 52a and 52b" Reference data “704” at the boundary between the ranges 52b and 52c is input to the comparison circuit 35b. Reference data “937” at the boundary between the ranges 52c and 52d is input to the comparison circuit 35c, respectively. Comparisons are made simultaneously by the comparison circuits 35a to 35c, and it is determined that the comparison target data “361” belongs to the range 52a. Thereafter, the binary search circuit 36 searches whether or not the comparison target data “361” exists in the reference data.
  • FIG. 7 shows another example of internal data of the first database.
  • the number of reference data is less than the number of data that can be held in the first database 50, here 1000.
  • the first database 50 stores the reference data in descending order from the last data position. And 0 is stored in the remaining data.
  • the database is always full by allocating from the back of the loading area without allocating the leading force data, and if there is a vacancy at the beginning of the loading area, all the vacancy is zero-suppressed.
  • the maximum time for binary search can be made constant.
  • the binary search circuit 36 when “0” is read as the reference data during the search, the binary search circuit 36 is self-explanatory, so the range can be specified without comparison and the next comparison can be made. it can. This can improve the search speed.
  • the reference data is stored in the first database 50, the reference data is stored in ascending order of the first data position.
  • the comparison process as described above cannot be omitted in the remaining data.
  • the comparison technique described above is realized by configuring the search circuit 30 with a dedicated hardware circuit.
  • FIG. 8 shows still another example of the internal data of the first database.
  • the number of reference data belonging to the range is non-uniform, such as 500 for the range 52a and 100 for the range 52b. ing.
  • These ranges may be set according to the distribution of the appearance frequency of the reference data in the communication data. That is, the ranges may be set so that the sum of the appearance frequencies of the reference data belonging to the respective ranges is substantially the same. This can improve the search efficiency.
  • the reference data input to the comparison circuits 35a to 35c of the index circuit 34 may be capable of changing an external force. As a result, the range can be set dynamically and the search efficiency can be optimized.
  • FIG. 9 shows a configuration of a comparison circuit included in the binary search circuit.
  • the bin research circuit 36 includes 1024 comparison circuits 36a, 36b,. Each comparison circuit 36a, 36b,... Receives reference data 54 and comparison target data 56 one bit at a time, and compares them.
  • the internal configurations of the comparison circuits 35a to 35c of the index circuit 34 are also the same. In this way, by executing the comparison process with a dedicated hardware circuit, a large number of comparison circuits can be operated in parallel and a large number of bits can be compared at the same time. be able to.
  • FIG. 10 shows an example of internal data of the second database.
  • the second database 60 includes a search result column 62 for storing the search result by the search circuit 30 and a processing content column 64 for storing the content of processing to be executed on communication data.
  • a search result column 62 for storing the search result by the search circuit 30
  • a processing content column 64 for storing the content of processing to be executed on communication data.
  • the processing execution circuit 40 searches the second database 60 based on the search result, and executes processing on the communication data.
  • Processing execution circuit 40 It may be realized by a wired logic circuit.
  • FIG. 11 shows another example of internal data of the second database.
  • the processing content is set for each reference data.
  • information about the route may be stored in the second database 60.
  • the process execution circuit 40 executes processes such as filtering, routing, switching, and replacement stored in the second database 60 according to the search result by the search circuit 30.
  • the first database 50 and the second database 60 may be integrated.
  • the first database and the second database are provided to be rewritable by an external force. By exchanging these databases, various data processing and communication control can be realized using the same communication control device 10. It is also possible to set up two or more databases that store the reference data to be searched and perform multi-step search processing! At this time, more complicated conditional branches may be realized by providing two or more databases that store search results and processing contents in association with each other. In this way, if multiple databases are used to perform multi-stage searches, multiple position detection circuits 32, index circuits 34, binary search circuits 36, etc. may be provided.
  • the data used for the comparison described above may be compressed by the same compression logic.
  • the same comparison as usual is possible.
  • the amount of data to be loaded at the time of comparison can be reduced. If the amount of data to be loaded is reduced, the time required to read data from the memory is shortened, so the overall processing time can be shortened.
  • the amount of the comparator can be reduced, it is possible to contribute to the downsizing, weight saving, and cost reduction of the apparatus.
  • the data used for the comparison may be stored in a compressed format, or may be compressed after being read from the memory and before the comparison.
  • Reference data that serves as a reference for determining the content of the processing to be performed on the acquired data A first storage unit for storing data
  • a search unit that searches whether the reference data is included in the data by comparing the data with the reference data
  • a second storage unit for storing the search result by the search unit and the content of the processing in association with each other;
  • a processing unit that executes, on the data, a process associated with the search result based on the search result
  • the search unit is configured by a wired logic circuit.
  • the wired logic circuit includes a plurality of first comparison circuits that compare the data and the reference data bit by bit.
  • the search unit includes a position detection circuit that detects a position of comparison target data to be compared with the reference data from the data.
  • the position detection circuit includes a plurality of second comparison circuits that compare the position specifying data for specifying the position of the comparison target data with the data, and A data processing apparatus, wherein the data is input to the second comparison circuit while shifting the position by a predetermined data length and compared in parallel with the position specifying data.
  • the search unit includes a binary search circuit for searching whether or not the reference data is included in the data by bina research.
  • a data processing apparatus comprising:
  • the search unit compares the plurality of reference data stored in the first storage unit with the reference data when divided into three or more ranges.
  • a data processing apparatus comprising: a determination circuit that determines to which of the ranges the data to be compared belongs.
  • the determination circuit includes a plurality of third comparison circuits that compare reference data at the boundary of the range and the comparison target data, and the plurality of third comparison circuits provide the comparison target.
  • a data processing apparatus characterized by simultaneously determining in parallel which of the three or more ranges the data belongs to.
  • the first storage unit further stores information indicating a position of comparison target data in the data
  • the search unit includes information indicating the position.
  • a data processing apparatus wherein the comparison target data is extracted based on the data.
  • FIG. 12 shows the internal configuration of the packet processing circuit 20 of the present embodiment.
  • the packet processing circuit 20 of the present embodiment includes a user database 57, a virus list 161, a white list 162, a black list 163, and a common category list 164 as the first database 50.
  • the user database 57 stores information on users who use the communication control device 10.
  • the communication control device 10 accepts information for identifying the user as well as the user power, and matches the information accepted by the search circuit 30 with the user database 57 to authenticate the user.
  • the source address stored in the IP header of the TCP / IP packet may be used! /
  • the user may accept the user ID and password.
  • the storage location of the source address in the packet is fixed, so when matching with the user database 57 in the search circuit 30, it is not necessary to detect the position by the position detection circuit 32. Specify the storage location of. If it is authenticated that the user is registered in the user database 57, then the content URL 1S virus list 161, white list 162, black list 163, and common category are used to determine whether access to the content is permitted. Matches Listing 1 64. Since the white list 162 and the black list 163 are provided for each user, when the user is authenticated and the user ID is arbitrarily determined, the white list 162 and the black list 163 of the user are given to the search circuit 30.
  • the virus list 161 stores a list of URLs of contents including computer viruses. Access requests for URL content stored in virus list 161 are denied.
  • the white list 162 is provided for each user, and stores a list of URLs of contents permitted to be accessed.
  • the black list 163 is provided for each user and stores a list of URLs of contents that are prohibited from being accessed.
  • Fig. 13 (a) shows an example of internal data of virus list 161
  • Fig. 13 (b) shows an example of internal data of white list 162
  • Fig. 13 (c) shows an example of internal data of black list 163. An example is shown.
  • the virus list 161, the white list 162, and the black list 163 have a category number column 165, a URL column 166, and a title column 167, respectively.
  • the URL field 166 stores URLs of contents that are permitted or prohibited to be accessed.
  • the category number field 165 contains the content category. Stores the number of the file.
  • the title column 167 stores the title of the content.
  • the common category list 164 stores a list for classifying the content indicated by the URL into a plurality of categories.
  • FIG. 14 shows an example of internal data of the common category list 164.
  • the common category list 164 also includes a category number column 165, a URL column 166, and a title column 167.
  • the communication control device 10 extracts the URL included in the “GET” request message, and the URL is included in the Winoless list 161, the white list 162, the black list 163, or the common category list 164.
  • the search circuit 30 searches for whether or not. At this time, for example, a character string “http: ⁇ ” may be detected by the position detection circuit 32, and a data string following the character string may be extracted as target data.
  • the extracted URL is matched with the reference data of the virus squirrel 161, the white squirrel 162, the black squirrel 163, and the common category list 164 by the index circuit 34 and the bina research circuit 36.
  • FIGS. 15 (a), (b), (c), and (d) show examples of internal data of the second database 60 of the present embodiment.
  • Fig. 15 (a) shows the search results and processing contents for virus list 161.
  • URL power included in a GET request If a URL matches the virus list 161, access to that URL is prohibited.
  • FIG. 15 (b) shows the search results and processing contents for the white list 162.
  • FIG. URL power included in a GET request Whitelist 16 If it matches a URL in the list, access to that URL is allowed.
  • FIG. 15 (c) shows the search results and processing contents for the blacklist 163. If a URL included in a GET request matches a URL included in blacklist 163, access to that URL is prohibited.
  • FIG. 15 (d) shows search results and processing contents for the common category list 164.
  • the user For the search results for the common category list 164, the user must individually set whether to prohibit access to content belonging to that category for each category. Can do.
  • a user ID column 168 and a category column 169 are provided in the second database 60 related to the common category list 164.
  • the user ID column 168 stores an ID for identifying the user.
  • the category field 169 for each of the categories classified into 57 types, access to contents belonging to the category is used. Information indicating whether or not the user permits is stored.
  • the access to the URL is permitted is determined based on the category of the URL and the user ID.
  • the number of common categories is 57, but other common categories may be used.
  • FIG. 16 shows priorities of the virus list 161, the white list 162, the black list 163, and the common category list 164.
  • the priority is higher in the order of the virus list 161, the white list 162, the black list 163, and the common category list 164.
  • the content URL stored in the white list 162 is permitted. Even if the URL is stored in the virus list 161, access is prohibited as content containing a computer virus.
  • the search circuit 30a that matches the virus list 161 and the search circuit that matches the white list 162 are obtained by using the communication control device 10 configured by a dedicated hardware circuit.
  • a search circuit 30c for matching the black list 163, and a search circuit 30d for matching the common category list 164 are provided, and each search circuit 30 performs matching in parallel at the same time. If there are multiple hits, use the one with the highest priority. As a result, even when a plurality of databases are provided and priorities are set for them, the search time can be greatly reduced.
  • Whether the virus list 161, the white list 162, the black list 163, or the common category list 164 prioritizes access permission may be set in the second database 60, for example. ,. V. You can rewrite the conditions of the second database 60 according to whether the priority list is given priority.
  • the process execution circuit 40 If access to the content is permitted, the process execution circuit 40 outputs a signal for notifying the message output server 130 of the fact.
  • the message output server 130 sends a “GET” request message to the server holding the content. .
  • the processing execution circuit 40 When access to the content is prohibited, when the processing execution circuit 40 outputs a signal for notifying the message output server 130 to that effect, the message output server 130 sends a “GET” request message to the access destination server. Discard without sending. At this time, a response message indicating that access is prohibited may be transmitted to the request source. It may also be forcibly transferred to another web page. In this case, the processing execution circuit 40 rewrites the destination address and URL to the destination address and sends it. Information such as the URL to which the response message is forwarded may be stored in the second database 60 or the like.
  • search circuit 30 is a dedicated hardware circuit composed of an FPGA or the like, high-speed search processing is realized as described above, and filtering processing is performed while minimizing the impact on traffic. Can do. Power of Internet Service Providers By providing such a filtering service, the added value can be increased and more users can be gathered.
  • the white list 162 or the black list 163 may be provided in common for all users.
  • the present invention can be applied to a communication control apparatus that controls access to content.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

 高速な通信制御装置を実現する技術を提供する。  通信制御装置のパケット処理回路20は、ユーザデータベース57、ウイルスリスト161、ホワイトリスト162、ブラックリスト163、及び共通カテゴリリスト164を備える。コンテンツに対するアクセス要求を取得すると、そのアクセス要求を発信したユーザの情報を検索回路30によりユーザデータベース57とマッチングし、ユーザを認証する。認証されると、検索回路30は、アクセス先のコンテンツのURLを、ウイルスリスト161、ホワイトリスト162、ブラックリスト163、及び共通カテゴリリスト164とマッチングする。処理実行回路40は、検索回路30の検索結果と、第2データベース60に格納された判定条件に基づいて、アクセスの許否を制御する。パケット処理回路20は、ワイヤードロジック回路により構成される。

Description

明 細 書
通信制御装置及び通信制御システム
技術分野
[0001] 本発明は、通信制御技術に関し、特に、ネットワークを介してアクセス可能な位置に 保持されたコンテンツに対するアクセスの許否を制御する通信制御装置及び通信制 御システムに関する。
背景技術
[0002] インターネットのインフラが整備され、携帯電話端末、パーソナルコンピュータ、 Vol P (Voice over Internet Protocol)電話端末などの通信端末が広く普及した現在、イン ターネットの利用者は爆発的に増加している。このような状況下、コンピュータウィル ス、ノ、ッキング、スパムメールなど、セキュリティに関する問題が顕在化しており、通信 を適切に制御する技術が求められている。
[0003] インターネットを利用して、膨大な情報に容易にアクセスすることができるようになつ たが、有害な情報が氾濫してきているのも事実であり、有害な情報の発信元に対する 規制が追いつかない状況にある。誰もが安心して効果的にインターネットを利用する 環境を整えるために、有害なコンテンツに対するアクセスを適切に制御する技術が求 められる。
[0004] 例えば、アクセス許可サイトのリスト、アクセス禁止サイトのリスト、禁止語キーワード、 有益語キーワードなどのデータベースを用意し、インターネットを介して外部情報へ アクセスする際に、これらのデータベースを参照して、アクセスを制御する技術が提 案されている (例えば、特許文献 1参照)。
特許文献 1:特開 2001— 282797号公報
発明の開示
発明が解決しょうとする課題
[0005] 特許文献 1に開示されたような通信制御を実現する場合、近年では通信環境の向 上に伴って通信量が膨大になっているため、アクセスの許否を判定するためのデー タベースとのマッチング処理が律速となって、アクセスに要する時間が増大する恐れ がある。このような事態を回避するためには、大容量のデータを高速に処理すること が可能な通信制御装置が必要となる。
[0006] 本発明はこうした状況に鑑みてなされたものであり、その目的は、高速な通信制御 装置を実現する技術の提供にある。
課題を解決するための手段
[0007] 本発明のある態様は、通信制御装置に関する。この通信制御装置は、ネットワーク を介してアクセス可能な位置に保持されたコンテンッに対するアクセスの許否を決定 するための基準となる基準データを記憶する記憶部と、前記コンテンツに対するァク セスを要求するための通信データを取得し、前記通信データの中に前記基準データ が含まれているか否かを検索する検索部と、前記検索結果に基づいて、前記コンテ ンッに対するアクセスを制御する処理部と、を含み、前記検索部は、ワイヤードロジッ ク回路により構成されることを特徴とする。
[0008] アクセスの許否を判定するための処理を行う検索部を、ワイヤードロジック回路によ り構成された専用のハードウェア回路として設けることにより、処理速度を向上させる ことができる。したがって、トラフィックに与える影響を最小限に抑えつつ、適切にァク セスの制御を行うことができる。
[0009] 前記検索部は、前記通信データに含まれるアクセス先のコンテンツの位置を示す 情報の中に前記基準データが含まれるか否かを検索してもよ ヽ。コンテンツの位置を 示す情報は、例えば、 URL (Uniform Resource Locator)であってもよい。
[0010] 前記記憶部は、前記基準データを格納したデータベースを複数含んでもよぐ前記 検索部は、複数の前記データベースのそれぞれに対して、前記通信データの中に、 そのデータベースに格納された前記基準データが含まれている力否かを検索する検 索回路を含んでもよぐ複数の前記検索回路が並列して、複数の前記データベース の検索を実行してもよい。これにより、検索速度を向上させることができる。
[0011] 前記複数のデータベースに対して優先度が設定されてもよぐ複数の前記検索回 路が並列して複数の前記データベースの検索を実行した結果、複数のデータベース の基準データと合致した場合は、優先度の高い検索結果が採用されてもよい。優先 度が設定されている場合であっても、同時に並列して検索を実行することができるの で、検索速度を向上させることができる。
[0012] 前記データベースは、アクセスを許可するコンテンツの位置を示すデータを格納し てもよい。前記データベースは、アクセスを禁止するコンテンツの位置を示すデータ を格納してもよい。前記データベースは、コンピュータウィルスを含み、アクセスが禁 止されるコンテンツの位置を示すデータを格納してもよい。前記データベースは、力 テゴリごとに、そのカテゴリに属するコンテンツに対するアクセスを許可する力禁止す る力をユーザが個別に設定したデータを格納してもよい。
[0013] 本発明の別の態様は、通信制御システムに関する。この通信制御システムは、上記 のいずれかの通信制御装置と、前記通信制御装置に接続され、前記通信制御装置 の動作を制御するサーバ装置と、を含むことを特徴とする。ワイヤードロジック回路に より構成された通信制御装置を、周辺のサーバ装置により制御することで、通信制御 装置に各種の機能を実現させることができ、柔軟性の高いシステムを提供することが できる。
[0014] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、 記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様とし て有効である。
発明の効果
[0015] 本発明によれば、高速な処理が可能な通信制御装置を実現する技術を提供するこ とがでさる。
図面の簡単な説明
[0016] [図 1]実施の形態に係る通信制御システムの構成を示す図である。
[図 2]従来の通信制御装置の構成を示す図である。
[図 3]実施の形態に係る通信制御装置の構成を示す図である。
[図 4]パケット処理回路の内部構成を示す図である。
[図 5]位置検出回路の内部構成を示す図である。
[図 6]第 1データベースの内部データの例を示す図である。
[図 7]第 1データベースの内部データの別の例を示す図である。
[図 8]第 1データベースの内部データのさらに別の例を示す図である。 [図 9]ノイナリサーチ回路に含まれる比較回路の構成を示す図である。
[図 10]第 2データベースの内部データの例を示す図である。
[図 11]第 2データベースの内部データの別の例を示す図である。
[図 12]実施の形態に係るパケット処理回路の内部構成を示す図である。
[図 13]図 13 (a)は、ウィルスリストの内部データの例を示す図であり、図 13 (b)は、ホ ワイトリストの内部データの例を示す図であり、図 13 (c)は、ブラックリストの内部デー タの例を示す図である。
[図 14]共通カテゴリリストの内部データの例を示す図である。
[図 15]図 15 (a)、 (b)、 (c)、及び (d)は、第 2データベースの内部データの例を示す 図である。
[図 16]ウィルスリスト、ホワイトリスト、ブラックリスト、及び共通カテゴリリストの優先度を 示す図である。
符号の説明
[0017] 10 通信制御装置、 20 パケット処理回路、 30 検索回路、 32 位置検出回路、 3 3 比較回路、 34 インデックス回路、 35 比較回路、 36 バイナリサーチ回路、 40 処理実行回路、 50 第 1データベース、 57 ユーザデータベース、 60 第 2データべ ース、 100 通信制御システム、 110 運用監視サーバ、 120 接続管理サーバ、 13 0 メッセージ出力サーバ、 140 ログ管理サーバ、 150 データベースサーバ、 160 URLデータベース、 161 ウィルスリスト、 162 ホワイトリスト、 163 ブラックリスト、 164 共通カテゴリリスト。
発明を実施するための最良の形態
[0018] 図 1は、実施の形態に係る通信制御システムの構成を示す。通信制御システム 100 は、通信制御装置 10と、通信制御装置 10の動作を支援するために設けられた各種 の周辺装置を含む。本実施の形態の通信制御装置 10は、インターネットサービスプ ロバイダなどにより提供される URLフィルタリング機能を実現する。ネットワークの経 路に設けられた通信制御装置 10は、コンテンツに対するアクセス要求を取得して、そ の内容を解析し、コンテンツに対するアクセスの許否を判断する。コンテンツに対する アクセスが許可される場合は、通信制御装置 10は、そのアクセス要求を、コンテンツ を保持するサーバへ送出する。コンテンツに対するアクセスが禁止される場合は、通 信制御装置 10は、そのアクセス要求を破棄し、要求元に対して警告メッセージなどを 返信する。本実施の形態では、通信制御装置 10は、 HTTP (HyperText Transfer Protocol)の「GET」リクエストメッセージを受信し、アクセス先のコンテンツの URLが、 アクセスの許否を判断するための基準データのリストに合致する力否かを検索して、 コンテンツに対するアクセスの許否を判断する。
周辺装置は、運用監視サーバ 110、接続管理サーバ 120、メッセージ出力サーバ 130、ログ管理サーバ 140、及びデータベースサーバ 150を含む。接続管理サーバ 120は、通信制御装置 10に対する接続を管理する。接続管理サーバ 120は、例え ば、携帯電話端末力も送出されたパケットを通信制御装置 10で処理する際に、パケ ットに含まれる携帯電話端末を一意に識別する情報を用いて、通信制御装置 10の ユーザであることを認証する。いったん認証されると、その携帯電話端末に一時的に 付された IPアドレス力も送出されたパケットは、一定の期間は接続管理サーバ 120で 認証せずに通信制御装置 10へ送られて処理される。メッセージ出力サーバ 130は、 通信制御装置 10により判定されたアクセスの許否の結果に応じて、アクセスの要求 先又は要求元に対するメッセージを出力する。ログ管理サーバ 140は、通信制御装 置 10の運用履歴を管理する。データベースサーバ 150は、 URLデータベース 160 力 最新のデータベースを取得し、通信制御装置 10に入力する。通信制御装置 10 の運用を止めずにデータベースを更新するために、通信制御装置 10はバックアップ 用のデータベースを有してもよい。運用監視サーバ 110は、通信制御装置 10と、接 続管理サーバ 120、メッセージ出力サーバ 130、ログ管理サーバ 140、データベース サーバ 150などの周辺装置の運用状況を監視する。運用監視サーバ 110は、通信 制御システム 100の中で最も優先度が高ぐ通信制御装置 10及び全ての周辺装置 の監視制御を行う。通信制御装置 10は、後述するように、専用のハードウ ア回路に より構成されるが、運用監視サーバ 110は、本出願人による特許第 3041340号など の技術を利用して、バウンダリスキャン回路を利用して監視のためのデータを通信制 御装置 10などとの間で入出力することにより、通信制御装置 10の運用中にも運用状 況を監視することができる。 [0020] 本実施の形態の通信制御システム 100は、以下に説明するように、高速ィ匕のため に専用のハードウェア回路により構成された通信制御装置 10を、周辺に接続された 各種の機能を有するサーバ群により制御する構成とすることにより、サーバ群のソフト ウェアを適当に入れ替えることで、同様の構成により各種の機能を実現することがで きる。本実施の形態によれば、このような柔軟性の高い通信制御システムを提供する ことができる。
[0021] 以下、まず通信制御装置 10の概要について説明した後、本実施の形態に特徴的 な URLフィルタリング技術にっ 、て説明する。
[0022] 図 2は、従来の通信制御装置 1の構成を示す。従来の通信制御装置 1は、受信側 の通信制御部 2と、パケット処理部 3と、送出側の通信制御部 4とを備える。通信制御 部 2及び 4は、それぞれ、パケットの物理層の処理を行う PHY処理部 5a及び 5bと、パ ケットの MAC層の処理を行う MAC処理部 6a及び 6bとを備える。パケット処理部 3は 、 IP (Internet Protocol)のプロトコル処理を行う IP処理部 7、 TCP (Transport Control Protocol)のプロトコル処理を行う TCP処理部 8など、プロトコルに応じた処理を行う プロトコル処理部と、アプリケーション層の処理を行う AP処理部 9とを備える。 AP処 理部 9は、パケットに含まれるデータに応じて、フィルタリングなどの処理を実行する。
[0023] 従来の通信制御装置 1では、パケット処理部 3は、汎用プロセッサである CPUと、 C PU上で動作する OSとを利用して、ソフトウェアにより実現されていた。し力しながら、 このような構成では、通信制御装置 1の性能は CPUの性能に依存することになり、高 速に大容量のパケットを処理可能な通信制御装置を実現しょうとしても、自ずと限界 がある。例えば、 64ビットの CPUであれば、一度に同時に処理可能なデータ量は最 大で 64ビットであり、それ以上の性能を有する通信制御装置は存在しなかった。また 、汎用的な機能を有する OSの存在を前提としていたので、セキュリティホールなどが 存在する可能性が絶無ではなぐ OSのバージョンアップなどのメンテナンス作業を必 要としていた。
[0024] 図 3は、本実施の形態の通信制御装置の構成を示す。通信制御装置 10は、図 2に 示した従来の通信制御装置 1においては CPU及び OSを含むソフトウェアにより実現 されていたパケット処理部 3に代えて、ワイヤードロジック回路による専用のハードゥエ ァにより構成されたパケット処理回路 20を備える。汎用処理回路である CPUにおい て動作する OSとソフトウェアにより通信データを処理するのではなぐ通信データを 処理するための専用のハードウェア回路を設けることにより、 CPUや OSなどに起因 する性能の限界を克服し、処理能力の高い通信制御装置を実現することが可能とな る。
[0025] 例えば、パケットフィルタリングなどを実行するために、パケットに含まれるデータに 、フィルタリングの判断基準となる基準データが含まれるか否かを検索する場合に、 C PUを用いて通信データと基準データを比較すると、一度に高々 64ビットしか比較す ることができず、処理速度を向上させようとしても CPUの性能で頭打ちになるという問 題があった。 CPUでは、通信データから 64ビットをメモリへ読み上げ、基準データと の比較を行い、つづいて、次の 64ビットをメモリへ読み上げる、という処理を何度も繰 り返し行う必要があるので、メモリへの読み上げ時間が律速となり、処理速度に限界 がある。
[0026] それに対し、本実施の形態では、通信データと基準データとを比較するために、ヮ ィヤードロジック回路により構成された専用のハードウェア回路を設ける。この回路は
、 64ビットよりも長いデータ長、例えば、 1024ビットのデータ長の比較を可能とするた めに、並列に設けられた複数の比較器を含む。このように、専用のハードウェアを設 けることにより、同時に並列して多数のビットマッチングを実行することができる。従来 の CPUを用いた通信制御装置 1では一度に 64ビットしか処理できなかったところを、 一度に 1024ビットの処理を可能にすることで、飛躍的に処理速度を向上させること ができる。比較器の数を多くすれば処理能力も向上するが、コストやサイズも増大す るので、所望の処理性能と、コスト、サイズ、などを考慮して、最適なハードウェア回路 を設計すればよい。専用のハードウェア回路は、 FPGA (Field Programmable Gate Array)などを用いて実現されてもよ!、。
[0027] また、本実施の形態の通信制御装置 10は、ワイヤードロジック回路による専用のハ 一ドウエアにより構成されるので、 OS (Operating System)を必要としない。このため、 OSのインストール、バグ対応、バージョンアップなどの作業が必要なぐ管理やメンテ ナンスのためのコストや工数を低減させることができる。また、汎用的な機能が求めら れる CPUとは異なり、不必要な機能を包含していないので、余計なリソースを用いる ことがなぐ低コスト化、回路面積の低減、処理速度の向上などが望める。さらに、 OS を利用していた従来の通信制御装置とは異なり、余分な機能を有しないので、セキュ リティホールなどが発生する可能性が低く、ネットワークを介した悪意ある第三者から の攻撃に対する耐性に優れている。
[0028] 図 4は、パケット処理回路の内部構成を示す。パケット処理回路 20は、通信データ に対して実行する処理の内容を決定するための基準となる基準データを記憶する第 1データベース 50と、受信された通信データの中に基準データが含まれて!/、るか否 かを、通信データと基準データとを比較することにより検索する検索回路 30と、検索 回路 30による検索結果と通信データに対して実行する処理の内容とを対応づけて 記憶する第 2データベース 60と、検索回路 30による検索結果と第 2データベース 60 に記憶された条件とに基づいて通信データを処理する処理実行回路 40とを含む。
[0029] 検索回路 30は、通信データの中から基準データと比較すべき比較対象データの 位置を検出する位置検出回路 32と、第 1データベース 50に記憶された基準データを 3以上の範囲に分割したとき、比較対象データがそれらの範囲のうちいずれに属する かを判定する判定回路の一例であるインデックス回路 34と、判定された範囲の中で 比較対象データと合致する基準データを検索するバイナリサーチ回路 36とを含む。 比較対象データを基準データの中から検索する方法としては、任意の検索技術を利 用可能であるが、本実施の形態ではバイナリサーチ法を用いる。
[0030] 図 5は、位置検出回路の内部構成を示す。位置検出回路 32は、比較対象データ の位置を特定するための位置特定データと通信データとを比較するための複数の比 較回路 33a〜33fを含む。ここでは、 6個の比較回路 33a〜33fが設けられているが、 後述するように、比較回路の個数は任意でよい。それぞれの比較回路 33a〜33fに は、通信データが、所定のデータ長、例えば、 1バイトずつずらして入力される。そし て、これら複数の比較回路 33a〜33fにおいて、同時に並列して、検出すべき位置 特定データと通信データとの比較がなされる。
[0031] 本実施の形態においては、通信制御装置 10の動作を説明するための例として、通 信データ中に含まれる「No. # # #」という文字列を検出し、その文字列中に含ま れる数字「# # #」を基準データと比較して、基準データに合致した場合はパケット の通過を許可し、合致しなカゝつた場合はパケットを破棄する処理を行う場合にっ ヽて 説明する。
[0032] 図 5の例では、通信データの中から、数字「# # #」の位置を特定するための位置 特定データ「No.」を検出するために、通信データ「01No. 361 · · ·」を、 1文字ず つずらして比較回路 33a〜33fに入力している。すなわち、比較回路 33aには「01N 」力 比較回路 33bには「1Νο」力 比較回路 33cには「No.」が、比較回路 33dには 「o. 」が、比較回路 33eには「. 3」が、比較回路 33fには「 36」力 それぞれ入力 される。ここで、比較回路 33a〜33fが同時に位置特定データ「No.」との比較を実 行する。これにより、比較回路 33cがマッチし、通信データの先頭から 3文字目に「No .」という文字列が存在することが検出される。こうして、位置検出回路 32により検出さ れた位置特定データ「No.」の次に、比較対象データである数字のデータが存在す ることが検出される。
[0033] CPUにより同様の処理を行うならば、まず、文字列「0 ^」を「?^0.」と比較し、続い て、文字列「1Νο」を「No.」と比較する、というように、先頭力 順に 1つずつ比較処 理を実行する必要があるため、検出速度の向上は望めない。これに対し、本実施の 形態の通信制御装置 10では、複数の比較回路 33a〜33fを並列に設けることにより 、 CPUではなしえな力つた同時並列的な比較処理が可能となり、処理速度を格段に 向上させることができる。比較回路は多ければ多いほど同時に比較可能な位置が多 くなるので、検出速度も向上するが、コスト、サイズ、などを考慮の上、所望の検出速 度を得られるのに十分な数の比較回路を設ければよい。
[0034] 位置検出回路 32は、位置特定データを検出するためだけでなぐ汎用的に文字列 を検出する回路として利用されてもよい。また、文字列だけでなぐビット単位で位置 特定データを検出するように構成されてもょ ヽ。
[0035] 図 6は、第 1データベースの内部データの例を示す。第 1データベース 50には、ノ ケットのフィルタリング、ルーティング、スイッチング、置換などの処理の内容を決定す るための基準となる基準データ力 何らかのソート条件にしたがってソートされて格納 されている。図 6の例では、 1000個の基準データが記憶されている。 [0036] 第 1データベース 50の先頭のレコードには、通信データ中の比較対象データの位 置を示すオフセット 51が格納されている。例えば、 TCPパケットにおいては、ノケット 内のデータ構成がビット単位で定められているため、パケットの処理内容を決定する ためのフラグ情報などの位置をオフセット 51として設定しておけば、必要なビットのみ を比較して処理内容を決定することができるので、処理効率を向上させることができ る。また、パケットのデータ構成が変更された場合であっても、オフセット 51を変更す ることで対応することができる。第 1データベース 50には、比較対象データのデータ 長を格納しておいてもよい。これにより、必要な比較器のみを動作させて比較を行うこ とができるので、検索効率を向上させることができる。
[0037] インデックス回路 34は、第 1データベース 50に格納されている基準データを 3以上 の範囲 52a〜52dに分割したとき、比較対象データがそれらの範囲のうちいずれに 属するかを判定する。図 6の例では、 1000個の基準データは、 250個ずつ 4つの範 囲 52a〜52dに分割されている。インデックス回路 34は、範囲の境界の基準データと 比較対象データとを比較する複数の比較回路 35a〜35cを含む。比較回路 35a〜3 5cにより比較対象データと境界の基準データとを同時に並列して比較することにより 、比較対象データがいずれの範囲に属するかを 1度の比較処理で判定することがで きる。
[0038] 前述したように、 CPUによりバイナリサーチを実行する場合は、同時に複数の比較 を実行することができないが、本実施の形態の通信制御装置 10では、複数の比較回 路 35a〜35cを並列に設けることにより、同時並列的な比較処理を可能とし、検索速 度を格段に向上させることができる。
[0039] インデックス回路 34により範囲が判定されると、バイナリサーチ回路 36がバイナリサ ーチ法により検索を実行する。バイナリサーチ回路 36は、インデックス回路 34により 判定された範囲をさらに 2分割し、その境界位置にある基準データと比較対象データ とを比較することにより、いずれの範囲に属するかを判定する。バイナリサーチ回路 3 6は、基準データと比較対象データとをビット単位で比較する比較回路を複数個、例 えば本実施の形態では 1024個含んでおり、 1024ビットのビットマッチングを同時に 実行する。 2分割された範囲のいずれに属するかが判定されると、さらに、その範囲 を 2分割して境界位置にある基準データを読み出し、比較対象データと比較する。以 降、この処理を繰り返すことにより範囲をさらに限定し、最終的に比較対象データと合 致する基準データを検索する。
[0040] 前述した例を用いてさらに詳細に動作を説明する。図 5に示した通信データにおい て、位置特定データ「No.」につづく比較対象データは「361」という数字である。位 置特定データ「No.」と比較対象データ「361」との間には 1文字分のスペースが存在 しているので、このスペースを比較対象データから除くために、オフセット 51が「8」ビ ットに設定されている。ノイナリサーチ回路 36は、位置特定データ「No.」につづく通 信データから、「8」ビット、すなわち 1バイト分をスキップし、さらにつづく「361」を比較 対象データとして読み込む。
[0041] インデックス回路 34の比較回路 35a〜35cには、比較対象データとして「361」が入 力され、基準データとして、比較回路 35aには、範囲 52aと 52bの境界にある基準デ ータ「378」が、比較回路 35bには、範囲 52bと 52cの境界にある基準データ「704」 力 比較回路 35cには、範囲 52cと 52dの境界にある基準データ「937」が、それぞれ 入力される。比較回路 35a〜35cにより同時に比較が行われ、比較対象データ「361 」が範囲 52aに属することが判定される。以降、バイナリサーチ回路 36が基準データ の中に比較対象データ「361」が存在するか否かを検索する。
[0042] 図 7は、第 1データベースの内部データの別の例を示す。図 7に示した例では、基 準データのデータ数が、第 1データベース 50に保持可能なデータ数、ここでは 1000 個よりも少ない。このとき、第 1データベース 50には、最終データ位置から降順に基 準データが格納される。そして、残りのデータには 0が格納される。データベースの口 ーデイング方法として、先頭力 データを配置せずにローデイングエリアの後方から 配置し、ローデイングエリア先頭に空きが生じた場合は全ての空きをゼロサプレスす ることで、データーベースは常にフルの状態になり、バイナリー検索する場合の最大 時間を一定にすることができる。また、バイナリサーチ回路 36は、検索中に基準デー タとして「0」を読み込んだときには、比較結果が自明であるから、比較を行わずに範 囲を特定して、次の比較にうつることができる。これにより、検索速度を向上させること ができる。 [0043] CPUによるソフトウェア処理においては、第 1データベース 50に基準データを格納 する際に、最初のデータ位置力 昇順に基準データが格納される。残りのデータに は、例えば最大値が格納されることになる力 この場合、バイナリサーチにおいて、上 述したような比較処理の省略はできない。上述した比較技術は、専用のハードウェア 回路により検索回路 30を構成したことにより実現される。
[0044] 図 8は、第 1データベースの内部データのさらに別の例を示す。図 8に示した例では 、基準データを均等に 3以上の範囲に分割するのではなぐ範囲 52aは 500個、範囲 52bは 100個というように、範囲に属する基準データの数が不均一になっている。こ れらの範囲は、通信データ中における基準データの出現頻度の分布に応じて設定さ れてもよい。すなわち、それぞれの範囲に属する基準データの出現頻度の和がほぼ 同じになるように範囲が設定されてもよい。これにより、検索効率を向上させることが できる。インデックス回路 34の比較回路 35a〜35cに入力される基準データは、外部 力も変更可能になっていてもよい。これにより、範囲を動的に設定することができ、検 索効率を最適化することができる。
[0045] 図 9は、バイナリサーチ回路に含まれる比較回路の構成を示す。前述したように、バ イナリサーチ回路 36は、 1024個の比較回路 36a、 36b、 · · ·、を含む。それぞれの 比較回路 36a、 36b、 · · ·、には、基準データ 54と比較対象データ 56が 1ビットずつ 入力され、それらの大小が比較される。インデックス回路 34の各比較回路 35a〜35c の内部構成も同様である。このように、専用のハードウェア回路で比較処理を実行す ることにより、多数の比較回路を並列して動作させ、多数のビットを同時に比較するこ とができるので、比較処理を高速ィ匕することができる。
[0046] 図 10は、第 2データベースの内部データの例を示す。第 2データベース 60は、検 索回路 30による検索結果を格納する検索結果欄 62と、通信データに対して実行す る処理の内容を格納する処理内容欄 64とを含み、検索結果と処理内容とを対応づ けて保持する。図 10の例では、通信データに基準データが含まれている場合は、そ のパケットの通過を許可し、含まれていない場合は、そのパケットを破棄するといぅ条 件が設定されている。処理実行回路 40は、検索結果に基づいて第 2データベース 6 0から処理内容を検索し、通信データに対して処理を実行する。処理実行回路 40も 、ワイヤードロジック回路により実現されてもよい。
[0047] 図 11は、第 2データベースの内部データの別の例を示す。図 11の例では、基準デ ータごとに、処理内容が設定されている。パケットの置換を行う場合、置換先のデー タを第 2データベース 60に格納してお!、てもよ!/、。パケットのルーティングやスィッチ ングを行う場合、経路に関する情報を第 2データベース 60に格納しておいてもよい。 処理実行回路 40は、検索回路 30による検索結果に応じて、第 2データベース 60に 格納された、フィルタリング、ルーティング、スイッチング、置換などの処理を実行する 。図 11のように、基準データごとに処理内容を設定する場合、第 1データベース 50と 第 2データベース 60とを統合してもよ 、。
[0048] 第 1のデータベース及び第 2のデータベースは、外部力 書き換え可能に設けられ る。これらのデータベースを入れ替えることにより、同じ通信制御装置 10を用いて、さ まざまなデータ処理や通信制御を実現することができる。また、検索対象となる基準 データを格納したデータベースを 2以上設けて、多段階の検索処理を行ってもよ!、。 このとき、検索結果と処理内容とを対応づけて格納したデータベースを 2以上設けて 、より複雑な条件分岐を実現してもよい。このように、データベースを複数設けて多段 階の検索を行う場合に、位置検出回路 32、インデックス回路 34、バイナリサーチ回 路 36などを複数設けてもょ 、。
[0049] 上述した比較に用いられるデータは、同じ圧縮ロジックにより圧縮されてもよい。比 較に際して、比較元のデータと比較先のデータが同じ方式で圧縮されていれば、通 常と同様の比較が可能である。これにより、比較の際にローデイングするデータ量を 低減することができる。ローデイングするデータ量が少なくなれば、メモリからデータを 読み出すのに要する時間が短縮されるので、全体の処理時間も短縮することができ る。また、比較器の量を削減することができるので、装置の小型化、軽量化、低コスト 化に寄与することができる。比較に用いられるデータは、圧縮された形式で格納され ていてもよいし、メモリから読み出した後、比較の前に圧縮されてもよい。
[0050] 上述のデータ処理装置として、以下のような態様が考えられる。
[態様 1]
取得したデータに対して実行する処理の内容を決定するための基準となる基準デ ータを記憶する第 1記憶部と、
前記データの中に前記基準データが含まれて!/、るか否かを、前記データと前記基 準データとを比較することにより検索する検索部と、
前記検索部による検索結果と前記処理の内容とを対応づけて記憶する第 2記憶部 と、
前記検索結果に基づ 、て、前記検索結果に対応づけられた処理を前記データに 対して実行する処理部と、を含み、
前記検索部は、ワイヤードロジック回路により構成される
ことを特徴とするデータ処理装置。
[0051] [態様 2]
上記態様 1のデータ処理装置において、前記ワイヤードロジック回路は、前記デー タと前記基準データとをビット単位で比較する第 1比較回路を複数含むことを特徴と するデータ処理装置。
[0052] [態様 3]
上記態様 1のデータ処理装置において、前記検索部は、前記データの中から前記 基準データと比較すべき比較対象データの位置を検出する位置検出回路を含むこ とを特徴とするデータ処理装置。
[0053] [態様 4]
上記態様 3のデータ処理装置において、前記位置検出回路は、前記比較対象デ ータの位置を特定するための位置特定データと前記データとを比較する第 2比較回 路を複数含み、前記複数の第 2比較回路に前記データを所定のデータ長ずつ位置 をずらして入力し、前記位置特定データと同時に並列して比較することを特徴とする データ処理装置。
[0054] [態様 5]
上記態様 1から態様 2のいずれかのデータ処理装置において、前記検索部は、バ イナリサーチにより前記データの中に前記基準データが含まれて!/、るか否かを検索 するバイナリサーチ回路を含むことを特徴とするデータ処理装置。
[0055] [態様 6] 上記態様 5のデータ処理装置において、前記第 1記憶部に保持可能なデータ数よ りも前記基準データのデータ数の方が少ない場合、前記第 1記憶部の最終データ位 置から降順に前記基準データを格納し、残りのデータに 0を格納することを特徴とす るデータ処理装置。
[0056] [態様 7]
上記態様 1から態様 6のいずれかのデータ処理装置において、前記検索部は、前 記第 1記憶部に記憶された複数の基準データを 3以上の範囲に分割したとき、前記 基準データと比較すべき比較対象データがそれらの範囲のうちいずれに属するかを 判定する判定回路を含むことを特徴とするデータ処理装置。
[0057] [態様 8]
上記態様 7のデータ処理装置において、前記判定回路は、前記範囲の境界の基 準データと前記比較対象データとを比較する第 3比較回路を複数含み、前記複数の 第 3比較回路により前記比較対象データが前記 3以上の範囲のいずれに属するかを 同時に並列して判定することを特徴とするデータ処理装置。
[0058] [態様 9]
上記態様 7又は態様 8のデータ処理装置において、前記範囲は、前記データ中に おける前記基準データの出現頻度の分布に応じて設定されることを特徴とするデー タ処理装置。
[0059] [態様 10]
上記態様 1から態様 9のいずれかのデータ処理装置において、前記第 1記憶部は、 前記データ中の比較対象データの位置を示す情報を更に記憶し、前記検索部は、 前記位置を示す情報に基づいて前記比較対象データを抽出することを特徴とするデ ータ処理装置。
[0060] [態様 11]
上記態様 1から態様 10のいずれかのデータ処理装置において、前記第 1記憶部又 は前記第 2記憶部は、外部から書き換え可能に設けられることを特徴とするデータ処 理装置。
[0061] つづいて、上述した通信制御装置 10を利用した URLフィルタリング技術について 説明する。
[0062] 図 12は、本実施の形態のパケット処理回路 20の内部構成を示す。本実施の形態 のパケット処理回路 20は、第 1データベース 50として、ユーザデータベース 57、ウイ ルスリスト 161、ホワイトリスト 162、ブラックリスト 163、及び共通カテゴリリスト 164を備 える。ユーザデータベース 57は、通信制御装置 10を利用するユーザの情報を格納 する。通信制御装置 10は、ユーザ力もユーザを識別する情報を受け付け、検索回路 30により受け付けた情報をユーザデータベース 57とマッチングして、ユーザを認証 する。ユーザを識別する情報として、 TCP/IPパケットの IPヘッダに格納されたソー スアドレスを利用してもよ!/、し、ユーザ力もユーザ IDとパスワードなどを受け付けても よい。前者の場合、パケット中のソースアドレスの格納位置は決まっているので、検索 回路 30においてユーザデータベース 57とマッチングするときに、位置検出回路 32に より位置を検出する必要はなぐオフセット 51として、ソースアドレスの格納位置を指 定すればよい。ユーザデータベース 57に登録されたユーザであることが認証されると 、続いて、コンテンツに対するアクセスの許否を判断するために、コンテンツの URL 1S ウィルスリスト 161、ホワイトリスト 162、ブラックリスト 163、及び共通カテゴリリスト 1 64に照合される。ホワイトリスト 162及びブラックリスト 163はユーザごとに設けられて いるので、ユーザが認証されてユーザ IDがー意に決まると、そのユーザのホワイトリス ト 162及びブラックリスト 163が検索回路 30に与えられる。
[0063] ウィルスリスト 161は、コンピュータウィルスを含むコンテンツの URLのリストを格納 する。ウィルスリスト 161に格納された URLのコンテンツに対するアクセス要求は拒否 される。ホワイトリスト 162は、ユーザごとに設けられ、アクセスを許可するコンテンツの URLのリストを格納する。ブラックリスト 163は、ユーザごとに設けられ、アクセスを禁 止するコンテンツの URLのリストを格納する。図 13 (a)は、ウィルスリスト 161の内部 データの例を示し、図 13 (b)は、ホワイトリスト 162の内部データの例を示し、図 13 (c )は、ブラックリスト 163の内部データの例を示す。ウィルスリスト 161、ホワイトリスト 16 2、及びブラックリスト 163には、それぞれ、カテゴリ番号欄 165、 URL欄 166、及びタ イトル欄 167が設けられている。 URL欄 166には、アクセスが許可される、又は禁止 されるコンテンツの URLが格納される。カテゴリ番号欄 165には、コンテンツのカテゴ リの番号が格納される。タイトル欄 167には、コンテンツのタイトルが格納される。
[0064] 共通カテゴリリスト 164は、 URLで示されるコンテンツを複数のカテゴリに分類する ためのリストを格納する。図 14は、共通カテゴリリスト 164の内部データの例を示す。 共通カテゴリリスト 164にも、カテゴリ番号欄 165、 URL欄 166、及びタイトル欄 167 が設けられている。
[0065] 通信制御装置 10は、「GET」リクエストメッセージの中に含まれる URLを抽出し、そ の URLが、ウイノレスリスト 161、ホワイトリスト 162、ブラックリスト 163、又は共通カテゴ リリスト 164に含まれる力否かを検索回路 30により検索する。このとき、例えば、位置 検出回路 32により「http:〃」という文字列を検出し、その文字列に続くデータ列を対 象データとして抽出してもよい。抽出された URLは、インデックス回路 34及びバイナ リサーチ回路 36により、ウィルスリス卜 161、ホワイトリス卜 162、ブラックリス卜 163、及 び共通カテゴリリスト 164の基準データとマッチングされる。
[0066] 図 15 (a)、 (b)、 (c)、及び (d)は、本実施の形態の第 2データベース 60の内部デ 一タの例を示す。図 15 (a)は、ウィルスリスト 161に対する検索結果と処理内容を示 す。 GETリクエストに含まれる URL力 ウィルスリスト 161に含まれる URLに合致した 場合、その URLに対するアクセスは禁止される。図 15 (b)は、ホワイトリスト 162に対 する検索結果と処理内容を示す。 GETリクエストに含まれる URL力 ホワイトリスト 16 2に含まれる URLに合致した場合、その URLに対するアクセスは許可される。図 15 ( c)は、ブラックリスト 163に対する検索結果と処理内容を示す。 GETリクエストに含ま れる URLが、ブラックリスト 163に含まれる URLに合致した場合、その URLに対する アクセスは禁止される。
[0067] 図 15 (d)は、共通カテゴリリスト 164に対する検索結果と処理内容を示す。図 15 (d )に示すように、共通カテゴリリスト 164に対する検索結果に対して、ユーザは、カテゴ リごとに、そのカテゴリに属するコンテンツに対するアクセスを許可する力禁止するか を、個別に設定することができる。共通カテゴリリスト 164に関する第 2データベース 6 0には、ユーザ ID欄 168及びカテゴリ欄 169が設けられている。ユーザ ID欄 168に は、ユーザを識別するための IDが格納される。カテゴリ欄 169には、 57種に分類され たカテゴリのそれぞれにつ 、て、カテゴリに属するコンテンツに対するアクセスをユー ザが許可するか否かを示す情報が格納される。 GETリクエストに含まれる URL力 共 通カテゴリリスト 164に含まれる URLに合致した場合、その URLのカテゴリと、ユーザ IDに基づいて、その URLに対するアクセスの許否が判定される。なお、図 15 (d)で は、共通カテゴリの数が 57であるが、それ以外であってもよい。
[0068] 図 16は、ウィルスリスト 161、ホワイトリスト 162、ブラックリスト 163、及び共通カテゴ リリスト 164の優先度を示す。本実施の形態では、ウィルスリスト 161、ホワイトリスト 16 2、ブラックリスト 163、共通カテゴリリスト 164の順に優先度が高ぐ例えば、ホワイトリ スト 162に格納されたアクセスが許可されるコンテンッの URLであつたとしても、その URLがウィルスリスト 161に格納されていれば、コンピュータウィルスを含むコンテン ッであるとしてアクセスが禁止される。
[0069] 従来、ソフトウェアを用いて、このような優先度を考慮したマッチングを行うときは、例 えば、優先度の高いリストから順にマッチングを行って最初にヒットしたものを採用す る力、優先度の低 、リストから順にマッチングを行って後からヒットしたものを上書きす る力、いずれかの方法がとられていた。しかしながら、本実施の形態では、専用のハ 一ドウエア回路により構成された通信制御装置 10を利用することにより、ウィルスリス ト 161のマッチングを行う検索回路 30aと、ホワイトリスト 162のマッチングを行う検索 回路 30bと、ブラックリスト 163のマッチングを行う検索回路 30cと、共通カテゴリリスト 164のマッチングを行う検索回路 30dとを設けて、それぞれの検索回路 30において 同時に並列してマッチングを行う。そして、複数のリストでヒットした場合は、優先度の 高いものを採用する。これにより、複数のデータベースが設けられ、それらに優先度 が設定されている場合であっても、検索時間を大幅に短縮することができる。
[0070] ウィルスリスト 161、ホワイトリスト 162、ブラックリスト 163、及び共通カテゴリリスト 16 4のいずれを優先してアクセスの許否を判断するかは、例えば、第 2データベース 60 に設定されて 、てもよ 、。 V、ずれのリストを優先するかに応じて第 2データベース 60 の条件を書き換えてもよ 、。
[0071] コンテンツに対するアクセスが許可された場合は、処理実行回路 40は、メッセージ 出力サーバ 130にその旨を通知するための信号を出力する。メッセージ出力サーバ 130は、コンテンッを保持するサーバに向けて「GET」リクエストメッセージを送出する 。コンテンツに対するアクセスが禁止された場合は、処理実行回路 40が、メッセージ 出力サーバ 130にその旨を通知するための信号を出力すると、メッセージ出力サー ノ 130は、アクセス先のサーバに「GET」リクエストメッセージを送信せずに破棄する 。このとき、アクセスが禁止された旨の応答メッセージを要求元に送信してもよい。ま た、強制的に別のウェブページに転送させてもよい。この場合、処理実行回路 40は、 デスティネーションアドレスと URLを転送先のものに書き換えて送出する。応答メッセ ージゃ転送先の URLなどの情報は、第 2データベース 60などに格納されて 、てもよ い。
[0072] 以上の構成及び動作により、不適切なコンテンツに対するアクセスを禁止すること ができる。また、検索回路 30が FPGAなどにより構成された専用のハードウェア回路 であるから、上述したように高速な検索処理が実現され、トラフィックに与える影響を 最小限に抑えつつ、フィルタリング処理を実行することができる。インターネットサービ スプロバイダなど力 このようなフィルタリングのサービスを提供することにより、付加価 値が高まり、より多くのユーザを集めることができる。
[0073] ホワイトリスト 162又はブラックリスト 163は、全てのユーザに対して共通に設けられ てもよい。
[0074] 以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それ らの各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、また そうした変形例も本発明の範囲にあることは当業者に理解されるところである。
産業上の利用可能性
[0075] 本発明は、コンテンツに対するアクセスを制御する通信制御装置に適用することが できる。

Claims

請求の範囲
[1] ネットワークを介してアクセス可能な位置に保持されたコンテンツに対するアクセス の許否を決定するための基準となる基準データを記憶する記憶部と、
前記コンテンツに対するアクセスを要求するための通信データを取得し、前記通信 データの中に前記基準データが含まれて 1、るか否かを検索する検索部と、
前記検索結果に基づいて、前記コンテンツに対するアクセスを制御する処理部と、 を含み、
前記検索部は、ワイヤードロジック回路により構成される
ことを特徴とする通信制御装置。
[2] 前記検索部は、前記通信データに含まれるアクセス先のコンテンツの位置を示す 情報の中に前記基準データが含まれるか否かを検索することを特徴とする請求項 1 に記載の通信制御装置。
[3] 前記記憶部は、前記基準データを格納したデータベースを複数含み、
前記検索部は、複数の前記データベースのそれぞれに対して、前記通信データの 中に、そのデータベースに格納された前記基準データが含まれて 、るか否かを検索 する検索回路を含み、
複数の前記検索回路が並列して、複数の前記データベースの検索を実行すること を特徴とする請求項 1又は 2に記載の通信制御装置。
[4] 前記複数のデータベースに対して優先度が設定され、
複数の前記検索回路が並列して複数の前記データベースの検索を実行した結果、 複数のデータベースの基準データと合致した場合は、優先度の高!、検索結果が採 用されることを特徴とする請求項 3に記載の通信制御装置。
[5] 前記データベースは、アクセスを許可するコンテンツの位置を示すデータを格納す ることを特徴とする請求項 3又は 4に記載の通信制御装置。
[6] 前記データベースは、アクセスを禁止するコンテンツの位置を示すデータを格納す ることを特徴とする請求項 3又は 4に記載の通信制御装置。
[7] 前記データベースは、コンピュータウィルスを含み、アクセスが禁止されるコンテン ッの位置を示すデータを格納することを特徴とする請求項 3又は 4に記載の通信制 御装置。
[8] 前記データベースは、カテゴリごとに、そのカテゴリに属するコンテンツに対するァク セスを許可するか禁止するかをユーザが個別に設定したデータを格納することを特 徴とする請求項 3又は 4に記載の通信制御装置。
[9] 請求項 1から 8の 、ずれかに記載の通信制御装置と、
前記通信制御装置に接続され、前記通信制御装置の動作を制御するサーバ装置 と、
を含むことを特徴とする通信制御システム。
PCT/JP2005/005789 2005-02-18 2005-03-28 通信制御装置及び通信制御システム WO2006103743A1 (ja)

Priority Applications (13)

Application Number Priority Date Filing Date Title
PCT/JP2005/005789 WO2006103743A1 (ja) 2005-03-28 2005-03-28 通信制御装置及び通信制御システム
CN200580049496A CN100580644C (zh) 2005-03-28 2005-03-28 通信控制装置及通信控制系统
US11/910,240 US8073855B2 (en) 2005-03-28 2005-03-28 Communication control device and communication control system
EP05727698A EP1868103A1 (en) 2005-03-28 2005-03-28 Communication control device and communication control system
CA002603106A CA2603106A1 (en) 2005-03-28 2005-03-28 Communication control device and communication control system
JP2007505311A JP4554675B2 (ja) 2005-03-28 2005-03-28 通信制御装置及び通信制御システム
KR20077021091A KR20070103774A (ko) 2005-02-18 2005-08-25 통신 제어 장치 및 통신 제어 시스템
US11/884,526 US8336092B2 (en) 2005-02-18 2005-08-25 Communication control device and communication control system
EP05774657A EP1850234A1 (en) 2005-02-18 2005-08-25 Communication control device and communication control system
CA002596948A CA2596948A1 (en) 2005-02-18 2005-08-25 Communication control device and communication control system
JP2007503571A JP4546998B2 (ja) 2005-02-18 2005-08-25 通信制御システム
CN2005800493258A CN101147138B (zh) 2005-02-18 2005-08-25 通信控制系统
PCT/JP2005/015480 WO2006087837A1 (ja) 2005-02-18 2005-08-25 通信制御装置及び通信制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/005789 WO2006103743A1 (ja) 2005-03-28 2005-03-28 通信制御装置及び通信制御システム

Publications (1)

Publication Number Publication Date
WO2006103743A1 true WO2006103743A1 (ja) 2006-10-05

Family

ID=37053016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/005789 WO2006103743A1 (ja) 2005-02-18 2005-03-28 通信制御装置及び通信制御システム

Country Status (6)

Country Link
US (1) US8073855B2 (ja)
EP (1) EP1868103A1 (ja)
JP (1) JP4554675B2 (ja)
CN (1) CN100580644C (ja)
CA (1) CA2603106A1 (ja)
WO (1) WO2006103743A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117874A (ja) * 2008-11-13 2010-05-27 Hitachi Ltd Urlフィルタリングシステム
JP2013172425A (ja) * 2012-02-22 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> フィルタリング装置、および、フィルタリング方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306209A1 (en) * 2006-07-22 2010-12-02 Tien-Fu Chen Pattern matcher and its matching method
US9092380B1 (en) * 2007-10-11 2015-07-28 Norberto Menendez System and method of communications with supervised interaction
CN101325495B (zh) * 2008-07-10 2012-02-01 成都市华为赛门铁克科技有限公司 一种应用于检测黑客服务器的检测方法、装置及系统
US8719365B1 (en) * 2009-02-12 2014-05-06 Adobe Systems Incorporated Graphic output from remote execution of applications redirected with dynamically sized virtual screen
US8650653B2 (en) * 2009-12-24 2014-02-11 Intel Corporation Trusted graphics rendering for safer browsing on mobile devices
US9251282B2 (en) * 2010-06-21 2016-02-02 Rapid7 LLC Systems and methods for determining compliance of references in a website
WO2012044248A1 (en) * 2010-09-28 2012-04-05 Empire Technology Development Llc Data filtering for communication devices
CN102469117B (zh) * 2010-11-08 2014-11-05 中国移动通信集团广东有限公司 一种异常访问行为的识别方法及装置
US8863232B1 (en) 2011-02-04 2014-10-14 hopTo Inc. System for and methods of controlling user access to applications and/or programs of a computer
US8667592B2 (en) * 2011-03-15 2014-03-04 Symantec Corporation Systems and methods for looking up anti-malware metadata
EP2840737B1 (en) * 2012-05-02 2019-05-01 Huawei Technologies Co., Ltd. Method and apparatus for controlling network device
US8856907B1 (en) 2012-05-25 2014-10-07 hopTo Inc. System for and methods of providing single sign-on (SSO) capability in an application publishing and/or document sharing environment
US9419848B1 (en) 2012-05-25 2016-08-16 hopTo Inc. System for and method of providing a document sharing service in combination with remote access to document applications
US8713658B1 (en) 2012-05-25 2014-04-29 Graphon Corporation System for and method of providing single sign-on (SSO) capability in an application publishing environment
US9239812B1 (en) 2012-08-08 2016-01-19 hopTo Inc. System for and method of providing a universal I/O command translation framework in an application publishing environment
CN102915376A (zh) * 2012-11-13 2013-02-06 北京神州绿盟信息安全科技股份有限公司 检测数据库异常行为的方法和设备
US9367542B2 (en) * 2013-01-10 2016-06-14 International Business Machines Corporation Facilitating access to resource(s) idenfitied by reference(s) included in electronic communications
CN104253785B (zh) * 2013-06-25 2017-10-27 腾讯科技(深圳)有限公司 危险网址识别方法、装置及系统
CN103368957B (zh) * 2013-07-04 2017-03-15 北京奇虎科技有限公司 对网页访问行为进行处理的方法及系统、客户端、服务器
CN103336693B (zh) * 2013-07-04 2016-06-22 北京奇虎科技有限公司 refer链的创建方法、装置及安全检测设备
CN103581321B (zh) * 2013-11-06 2017-05-31 北京奇虎科技有限公司 一种refer链的创建方法、装置及安全检测方法和客户端
US9467453B2 (en) 2014-02-19 2016-10-11 Qualcomm Incorporated Network access and control for mobile devices
CN111629038B (zh) * 2020-05-19 2023-08-08 北京达佳互联信息技术有限公司 虚拟资源分享处理方法、装置、服务器及存储介质
US20220046036A1 (en) * 2020-08-04 2022-02-10 Oracle International Corporation Mirage Instance of a Database Server
CN113763137B (zh) * 2021-11-10 2022-10-14 山东派盟网络科技有限公司 信息推送方法及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09181791A (ja) * 1995-10-23 1997-07-11 Kawasaki Steel Corp データ受信装置
WO2002082750A1 (fr) * 2001-04-02 2002-10-17 Dcl Inc. Dispositif de recherche de chaines binaires et procede associe
JP2003280988A (ja) * 2002-03-25 2003-10-03 Duaxes Corp I/o装置の制御装置及びそのi/o制御装置を用いた制御システム
JP2004030678A (ja) * 2002-06-27 2004-01-29 Microsoft Corp ウェブブラウジングのためのコンテンツフィルタリング

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475237A (en) * 1981-11-27 1984-10-02 Tektronix, Inc. Programmable range recognizer for a logic analyzer
US5341479A (en) * 1989-01-31 1994-08-23 Storage Technology Corporation Address mark triggered read/write head buffer
JPH04180425A (ja) 1990-11-15 1992-06-26 Toshiba Corp 通信システム
US5802065A (en) * 1995-10-23 1998-09-01 Kawasaki Steel Corporation Data receiving device
US5956336A (en) * 1996-09-27 1999-09-21 Motorola, Inc. Apparatus and method for concurrent search content addressable memory circuit
US5951651A (en) * 1997-07-23 1999-09-14 Lucent Technologies Inc. Packet filter system using BITMAP vector of filter rules for routing packet through network
US6341130B1 (en) * 1998-02-09 2002-01-22 Lucent Technologies, Inc. Packet classification method and apparatus employing two fields
US6185552B1 (en) * 1998-03-19 2001-02-06 3Com Corporation Method and apparatus using a binary search engine for searching and maintaining a distributed data structure
US6236678B1 (en) * 1998-10-30 2001-05-22 Broadcom Corporation Method and apparatus for converting between byte lengths and burdened burst lengths in a high speed cable modem
US6631466B1 (en) 1998-12-31 2003-10-07 Pmc-Sierra Parallel string pattern searches in respective ones of array of nanocomputers
JP2000250737A (ja) 1999-03-01 2000-09-14 Kawasaki Steel Corp 半導体集積回路
US6278995B1 (en) * 1999-03-02 2001-08-21 Nms Communications Corporation Apparatus and method for providing a binary range tree search
JP2001168911A (ja) 1999-12-09 2001-06-22 Hitachi Cable Ltd パケットフィルタ装置
US6697806B1 (en) * 2000-04-24 2004-02-24 Sprint Communications Company, L.P. Access network authorization
JP2004140618A (ja) 2002-10-18 2004-05-13 Yokogawa Electric Corp パケットフィルタ装置および不正アクセス検知装置
JP2004172917A (ja) 2002-11-20 2004-06-17 Nec Corp パケット検索装置及びそれに用いるパケット処理検索方法並びにそのプログラム
JP2004187201A (ja) 2002-12-06 2004-07-02 Nippon Telegr & Teleph Corp <Ntt> データ列検索用ノード,これを用いるデータ列検索方法並びにデータ列検索処理装置
US20050060535A1 (en) * 2003-09-17 2005-03-17 Bartas John Alexander Methods and apparatus for monitoring local network traffic on local network segments and resolving detected security and network management problems occurring on those segments
US7454418B1 (en) * 2003-11-07 2008-11-18 Qiang Wang Fast signature scan

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09181791A (ja) * 1995-10-23 1997-07-11 Kawasaki Steel Corp データ受信装置
WO2002082750A1 (fr) * 2001-04-02 2002-10-17 Dcl Inc. Dispositif de recherche de chaines binaires et procede associe
JP2003280988A (ja) * 2002-03-25 2003-10-03 Duaxes Corp I/o装置の制御装置及びそのi/o制御装置を用いた制御システム
JP2004030678A (ja) * 2002-06-27 2004-01-29 Microsoft Corp ウェブブラウジングのためのコンテンツフィルタリング

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117874A (ja) * 2008-11-13 2010-05-27 Hitachi Ltd Urlフィルタリングシステム
JP2013172425A (ja) * 2012-02-22 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> フィルタリング装置、および、フィルタリング方法

Also Published As

Publication number Publication date
JPWO2006103743A1 (ja) 2008-09-04
EP1868103A1 (en) 2007-12-19
US8073855B2 (en) 2011-12-06
CN100580644C (zh) 2010-01-13
CN101167063A (zh) 2008-04-23
US20090132509A1 (en) 2009-05-21
CA2603106A1 (en) 2006-10-05
JP4554675B2 (ja) 2010-09-29

Similar Documents

Publication Publication Date Title
JP4554675B2 (ja) 通信制御装置及び通信制御システム
JP4554671B2 (ja) 通信制御装置
JP4087427B2 (ja) データ処理システム
JPWO2006087837A1 (ja) 通信制御システム
JP4571184B2 (ja) 通信管理システム
WO2008062542A1 (fr) Appareil de commande de communication
JP4319246B2 (ja) 通信制御装置及び通信制御方法
WO2006087837A1 (ja) 通信制御装置及び通信制御システム
KR20080017046A (ko) 데이터 프로세싱 시스템
JP5156892B2 (ja) ログ出力制御装置及びログ出力制御方法
JPWO2009066347A1 (ja) 負荷分散装置
WO2008075426A1 (ja) 通信制御装置及び通信制御方法
JP4638513B2 (ja) 通信制御装置及び通信制御方法
JPWO2009066343A1 (ja) 通信制御装置及び通信制御方法
JPWO2009066344A1 (ja) 通信制御装置、通信制御システム及び通信制御方法
KR20070121806A (ko) 통신 제어 장치 및 통신 제어 시스템
JPWO2009069178A1 (ja) 通信制御装置及び通信制御方法
JPWO2009066349A1 (ja) 通信制御装置及び通信制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007505311

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2603106

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 2005727698

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 200580049496.0

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020077024645

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Ref document number: RU

WWP Wipo information: published in national office

Ref document number: 2005727698

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11910240

Country of ref document: US