1. Field of the Invention
This invention is related to the field of systems and methods for preventing, deterring and detecting the unauthorized duplication of digital information, such as digital information distributed on optical media. The method relies upon a computing device executing validation code, either stored on the media itself or stored in firmware, volatile device memory provided from an external store or network transaction, or non-volatile device memory within the device, prior to allowing full access to the protected content.
2. Description of the Related Art
The electronic publishing industry, which publishes application software, computer games, appliance-console games, movies, and music on optical media is facing a growing and serious problem; namely, the piracy, unauthorized modification, and use of digital content. Since digital content itself is in essence a sequence of binary 1's and 0's, it may often be copied exactly, wherein a copy of these “bits” is identical in every way to the original, and since the tools that enable such copying are becoming more readily available, the industry is facing ever-increasing losses. Such losses may include the unauthorized duplication of a unit of optical media containing a game, a word processing program, an E-Book, a movie, or musical content.
A number of mechanisms are currently available that may be used to limit or prevent unauthorized access to digital content, including those approaches related to optical media manufacturing, modification, and protection thereof.
The most popular among these methods include methods that insert data errors into the media at the time of manufacture by producing actual bit patterns that are technically out of conformance with published standards and specifications (originally such as those set by Philips Corporation in their CD specification documents sometimes referred to as the “Red Book”, “Orange Book”, and other industry-standards-book names). In theory, the errors cannot be reproduced by copying processes or devices if those devices or processes are themselves specification conformant. However, such approaches are limited in that they do not take into account that while these bit patterns are not officially sanctioned and not specification conformant, the approach relies on unenforceable voluntary specification compliance. Even as recently as a few years ago, most device manufacturers were in fact working very hard to be specification conformant, and most copy software was also conformant, so these protective methods were effective for a period of time. However, it was realized that by making minor changes to the devices and software, they could be made to copy nearly everything, even protected titles. This resulted in sales of more devices, more copying software, and, of course, more blank media, and such devices are not in any way illegal. Certain usage is, but that is the responsibility of the purchaser. A slippery slope of sorts, but piracy is ubiquitous and part of the reason why many segments of industry and society derive financial benefit from the act of piracy. Devices have intentionally been created which ignore these specification deviations, as have software programs dedicated to copying media such as the popular “BlindRead” and “CloneCD” software products. Examples of devices that deviate from the specifications are for example CD-R and CD-RW drives manufactured under the name “Lite-On” or “Liteon”, or devices made by industry giant “Plextor”, which are engineered to copy and reproduce all bits on a disc exactly, regardless of specification conformance. Since the methods mentioned above rely on conformance to specifications and on industry consortia applying pressure to manufacturers and software companies to cause them to comply with the specifications, they are inherently flawed, because any number of such companies can, and have, carved themselves a perfectly legal market niche by breaking ranks, doing just the opposite and creating devices optimized for such unauthorized duplication usage. If copying of a medium is physically possible, then it will be copied and distributed. This is the significant challenge faced in this field; to create media authentication mechanisms that depend on detection of repeatable, measurable media properties, and which do not depend on voluntary specification compliance across a broad set of industries.
Conventional implementations of some significance include methods that depend on the existence of media errors and the detection of these errors in order to authenticate the media. These historic methods relied, as described above, upon cooperation and compliance from the makers of copying software and makers of the drives themselves. The intentionally-generated errors used by these approaches were sometimes chosen to be illegal and/or outside the appropriate specification, and the cooperating parties were encouraged to ship only those products that would ignore, or fail to fully, or correctly, copy the bit patterns. Since any and all bit patterns are inherently copyable, it was only a matter of time before one or more of these cooperating parties broke ranks and created copy software (Blind Read, Clone CD for example) and media drives (Plextor, Lite-On) that could generate an exact copy of these “uncopyable errors”, invalidating the entire class of protection technologies based on this approach. The very failing of these methods lies in that the property they detected and depended upon can be wholly, or sufficiently copied by digital means. Such prior art “Backup-Resistant” or “Copy Protected” digital media that relies upon validation code executing on a general purpose device, is able to be wholly copied if all available bits of data relied upon by the validation algorithm can be accurately duplicated at a fundamentally low enough level onto recordable media and subsequently read on legacy devices.
A class of these authentication methods are restricted to protecting optical media intended to be used in general purpose computing devices. Such media includes a wide variety of formats such as CD-ROM, CDR, CDI, CDRW, DVD-ROM, DVD-RAM, DVD+, DVDR, CD+ (also called CDPlus or Enhanced CD, or Blue Book). Other such authentication methods can protect content on Audio and Video CD's and DVD's by applying the above methods to algorithmic logic resident in firmware or non-volatile memory within the playback device, itself a computing device whose usage is much like an appliance.
Despite such developments, no current validation methods succeed at preventing accurate duplication of such protected media and the data on the media, either intended for use on general purpose computers, such as mass-produced “stamped” optical digital formats including CD-ROM, CDR, CDI, DVD-ROM, and CD+, or on appliance devices, consumer players, and game consoles.
The present invention provides a system and method for authentication that overcomes the limitations of the conventional approaches. The system and method of the present invention can be utilized on current media formats, as well as future optical formats beyond those mentioned above, and on both media destined for general purpose computing devices (such as personal computers) and appliance computing devices (including but not limited to game console devices, DVD and CD players).
The present invention is directed to an authentication method that detects whether digital information stored on rotating optical media is the original version or a duplicate copy by timing analysis of specific data transfers. Timing measurement and quantification may employ accessing the media at a specific rotation rate if possible, or permitted, on the optical media compatible device. Following the authentication process based on the data transfer rate the system may respond by preventing unrestricted usage, by allowing such usage in whole or in part, or may be merely informative.
The present invention relies upon the detection of especially problematic locations, or anomaly regions, on the original media that a reading device would encounter minor difficulty in reading. The anomaly regions do not necessarily resulting an absolute failure by the device to read the media, or do not necessarily generate any recoverable, or unrecoverable device errors. Rather, the device reacts by attempting to re-read read the information by rotating the media past the read head additional times, or perhaps not attempting to re-read, but rather slowing down the rotation rate of the device, or both. Many contemporary optical media devices do this automatically, at a very low level, even when error correction and error handling is disabled by means of device firmware commands.
Such anomaly regions can be introduced in a diverse number of ways on the top, bottom, or both, surfaces of the media, by any of a number of methods. The anomaly regions may be positioned directly under the read head. Alternatively, they may be positioned such that incidental effects of adjacent track areas interfering with the current track due to refraction effects, polarization effects, or other optical anomalies, may be employed. The anomaly regions may be present during initial creation of the media, or alternatively may be added following replication. A number of techniques for introducing such anomaly regions have been demonstrated. Duplicated media currently utilizes discrete bits and rigidly defined waveforms in data storage representations. Copying devices and associated software cannot adequately replicate such marginally readable anomaly regions.
The invention embodies estimating the anticipated transfer rate with precision and comparing the expected data transfer rate with the measured data transfer rate. Subtle data transfer rates and associated rate changes are detected over time, for example by a general purpose computing device. Such computing devices usually containing a wide variety of reading devices from various manufacturers.
The present invention is intended to prevent, deter and/or detect the existence of unauthorized duplicates of digital information of all types, for example, such digital information as having been originally distributed on optical media of all types.
The devices referred to as read or read/write devices in this context include Compact Disc (CD, CD-R, CD-RW), DVD (all types including DVD-R and DVD-RW), other multi-layer and/or multi-sided media, or any other optical media devices and media as used on such systems. The media referred to may comprise CD, CD-R, CD-RW, DVD and all other variants of disc-shaped single-sided and double-sided media. The present invention is equally applicable to other media types, for example, card-shaped media, other shapes of media, flat or otherwise, in any appropriate reading device for that media, attached to any form of computing device. For example a keycard badge and keycard badge reader would fall under the definition of media (card), drive (reader), and computing system (device the reader is connected to which determines authenticity). This method applies equally well to other forms of data storage media, such as magnetic hard disc drives.
In particular the present invention is related to systems and methods that detect duplicates of original optical media and/or subsequent use of such unauthorized duplicate copies via optical media devices such as those as found on computer systems and consumer-appliance systems. This process of detection is one that can discriminate between duplicates of the original media made by digital duplication processes and the original media itself.
The present invention provides mechanisms that yield measurement capabilities that can distinguish an original media from a copy of the media by means of measuring and quantifying into a reliable media signature the direct and indirect aspects of the performance of the media in the optical drive reading the media, in order to detect media-specific performance anomaly locations. Performance anomaly values may include such data as anomalous rotational speed variations, data rate, and the frequency and type of reported device status messages throughout the process of reading the optical media. Direct measurements may include any form of information that the optical media drive is capable of providing; this varies depending on how the optical media drive is instrumented and depending on what commands are recognized by on-board firmware. Such direct measurements include information about the drive's on-board cache buffer status, the actual rotational speed of the disc within the drive, device status, the device's intended rotational speed, and direct access to data being read without physical caching. Indirect measurements are performed outside the optical media drive, at the system and device driver level, and may include such items of information as the rotational speed of the drive (for example calculated inferentially based on cache performance if direct access to the cache is disallowed), cache status (for example calculated inferentially based on cache performance if direct access to the cache is disallowed), and reported device status. Indirect measurement capabilities such as these may require the services of additional invention mechanisms that filter out other system activities and effects in order to more accurately infer the actual performance and status of the device. For reliability, these event filtration mechanisms are used throughout the system to clarify analysis of the optical media instance performance. This anomaly signature can take the form of a single anomaly, or alternatively a collection of multiple anomaly locations. Data may be encoded by expressing values based on the relationships between the locations and on the degree of the effect on performance a given anomaly has at each location.
The media as successfully identified and read according to the systems and methods of the present invention may include measurable or perceptible areas of performance variation. In one example, the reading optical drive may at times only be capable of delivering a fractional amount of its expected I/O data transfer performance. This fractional performance variation, whether as exhibited in a single instance, or over time, forms the basis of a unique per-unit-of-optical-media performance signature. The inverse may also be deliberately employed, such as common media areas being slower, and detection areas being faster to access. The ability to detect this, and to discriminate and filter actual performance metrics from unrelated system events is challenging. These anomaly locations may be present on the media as a result of the manufacture process (such as non-standard deviations formed during manufacture, or anomaly locations intentionally integrated into the manufacturing process), or, alternatively, the media may be physically modified following the manufacturing process. These anomaly locations may also be present unintentionally or forensically as a result of the “handling history” of a unit of optical media (for example being scratched due to rough handling). These anomaly locations may need not be areas of unreadable, incorrect or damaged data, and may be introduced in many different manners including but not limited to rotationally unbalanced media, optical path interference, or other physical phenomenon that affect readability. The systems and methods of the present invention are concerned with the detection of any and all such media signatures regardless of how they came to be on the media.
In this manner, the present invention does not depend upon the incorporation of unreadable media error block locations or other unrecoverable device and media errors as utilized by many of the conventional methods described above. Nor does the present invention depend upon the detection of media anomalies that are deliberate non-standard bit or wave patterns that are interpreted by the device at higher levels (tokenized) differentially. The present invention farther does not depend on the existence or absence of the non-standard tokenized bit patterns that legacy optical media recorders have difficulty in recording.
Data transfer rates can be tracked over time across a range of addressable blocks. The authentication signature as media performance varies over time may be visualized as a series of curves, of valleys in an otherwise ascending (as the drive spins up) or flattening (when the drive is operating at maximum drive speed) slope. By contrast with such performance anomaly locations, unrecoverable error locations such as those used in historic prior art methods represent sustained periods of zero bytes per time unit performance, and exhibit a substantially vertical slope. This indicates an utter failure to read for a measurable period of time, which may be visualized as a flat line at zero. Any such areas of zero bytes per time unit performance caused by any event of any kind are not considered to represent a valid signature. According to the present invention, valid anomaly signatures do not exhibit unrecoverable reported errors during validation, as do the conventional approaches. Note that in such conventional approaches wherein fabricated media errors disallow the reading of any data from that location, it is easily possible to duplicate all such bit patterns today using available optical media copy utilities, and such ease of replication can compromise the effectiveness of authentication procedures.
In a first aspect, the present invention is directed to a method for authenticating digital media. Transfer rate of read data resulting from the reading of valid data stored on a digital medium at a physical location is monitored. The presence of an anomaly region on the digital medium corresponding to the physical location of the valid data on the digital medium is determined from the monitored transfer rate. A determination is made as to whether the digital media is authentic based on a characteristic of the anomaly region.
The digital medium may comprise various forms of readable media, for example optical and magnetic digital media. The transfer rate may be monitored in real time, as the read data is read from the digital medium, and/or following reading of the read data from the digital medium. The monitored data transfer rate may be estimated, and the presence of the anomaly region may be based on the estimated data transfer rate.
The anomaly region preferably causes a modification in the transfer rate of the read data. The modification results from multiple read operations of the data in the anomaly region.
The anomaly region may be located at a predetermined location on the medium, in which case, the characteristic is the position of the anomaly region in the read data. If the position of the anomaly region in the read data matches the predetermined position of the anomaly region, then the digital medium is determined as authentic. If the position of the anomaly region in the read data does not match the predetermined position of the anomaly region, then the digital medium is determined as non-authentic. User access to the digital medium may be permitted or forbidden, or some variation thereof, based on whether the medium is authentic.
The anomaly region in the read data may result from a difficulty in the reading of the read data by a reading device. The difficulty may arise from a modification that affects the readability of data on the medium, for example a mechanical, or optical, modification.
The steps for performing the authentication may reside in software code that is previously stored on the digital medium, prior to authentication. A known characteristic of the anomaly region may be previously stored on the digital medium, prior to authentication, in which case the determination as to whether the digital medium is authentic based on a characteristic of the anomaly region comprises comparing the characteristic to the known characteristic.
An anomaly region in the read data can be identified according to a modification in the transfer rate of the read data. The modification in the transfer rate may comprises a reduction in the transfer rate, in which case the anomaly region is identified based on the extent of the reduction. The modification in the transfer rate may comprise a reduction in the transfer rate, for example a gradual reduction, in which case, gradual reduction of the data rate results in the anomaly region being determined as a genuine anomaly region. The modification in the transfer rate may comprise a reduction in the transfer rate, for example a sudden reduction, in which case the sudden reduction of the data rate results in the anomaly region being determined as a false anomaly region, which may indicate that the medium is non-authentic. Alternatively, the modification in the transfer rate may comprise an increase in the transfer rate, and the characteristic is determined based on the increase.
In another alternative, the modification in the transfer rate may comprise a response comprising a gradual reduction in the data transfer rate followed by a sudden increase in the transfer rate to an increased transfer rate that is greater than a maximum transfer rate, in which case the response indicates that an apparent anomaly region generated by an external source has been detected. The apparent anomaly region may be identified and filtered such that the step of determining whether the digital medium is authentic based on a characteristic of the anomaly region is not based on the apparent anomaly region.
The determination as to whether the digital medium is authentic is based on a characteristic of multiple anomaly regions, or, alternatively, on multiple characteristics of the same, or multiple, anomaly region(s).
The foregoing and other objects, features and advantages of the invention will be apparent from the more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention
The systems and methods of the present invention and various embodiments thereof may be implemented on any of a number of media reading device platforms, including, for example, a personal computer or general purpose digital computer 7 as shown in
The various forms of media to which the systems and method of the present invention are applicable include those in which the media is comprised of a data-bearing surface attached to, or housed within, a reading device, one or both of which is moving with respect to the other. In one popular class of such devices the media rotates and the reading device addresses one or both sides of the media surface by moving a reading head with respect to the rotating data-bearing surface. For example, an optical media disc such as a Compact Disc has data arranged in a spiral pattern and the data is read from the center outwards to the perimeter. The disc rotates and the reading head follows the spiral track of increasing radius by moving the reading device outwardly from the rotational center of the disc. When the data is more difficult to read, for example obscured by a physical deformation of the disc, the reading device may slow its rotational speed and/or re-read portions of the data. The operation of re-reading may occur by keeping the reading head in a fixed location and not moving it in a direction away from the center of the disk as the disc rotates, causing it to re-read portions of the spiral or arc of data. In many cases the reading device will have such retry logic implemented at a very low level and may silently retry and/or slow down the reading operation without issuing any error.
Such slowdown of the media reading operation may be initiated in cases where the media contains instances of anomalies that result in a modification of reading performance. These anomaly locations, or regions, may be present on the media as a result of the manufacture process (such as non-standard media surface, or subsurface, deviations formed during manufacture, or anomaly locations intentionally integrated into the manufacturing process), or, alternatively, the media may be physically modified following the manufacturing process. These anomaly locations may also be present unintentionally or forensically as a result of the “handling history” of a unit of optical media (for example being scratched due to rough handling). These anomaly locations need not necessarily comprise instances of entirely unreadable, incorrect or damaged data, but can instead modify the read performance of the reading device. The anomaly locations may be introduced on the media in many different ways, including, but not limited to, rotationally unbalanced media, optical path interference, or other physical phenomenon that affect readability. Such anomalies may take the form of non-standard physical surface media topology, or optical qualities of materials selected for the physical location corresponding to a data location on that media. Even something as simple as a single or multiple scratches or dents, on either, or both, surfaces of the media may be used to create the anomaly region. The systems and methods of the present invention are concerned with the detection of any and all such media anomaly signatures regardless of their source.
Devices that read rotating data storage media such as optical media usually attempt to read the data on the media as quickly as possible, with error correction and retries enabled, unless a command is issued to the device requesting otherwise. Many such devices perform read operations with great tenacity, and in the event of any difficulty in reading, they will attempt to re-read the data one or more times before reporting an error, and, consequently, will slow the drive's rotational speed as necessary. This re-read of the data usually takes place automatically, and is initiated by the drive. Many such drives perform the retry and re-read operations even when given direct commands to disable error correction and retries. Virtually all drives will treat a successful re-read as a successful read and fail to report any error, even if their status is closely monitored.
Rather than requiring a detection of an outright error during the reading process, or an outright failure of the reading process, the systems and methods of the present instead analyze the drive's reading performance at times when the reading process does not fail or generate any errors, and from that performance divine the properties of the media being read.
As shown in the flow diagram of
After a predetermined amount of data has been read, the detection mechanism of the present invention begins to attempt to screen the read data in order to detect the bounds of an anomaly 11. Detection criteria for an example anomaly are described below in
At any point in time, the drive may be placed into an unusual state by the detection process of the present invention, and it may require reset to a known good state 13; the device commands to do so sometimes work, in some drives, but often multiple commands must be issued, for example in the case of very inexpensive drives, the drive can be reset most effectively by opening and closing the drive door, or by effectively remounting, or resetting, the media logically without opening the drive door. The process of the present invention can optionally make a determination as to whether the drive needs to be reset based on the performance and operational behavior exhibited. The process of discriminating and filtering actual anomaly locations from false ones (as discussed in detail below with reference to
As illustrated in
With reference to
While anomaly locations and their validation are an important aspect, the systems and methods of the present invention are capable of far more than merely identifying media as valid; the validation process can also be used to determine hidden encoded data values. This encoding is achieved using properties of the anomaly locations, for example their absolute and relative locations, their extent, and their severity. For example, a disc with 52 anomaly locations may be used to encode and represent the entire 26 character English alphabet, including lower case and capital letters. The data content of the disc is unrelated to this encoding. In this example, assume that no anomaly produces a fatal read error, and assume that the content of the disc is a software program that calculates one's income tax. Yet the location of each anomaly may be part of a meaningful, higher-level encoding. For example, a distance of one megabyte of data between anomaly locations may represent an encoded “a”, a distance of two megabytes between anomaly locations may represent an encoded “b”, three megabytes distance an encoded “c”, and so on. Further, the anomaly's severity may have meaning, for instance a distance of three megabytes between locations may represent a “c” but only of the anomaly is mild and produces a 25% slowdown in data transfer rate. If the anomaly is more severe and produces a slowdown of between 50% and 75% then it may represent an upper case, or capital, “C”. Other embodiments of this encoding technique are equally applicable to the present invention. This encoding technique is sufficient for small quantities of critical data, such as encryption keys and other data items that are important, but not large in size. The encoding is secure because a copy of the original disc cannot represent the slowdown property of the anomaly, and therefore, the critical information is completely lost in the copying process.
Transfer rate is described above as being an important measurement criterion. When the term “transfer rate” is referred to, what is really intended to be measured is the number of bytes transferred in a unit of time. In a real time measurement sense, the number of bytes (or kilobytes, thousands of bytes, or megabytes, millions of bytes) may be referred to as “bytes per second” or “k” per second. In a rolling historic window, looking back across some selected amount of historic time and smoothing, filtering, or averaging the sampled time values, an average, or alternatively, an aggregate transfer rate, is achieved. This aggregate transfer rate is also expressed in bytes per second or other “quantity per unit time” terms, but has been filtered so that performance spikes and deficits that are determined by the filtering logic (described in detail below with reference to
Alternatively the aggregate rate could be arrived it in similar historic fashion, where all 15 transfer rate values could be summed and it is assumed that over the 15 second period, the transfer rate was the sum total, because it represents the true output of the drive over that time period, and therefore, the spike in rate at sample 13 is then meaningful because it began and ended within that period and therefore the apparent slowdown in 12 was nulled out by the apparent speedup in samples 13 and 14 so that the overall aggregate data rate represents the device's actual performance during that 15 seconds.
Real-time measurement of the transfer rate requires an intelligent averaging routine capable of filtering out system-induced non-anomaly performance changes, whereas non real-time measurement using a historic “rolling window” looking back some number of units of time can make use of aggregate values because in the fullness of time these non-anomaly rate changes usually nullify each other. After all, in the example given above, the drive did not actually slow down during sample periods 12, 13 and 14, so that once the situation was rectified by sample 15, the historic view back 15 samples provides an accurate reflection of the amount of data the drive was able to transfer in that time period. Note that had there been an actual slowdown during sample periods 12, 13, and 14, assuming that the drive had been previously operating at full speed, the drive would not ever have been able to catch up during the 15 unit sample and the aggregate total would have been lower. The rolling historic window serves as a powerful analytical tool to truly understand and monitor the device data transfer rate.
Based on the performance signature disclosed in
Unauthentic anomalies in this example above may comprise system performance deficits caused by system resource issues other than media readability, resulting in an inadequate input/output subsystem performance. For example the system may fall behind in read requests to a CD drive and return an apparent data rate of 300 kb/sec, when the drive in fact is operating at a rate much faster than that. Eventually when the system releases a portion of its resources to the input/output subsystem controlling the read operation, the pent up read data will burst at rates much higher than the drive would ever be capable of, and the acceleration in increase of transfer rate would occur at a rate that is not physically possible in a rotating media drive. The overall data rate and the rate of acceleration (depth, height, and/or slope as in the discussion of the curve above) have a relationship, one in which a true data rate slowdown causes an overall reduction in the amount of data transferred over time, whereas an apparent but eventually-determined false data transfer rate slowdown caused by external system events such as large network file transfers can be shown to not show such a reduction over time, if the time window is large enough to encompass the entire false slowdown and the corresponding data burst that was buffered too quickly which inevitably follows such a false slowdown. A specific example is the copying of a large file across a network to such a system while the system was in the process of authenticating media. The network transfer might, under some circumstances, result in a temporary slowdown in the apparent reading performance, and it is preferred that the system be able to recognize such occurrences as not being representative of a true anomaly location.
For example if one were to take a hammer and nail and punch holes or dents into an optical disc, the areas in the center of the punched hole would probably be full of severe, unrecoverable errors, which would cause a read attempt to time out and return a severe error status. Such areas of destruction are far from ideal for the purpose of this invention, and are preferably not used for authentication purposes because media drives sometimes do not recover from reading such areas, and such areas may be digitally copied with ease anyway, so they offer no added security. The systems and methods of the present invention however, as explained elsewhere in this document, does not make use of such areas of unrecoverable error or data destruction, and is not concerned with them. What can be observed, however, is that immediately adjacent such areas of total destruction are often anomalous slowdown zones, as the reading process begins to scan the region of damage. An ideal implementation of an anomaly would consist exclusively of the data rate slowdown region, and no such unrecoverable errors, but in this example an anomalous area was introduced by non-ideal means and the areas of unrecoverable error are undesirable artifacts. No such area of slowdown cannot be transferred to a copied disc, therefore in a situation where the reading process of an original disc may have been observed to have a sequence of “normal data rate→slowed data rate→hard error, no data rate at all”, where “no data rate at all” was not a factor in the authentication logic decision, the copy will be observed to perform as “normal data rate→hard error, no data rate at all” without any such data rate slowdown transition. Since lack of such a data rate slowdown transition by definition means that there are no data rate anomaly zones, no digital copy of a disc can possess anomalous data rate regions.
Only the original disc can exhibit such slowed rates of data transfer in specific locations, such as those bordering any such regions of physical alteration, since present digital disc-copying processes are incapable of making such physical modifications to the resulting output disc copy. In one embodiment, the data associated with points 35, 36, 37 are not used for authentication purposes, since the determination is made as of the processing of data related to point 34 that this anomaly location is not authentic.
As shown in
In this discussion, terms such as “apparent anomaly”, “false anomaly” and “valid or true anomaly” are used. The process of determining whether a region of the media being read is actually an anomaly results in the anomaly being classified as an “apparent anomaly” when it has some of the characteristics of an anomaly but the remainder of the analysis process (involving an evaluation of performance data before, during, and after the suspected anomaly location) indicates otherwise. A “false anomaly” is one which was initially deemed to be “apparent” but then determined by further analysis to be induced either by system issues or counterfeit copies of the original anomalous media. Therefore an anomaly is usually considered “apparent” before subsequently being judged either “authentic/true” or “false”. An example of a non-anomaly which may immediately be determined to be “false” without ever being considered “apparent” would arise from the reading of a disc copy made by certain digital copy tools, in which the performance rate drop-off is immediate and results in a transition from the observed aggregate or average rate of a non-anomaly disc to a rate of zero, wherein the drive encounters an unrecoverable error and is unable to read anything from that location. In such cases there is no zone of transition between normal reading and inability to read, no area of performance rate slowdown, and this is a clear indication that the disc is a copy.
As shown in
The following code example illustrates the process by which real performance anomalies can be discriminated from false or apparent anomalies.
In order to capture the data measurements needed to monitor the data transfer rate, low-level access is required for interfacing with, and controlling, system devices. Authors of operating systems and device driver interfaces for computing devices typically allow for standard programmatic access at high levels of indirection from the actual device. This is intended to provide strong general device utility to the typical user, but this architectural indirection can be too abstracted and too far removed from the actual device, making it difficult or impossible to discern actual device performance. For example, a read operation at such a high level of interface might involve a reading process with a 10 megabyte buffer of data at some point but would provide no ability to know how fast each 512 k was read. Therefore, it is preferred that the systems and methods of the present invention find ways to communicate with the device at lower levels than standard interfaces. In many cases it is possible to access documented operating system interfaces at these lower levels and access the device in much the same level of detailed control as the device driver itself. This can be done in a fashion that bypasses the device driver, and at the same time device driver access can be optionally shunted to disallow any other process from using the device during an authentication operation. The following discussion of
The flow diagram of
Below the standard input/output and vendor specific drivers are the uppermost extent of device type/class specific driver interfaces 59 (for example, CD versus hard disc versus tape), and the device class/type drivers themselves 60. Below these are the bus level interfaces 59 which reside logically above the bus type layer 60 which defines the bus or connection logical transport type (SCSI, IDE, ATAPI) for example). Below this is the lowest level of the driver model, the low-level device interface 63 and the associated driver code 64. Below that are the hardware interfaces themselves (SCSI, IDE ATAPI, IEEE 1394 (FireWire), USB, PCMCIA ATAPI) 65 and the actual hardware 66 (for example a drive) and within the hardware is the read only memory chip-set (alternatively flash or non-volatile programmable memory) which contains the device's configuration and identification information. As is clear from this example layered driver model, hindrance-free access to the device is primarily gained at the interface levels of 65, 66 and 67 direct to the device's ROM or other onboard storage memory. This carries with it a price, correspondingly more work as each layer is a level of added complexity and detail. However, a preferred embodiment of the present invention provides for maximum security by connecting to the device driver interface chain at the lowest level possible, 65, 66,67 and by also connecting at other upper interface levels 55, 57, 59 for example, and comparing query results. If the device is reporting the same performance and configuration and command information at all levels then that can be used as an indicator that the system is not as likely to be a tampered or compromised system. If the device driver interfaces report different values, then that is a strong indicator of a compromised system and or an emulated device, and protective functions can be invoked (such as refusing to authenticate the media under those circumstances, or by executing an alternative authentication method). This intimate connection to the driver layers and the device provide an excellent view into actual device performance and thereby provide the best possible data for the performance anomaly authentication process.
Read data 78 is read from the media disc itself 74, and optionally buffered in a resident physical buffer 76, before passing through a communication channel 78 into an optional system buffer 80 (either dedicated hardware memory within the system, system RAM, or combinations of both in varying amounts). The transfer rate analysis process and system 82 of the present invention 82 performs device control commands, retrieves device status, and reads data from the media reading device 72 using system interfaces 81 at whatever level of privilege required. Upon obtaining device transfer rate performance information by monitoring the data transfer rate 81 over time, the transfer rate analysis unit 82 makes a decision 83 as to whether the disc 74 is an original, and therefore valid, disc 84, or else is a non-authentic copy 85.
The process by which this determination is made, in its simplest form, involves reading data 86 from the optical media 74. The reading process commences at a disc location 87 and ends at second disc location 88 (which may include the entire contents of the disc between them), and the data read 78 is monitored as it is received by the transfer rate analysis unit. If an anomaly 75 is present on the media 88, then the data rate will drop, during the intersection of the extent of read data 86 and the anomaly location 75, as described above.
A more specific example flow is now described with reference to
Once the read device 72 is set to an appropriate and known initial state, commands 81, 77 are issued to select an optimal block size for the device; the determination of what is optimal is done by means of examining the return status 79, 81 of the command and by also attempting to read and examine the actual data rate in response to read commands 78, 81 at various block sizes. When possible, the transfer rate analysis unit 82 gains further control over the device 72 by issuing a device command 81, 77 that requests the device to disable excessive automatic retry attempts. Most read devices can disable some amount of retry operations but their response varies to a degree, even when commanded not to retry. The systems and methods of the present invention are operable regardless of whether the read device 72 ignores or obeys this command. The device's cache 76, 80 is then flushed, by means of direct commands 81, 77 or by causing the device to read an area of the media 74 that is not going to be tested for anomaly behaviors (in other words, in this example of
Assuming the disc 74 has multiple anomaly regions 75 these steps may be repeated for each such anomaly 75, and once they have been discovered and determined to be valid, the data resulting form the anomaly regions may also be analyzed to determine if the regions, or their severity, or their positional relationship has any bearing on a hidden encoding value as discussed above. In conjunction with this post-test process of analysis performed by the transfer rate analysis unit 82, the read device 72 may be reset to its prior state by means of device commands 77 so that it can be reliably deployed by other system processes.
The inventive concepts discussed above can be used in conjunction with other copy protection methods that are used to determine the originality of a digital medium and to prevent unauthorized copying thereof.
While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made herein without departing from the spirit and scope of the invention as defined by the appended claims.
This application claims the benefit of U.S. Provisional Application No. 60/349,075, filed Jan. 16, 2002; U.S. Provisional Application No. 60/340,506, filed Dec. 14, 2001, and U.S. Provisional Application No. 60/313,952, filed Aug. 21, 2001.
Number | Name | Date | Kind |
---|---|---|---|
4168396 | Best | Sep 1979 | A |
4176247 | Englund | Nov 1979 | A |
4223050 | Nyfeler et al. | Sep 1980 | A |
4246638 | Thomas | Jan 1981 | A |
4263634 | Chenoweth et al. | Apr 1981 | A |
4279852 | Engelmann | Jul 1981 | A |
4333113 | Kalinowski | Jun 1982 | A |
4335173 | Caraballo | Jun 1982 | A |
4336981 | Mori | Jun 1982 | A |
4433207 | Best | Feb 1984 | A |
4446519 | Thomas | May 1984 | A |
4453074 | Weinstein | Jun 1984 | A |
4454594 | Heffron et al. | Jun 1984 | A |
4458315 | Uchenick | Jul 1984 | A |
4462076 | Smith, III | Jul 1984 | A |
4465901 | Best | Aug 1984 | A |
4471163 | Donald et al. | Sep 1984 | A |
4479579 | Miklos | Oct 1984 | A |
4495526 | Baranoff-Rossine | Jan 1985 | A |
4510508 | Janssen | Apr 1985 | A |
4513174 | Herman | Apr 1985 | A |
4528588 | Lofberg | Jul 1985 | A |
4558176 | Arnold et al. | Dec 1985 | A |
4573119 | Westheimer et al. | Feb 1986 | A |
4577289 | Comerford et al. | Mar 1986 | A |
4584641 | Gugliemino | Apr 1986 | A |
4590470 | Koenig | May 1986 | A |
4593353 | Pickholtz | Jun 1986 | A |
4595950 | Lofberg | Jun 1986 | A |
4634807 | Chorley et al. | Jan 1987 | A |
4644493 | Chandra et al. | Feb 1987 | A |
4649233 | Bass et al. | Mar 1987 | A |
4652990 | Pailen et al. | Mar 1987 | A |
4658093 | Hellman | Apr 1987 | A |
4670857 | Rackman | Jun 1987 | A |
4677604 | Selby et al. | Jun 1987 | A |
4683553 | Mollier | Jul 1987 | A |
4683968 | Appelbaum et al. | Aug 1987 | A |
4685055 | Thomas | Aug 1987 | A |
4695993 | Takagi et al. | Sep 1987 | A |
4698695 | Kosaka et al. | Oct 1987 | A |
4724492 | Kosaka et al. | Feb 1988 | A |
4734796 | Grynberg et al. | Mar 1988 | A |
4740890 | William | Apr 1988 | A |
4742543 | Frederiksen | May 1988 | A |
4747139 | Taaffe | May 1988 | A |
4752554 | Sato et al. | Jun 1988 | A |
4757468 | Domenik et al. | Jul 1988 | A |
4757534 | Matyas et al. | Jul 1988 | A |
4761775 | Murakami | Aug 1988 | A |
4785361 | Brotby | Nov 1988 | A |
4796181 | Wiedemer | Jan 1989 | A |
4796220 | Wolfe | Jan 1989 | A |
4800548 | Koishi et al. | Jan 1989 | A |
4839883 | Nagata et al. | Jun 1989 | A |
4849836 | Kachikian | Jul 1989 | A |
4849927 | Vos | Jul 1989 | A |
4858036 | Ginkel | Aug 1989 | A |
4866769 | Karp | Sep 1989 | A |
4868805 | Hanami et al. | Sep 1989 | A |
4879704 | Takagi et al. | Nov 1989 | A |
4891504 | Gupta | Jan 1990 | A |
4893883 | Satzler | Jan 1990 | A |
4903296 | Chandra et al. | Feb 1990 | A |
4907216 | Rijnsburger | Mar 1990 | A |
4910725 | Drexler et al. | Mar 1990 | A |
4942565 | Lagadec | Jul 1990 | A |
4949331 | Maeda et al. | Aug 1990 | A |
4959861 | Howlette | Sep 1990 | A |
4961182 | Saito et al. | Oct 1990 | A |
4967403 | Ogawa et al. | Oct 1990 | A |
4975898 | Yoshida | Dec 1990 | A |
4980782 | Ginkel | Dec 1990 | A |
4991163 | Tokushuku et al. | Feb 1991 | A |
5004232 | Wong et al. | Apr 1991 | A |
5027396 | Platteter et al. | Jun 1991 | A |
5060219 | Lokhoff et al. | Oct 1991 | A |
5065429 | Lang | Nov 1991 | A |
5073925 | Nagata et al. | Dec 1991 | A |
5122912 | Kanota et al. | Jun 1992 | A |
5150339 | Ueda et al. | Sep 1992 | A |
5153861 | Maeda et al. | Oct 1992 | A |
5155768 | Matsuhara | Oct 1992 | A |
5159633 | Nakamura | Oct 1992 | A |
5168482 | Aratani et al. | Dec 1992 | A |
5179547 | Komaki et al. | Jan 1993 | A |
5191611 | Lang | Mar 1993 | A |
5204152 | Yoshizawa | Apr 1993 | A |
5224087 | Maeda et al. | Jun 1993 | A |
5243423 | DeJean et al. | Sep 1993 | A |
5255007 | Bakx | Oct 1993 | A |
5267311 | Bakhoum | Nov 1993 | A |
5276738 | Hirsch | Jan 1994 | A |
5285440 | Matsuda | Feb 1994 | A |
5306349 | Nee | Apr 1994 | A |
5312663 | Kosinski et al. | May 1994 | A |
5323367 | Tamura et al. | Jun 1994 | A |
5350923 | Bassignana et al. | Sep 1994 | A |
5371792 | Asai et al. | Dec 1994 | A |
5379433 | Yamagishi | Jan 1995 | A |
5392351 | Hasebe et al. | Feb 1995 | A |
5400319 | Fite et al. | Mar 1995 | A |
5400403 | Fahn et al. | Mar 1995 | A |
5410527 | Ashinuma | Apr 1995 | A |
5412718 | Narasimhalu et al. | May 1995 | A |
5418852 | Itami et al. | May 1995 | A |
5424102 | Mizukuki et al. | Jun 1995 | A |
5430281 | Lentz et al. | Jul 1995 | A |
5430284 | Numazaki | Jul 1995 | A |
5457668 | Hibino et al. | Oct 1995 | A |
5457746 | Dolphin | Oct 1995 | A |
5463604 | Naito | Oct 1995 | A |
5473584 | Oshima | Dec 1995 | A |
5475664 | Shimzume et al. | Dec 1995 | A |
5489768 | Brownstein et al. | Feb 1996 | A |
5513169 | Fite et al. | Apr 1996 | A |
5513260 | Ryan | Apr 1996 | A |
5538773 | Kondo | Jul 1996 | A |
5541904 | Fite et al. | Jul 1996 | A |
5552098 | Kudo et al. | Sep 1996 | A |
5563947 | Kikinis | Oct 1996 | A |
5569522 | Steininger et al. | Oct 1996 | A |
5570339 | Nagano | Oct 1996 | A |
5572507 | Ozaki et al. | Nov 1996 | A |
5579113 | Papst et al. | Nov 1996 | A |
5587984 | Owa et al. | Dec 1996 | A |
5590111 | Kirino et al. | Dec 1996 | A |
5596639 | Kikinis | Jan 1997 | A |
5661703 | Moribe et al. | Aug 1997 | A |
5696757 | Ozaki et al. | Dec 1997 | A |
5698833 | Skinger | Dec 1997 | A |
5703858 | Mitchell et al. | Dec 1997 | A |
5706047 | Lentz et al. | Jan 1998 | A |
5706266 | Brownstein et al. | Jan 1998 | A |
5708649 | Kamoto et al. | Jan 1998 | A |
5714935 | Ryan, Jr. | Feb 1998 | A |
5719937 | Warren et al. | Feb 1998 | A |
5724327 | Timmermans et al. | Mar 1998 | A |
5737286 | Timmermans et al. | Apr 1998 | A |
5754649 | Ryan et al. | May 1998 | A |
5761301 | Oshima et al. | Jun 1998 | A |
5770348 | Kondo | Jun 1998 | A |
5778420 | Shitara et al. | Jul 1998 | A |
5799145 | Imai et al. | Aug 1998 | A |
5805551 | Oshima et al. | Sep 1998 | A |
5807640 | Ueno et al. | Sep 1998 | A |
5808995 | Nakamura et al. | Sep 1998 | A |
5809006 | Davis et al. | Sep 1998 | A |
5812501 | Moribe et al. | Sep 1998 | A |
5815484 | Smith et al. | Sep 1998 | A |
5818812 | Moribe et al. | Oct 1998 | A |
5822291 | Brindze et al. | Oct 1998 | A |
5826156 | Natsume et al. | Oct 1998 | A |
5875156 | Ito et al. | Feb 1999 | A |
5881038 | Oshima et al. | Mar 1999 | A |
5886979 | Moribe et al. | Mar 1999 | A |
5905798 | Nerlikar et al. | May 1999 | A |
5930209 | Spitzenberger et al. | Jul 1999 | A |
5930210 | Timmermans et al. | Jul 1999 | A |
5959954 | Yamamuro | Sep 1999 | A |
5960398 | Fuchigami et al. | Sep 1999 | A |
5963909 | Warren et al. | Oct 1999 | A |
5982886 | Itami et al. | Nov 1999 | A |
6011765 | Nishio | Jan 2000 | A |
6011772 | Rollhaus et al. | Jan 2000 | A |
6029259 | Sollish et al. | Feb 2000 | A |
6052465 | Gotoh et al. | Apr 2000 | A |
6101476 | Kamatakis et al. | Aug 2000 | A |
6104679 | Sollish | Aug 2000 | A |
6108296 | Kajiyama et al. | Aug 2000 | A |
6122739 | Kutaragi et al. | Sep 2000 | A |
6167136 | Chou | Dec 2000 | A |
6204981 | Ogino et al. | Mar 2001 | B1 |
6226244 | Timmermans et al. | May 2001 | B1 |
6262967 | Kajiyama et al. | Jul 2001 | B1 |
6285764 | Gotoh et al. | Sep 2001 | B1 |
6298138 | Gotoh et al. | Oct 2001 | B1 |
6304971 | Kutaragi et al. | Oct 2001 | B1 |
6311305 | Sollish et al. | Oct 2001 | B1 |
6338933 | Lawandy et al. | Jan 2002 | B1 |
6366969 | Hanson | Apr 2002 | B1 |
6425098 | Sinquin et al. | Jul 2002 | B1 |
6452885 | Yeo | Sep 2002 | B1 |
6477124 | Carson | Nov 2002 | B2 |
6532201 | Hogan | Mar 2003 | B1 |
6553511 | DeKoning et al. | Apr 2003 | B1 |
6589626 | Selinfreund et al. | Jul 2003 | B2 |
6631108 | Hogan | Oct 2003 | B1 |
6638593 | Selinfreund et al. | Oct 2003 | B2 |
6641886 | Bakos et al. | Nov 2003 | B1 |
6654331 | Wilson et al. | Nov 2003 | B1 |
6694451 | Atkinson | Feb 2004 | B2 |
6711106 | Sasaki | Mar 2004 | B2 |
6718501 | Brody et al. | Apr 2004 | B1 |
6733950 | Breitung et al. | May 2004 | B2 |
6747930 | Weldon et al. | Jun 2004 | B1 |
6775227 | Watanabe et al. | Aug 2004 | B2 |
6826137 | Lee et al. | Nov 2004 | B1 |
6838145 | Drew et al. | Jan 2005 | B2 |
6958960 | Sasaki | Oct 2005 | B2 |
20010024411 | Pirot et al. | Sep 2001 | A1 |
20020001690 | Selinfreund et al. | Jan 2002 | A1 |
20020048225 | Shinoda | Apr 2002 | A1 |
20020069389 | Sollish et al. | Jun 2002 | A1 |
20020114265 | Hart, III et al. | Aug 2002 | A1 |
20020142248 | Dubois et al. | Oct 2002 | A1 |
20020162075 | Talagala et al. | Oct 2002 | A1 |
20020181369 | Yeo | Dec 2002 | A1 |
20030072447 | Saliahov | Apr 2003 | A1 |
20030147339 | Selinfreund et al. | Aug 2003 | A1 |
20050050343 | Selinfreund et al. | Mar 2005 | A1 |
20050063256 | Selinfreund et al. | Mar 2005 | A1 |
20050083829 | Selinfreund et al. | Apr 2005 | A1 |
20050084645 | Selinfreund et al. | Apr 2005 | A1 |
20050153109 | Drew et al. | Jul 2005 | A1 |
20060023600 | Selinfreund et al. | Feb 2006 | A1 |
Number | Date | Country |
---|---|---|
196 02 804 | Jul 1997 | DE |
19602804 | Jul 1997 | DE |
0731454 | Sep 1996 | EP |
0 987 705 | Mar 2002 | EP |
08 096508 | Apr 1996 | JP |
WO9621928 | Jul 1996 | WO |
WO 9808180 | Feb 1998 | WO |
WO 9841979 | Sep 1998 | WO |
WO9967085 | Dec 1999 | WO |
WO 0202301 | Jan 2002 | WO |
WO 0203106 | Jan 2002 | WO |
WO 0203386 | Jan 2002 | WO |
WO 02082429 | Oct 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20030046545 A1 | Mar 2003 | US |
Number | Date | Country | |
---|---|---|---|
60349075 | Jan 2002 | US | |
60340506 | Dec 2001 | US | |
60313952 | Aug 2001 | US |