US9706076B2 - 3D printer steganography - Google Patents

3D printer steganography Download PDF

Info

Publication number
US9706076B2
US9706076B2 US14/712,159 US201514712159A US9706076B2 US 9706076 B2 US9706076 B2 US 9706076B2 US 201514712159 A US201514712159 A US 201514712159A US 9706076 B2 US9706076 B2 US 9706076B2
Authority
US
United States
Prior art keywords
identification information
printer identification
printed object
printed
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US14/712,159
Other versions
US20160337549A1 (en
Inventor
Robert Eero Nuuja
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
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 Xerox Corp filed Critical Xerox Corp
Priority to US14/712,159 priority Critical patent/US9706076B2/en
Assigned to XEROX CORPORATION reassignment XEROX CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NUUJA, ROBERT EERO
Publication of US20160337549A1 publication Critical patent/US20160337549A1/en
Application granted granted Critical
Publication of US9706076B2 publication Critical patent/US9706076B2/en
Assigned to CITIBANK, N.A., AS AGENT reassignment CITIBANK, N.A., AS AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: XEROX CORPORATION
Assigned to XEROX CORPORATION reassignment XEROX CORPORATION RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214 Assignors: CITIBANK, N.A., AS AGENT
Assigned to CITIBANK, N.A., AS COLLATERAL AGENT reassignment CITIBANK, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: XEROX CORPORATION
Assigned to JEFFERIES FINANCE LLC, AS COLLATERAL AGENT reassignment JEFFERIES FINANCE LLC, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: XEROX CORPORATION
Assigned to CITIBANK, N.A., AS COLLATERAL AGENT reassignment CITIBANK, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: XEROX CORPORATION
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32229Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image
    • B29C67/0051
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32288Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
    • H04N1/32293Repeating the additional information in a regular pattern
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/3232Robust embedding or watermarking
    • H04N1/32325Robust embedding or watermarking the embedded data being visible
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/444Restricting access, e.g. according to user identity to a particular document or image or part thereof
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing

Definitions

  • the presently disclosed embodiments are directed toward authenticating 3D-printed objects. However, it is to be appreciated that the present exemplary embodiments are also amenable to other like applications.
  • Conventional scanners can make digital copies of existing three dimensional objects. These digital copies can be manufactured by 3D printers.
  • 3D printers can be used to create 3-dimensional models of a person's mouth and teeth. These models can be used by 3D printers to create teeth, bridges, and other dental prosthetics that fit precisely.
  • a method for identifying a printing source of a 3D printed object comprises analyzing a 3D object print file for printing a 3D printed object to identify one or more candidate regions within a 3D printed object for insertion of printer identification information, and inserting computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions.
  • the method further comprises printing the 3D object with the printer identification information embedded in the one or more candidate regions.
  • a method of embedding printer identification information in a multi-material 3D printed object comprises analyzing a 3D object print file for printing a 3D printed object, identifying at least first and second materials for printing the 3D object, and identifying one or more candidate regions within a 3D printed object for insertion of printer identification information.
  • the method further comprises inserting computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions, and printing the 3D object with the printer identification information embedded in the one or more candidate regions.
  • the second material is deposited to embed the printer identification information in a candidate region within a layer of the first material, and the first material is deposited to embed the printer identification information in a candidate region within a layer of the second material.
  • a system that facilitates identifying a printing source of a 3D printed object comprises a processor arranged to analyze a 3D object print file for printing a 3D printed object, identify one or more candidate regions within a 3D printed object for insertion of printer identification information, and insert computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions.
  • the system further comprises a 3D printer that executes the print file with the inserted computer-executable code in order to print the 3D object with the printer identification information embedded in the one or more candidate regions.
  • FIG. 1 illustrates a method for encoding printer identification information in three dimensions using 3D printers, in accordance with one or more features described herein.
  • FIG. 2 illustrates a method of embedding printer identification information in a multi-material 3D printed object, in accordance with one or more aspects described herein.
  • FIG. 3 illustrates a system that facilitates identifying a printing source of a 3D printed object, in accordance with one or more features described herein.
  • FIG. 1 illustrates a method for encoding printer identification information in three dimensions using 3D printers, in accordance with one or more features described herein.
  • steganographic tracking dots are created by omission of certain voxels in a three dimensional pattern.
  • voxels or tracking dots are created in whichever material has the least utility in any particular area so that printed object integrity is not compromised.
  • the three dimensional steganographic patterns can be interlaced throughout the entire volume of the printed object. In another embodiment, the patterns are limited to certain areas of the object, such as its center or its surface. These three dimensional steganographic patterns are created such that the encrypted patterns can be decoded via physical or tomographic analysis of the final printed object.
  • a 3D object print file for printing a 3D printed object is analyzed to identify one or more suitable candidate regions within the 3D printed object for insertion of printer identification information.
  • computer-executable code descriptive of the printer identification information to be embedded is inserted into the 3D object print file for printing the printer identification information in the one or more candidate regions.
  • the 3D object is printed with the printer identification information embedded in the one or a plurality of candidate regions within the 3D object.
  • the printer identification information is embedded into the 3D printed object by omitting one or more voxels within the 3D printed object to form one or more structures within the 3D printed object.
  • the one or more candidate regions can be identified as being regions that do not affect the structural integrity of the 3D printed object so that the printing of the printer identification information does not degrade object performance. For instance, if the 3D object has a load-bearing portion, then candidate regions for insertion of the printer identification information can be identified in regions other than the load-bearing portion so that the voids created by voxel omission do not degrade the strength or integrity of the load bearing portion.
  • the printer identification information can be embedded as a 3D barcode within the 3D printed object.
  • the printer identification information is embedded as a layered 2D barcode within the 3D printed object.
  • the printer identification information is embedded as an alphanumeric sequence within the 3D printed object.
  • the printer identification information is embedded as one or more glyphs (e.g., an elemental symbol within a set symbols) within the 3D printed object.
  • the printer identification information can include a serial number for the 3D printed object and a time stamp.
  • the printer identification information includes at least one of trademark information and copyright information associated with the manufacturer of the 3D printed object.
  • FIG. 1 can be implemented by a computer 30 , which comprises a processor (such as the processor 102 of FIG. 3 ) that executes, and a memory (such as the memory 104 of FIG. 3 ) that stores, computer-executable instructions for providing the various functions, etc., described herein.
  • a computer 30 which comprises a processor (such as the processor 102 of FIG. 3 ) that executes, and a memory (such as the memory 104 of FIG. 3 ) that stores, computer-executable instructions for providing the various functions, etc., described herein.
  • the computer 30 can be employed as one possible hardware configuration to support the systems and methods described herein. It is to be appreciated that although a standalone architecture is illustrated, that any suitable computing environment can be employed in accordance with the present embodiments. For example, computing architectures including, but not limited to, stand alone, multiprocessor, distributed, client/server, minicomputer, mainframe, supercomputer, digital and analog can be employed in accordance with the present embodiment.
  • the computer 30 can include a processing unit (see, e.g., FIG. 3 ), a system memory (see, e.g., FIG. 3 ), and a system bus (not shown) that couples various system components including the system memory to the processing unit.
  • the processing unit can be any of various commercially available processors. Multiple microprocessors and/or multi-core processor architectures also can be used as the processing unit.
  • the computer 30 typically includes at least some form of computer readable media.
  • Computer readable media can be any available media that can be accessed by the computer.
  • Computer readable media may comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
  • a user may enter commands and information into the computer through an input device (not shown) such as a keyboard, a pointing device, such as a mouse, stylus, voice input, or graphical tablet.
  • the computer 30 can operate in a networked environment using logical and/or physical connections to one or more remote computers, such as a remote computer(s).
  • the logical connections depicted include a local area network (LAN) and a wide area network (WAN).
  • LAN local area network
  • WAN wide area network
  • FIG. 2 illustrates a method of embedding printer identification information in a multi-material 3D printed object, in accordance with one or more aspects described herein.
  • a 3D object print file for printing a 3D printed object is analyzed, and at least two materials for printing the 3D object are identified.
  • one or more candidate regions within the 3D printed object are identified for insertion of printer identification information.
  • computer-executable code is inserted into the 3D object print file for printing the printer identification information in the one or more candidate regions.
  • the 3D object is printed with the printer identification information embedded in the one or more candidate regions.
  • a second material is deposited during printing with the first material to embed the printer identification information in a candidate region within a layer of the first material, and the first material is deposited during printing with the second material to embed the printer identification information in a candidate region within a layer of the second material.
  • the one or more candidate regions can be identified as being regions that do not affect the structural integrity of the 3D printed object so that the printing of the printer identification information does not degrade object performance. For instance, if the 3D object has a camming surface portion, then candidate regions for insertion of the printer identification information can be identified in regions other than the camming surface portion so that the structural differences arising from employing a non-native material (e.g., the first material in the second material layer or vice versa) do not degrade the strength or integrity of the camming surface portion.
  • a non-native material e.g., the first material in the second material layer or vice versa
  • the printer identification information can be embedded as a 3D barcode within the 3D printed object.
  • the printer identification information is embedded as a layered 2D barcode within the 3D printed object.
  • the printer identification information is embedded as an alphanumeric sequence within the 3D printed object.
  • the printer identification information is embedded as one or more glyphs (e.g., an elemental symbol within a set symbols) within the 3D printed object.
  • FIG. 3 illustrates a system 100 that facilitates identifying a printing source of a 3D printed object, in accordance with one or more features described herein.
  • the system comprises a processor that executes computer-executable instructions stored on a computer-readable medium (memory) 104 for performing the various functions described herein.
  • the processor and memory are coupled to a 3D printer 108 that executes a print file 108 to generate a 3D printed object.
  • the processor 102 analyzes the 3D object print file 108 and executes a candidate region identifier module 110 that identifies one or more candidate regions within the 3D printed object for insertion of printer identification information 112 .
  • the candidate region identifier module comprises a voxel analyzer 114 that identifies voxels or voxel clusters that are candidates for printer identification information insertion.
  • Such candidate regions are regions that do not impact the function or integrity of the printed 3D object if omitted or replaced by a different D printing material.
  • the processor 102 also executes a printer ID code generator module 116 that generates insertable computer-executable code for printing the printer identification information within the 3D printed object.
  • the processor inserts the computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions.
  • the inserted code causes the 3D printer to generate one or more structures representing the printer identification information in a readable manner, such that the printer identification information can be read (e.g., via inspection, x-ray, tomographic scan, ultrasound, or the like) to identify the 3D printed object as having been printed by the particular 3D printer in which it was in fact printed.
  • the processor 102 executes, and the memory 104 stores, computer executable instructions for carrying out the various functions and/or methods described herein.
  • the memory 104 may be a computer-readable medium on which a control program is stored, such as a disk, hard drive, or the like.
  • Common forms of computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tape, or any other magnetic storage medium, CD-ROM, DVD, or any other optical medium, RAM, ROM, PROM, EPROM, FLASH-EPROM, variants thereof, other memory chip or cartridge, or any other tangible medium from which the processor 102 can read and execute.
  • the described systems may be implemented on or as one or more general purpose computers, special purpose computer(s), a programmed microprocessor or microcontroller and peripheral integrated circuit elements, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as a PLD, PLA, FPGA, Graphics processing unit (GPU), or PAL, or the like.
  • the identification information is embedded by omitting one or more voxels within the 3D printed object to form one or more structures within the 3D printed object.
  • the omitted voxels are replaced by voxels of a different material than the original voxels.
  • the one or more candidate regions are identified as being regions that do not affect the structural integrity of the 3D printed object so that the printing of the printer identification information does not degrade object performance.
  • the printer identification information can be printed in one or a plurality of candidate regions throughout the 3D printed object.
  • the printer identification information is printed as a 3D barcode within the 3D printed object.
  • the printer identification information is printed as a layered 2D barcode within the 3D printed object.
  • the printer identification information is printed as an alphanumeric sequence within the 3D printed object.
  • the printer identification information is printed as one or more glyphs within the 3D printed object.
  • the printer identification information can include a serial number for the 3D printed object and a time stamp.
  • the printer identification information includes at least one of trademark information and copyright information associated with the manufacturer of the 3D printed object.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)

Abstract

When printing 3D objects a print file to be executed by a 3D printer to generate a 3D object is analyzed to identify candidate regions for insertion of printer ID information that identifies the printer printing the 3D object. Code describing the printer identification information is inserted into the print file at appropriate locations to cause the 3D printer to print one or more structures representing the printer identification information in one or more identified candidate regions. The printer identification information is printed by omitting or replacing one or more voxels in the printed object. Structures representing the printer identification information may include, e.g., barcodes, glyphs, alphanumeric sequences, etc. The printer identification information may include, e.g., a printer serial number and/or time stamp, manufacturer copyright and/or trademark information, etc.

Description

TECHNICAL FIELD
The presently disclosed embodiments are directed toward authenticating 3D-printed objects. However, it is to be appreciated that the present exemplary embodiments are also amenable to other like applications.
BACKGROUND
Conventional scanners can make digital copies of existing three dimensional objects. These digital copies can be manufactured by 3D printers. For example, a 3D scanner can be used to create 3-dimensional models of a person's mouth and teeth. These models can be used by 3D printers to create teeth, bridges, and other dental prosthetics that fit precisely.
One disadvantage of low-cost 3D print manufacturing is that it greatly increases the potential for counterfeiting. Anyone with a 3D printer and a 3-D scanner will be able to reproduce another person's design undetectably and without permission, in some cases in violation of the law.
Various methods are used today to prevent counterfeiting and provide authentication. For instance, seals, watermarks and holograms have been proposed to provide reasonable protection against counterfeiters. Surface bar codes and (quick response) QR codes are used to identify and authenticate objects. Transparent objects, such as glass bottles, may have symbols engraved on or embedded in them. The problem with these methods is that they are obvious and therefore can also be copied, along with the object they intend to protect.
As 3D printing and scanning technologies become pervasive, large numbers of ordinary people may copy and manufacture other people's designs. Difficulties associated with counterfeit detection have already detrimentally impacted the music industry as ordinary people continue to copy and share digital files on a massive scale without compensating the artists or publishers. With the proliferation of 3D printers and scanners, similar widespread counterfeiting can be expected with respect to objects that can be generated using such technology.
There is a need in the art for systems and methods that facilitate identifying and/or authenticating a 3D printing source, while overcoming the aforementioned deficiencies.
BRIEF DESCRIPTION
In one aspect, a method for identifying a printing source of a 3D printed object comprises analyzing a 3D object print file for printing a 3D printed object to identify one or more candidate regions within a 3D printed object for insertion of printer identification information, and inserting computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions. The method further comprises printing the 3D object with the printer identification information embedded in the one or more candidate regions.
In another aspect, a method of embedding printer identification information in a multi-material 3D printed object comprises analyzing a 3D object print file for printing a 3D printed object, identifying at least first and second materials for printing the 3D object, and identifying one or more candidate regions within a 3D printed object for insertion of printer identification information. The method further comprises inserting computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions, and printing the 3D object with the printer identification information embedded in the one or more candidate regions. The second material is deposited to embed the printer identification information in a candidate region within a layer of the first material, and the first material is deposited to embed the printer identification information in a candidate region within a layer of the second material.
In yet another aspect, a system that facilitates identifying a printing source of a 3D printed object comprises a processor arranged to analyze a 3D object print file for printing a 3D printed object, identify one or more candidate regions within a 3D printed object for insertion of printer identification information, and insert computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions. The system further comprises a 3D printer that executes the print file with the inserted computer-executable code in order to print the 3D object with the printer identification information embedded in the one or more candidate regions.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a method for encoding printer identification information in three dimensions using 3D printers, in accordance with one or more features described herein.
FIG. 2 illustrates a method of embedding printer identification information in a multi-material 3D printed object, in accordance with one or more aspects described herein.
FIG. 3 illustrates a system that facilitates identifying a printing source of a 3D printed object, in accordance with one or more features described herein.
DETAILED DESCRIPTION
FIG. 1 illustrates a method for encoding printer identification information in three dimensions using 3D printers, in accordance with one or more features described herein. For instance, when using 3D printers which only use a single material, steganographic tracking dots are created by omission of certain voxels in a three dimensional pattern. When using 3D printers which use more than one material, voxels or tracking dots are created in whichever material has the least utility in any particular area so that printed object integrity is not compromised. The three dimensional steganographic patterns can be interlaced throughout the entire volume of the printed object. In another embodiment, the patterns are limited to certain areas of the object, such as its center or its surface. These three dimensional steganographic patterns are created such that the encrypted patterns can be decoded via physical or tomographic analysis of the final printed object.
At 10, a 3D object print file for printing a 3D printed object is analyzed to identify one or more suitable candidate regions within the 3D printed object for insertion of printer identification information. At 12, computer-executable code descriptive of the printer identification information to be embedded is inserted into the 3D object print file for printing the printer identification information in the one or more candidate regions. At 14, the 3D object is printed with the printer identification information embedded in the one or a plurality of candidate regions within the 3D object.
In one embodiment, the printer identification information is embedded into the 3D printed object by omitting one or more voxels within the 3D printed object to form one or more structures within the 3D printed object. The one or more candidate regions can be identified as being regions that do not affect the structural integrity of the 3D printed object so that the printing of the printer identification information does not degrade object performance. For instance, if the 3D object has a load-bearing portion, then candidate regions for insertion of the printer identification information can be identified in regions other than the load-bearing portion so that the voids created by voxel omission do not degrade the strength or integrity of the load bearing portion. It will be appreciated that the foregoing example is provided for illustrative purposes only, and that the herein-described embodiments are not limited thereto, as will be appreciated by those of skill in the art.
According to an example, the printer identification information can be embedded as a 3D barcode within the 3D printed object. In another example, the printer identification information is embedded as a layered 2D barcode within the 3D printed object. In yet another example, the printer identification information is embedded as an alphanumeric sequence within the 3D printed object. Additionally or alternatively, the printer identification information is embedded as one or more glyphs (e.g., an elemental symbol within a set symbols) within the 3D printed object. It will be appreciated that the foregoing examples are provided for illustrative purposes only, and that the herein-described embodiments are not limited thereto, as will be appreciated by those of skill in the art.
The printer identification information can include a serial number for the 3D printed object and a time stamp. In another embodiment, the printer identification information includes at least one of trademark information and copyright information associated with the manufacturer of the 3D printed object.
It will be appreciated that the method of FIG. 1 can be implemented by a computer 30, which comprises a processor (such as the processor 102 of FIG. 3) that executes, and a memory (such as the memory 104 of FIG. 3) that stores, computer-executable instructions for providing the various functions, etc., described herein.
The computer 30 can be employed as one possible hardware configuration to support the systems and methods described herein. It is to be appreciated that although a standalone architecture is illustrated, that any suitable computing environment can be employed in accordance with the present embodiments. For example, computing architectures including, but not limited to, stand alone, multiprocessor, distributed, client/server, minicomputer, mainframe, supercomputer, digital and analog can be employed in accordance with the present embodiment.
The computer 30 can include a processing unit (see, e.g., FIG. 3), a system memory (see, e.g., FIG. 3), and a system bus (not shown) that couples various system components including the system memory to the processing unit. The processing unit can be any of various commercially available processors. Multiple microprocessors and/or multi-core processor architectures also can be used as the processing unit.
The computer 30 typically includes at least some form of computer readable media. Computer readable media can be any available media that can be accessed by the computer. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
A user may enter commands and information into the computer through an input device (not shown) such as a keyboard, a pointing device, such as a mouse, stylus, voice input, or graphical tablet. The computer 30 can operate in a networked environment using logical and/or physical connections to one or more remote computers, such as a remote computer(s). The logical connections depicted include a local area network (LAN) and a wide area network (WAN). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
FIG. 2 illustrates a method of embedding printer identification information in a multi-material 3D printed object, in accordance with one or more aspects described herein. At 50, a 3D object print file for printing a 3D printed object is analyzed, and at least two materials for printing the 3D object are identified. At 54, one or more candidate regions within the 3D printed object are identified for insertion of printer identification information. At 56, computer-executable code is inserted into the 3D object print file for printing the printer identification information in the one or more candidate regions. At 58, the 3D object is printed with the printer identification information embedded in the one or more candidate regions. According to one embodiment, a second material is deposited during printing with the first material to embed the printer identification information in a candidate region within a layer of the first material, and the first material is deposited during printing with the second material to embed the printer identification information in a candidate region within a layer of the second material.
In one embodiment, the one or more candidate regions can be identified as being regions that do not affect the structural integrity of the 3D printed object so that the printing of the printer identification information does not degrade object performance. For instance, if the 3D object has a camming surface portion, then candidate regions for insertion of the printer identification information can be identified in regions other than the camming surface portion so that the structural differences arising from employing a non-native material (e.g., the first material in the second material layer or vice versa) do not degrade the strength or integrity of the camming surface portion.
According to an example, the printer identification information can be embedded as a 3D barcode within the 3D printed object. In another example, the printer identification information is embedded as a layered 2D barcode within the 3D printed object. In yet another example, the printer identification information is embedded as an alphanumeric sequence within the 3D printed object. Additionally or alternatively, the printer identification information is embedded as one or more glyphs (e.g., an elemental symbol within a set symbols) within the 3D printed object. It will be appreciated that the foregoing examples are provided for illustrative purposes only, and that the herein-described embodiments are not limited thereto, as will be appreciated by those of skill in the art.
FIG. 3 illustrates a system 100 that facilitates identifying a printing source of a 3D printed object, in accordance with one or more features described herein. The system comprises a processor that executes computer-executable instructions stored on a computer-readable medium (memory) 104 for performing the various functions described herein. The processor and memory are coupled to a 3D printer 108 that executes a print file 108 to generate a 3D printed object. For instance, the processor 102 analyzes the 3D object print file 108 and executes a candidate region identifier module 110 that identifies one or more candidate regions within the 3D printed object for insertion of printer identification information 112. The candidate region identifier module comprises a voxel analyzer 114 that identifies voxels or voxel clusters that are candidates for printer identification information insertion. Such candidate regions, in one embodiment, are regions that do not impact the function or integrity of the printed 3D object if omitted or replaced by a different D printing material.
The processor 102 also executes a printer ID code generator module 116 that generates insertable computer-executable code for printing the printer identification information within the 3D printed object. The processor inserts the computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions. When executed by the 3D printer, the inserted code causes the 3D printer to generate one or more structures representing the printer identification information in a readable manner, such that the printer identification information can be read (e.g., via inspection, x-ray, tomographic scan, ultrasound, or the like) to identify the 3D printed object as having been printed by the particular 3D printer in which it was in fact printed.
It will be understood that the processor 102 executes, and the memory 104 stores, computer executable instructions for carrying out the various functions and/or methods described herein. The memory 104 may be a computer-readable medium on which a control program is stored, such as a disk, hard drive, or the like. Common forms of computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tape, or any other magnetic storage medium, CD-ROM, DVD, or any other optical medium, RAM, ROM, PROM, EPROM, FLASH-EPROM, variants thereof, other memory chip or cartridge, or any other tangible medium from which the processor 102 can read and execute. In this context, the described systems may be implemented on or as one or more general purpose computers, special purpose computer(s), a programmed microprocessor or microcontroller and peripheral integrated circuit elements, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as a PLD, PLA, FPGA, Graphics processing unit (GPU), or PAL, or the like.
In one embodiment, the identification information is embedded by omitting one or more voxels within the 3D printed object to form one or more structures within the 3D printed object. In another embodiment, the omitted voxels are replaced by voxels of a different material than the original voxels. In another embodiment, the one or more candidate regions are identified as being regions that do not affect the structural integrity of the 3D printed object so that the printing of the printer identification information does not degrade object performance. The printer identification information can be printed in one or a plurality of candidate regions throughout the 3D printed object.
According to one example, the printer identification information is printed as a 3D barcode within the 3D printed object. In another example, the printer identification information is printed as a layered 2D barcode within the 3D printed object. In yet another example, the printer identification information is printed as an alphanumeric sequence within the 3D printed object. Additionally or alternatively, the printer identification information is printed as one or more glyphs within the 3D printed object. The printer identification information can include a serial number for the 3D printed object and a time stamp. In another embodiment, the printer identification information includes at least one of trademark information and copyright information associated with the manufacturer of the 3D printed object. It will be appreciated that the foregoing examples are provided for illustrative purposes only, and that the herein-described embodiments are not limited thereto, as will be appreciated by those of skill in the art.
The exemplary embodiments have been described. Obviously, modifications and alterations will occur to others upon reading and understanding the preceding detailed description. It is intended that the exemplary embodiments be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (16)

The invention claimed is:
1. A method for identifying a printing source of a 3D printed object, comprising:
analyzing a 3D object print file for printing a 3D printed object to identify one or more candidate regions within a 3D printed object for insertion of printer identification information, wherein the one or more candidate regions are identified as being regions that do not affect the structural integrity of the 3D printed object so that the printing of the printer identification information does not degrade object performance;
inserting computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions; and
printing the 3D object with the printer identification information embedded in the one or more candidate regions;
wherein the printer identification information is embedded by omitting one or more voxels within the 3D printed object to form one or more structures each comprising one or more voids created by voxel omission within the 3D printed object.
2. The method according to claim 1, further comprising printing the printer identification information in a plurality of candidate regions throughout the 3D printed object.
3. The method according to claim 1, further comprising printing the printer identification information as a 3D barcode within the 3D printed object.
4. The method according to claim 1, further comprising printing the printer identification information as a layered 2D barcode within the 3D printed object.
5. The method according to claim 1, further comprising printing the printer identification information as an alphanumeric sequence within the 3D printed object.
6. The method according to claim 1, further comprising printing the printer identification information as one or more glyphs within the 3D printed object.
7. The method according to claim 1, wherein the printer identification information includes a serial number for the 3D printed object and a time stamp.
8. The method according to claim 1, wherein the printer identification information includes at least one of trademark information and copyright information associated with the manufacturer of the 3D printed object.
9. A system that facilitates identifying a printing source of a 3D printed object, comprising:
a processor arranged to:
analyze a 3D object print file for printing a 3D printed object;
identify one or more candidate regions within a 3D printed object for insertion of printer identification information, wherein the one or more candidate regions are identified as being regions that do not affect the structural integrity of the 3D printed object so that the printing of the printer identification information does not degrade object performance; and
insert computer-executable code into the 3D object print file for printing the printer identification information in the one or more candidate regions; and
a 3D printer that executes the print file with the inserted computer-executable code in order to print the 3D object with the printer identification information embedded in the one or more candidate regions;
wherein the identification information is embedded by omitting one or more voxels within the 3D printed object to form one or more structures each comprising one or more voids created by voxel omission within the 3D printed object.
10. The system according to claim 9, wherein the printer identification is printed in a plurality of candidate regions throughout the 3D printed object.
11. The system according to claim 9, wherein the printer identification information is printed as a 3D barcode within the 3D printed object.
12. The system according to claim 9, wherein the printer identification information is printed as a layered 2D barcode within the 3D printed object.
13. The system according to claim 9, wherein the printer identification information is printed as an alphanumeric sequence within the 3D printed object.
14. The system according to claim 9, wherein the printer identification information is printed as one or more glyphs within the 3D printed object.
15. The system according to claim 9, wherein the printer identification information includes a serial number for the 3D printed object and a time stamp.
16. The system according to claim 9, wherein the printer identification information includes at least one of trademark information and copyright information associated with the manufacturer of the 3D printed object.
US14/712,159 2015-05-14 2015-05-14 3D printer steganography Active US9706076B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/712,159 US9706076B2 (en) 2015-05-14 2015-05-14 3D printer steganography

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/712,159 US9706076B2 (en) 2015-05-14 2015-05-14 3D printer steganography

Publications (2)

Publication Number Publication Date
US20160337549A1 US20160337549A1 (en) 2016-11-17
US9706076B2 true US9706076B2 (en) 2017-07-11

Family

ID=57277381

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/712,159 Active US9706076B2 (en) 2015-05-14 2015-05-14 3D printer steganography

Country Status (1)

Country Link
US (1) US9706076B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220057771A1 (en) * 2020-08-18 2022-02-24 Philip Beffrey Multidimensional print, cut, and craft device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017200527A1 (en) * 2016-05-16 2017-11-23 Hewlett-Packard Development Company, L.P. Generating a shape profile for a 3d object
JP2020040219A (en) * 2018-09-06 2020-03-19 富士ゼロックス株式会社 Generating device of three-dimensional shape data, three-dimensional molding device, and generating program of three-dimensional shape data
EP3851268B1 (en) * 2020-01-17 2023-06-07 Hewlett-Packard Development Company, L.P. Identification of 3d printed objects
CN111914974B (en) * 2020-07-07 2022-02-18 山东大学 Three-dimensional two-dimensional code generation method and system for 3D printing
EP4196914A4 (en) * 2020-08-17 2024-04-24 Hewlett Packard Development Co Dynamic element compositing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201881B1 (en) 1997-05-27 2001-03-13 International Business Machines Corporation Embedding information in three-dimensional geometric model
US20120140251A1 (en) * 2010-12-01 2012-06-07 Xerox Corporation Method and apparatus for reading and replacing control and/or identification data in a print image to support document tracking, flow control, and security
US20140293297A1 (en) * 2013-03-28 2014-10-02 Seiko Epson Corporation Label production apparatus and label production method
US20150235069A1 (en) * 2014-02-18 2015-08-20 Adobe Systems Incorporated Method and apparatus for storing and retrieving data embedded into the surface of a 3d printed object
US20150287247A1 (en) * 2014-04-02 2015-10-08 Autodesk, Inc. Integrating components into 3d printed objects
US20160026418A1 (en) * 2014-07-24 2016-01-28 Verizon Patent And Licensing Inc. Big Data Algorithm and Platform Solution For 3D Visualization Services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201881B1 (en) 1997-05-27 2001-03-13 International Business Machines Corporation Embedding information in three-dimensional geometric model
US20120140251A1 (en) * 2010-12-01 2012-06-07 Xerox Corporation Method and apparatus for reading and replacing control and/or identification data in a print image to support document tracking, flow control, and security
US20140293297A1 (en) * 2013-03-28 2014-10-02 Seiko Epson Corporation Label production apparatus and label production method
US20150235069A1 (en) * 2014-02-18 2015-08-20 Adobe Systems Incorporated Method and apparatus for storing and retrieving data embedded into the surface of a 3d printed object
US20150287247A1 (en) * 2014-04-02 2015-10-08 Autodesk, Inc. Integrating components into 3d printed objects
US20160026418A1 (en) * 2014-07-24 2016-01-28 Verizon Patent And Licensing Inc. Big Data Algorithm and Platform Solution For 3D Visualization Services

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220057771A1 (en) * 2020-08-18 2022-02-24 Philip Beffrey Multidimensional print, cut, and craft device

Also Published As

Publication number Publication date
US20160337549A1 (en) 2016-11-17

Similar Documents

Publication Publication Date Title
US9706076B2 (en) 3D printer steganography
US10218509B2 (en) System to authenticate 3D printed objects
WO2018103755A1 (en) Combined two-dimensional code, electronic certificate carrier, and generation and reading apparatus and method
KR100405828B1 (en) Apparatus and method for producing a document which is capable of preventing a forgery or an alteration of itself, and apparatus and method for authenticating the document
CN1209730C (en) Digital anti-fake method
US20100157318A1 (en) Creation and placement of two-dimensional barcode stamps on printed documents for storing authentication information
US7949175B2 (en) Counterfeit deterrence using dispersed miniature security marks
Peng et al. Source identification of 3D printed objects based on inherent equipment distortion
Nguyen et al. A watermarking technique to secure printed matrix barcode—Application for anti-counterfeit packaging
JP2017017673A (en) Method for protecting authenticity of article, item, document, package and/or label from imitation, forgery and theft
Peng et al. 3-D printed object authentication based on printing noise and digital signature
WO2020237881A1 (en) Method and apparatus for injecting anti-counterfeit information, computer device, and storage medium
CN101833747A (en) Method and system for generating digital watermark-based safe word stock
KR101501122B1 (en) Method and apparatus for producing a frame-barcode inserted document which is capable of preventing a forgery or an alteration of itself, and method and apparatus for authenticating the document
US20140348376A1 (en) Forensic Verification Utilizing Forensic Markings Inside Halftones
JP2009535898A (en) Secure signature
US7676058B2 (en) System and method for detection of miniature security marks
KR101905416B1 (en) System and method for management of electronic fingerprint for preventing forgery or alteration of art pieces, method for detecting forgery or alteration of art pieces and computer program for the same
US11816756B1 (en) Anti-leak digital document marking system and method using distributed ledger
Rani et al. A Brief Review on Existing Techniques for Detecting Digital Image Forgery
Chen Certificate Anti-counterfeiting System Based on QR Code and Digital Watermarking
AU2021100429A4 (en) Printed document authentication
Al-Saadi et al. Rapid and blind watermarking approach of the 3d objects using qr code images for securing copyright
Awan et al. Utilization of maximum data hiding capacity in object-based text document authentication
Li et al. Self-recovery fragile watermarking based on superior block-wise tamper detection

Legal Events

Date Code Title Description
AS Assignment

Owner name: XEROX CORPORATION, CONNECTICUT

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NUUJA, ROBERT EERO;REEL/FRAME:035640/0112

Effective date: 20150513

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

AS Assignment

Owner name: CITIBANK, N.A., AS AGENT, DELAWARE

Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:062740/0214

Effective date: 20221107

AS Assignment

Owner name: XEROX CORPORATION, CONNECTICUT

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214;ASSIGNOR:CITIBANK, N.A., AS AGENT;REEL/FRAME:063694/0122

Effective date: 20230517

AS Assignment

Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:064760/0389

Effective date: 20230621

AS Assignment

Owner name: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:065628/0019

Effective date: 20231117

AS Assignment

Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:066741/0001

Effective date: 20240206