WO2023167568A1 - Server and method for providing service for prevention of sim swapping based on authentication code - Google Patents
Server and method for providing service for prevention of sim swapping based on authentication code Download PDFInfo
- Publication number
- WO2023167568A1 WO2023167568A1 PCT/KR2023/002995 KR2023002995W WO2023167568A1 WO 2023167568 A1 WO2023167568 A1 WO 2023167568A1 KR 2023002995 W KR2023002995 W KR 2023002995W WO 2023167568 A1 WO2023167568 A1 WO 2023167568A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- authentication
- server
- code
- user
- hash value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
Definitions
- the present disclosure relates to a service providing server and method for preventing SIM swapping based on an authentication code.
- Code type data is used in many areas. Not only card numbers and account numbers used for payment, but also IPIN numbers and resident registration numbers for user identification are code-type data.
- OTP One Time Password
- a separate OTP generating device is required, which is inconvenient.
- OTP codes such as generating virtual security codes necessary for user authentication, but do not require a separate OTP generator and at the same time prevent seed data from being leaked. We need a way to increase security.
- An object of the present disclosure is to provide a service providing server and method for preventing SIM swapping based on an authentication code.
- a service providing server for preventing SIM swapping based on an authentication code for achieving the above-described technical problem is a communication module and a communication module for executing a customer application from a user terminal through the communication module.
- a device authentication request is received, at least one hash value corresponding to the user's phone number is requested from the server of the telecommunications company, and the device authentication for the user terminal is performed using the at least one hash value.
- a processor for transmitting the device authentication result to the server of the customer company.
- the hash value may include a first hash value for the phone number, a second hash value for identification information of the user terminal, and a third hash value for identification information of a SIM card included in the user terminal.
- the processor performs the authentication by comparing the hash value received from the communication company server and the hash value previously stored for the user, and if the received hash value is different from the previously stored hash value as a result of the authentication, the hash value is different from the previously stored hash value. It is determined that a device change or SIM change of the user terminal has been performed, and the device authentication result notifying that the user terminal is not a normal device may be transmitted to the client company server.
- the processor transmits a token including a verification URL to the user terminal, and the verification URL received from the user terminal is the same as the verification URL included in the token. Then, the hash value may be requested from the communication company server.
- the service for preventing SIM swapping may be provided to the customer company server based on a cloud method or may be provided to the customer company server in a form in which a server for the service is installed inside the customer company server.
- the processor receives a virtual code for authentication generated from the card when tagging between the card of the user whose registration in the customer company application is completed and the user terminal, and based on the virtual code for authentication, a normal user is assigned to the user. Verification is performed as to whether the customer service is to be used through the terminal, and the virtual code for authentication may be generated using at least one of current time data, the card number of the card, and a unique value of the card.
- the processor may match and store at least one of the card number and the unique value with user information.
- the processor may perform the verification based on user information searched for using the card number or the unique value extracted from the virtual code for authentication.
- the processor receives the virtual code for final authentication generated by the module, performs verification on the virtual code for final authentication,
- the final virtual code for authentication may be generated using the user information and the virtual code for authentication.
- a method for providing a service for preventing SIM swapping based on an authentication code includes receiving a device authentication request from a user's terminal for executing a customer application, Requesting at least one hash value corresponding to the user's phone number from a server, performing the device authentication for the user terminal using the at least one hash value, and displaying the device authentication result It may include a step of forwarding to the server of the customer company.
- a computer program stored in a computer readable recording medium for executing a method for implementing the present disclosure may be further provided.
- a computer readable recording medium recording a computer program for executing a method for implementing the present disclosure may be further provided.
- a service provider performs an authentication process between a customer such as a financial company and a telecommunications company to prevent SIM swapping hacking, thereby determining whether a user terminal requesting service access from a customer company is being used by a hacker. Or, it can inform whether it is being used by a normal user.
- the customer company can not provide the user's personal information or authentication information to the hacker, and the hacker can prevent the hacker from committing a crime of stealing the user's assets by using the user's information.
- SMS authentication can be substituted through authentication of a service provider, which is an intermediary.
- FIG. 1 is a diagram schematically illustrating a service system for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
- FIG. 2 is a block diagram of a service providing server for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
- FIG. 3 is a flowchart of a service providing method for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
- 4A and 4B are diagrams for explaining a conventional SIM swapping hacking method and a service process for preventing it according to an embodiment of the present disclosure.
- FIG. 5 is a diagram for explaining a process of providing a hash value corresponding to a user's phone number according to an embodiment of the present disclosure.
- FIG. 6 is a diagram for explaining user authentication using a virtual code for authentication generated during card tagging according to another embodiment of the present disclosure.
- the identification code is used for convenience of description, and the identification code does not explain the order of each step, and each step may be performed in a different order from the specified order unless a specific order is clearly described in context. there is.
- the device includes all various devices capable of providing results to users by performing calculation processing.
- the device may include all of a computer, a server device, and a portable terminal, or may be of any one type.
- the computer may include, for example, a laptop computer, a desktop computer, a laptop computer, a tablet PC, a slate PC, and the like equipped with a web browser.
- the server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a game server, a mail server, a proxy server, and a web server.
- the portable terminal is, for example, a wireless communication device that ensures portability and mobility, and includes a Personal Communication System (PCS), a Global System for Mobile communications (GSM), a Personal Digital Cellular (PDC), a Personal Handyphone System (PHS), and a PDA.
- PCS Personal Communication System
- GSM Global System for Mobile communications
- PDC Personal Digital Cellular
- PHS Personal Handyphone System
- IMT International Mobile Telecommunication
- CDMA Code Division Multiple Access
- W-CDMA Wide-Code Division Multiple Access
- WiBro Wireless Broadband Internet
- smart phone smart phone
- wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs).
- HMDs head-mounted-devices
- a "character” is a component constituting a code, and includes all or part of uppercase alphabets, lowercase alphabets, numbers, and special characters.
- code means a string in which characters are listed.
- “virtual code for authentication” may mean a One Time Authentication Code (OTAC) that is temporarily generated for authentication of at least one of a user and a device.
- OTAC One Time Authentication Code
- a "virtual code generation function” means a function that generates a virtual code for authentication.
- one time password (OTP), etc. are included, but are not limited thereto.
- the "detailed code generation function” means a function that generates each of the detailed codes constituting the virtual code for authentication.
- the "detail code combining function” means a function that generates a virtual code by combining or combining a plurality of detailed codes.
- a "unit count” is a unit defined as being set at a specific time interval and changed as the time interval elapses. For example, 1 count may be set to a specific time interval (eg, 1.5 seconds) and used.
- storage location means a point (count) on a track corresponding to the time when user registration is requested.
- SIM swapping accident refers to a crime in which a specific person's subscriber identity module (SIM) card is copied or replaced without permission, and then the person's mobile phone authentication is passed to steal another person's financial assets.
- SIM subscriber identity module
- Sim-swapping criminals use stolen personal information to open a new SIM chip and insert it into a mobile phone that is in an airborne state to receive text messages and phone calls from victims instead.
- the telecommunication company only reports that the received personal information is normal information (because it is impossible to know that the person who sent the personal information is a criminal) and completes the opening process of the corresponding mobile phone, and when the customer company requests an authentication code for service use from the opened mobile phone It only sees that the cell phone is normally opened (because it is impossible to know that the person using the cell phone is a criminal) and provides the authentication code to the cell phone. Through this sim swapping, the criminal uses the customer company's service to steal the user's assets.
- a service provider cooperates with a customer company and a telecommunications company to prevent a SIM swapping accident by performing authentication for service use access in the middle.
- FIG. 1 is a diagram schematically illustrating a service system for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
- a service system for preventing SIM swapping based on an authentication code includes a service providing server 10, a user terminal 20, a customer company server 30, a communication company server 40, and a card (40) may be included.
- the system may include fewer or more components than those shown in FIG. 1 .
- the service providing server 10 may refer to a server device of a company or company that provides a service for preventing SIM swapping.
- the service providing server 10 performs authentication to determine whether the user terminal 20 requesting service use of the customer company is a normal device or the person requesting service use through the user terminal 20 is a normal user.
- the user terminal 20 may refer to a terminal device of a person who uses a service provided by a customer company (eg, a financial service or a payment service).
- the user terminal 20 may be installed with a service program including a smart phone application or a mobile web for using a service of a customer company.
- a user may use all services provided by the service providing server 10 through a service program.
- the client company server 30 may refer to a server device of a company, institution, or company that uses the SIM swapping prevention service provided by the service providing server 10 .
- the client company server 30 may be a server device of a financial institution, a government institution, a financial company, a credit card company, or the like, but is not limited thereto.
- the communication company server 40 may refer to a communication company server device to which the user terminal 20 subscribes.
- the communication company server 40 may provide data or information about the user terminal 20 required for authentication to the service providing server 10 .
- the card 50 may refer to a physical card registered in a customer company application by a user in order to use a service of the customer company.
- the card 50 includes a module (applet) for generating a virtual code for authentication, and when the card 50 is tagged with the user terminal 20, the received from the user terminal 20 is received using the applet.
- Virtual code for authentication can be generated based on data or embedded data.
- FIG. 2 is a block diagram of a service providing server for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
- a service providing server for preventing SIM swapping based on an authentication code (hereinafter referred to as a service providing server) 10 may include a communication module 11 , a memory 12 , and a processor 13 .
- the processor 13 may include a hash value authentication module 131 and an OTAC authentication module 132 .
- the service providing server 10 and the processor 13 may include fewer or more components than those shown in FIG. 2 .
- the communication module 11 is between the service providing server 10 and the user terminal 20, between the service providing server 10 and the client company server 30, and between the service providing server 10 and the communication company server 40. , It may include one or more modules enabling wireless or wired communication between the service providing server 10 and the communication network. For example, it may include at least one of a wired communication module, a wireless communication module, a short-distance communication module, and a location information module.
- Various types of communication networks may be used as the communication network, for example, wireless communication methods such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, and HSDPA (High Speed Downlink Packet Access)
- wireless communication methods such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, and HSDPA (High Speed Downlink Packet Access)
- a wired communication method such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coax), FTTC (Fiber to The Curb), FTTH (Fiber To The Home) may be used.
- the communication network is not limited to the communication methods presented above, and may include all other types of communication methods that are widely known or will be developed in the future in addition to the above communication methods.
- Wired communication modules include not only various wired communication modules such as Local Area Network (LAN) modules, Wide Area Network (WAN) modules, or Value Added Network (VAN) modules, but also USB (Universal Serial Bus) ), high definition multimedia interface (HDMI), digital visual interface (DVI), recommended standard 232 (RS-232), power line communication, or plain old telephone service (POTS).
- LAN Local Area Network
- WAN Wide Area Network
- VAN Value Added Network
- USB Universal Serial Bus
- HDMI high definition multimedia interface
- DVI digital visual interface
- RS-232 recommended standard 232
- POTS plain old telephone service
- wireless communication modules include global system for mobile communication (GSM), code division multiple access (CDMA), wideband code division multiple access (WCDMA), and universal mobile telecommunications system (UMTS). ), time division multiple access (TDMA), long term evolution (LTE), and a wireless communication module supporting various wireless communication schemes such as 4G, 5G, and 6G.
- GSM global system for mobile communication
- CDMA code division multiple access
- WCDMA wideband code division multiple access
- UMTS universal mobile telecommunications system
- TDMA time division multiple access
- LTE long term evolution
- wireless communication module supporting various wireless communication schemes such as 4G, 5G, and 6G.
- the short-range communication module is for short-range communication, and includes BluetoothTM, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, and Near Field Communication (NFC). Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and wireless USB (Wireless Universal Serial Bus) technologies may be used to support short-distance communication.
- RFID Radio Frequency Identification
- IrDA Infrared Data Association
- UWB Ultra Wideband
- ZigBee Ultra Wideband
- NFC Near Field Communication
- Wi-Fi Wireless-Fidelity
- Wi-Fi Direct Wireless USB (Wireless Universal Serial Bus) technologies may be used to support short-distance communication.
- the memory 12 may store at least one process for providing a service for preventing SIM swapping based on an authentication code.
- the memory 12 may store data supporting various functions of the service providing server 10 and programs for operation of the processor 13, and input/output data (eg, music files, stop images, videos, etc.), a plurality of application programs (applications) running in the service providing server 10, data for the operation of the service providing server 10, and instructions. can be saved At least some of these application programs may be downloaded from an external server through wireless communication.
- input/output data e.g., music files, stop images, videos, etc.
- applications application programs running in the service providing server 10
- data for the operation of the service providing server 10 and instructions. can be saved
- At least some of these application programs may be downloaded from an external server through wireless communication.
- the memory 12 is a flash memory type, a hard disk type, a solid state disk type, a silicon disk drive type, and a multimedia card micro type. micro type), card type memory (eg SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable EEPROM (EEPROM) It may include a storage medium of at least one type of a programmable read-only memory (PROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory 12 is separated from the service providing server 10, but may be a database connected by wire or wirelessly.
- the processor 13 may perform the above-described operations using a memory for storing data for an algorithm or a program for reproducing the algorithm for controlling the operation of components in the service providing server 10, and the data stored in the memory. can At this time, the memory 12 and the processor 13 may be implemented as separate chips. Alternatively, the memory 12 and the processor 13 may be implemented as a single chip.
- the hash value authentication module 131 of the processor 13 may perform authentication based on the hash value provided from the communication company server 30 according to the device authentication request for the user terminal 20 to execute the customer company application. A detailed description of this will be given later.
- the OTAC authentication module 132 of the processor 13 allows a user who intends to use the customer service through the user terminal 20 to use the virtual code for authentication generated through tagging between the card 50 and the user terminal 20 as normal. Authentication of whether a user is a user can be performed. A detailed description of this will be given later.
- processor 13 is configured to implement any one or a plurality of the components described above in order to implement various embodiments according to the present disclosure described in FIGS. 3 to 6 below on the service providing server 10. You can control it.
- FIG. 3 is a flowchart of a service providing method for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
- 4A and 4B are diagrams for explaining a conventional SIM swapping hacking method and a service process for preventing it according to an embodiment of the present disclosure.
- FIG. 5 is a diagram for explaining a process of providing a hash value corresponding to a user's phone number according to an embodiment of the present disclosure.
- FIG. 6 is a diagram for explaining user authentication using a virtual code for authentication generated during card tagging according to another embodiment of the present disclosure.
- the service providing server 10 responds to a device authentication request for the user terminal 20 to execute a customer application, based on the hash value provided from the communication company server 30. Let us explain how to perform authentication.
- each step is described as being performed by the processor 13 or the service providing server 10, but each step is performed by the hash value authentication module 131 included in the processor 13 and not shown in FIG. It can be understood as being performed by any one of the modules.
- the processor 13 of the service providing server 10 may receive a device authentication request for executing a customer company application from the user's terminal 20 (S310).
- the processor 13 of the service providing server 10 may request at least one hash value corresponding to the user's phone number from the server 40 of the communication company (S320).
- the processor 13 of the service providing server 10 may perform authentication of the user terminal 20 using at least one hash value (S330).
- the processor 13 of the service providing server 10 may transmit the authentication result to the server 30 of the customer company (S340).
- a hacker steals a user's personal information, receives a reissue or duplicates a SIM for reasons such as device change, lost phone number transfer, etc.
- the communication company server 40 may complete the opening process after performing authentication using the received personal information.
- the normal user's mobile phone communication is cut off, and the hacker installs a new activated SIM in the air-type mobile phone.
- the hacker requests an authentication code to the customer terminal 30 after installing the customer company app (customer company application) on the mobile phone equipped with the new USIM.
- the customer terminal 30 transmits the authentication code to the hacker's mobile phone, and the hacker uses the received authentication code to reset the password of the customer's app or issue a new OTP to steal the normal user's assets.
- the present disclosure places the service providing server 10 between the client company server 30 and the telecommunications company server 40 and performs authentication to prevent SIM swapping. Please explain what you are doing.
- the user terminal 20 may transmit a device authentication request for executing the customer company application to the customer company server 30 (S401). .
- the customer terminal 30 may transmit the received device authentication request to the service providing server 10 (S402).
- the communication company server 40 sends a first hash value for the phone number. At least one of a hash value, a second hash value for identification information of the user terminal 20, and a third hash value for identification information of a SIM card included in the user terminal 20 is transmitted to the service providing server 10. It can be provided (S404).
- the identification information of the user terminal 20 may be unique information capable of identifying the user terminal 20 that has requested device authentication.
- the identification information of the user terminal 20 may be IMEI (International Mobile Equipment Identity), but is not limited thereto.
- the identification information of the SIM card included in the user terminal 20 may be unique information capable of identifying the SIM card (sim card) installed in the user terminal 20 .
- the identification information of the SIM card included in the user terminal 20 may be an Integrated Circuit Card Identifier (IMEI), but is not limited thereto.
- IMEI Integrated Circuit Card Identifier
- the processor 13 of the service providing server 10 may perform device authentication based on the received hash value (S405).
- the processor 13 performs the authentication by comparing the hash value received from the communication company server 40 and the hash value pre-stored for the user (or user terminal 10) in the service providing server 10. and, as a result of the authentication, if the received hash value is different from the pre-stored hash value, it may be determined that a device change or a SIM change of the user terminal 20 has been performed.
- the processor 13 when receiving the device authentication request from the user terminal 20, the processor 13 receives the mobile directory number (MDN) of the user (or the user terminal 10) together (S501, S502).
- MDN mobile directory number
- the processor 13 may generate a token and a check URL (S503), and provide the token including the check URL to the user terminal 20 through the customer server 30 (S504 and S505).
- the reason for transmitting the confirmation URL in this way is that the user-provided server 10 makes a direct connection to the user terminal 20 and the mobile network without going through the client company server 30 .
- the service providing server 10 confirms that the received token has returned normally (if the received verification URL is the same as the verification URL included in the token) (S506, S507) , It is determined that the connection between the two is established, and a confirmation request for whether the phone number is matched to correspond to the token and a hash value request can be transmitted while forwarding the received phone number (MDN) to the communication company server 40 ( S508).
- the communication company server 40 determines the first hash value (MDN shown in FIG. 5), the second hash value (IMEI shown in FIG. 5), and the third hash value (shown in FIG. 5). At least one of the illustrated ICCIDs) may be generated, and the generated hash value may be transmitted to the service providing server 10 (S509 and S510).
- the communication company server 40 generates one hash value (first hash value to third hash value) for each of the three pieces of information (MDN, IMEI, ICCID), and sets them to the service providing server 10. Only one of them may be delivered, only two of three may be delivered to the service providing server 10, or all three may be delivered to the service providing server 10.
- the communication company server 40 may transmit only the second hash value among the first to third hash values, or may transmit the second hash value and the third hash value among the first to third hash values, or All of the first to third hash values may be transmitted.
- the telecommunication company server 40 may generate information (data) obtained by combining two of the three pieces of information (MDN, IMEI, and ICCID) as one hash value and transmit it to the service providing server 10.
- information data obtained by combining two of the three pieces of information (MDN, IMEI, and ICCID) as one hash value and transmit it to the service providing server 10.
- the communication company server 40 may generate IMEI+ICCID value as one hash value, or may generate IMEI+MDN value as one hash value, or may generate ICCID+MDN value as one hash value. It can also be created with a single hash value.
- the telecommunication company server 40 may generate information (data) obtained by combining all three pieces of information (MDN, IMEI, and ICCID) as one hash value and transmit it to the service providing server 10.
- the communication company server 40 may generate a value of IMEI+ICCID+MDN as one hash value.
- the service providing server 10 may check whether a device has been changed or a sim has been changed by comparing the received hash value with a pre-stored hash value (S511).
- the communication company server 30 may generate an initial hash value for the user and provide it to the user terminal 10.
- the user terminal 10 stores the initial hash value and compares it with the hash value received later to check whether a device has been changed or a SIM has been changed.
- the initial hash value generation method is the same as the above-described hash value generation method, and as described above, the hash value can be generated differently according to the combination of three pieces of information (MND, IMEI, ICCID, IMEI+ICCID, IMEI+MDN, ICCID+MDN, IMEI+ICCID+MDN).
- the service providing server 10 may determine that a device change has occurred in the user terminal when the IMEs are different as a result of comparing the two values.
- the service providing server 10 may determine that a SIM change has occurred in the user terminal when the ICCIDs are different as a result of comparing the two values.
- the service providing server 10 when it is determined that a device change or SIM change has occurred in a user terminal, the service providing server 10 sends a device authentication result to the client company server 30 notifying that the user terminal 20 is not a normal device. It can be delivered (S406, S512 in FIG. 5).
- the service providing server 10 may transmit a device authentication result indicating that the user terminal 20 is a normal device to the client company server 30.
- the customer company server 30 may determine whether or not to provide the requested information to the user terminal 20 (S407).
- the client company server 30 may determine that the request for new subscription or reissuance requested by the user was a normal request, and provide relevant information for new subscription or reissuance.
- the client company server 30 may determine that the request for new subscription or reissuance requested by the user is an abnormal request, and may not provide relevant information for new subscription or reissuance.
- the service for preventing SIM swapping provided by the service providing server 10 according to the present disclosure is provided to the customer company server 30 based on a cloud method, or a service for the service is provided inside the customer company server 30.
- the server may be provided to the customer company server 30 in a mounted form (on-premise method). A detailed description of this will be given later.
- the service providing server 10 intends to use the customer service through the user terminal 20 based on the virtual code for authentication generated through tagging between the card 50 and the user terminal 20. A method of performing authentication on whether a user is a normal user will be described.
- each step is described as being performed by the processor 13 or the service providing server 10, but each step is performed by the OTAC authentication module 132 included in the processor 13 and a module not shown in FIG. It can be understood as being performed by any one of the modules.
- the processor 13 receives a virtual code for authentication generated by the card 50 during tagging between the card 50 of the user whose registration in the customer company application is completed and the user terminal 20, and the virtual code for authentication Based on this, it is possible to verify whether a normal user intends to use the customer company service through the user terminal 10 .
- the virtual code for authentication may be generated using at least one of current time data, a card number of the card 50, and a unique value of the card 50.
- the card number may include an identification code (eg, BIN) of a customer company (eg, a financial company), and a unique value of a card may be a value sequentially assigned to each card manufactured by a card manufacturer.
- Current time data may be provided from the user terminal 20 to the card 50 during tagging, or may be acquired by the card 50 itself.
- the processor 13 may match and store at least one of the card number and the unique value with user information.
- the user information may include a phone number (MDN), a user ID (ID), and a secret key, but is not limited thereto.
- the secret key may be a value generated by the service providing server 10 and given to the corresponding user terminal 20 when the user terminal 20 requests user registration.
- the user ID may refer to an ID of a user subscribed to a customer app.
- a function for generating a virtual code for authentication for the user is initially set in the service providing server 10 and started to operate.
- the processor 13 may manage only one piece of user information for OTAC verification, and the number is not limited to one. Also, according to an embodiment, the processor 13 may utilize only information finally registered in the server as valid information for OTAC verification.
- the processor 13 may perform verification using a virtual code for authentication. That is, the verification may be performed based on the user information searched for using the card number extracted from the virtual code for authentication or the unique value.
- a virtual code for authentication is generated in the card 40 (S602), and the generated virtual code for authentication is the user terminal (20), it is transmitted to the service providing server 10 through the customer company server 30 (S603, S604, S605).
- the service providing server 10 performs verification of the received virtual code for authentication (OTAC verification) (S606).
- the processor 13 may search for a card number or a unique value from a virtual code for authentication through a search algorithm. The processor 13 may determine whether the user information matched to the card number or unique value found in the corresponding server matches user information most recently registered for the corresponding user (or user terminal 10).
- the processor 13 may determine that the current normal user makes a normal service request using the user terminal 20 of the user. And, this verification result can be provided to the customer company server 30 (S607). Accordingly, the client company server 30 may provide information related to the requested service (new subscription or reissue, etc.) to the user terminal 20 (S608).
- the processor 13 may determine that the current abnormal user makes a service request using the user terminal 20 . And, this verification result can be provided to the customer company server 30 (S607). Accordingly, the customer company server 30 may not provide information related to the requested service (new subscription or reissue, etc.) to the user terminal 20 (S608).
- the processor 13 receives the virtual code for final authentication generated by the virtual code generation module for authentication, and the virtual code for final authentication. You can perform code verification.
- the virtual code for final authentication may be generated using the user information and the virtual code for authentication.
- the virtual code for final authentication is generated using the virtual code for authentication generated in the card and finally registered user information. Then, the service providing server 10 searches for user information using the card number or the unique value extracted from the virtual code for final authentication, and the searched user information and the finally registered information included in the virtual code for final authentication. OTAC verification can be performed by comparing user information.
- the service for preventing SIM swapping may be provided to the customer company server 30 in a cloud method or an on-premise method.
- the cloud method can be applied so that a third service that does not have a card can also use the SIM swapping prevention service.
- a third service that does not have a card can also use the SIM swapping prevention service.
- the company's SDK of the third service is loaded on the customer's server and a new card is registered, the corresponding card is also registered in the company's platform server of the third service, and can be used for verification in the service providing server 10 afterwards.
- an OTAC verification server by card may be placed in the customer company server, and the server of the third service may receive the verification result through API interworking with the customer company server.
- customers can receive authentication results for device change and SIM change through the service providing server installed inside each customer's server.
- theft of personal information can be directly blocked through tagging of the self-issued card.
- the OTAC generation module may generate one or more detailed codes.
- the detailed code refers to some codes constituting the virtual code for authentication.
- the virtual code for authentication may consist of only the detailed code, or one or more detailed codes may be combined with the virtual security code generated by the OTP function to obtain a final final result. It may be formed in the form of virtual code (OTAC) for authentication.
- the OTAC generation module includes a code generation function that generates a virtual code for authentication, and the code generation function includes a detailed code generation function that generates one or more detailed codes and a detailed code combining function that generates a virtual code by combining the detailed codes. (i.e., rules for combining a plurality of detailed codes).
- the code generating function when the virtual code for authentication includes a plurality of detailed codes, the code generating function generates a plurality of detailed codes using the plurality of detailed codes generating functions, and generates the plurality of detailed codes through the detailed code combining function. By combining in a preset combination, a virtual code for authentication is generated.
- a plurality of detailed codes have a correlation used by the OTAC verification server (service providing server 10) to search for a storage location of information capable of identifying a user or device. That is, the OTAC verification server has a search algorithm, and the search algorithm extracts a plurality of detailed codes included in the virtual code for authentication, and calculates the card number or unique value of the card based on the correlation between the plurality of detailed codes. Search the storage location.
- the search algorithm operates based on the correlation between the plurality of detailed codes from a waypoint corresponding to one or more of the plurality of detailed codes, The storage location of the unique value of the card can be searched.
- the number of waypoints may be one or plural, and the number and order are not limited.
- the plurality of detailed codes may include first codes and second codes, and the OTAC generating module includes the first function and the second function as detailed code generating functions, A first code and a second code are generated.
- the first code and the second code have a correlation to search the storage location of the card number or unique value of the card in the OTAC verification server 15, 31, but the OTAC generation module uses the first code to increase security.
- the first function to generate the second code and the second function to generate the second code may be included as the detailed code generating function, but data on correlation between the first code and the second code may not be included.
- the first code and the second code may play respective roles for searching for a storage location of a card number or a unique value of a card. That is, the first code may include information about the waypoint, and the second code may include information necessary for an operation capable of reaching the storage location of the card number or unique value of the card from the waypoint.
- the first code may be generated based on the first count
- the second code may be generated based on the second count.
- the first count is the number of unit counts that have elapsed from the initial point in time when the code generation function is driven in the OTAC generation module or the OTAC verification server to the point in time when the virtual code for authentication is generated
- the second count is the card number or unique card number It may include the number of unit counts that have elapsed since the time the value was stored in the OTAC verification server.
- the first function generating the first code is a function providing a specific code value corresponding to the first count
- the second function generating the second code is a function providing a specific code value corresponding to the second count. am.
- the OTAC verification server when the OTAC verification server receives the virtual code for authentication from the user terminal 20, by comparing the time data of the virtual code for authentication with the time data of the virtual code for authentication The virtual code for authentication may be verified.
- the OTAC verification server checks whether the received virtual code for authentication is normally generated at the present time based on information stored in the OTAC verification server (ie, code generation function and seed data) to determine whether the virtual code for authentication is normal.
- the OTAC verification server applies the inverse function of the code generation function to the virtual code for authentication to find a count corresponding to the point in time when the virtual code for authentication is generated.
- the OTAC verification server extracts user information by searching for a storage location of a card number or unique value of a card based on the virtual code for authentication, and based on the extracted user information, the user or device authentication can be performed.
- FIG. 3 is described as sequentially executing steps, this is merely an example of the technical idea of this embodiment, and those skilled in the art to which this embodiment belongs will not deviate from the essential characteristics of this embodiment. Since the order described in FIG. 3 may be changed and executed in a range not specified, or executed in parallel, various modifications and variations may be applied, and FIG.
- steps described in FIG. 3 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present disclosure. Also, some steps may be omitted if necessary, and the order of steps may be changed.
- the disclosed embodiments may be implemented in the form of a recording medium storing instructions executable by a computer. Instructions may be stored in the form of program codes, and when executed by a processor, create program modules to perform operations of the disclosed embodiments.
- the recording medium may be implemented as a computer-readable recording medium.
- Computer-readable recording media include all types of recording media in which instructions that can be decoded by a computer are stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like.
- ROM read only memory
- RAM random access memory
- magnetic tape magnetic tape
- magnetic disk magnetic disk
- flash memory optical data storage device
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Toxicology (AREA)
- General Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
Provided are a server and method for providing a service for prevention of SIM swapping based on an authentication code. The server according to the present disclosure may comprise a communication module and a processor that: when a device authentication request for execution of a client company application is received from a terminal of a user via the communication module, requests at least one hash value corresponding to a phone number of the user from a server of a telecommunication company; performs device authentication for the terminal of the user by using the at least one hash value; and transmits the result of the device authentication to a server of a client company.
Description
본 개시는 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버 및 방법에 관한 것이다. The present disclosure relates to a service providing server and method for preventing SIM swapping based on an authentication code.
코드형태 데이터는 많은 영역에서 이용되고 있다. 결제 시에 이용되는 카드번호, 계좌 번호뿐만 아니라 사용자 식별을 위한 IPIN번호, 주민등록번호 등이 코드형태 데이터이다.Code type data is used in many areas. Not only card numbers and account numbers used for payment, but also IPIN numbers and resident registration numbers for user identification are code-type data.
그러나 이러한 코드데이터를 이용하는 과정에서 유출되는 사고가 많이 발생한다. 카드번호의 경우, 카드 표면에 실제 카드번호가 그대로 기재되어 있어서 타인에게 시각적으로 유출되며, 마그네틱을 이용한 결제 시에 카드번호가 그대로 POS장치로 전달되면서 유출된다.However, in the process of using such code data, many leak accidents occur. In the case of a card number, the actual card number is written on the surface of the card as it is, so it is visually leaked to others, and when paying using a magnetic card, the card number is transmitted to the POS device as it is and leaked.
실제코드가 그대로 유출되지 않도록 하기 위해 가상코드를 이용하고자 하는 시도가 많았으나, 가상코드에 대응되는 실제코드를 탐색하기 위해 사용자를 식별하기 위한 데이터가 필요하였다.Many attempts have been made to use virtual codes to prevent actual codes from being leaked as they are, but data for identifying users was needed to search for real codes corresponding to virtual codes.
그러나 OTP(One Time Password)의 경우, 별도의 OTP생성 장치를 필요로 하여 불편함을 수반하고, 특히 사용자 단말기의 경우 OTP생성에 이용되는 시드 데이터의 유출로 보안상의 취약점 존재한다.However, in the case of OTP (One Time Password), a separate OTP generating device is required, which is inconvenient. In particular, in the case of a user terminal, there is a security vulnerability due to the leakage of seed data used for OTP generation.
따라서 많은 사용자가 소지하고 있는 카드의 카드 데이터를 기반으로 사용자 인증에 필요한 가상 보안 코드를 생성하는 것과 같이 OTP코드를 생성하되, 별도의 OTP생성 장치를 필요로 하지 않고 동시에 시드 데이터가 유출되지 않도록 하여 보안을 높이는 방안이 필요하다. Therefore, based on card data of cards possessed by many users, generate OTP codes such as generating virtual security codes necessary for user authentication, but do not require a separate OTP generator and at the same time prevent seed data from being leaked. We need a way to increase security.
본 개시에 개시된 실시예는 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버 및 방법을 제공하는데 그 목적이 있다.An object of the present disclosure is to provide a service providing server and method for preventing SIM swapping based on an authentication code.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present disclosure are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.
상술한 기술적 과제를 달성하기 위한 본 개시에 일 측면에 따른 인증 코드 기반의 심 스와핑(SIM swapping) 방지를 위한 서비스 제공 서버는, 통신 모듈 및 상기 통신 모듈을 통해 사용자의 단말로부터 고객사 어플리케이션 실행을 위한 기기 인증 요청이 수신되면, 통신사의 서버로 상기 사용자의 전화번호에 대응하는 적어도 하나의 해시(hash) 값을 요청하고, 상기 적어도 하나의 해시 값을 이용하여 상기 사용자 단말에 대한 상기 기기 인증을 수행하고, 상기 기기 인증 결과를 고객사의 서버로 전달하는 프로세서를 포함할 수 있다.A service providing server for preventing SIM swapping based on an authentication code according to an aspect of the present disclosure for achieving the above-described technical problem is a communication module and a communication module for executing a customer application from a user terminal through the communication module. When a device authentication request is received, at least one hash value corresponding to the user's phone number is requested from the server of the telecommunications company, and the device authentication for the user terminal is performed using the at least one hash value. and a processor for transmitting the device authentication result to the server of the customer company.
또한, 상기 해시 값은, 상기 전화번호에 대한 제1 해시 값, 상기 사용자 단말의 식별 정보에 대한 제2 해시 값 및 상기 사용자 단말에 포함된 심카드의 식별 정보에 대한 제3 해시 값을 포함할 수 있다.The hash value may include a first hash value for the phone number, a second hash value for identification information of the user terminal, and a third hash value for identification information of a SIM card included in the user terminal. can
또한, 상기 프로세서는, 상기 통신사 서버로부터 수신된 해시 값 및 상기 사용자에 대해 기 저장된 해시 값의 비교를 통해 상기 인증을 수행하고, 상기 인증 결과 상기 수신된 해시 값이 상기 기 저장된 해시 값과 다르면 상기 사용자 단말의 기기 변경 또는 심 변경이 수행됐던 것으로 판단하고, 상기 고객사 서버로 상기 사용자 단말이 정상적인 기기가 아님을 알리는 상기 기기 인증 결과를 전달할 수 있다.In addition, the processor performs the authentication by comparing the hash value received from the communication company server and the hash value previously stored for the user, and if the received hash value is different from the previously stored hash value as a result of the authentication, the hash value is different from the previously stored hash value. It is determined that a device change or SIM change of the user terminal has been performed, and the device authentication result notifying that the user terminal is not a normal device may be transmitted to the client company server.
또한, 상기 프로세서는, 상기 사용자 단말로부터 상기 기기 인증 요청이 수신되면, 상기 사용자 단말로 확인 URL이 포함된 토큰을 송신하고, 상기 사용자 단말로부터 수신된 확인 URL이 상기 토큰에 포함된 확인 URL과 동일하면 상기 통신사 서버로 상기 해시 값을 요청할 수 있다.In addition, when the device authentication request is received from the user terminal, the processor transmits a token including a verification URL to the user terminal, and the verification URL received from the user terminal is the same as the verification URL included in the token. Then, the hash value may be requested from the communication company server.
또한, 심 스와핑 방지를 위한 서비스는, 클라우드 방식을 기반으로 상기 고객사 서버에게 제공되거나, 상기 고객사 서버 내부에 상기 서비스를 위한 서버가 탑재된 형태로 상기 고객사 서버에게 제공될 수 있다.In addition, the service for preventing SIM swapping may be provided to the customer company server based on a cloud method or may be provided to the customer company server in a form in which a server for the service is installed inside the customer company server.
또한, 상기 프로세서는, 상기 고객사 어플리케이션 내 등록이 완료된 상기 사용자의 카드 및 상기 사용자 단말 간의 태깅 시 상기 카드에서 생성된 인증용 가상 코드를 수신하고, 상기 인증용 가상 코드를 기반으로 정상적인 사용자가 상기 사용자 단말을 통해 고객사 서비스를 이용하려는 것인지에 대한 검증을 수행하고, 상기 인증용 가상 코드는, 현재 시간 데이터, 상기 카드의 카드번호, 상기 카 드의 고유값 중 적어도 하나를 이용하여 생성될 수 있다.In addition, the processor receives a virtual code for authentication generated from the card when tagging between the card of the user whose registration in the customer company application is completed and the user terminal, and based on the virtual code for authentication, a normal user is assigned to the user. Verification is performed as to whether the customer service is to be used through the terminal, and the virtual code for authentication may be generated using at least one of current time data, the card number of the card, and a unique value of the card.
또한, 상기 프로세서는, 상기 카드 및 상기 사용자 단말 간의 태깅을 통해 상기 등록이 요청되면, 상기 카드번호 및 상기 고유값 중 적어도 하나를 사용자 정보와 매칭하여 저장할 수 있다.In addition, when the registration is requested through tagging between the card and the user terminal, the processor may match and store at least one of the card number and the unique value with user information.
또한, 상기 프로세서는, 상기 인증용 가상 코드에서 추출된 상기 카드번호 또는 상기 고유값을 이용하여 탐색된 사용자 정보를 기반으로 상기 검증을 수행할 수 있다.In addition, the processor may perform the verification based on user information searched for using the card number or the unique value extracted from the virtual code for authentication.
또한, 상기 고객사 어플리케이션에 인증용 가상 코드 생성을 위한 모듈이 포함된 경우, 상기 프로세서는, 상기 모듈에서 생성된 최종 인증용 가상 코드를 수신하고, 상기 최종 인증용 가상 코드에 대한 검증을 수행하고, 최종 인증용 가상 코드는, 상기 사용자 정보와 상기 인증용 가상 코드를 이용하여 생성될 수 있다.In addition, when the customer application includes a module for generating a virtual code for authentication, the processor receives the virtual code for final authentication generated by the module, performs verification on the virtual code for final authentication, The final virtual code for authentication may be generated using the user information and the virtual code for authentication.
또한, 상술한 기술적 과제를 달성하기 위한 본 개시에 다른 측면에 따른 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 방법은, 사용자의 단말로부터 고객사 어플리케이션 실행을 위한 기기 인증 요청을 수신하는 단계, 통신사의 서버로 상기 사용자의 전화번호에 대응하는 적어도 하나의 해시(hash) 값을 요청하는 단계, 상기 적어도 하나의 해시 값을 이용하여 상기 사용자 단말에 대한 상기 기기 인증을 수행하는 단계 및 상기 기기 인증 결과를 고객사의 서버로 전달하는 단계를 포함할 수 있다.In addition, a method for providing a service for preventing SIM swapping based on an authentication code according to another aspect of the present disclosure for achieving the above-described technical problem includes receiving a device authentication request from a user's terminal for executing a customer application, Requesting at least one hash value corresponding to the user's phone number from a server, performing the device authentication for the user terminal using the at least one hash value, and displaying the device authentication result It may include a step of forwarding to the server of the customer company.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.In addition to this, a computer program stored in a computer readable recording medium for executing a method for implementing the present disclosure may be further provided.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, a computer readable recording medium recording a computer program for executing a method for implementing the present disclosure may be further provided.
본 개시의 전술한 과제 해결 수단에 의하면, 서비스 제공사가 금융사와 같은 고객사와 통신사 사이에서 심 스와핑 해킹을 방지하기 위한 인증 프로세스를 수행함으로써, 고객사에게 서비스 접근을 요청한 사용자 단말이 해커에 의해 사용되고 있는 것인지 아니면 정상적인 사용자에 의해서 사용되고 있는 것인지를 알려줄 수 있다. 이를 통해, 고객사는 해커에게 사용자의 개인 정보 또는 인증 정보를 제공하지 않을 수가 있고, 해커가 사용자의 정보를 이용하여 사용자의 자산을 탈취하는 범죄를 저지르는 것을 막을 수 있게 된다. According to the above-described problem solving means of the present disclosure, a service provider performs an authentication process between a customer such as a financial company and a telecommunications company to prevent SIM swapping hacking, thereby determining whether a user terminal requesting service access from a customer company is being used by a hacker. Or, it can inform whether it is being used by a normal user. Through this, the customer company can not provide the user's personal information or authentication information to the hacker, and the hacker can prevent the hacker from committing a crime of stealing the user's assets by using the user's information.
이렇게 심 스와핑 해킹을 미리 차단함으로써, 고객사뿐만 아니라 통신사는 심 스와핑 해킹에 의한 피해를 예방할 수 있다.By blocking SIM swapping hacking in advance, not only customers but also carriers can prevent damage caused by SIM swapping hacking.
또한, 카드와 같은 개별 매체에서 생성된 인증용 가상 코드를 이용한 인증을 개별적으로 수행함으써 보안성을 이중으로 높여 사용자가 고객사의 서비스를 이용함에 있어서 신뢰도 및 만족도를 높일 수 있다.In addition, by individually performing authentication using a virtual code for authentication generated in an individual medium such as a card, security can be doubled and the reliability and satisfaction of the user in using the customer's service can be increased.
또한, 중계자인 서비스 제공사의 인증을 통해 SMS 인증을 대체할 수 있어 사용자 편의성을 증대시킬 수 있다.In addition, user convenience can be increased because SMS authentication can be substituted through authentication of a service provider, which is an intermediary.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다. The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1은 본 개시의 일 실시예에 따른 인증 코드 기반의 심 스와핑 방지를 위한 서비스의 시스템을 개략적으로 나타낸 도면이다.1 is a diagram schematically illustrating a service system for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
도 2는 본 개시의 일 실시예에 따른 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버의 블록도이다.2 is a block diagram of a service providing server for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
도 3은 본 개시의 일 실시예에 따른 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 방법의 순서도이다.3 is a flowchart of a service providing method for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
도 4a 및 4b는 기존의 심 스와핑 해킹 방식 및 이를 방지하기 위한 본 개시의 일 실시예에 따른 서비스 프로세스를 설명하기 위한 도면이다.4A and 4B are diagrams for explaining a conventional SIM swapping hacking method and a service process for preventing it according to an embodiment of the present disclosure.
도 5는 본 개시의 일 실시예에 따른 사용자의 전화번호에 대응하는 해시 값의 제공 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a process of providing a hash value corresponding to a user's phone number according to an embodiment of the present disclosure.
도 6은 본 개시의 다른 실시예에 따른 카드 태깅 시 생성된 인증용 가상코드를 이용한 사용자 인증을 설명하기 위한 도면이다.6 is a diagram for explaining user authentication using a virtual code for authentication generated during card tagging according to another embodiment of the present disclosure.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 ‘부, 모듈, 부재, 블록’이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Like reference numbers designate like elements throughout this disclosure. The present disclosure does not describe all elements of the embodiments, and general content or overlapping content between the embodiments in the technical field to which the present disclosure belongs is omitted. The term 'unit, module, member, or block' used in the specification may be implemented as software or hardware, and according to embodiments, a plurality of 'units, modules, members, or blocks' may be implemented as one component, It is also possible that one 'part, module, member, block' includes a plurality of components.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case of being directly connected but also the case of being indirectly connected, and indirect connection includes being connected through a wireless communication network. do.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification, when a member is said to be located “on” another member, this includes not only a case where a member is in contact with another member, but also a case where another member exists between the two members.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다. Terms such as first and second are used to distinguish one component from another, and the components are not limited by the aforementioned terms.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Expressions in the singular number include plural expressions unless the context clearly dictates otherwise.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. In each step, the identification code is used for convenience of description, and the identification code does not explain the order of each step, and each step may be performed in a different order from the specified order unless a specific order is clearly described in context. there is.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the working principle and embodiments of the present disclosure will be described with reference to the accompanying drawings.
이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 개시를 한정하는 사항으로 기재하지 않은 경우에 본 개시의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.Prior to the description, the meaning of the terms used in this specification will be briefly described. However, it should be noted that the explanation of terms is intended to help the understanding of the present specification, and is not used in the sense of limiting the technical spirit of the present disclosure unless explicitly described as limiting the present disclosure.
본 명세서에서 “장치”는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 장치는, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.In this specification, “device” includes all various devices capable of providing results to users by performing calculation processing. For example, the device may include all of a computer, a server device, and a portable terminal, or may be of any one type.
여기에서, 상기 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.Here, the computer may include, for example, a laptop computer, a desktop computer, a laptop computer, a tablet PC, a slate PC, and the like equipped with a web browser.
상기 서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.The server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a game server, a mail server, a proxy server, and a web server.
상기 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.The portable terminal is, for example, a wireless communication device that ensures portability and mobility, and includes a Personal Communication System (PCS), a Global System for Mobile communications (GSM), a Personal Digital Cellular (PDC), a Personal Handyphone System (PHS), and a PDA. (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminal, smart phone ) and wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs). can include
본 명세서에서 "문자"는 코드를 구성하는 구성요소로서, 대문자 알파벳, 소문자 알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다. In this specification, a "character" is a component constituting a code, and includes all or part of uppercase alphabets, lowercase alphabets, numbers, and special characters.
본 명세서에서 "코드"는 문자가 나열된 문자열을 의미한다.In this specification, "code" means a string in which characters are listed.
본 명세서에서 “인증용 가상 코드”는 사용자 및 디바이스 중 적어도 하나의 인증을 위해 임시적으로 생성되는 OTAC(One Time Authentication Code)를 의미할 수 있다.In this specification, “virtual code for authentication” may mean a One Time Authentication Code (OTAC) that is temporarily generated for authentication of at least one of a user and a device.
본 명세서에서 "가상 코드 생성 함수"는 인증용 가상 코드를 생성하는 함수를 의미한다. 예를 들어, OTP(One Time Password) 등을 포함하며, 이에 한정하는 것은 아니다. In this specification, a "virtual code generation function" means a function that generates a virtual code for authentication. For example, one time password (OTP), etc. are included, but are not limited thereto.
본 명세서에서 "세부코드 생성 함수"는 인증용 가상 코드를 구성하는 각각의 세부코드를 생성하는 함수를 의미한다. In this specification, the "detailed code generation function" means a function that generates each of the detailed codes constituting the virtual code for authentication.
본 명세서에서 "세부코드 결합 함수"는 복수의 세부코드를 조합 또는 결합하여 가상코드를 생성하는 함수를 의미한다. In this specification, the "detail code combining function" means a function that generates a virtual code by combining or combining a plurality of detailed codes.
본 명세서에서 "단위카운트"는 특정한 시간간격으로 설정되어, 상기 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.In this specification, a "unit count" is a unit defined as being set at a specific time interval and changed as the time interval elapses. For example, 1 count may be set to a specific time interval (eg, 1.5 seconds) and used.
본 명세서에서 “저장위치”는 사용자 등록이 요청된 시점에 해당하는 트랙 상 지점(카운트)을 의미한다.In this specification, “storage location” means a point (count) on a track corresponding to the time when user registration is requested.
심 스와핑(SIM swapping) 사고란 특정인의 가입자식별모듈(SIM, 심) 카드를 무단으로 복제하거나 바꿔치기 한 뒤 휴대전화 본인 인증을 통과하는 방식으로 타인의 금융 자산을 탈취하는 범죄를 말한다. 심 스와핑 범죄자는 훔친 개인정보 등을 활용해 새로운 유심칩을 개통하고, 이를 공기계 상태의 휴대폰에 끼워 피해자의 문자와 전화 통화를 대신 수신한다.A SIM swapping accident refers to a crime in which a specific person's subscriber identity module (SIM) card is copied or replaced without permission, and then the person's mobile phone authentication is passed to steal another person's financial assets. Sim-swapping criminals use stolen personal information to open a new SIM chip and insert it into a mobile phone that is in an airborne state to receive text messages and phone calls from victims instead.
통신사는 수신된 개인정보가 정상적인 정보인 것만 보고(개인 정보를 보낸 사람이 범죄자임을 알 수가 없으므로) 해당 휴대폰의 개통처리를 완료하게 되고, 고객사는 개통된 휴대폰으로부터 서비스 이용을 위한 인증코드가 요청되면 정상적으로 개통된 휴대폰인 것만 보고(해당 휴대폰을 사용하는 사람이 범죄사임을 알 수가 없으므로) 해당 핸드폰으로 인증코드를 제공하게 된다. 이러한 심 스와핑을 통해 범죄자는 고객사의 서비스를 이용하여 사용자의 자산을 탈취하게 되는 것이다. The telecommunication company only reports that the received personal information is normal information (because it is impossible to know that the person who sent the personal information is a criminal) and completes the opening process of the corresponding mobile phone, and when the customer company requests an authentication code for service use from the opened mobile phone It only sees that the cell phone is normally opened (because it is impossible to know that the person using the cell phone is a criminal) and provides the authentication code to the cell phone. Through this sim swapping, the criminal uses the customer company's service to steal the user's assets.
이에, 본 개시에서는 서비스 제공사가 고객사 및 통신사와 연계하여, 그 중간에서 서비스 이용 접근에 대한 인증을 수행함으로써 심 스와핑 사고를 예방하도록 한다.Accordingly, in the present disclosure, a service provider cooperates with a customer company and a telecommunications company to prevent a SIM swapping accident by performing authentication for service use access in the middle.
이하에서는, 도 1을 참조하여, 인증 코드 기반의 심 스와핑 방지를 위한 서비스의 시스템을 설명하도록 한다.Hereinafter, with reference to FIG. 1, a service system for preventing SIM swapping based on an authentication code will be described.
도 1은 본 개시의 일 실시예에 따른 인증 코드 기반의 심 스와핑 방지를 위한 서비스의 시스템을 개략적으로 나타낸 도면이다.1 is a diagram schematically illustrating a service system for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
도 1을 참조하면, 인증 코드 기반의 심 스와핑 방지를 위한 서비스의 시스템(이하, 시스템)은 서비스 제공 서버(10), 사용자 단말(20), 고객사 서버(30), 통신사 서버(40) 및 카드(40)를 포함할 수 있다. Referring to FIG. 1, a service system (hereinafter, a system) for preventing SIM swapping based on an authentication code includes a service providing server 10, a user terminal 20, a customer company server 30, a communication company server 40, and a card (40) may be included.
다만, 몇몇 실시예에서 시스템은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 수의 구성요소를 포함할 수도 있다.However, in some embodiments, the system may include fewer or more components than those shown in FIG. 1 .
서비스 제공 서버(10)는 심 스와핑 방지를 위한 서비스를 제공하는 회사 또는 업체의 서버 장치를 의미할 수 있다.The service providing server 10 may refer to a server device of a company or company that provides a service for preventing SIM swapping.
서비스 제공 서버(10)는 고객사의 서비스 이용을 요청하는 사용자 단말(20)이 정상적인 기기인지 또는 사용자 단말(20)을 통해 서비스 이용을 요청하고 있는 사람이 정상적인 사용자인지를 판단하기 위한 인증을 수행할 수 있다.The service providing server 10 performs authentication to determine whether the user terminal 20 requesting service use of the customer company is a normal device or the person requesting service use through the user terminal 20 is a normal user. can
사용자 단말(20)은 고객사가 제공하는 서비스(예를 들어, 금용 서비스 또는 결제 서비스)를 이용하는 사람의 단말 장치를 의미할 수 있다. 사용자 단말(20)은 고객사의 서비스를 이용하기 위한 스마트 폰 애플리케이션(Application) 또는 모바일 웹을 포함하는 서비스 프로그램이 설치될 수 있다. 사용자는 서비스 프로그램을 통해 서비스 제공 서버(10)가 제공하는 모든 서비스를 이용할 수 있다.The user terminal 20 may refer to a terminal device of a person who uses a service provided by a customer company (eg, a financial service or a payment service). The user terminal 20 may be installed with a service program including a smart phone application or a mobile web for using a service of a customer company. A user may use all services provided by the service providing server 10 through a service program.
고객사 서버(30)는 서비스 제공 서버(10)가 제공하는 심 스와핑 방지 서비스를 이용하는 회사, 기관 또는 업체의 서버 장치를 의미할 수 있다. 예를 들어, 고객사 서버(30)는 금융기관, 정부기관, 금융사, 카드사 등의 서버 장치일 수 있지만, 이에 제한되는 것은 아니다.The client company server 30 may refer to a server device of a company, institution, or company that uses the SIM swapping prevention service provided by the service providing server 10 . For example, the client company server 30 may be a server device of a financial institution, a government institution, a financial company, a credit card company, or the like, but is not limited thereto.
통신사 서버(40)는 사용자 단말(20)이 가입한 통신사 서버 장치를 의미할 수 있다.The communication company server 40 may refer to a communication company server device to which the user terminal 20 subscribes.
통신사 서버(40)는 서비스 제공 서버(10)로 인증에 필요한 사용자 단말(20)에 대한 데이터 또는 정보를 제공할 수 있다.The communication company server 40 may provide data or information about the user terminal 20 required for authentication to the service providing server 10 .
카드(50)는 사용자가 고객사의 서비스를 이용하기 위해 고객사 어플리케이션에 등록한 실물 카드를 의미할 수 있다.The card 50 may refer to a physical card registered in a customer company application by a user in order to use a service of the customer company.
카드(50)는 인증용 가상 코드를 생성하기 위한 모듈(애플릿(Applet))을 포함하고, 사용자 단말(20)에 카드(50)가 태깅되면 상기 애플릿을 이용하여 사용자 단말(20)로부터 수신된 데이터 또는 내장된 데이터를 기반으로 인증용 가상 코드를 생성할 수 있다.The card 50 includes a module (applet) for generating a virtual code for authentication, and when the card 50 is tagged with the user terminal 20, the received from the user terminal 20 is received using the applet. Virtual code for authentication can be generated based on data or embedded data.
이하에서는, 도 2를 참조하여 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버를 설명하도록 한다.Hereinafter, referring to FIG. 2 , a service providing server for preventing SIM swapping based on an authentication code will be described.
도 2는 본 개시의 일 실시예에 따른 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버의 블록도이다.2 is a block diagram of a service providing server for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
도 2를 참조하면, 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버(이하, 서비스 제공 서버)(10)는 통신 모듈(11), 메모리(12) 및 프로세서(13)를 포함할 수 있다. 프로세서(13)는 해시 값 인증 모듈(131) 및 OTAC 인증 모듈(132)를 포함할 수 있다.Referring to FIG. 2 , a service providing server for preventing SIM swapping based on an authentication code (hereinafter referred to as a service providing server) 10 may include a communication module 11 , a memory 12 , and a processor 13 . The processor 13 may include a hash value authentication module 131 and an OTAC authentication module 132 .
다만, 몇몇 실시예에서, 서비스 제공 서버(10) 및 프로세서(13)는 도 2에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 수의 구성요소를 포함할 수도 있다.However, in some embodiments, the service providing server 10 and the processor 13 may include fewer or more components than those shown in FIG. 2 .
통신 모듈(11)은 상기 서비스 제공 서버(10)와 사용자 단말(20) 사이, 상기 서비스 제공 서버(10)와 고객사 서버(30) 사이, 상기 서비스 제공 서버(10)와 통신사 서버(40) 사이, 상기 서비스 제공 서버(10)와 통신망 사이의 무선 또는 유선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다. The communication module 11 is between the service providing server 10 and the user terminal 20, between the service providing server 10 and the client company server 30, and between the service providing server 10 and the communication company server 40. , It may include one or more modules enabling wireless or wired communication between the service providing server 10 and the communication network. For example, it may include at least one of a wired communication module, a wireless communication module, a short-distance communication module, and a location information module.
통신망은 다양한 형태의 통신망이 이용될 수 있으며, 예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coax), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신방식이 이용될 수 있다.Various types of communication networks may be used as the communication network, for example, wireless communication methods such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, and HSDPA (High Speed Downlink Packet Access) Alternatively, a wired communication method such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coax), FTTC (Fiber to The Curb), FTTH (Fiber To The Home) may be used.
한편, 통신망은 상기에 제시된 통신방식에 한정되는 것은 아니며, 상술한 통신방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.On the other hand, the communication network is not limited to the communication methods presented above, and may include all other types of communication methods that are widely known or will be developed in the future in addition to the above communication methods.
유선 통신 모듈은, 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈을 포함할 수 있다. Wired communication modules include not only various wired communication modules such as Local Area Network (LAN) modules, Wide Area Network (WAN) modules, or Value Added Network (VAN) modules, but also USB (Universal Serial Bus) ), high definition multimedia interface (HDMI), digital visual interface (DVI), recommended standard 232 (RS-232), power line communication, or plain old telephone service (POTS).
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.In addition to the WiFi module and the WiBro module, wireless communication modules include global system for mobile communication (GSM), code division multiple access (CDMA), wideband code division multiple access (WCDMA), and universal mobile telecommunications system (UMTS). ), time division multiple access (TDMA), long term evolution (LTE), and a wireless communication module supporting various wireless communication schemes such as 4G, 5G, and 6G.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.The short-range communication module is for short-range communication, and includes Bluetooth™, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, and Near Field Communication (NFC). Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and wireless USB (Wireless Universal Serial Bus) technologies may be used to support short-distance communication.
메모리(12)는 인증 코드 기반의 심 스와핑 방지를 위한 서비스를 제공하기 위한 적어도 하나의 프로세스를 저장하고 있을 수 있다.The memory 12 may store at least one process for providing a service for preventing SIM swapping based on an authentication code.
메모리(12)는 본 서비스 제공 서버(10)의 다양한 기능을 지원하는 데이터와, 프로세서(13)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 수 있고, 본 서비스 제공 서버(10)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 서비스 제공 서버(10)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. The memory 12 may store data supporting various functions of the service providing server 10 and programs for operation of the processor 13, and input/output data (eg, music files, stop images, videos, etc.), a plurality of application programs (applications) running in the service providing server 10, data for the operation of the service providing server 10, and instructions. can be saved At least some of these application programs may be downloaded from an external server through wireless communication.
이러한, 메모리(12)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(12)는 본 서비스 제공 서버(10)와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.The memory 12 is a flash memory type, a hard disk type, a solid state disk type, a silicon disk drive type, and a multimedia card micro type. micro type), card type memory (eg SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable EEPROM (EEPROM) It may include a storage medium of at least one type of a programmable read-only memory (PROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory 12 is separated from the service providing server 10, but may be a database connected by wire or wirelessly.
프로세서(13)는 본 서비스 제공 서버(10) 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리, 및 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행할 수 있다. 이때, 메모리(12)와 프로세서(13)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리(12)와 프로세서(13)는 단일 칩으로 구현될 수도 있다.The processor 13 may perform the above-described operations using a memory for storing data for an algorithm or a program for reproducing the algorithm for controlling the operation of components in the service providing server 10, and the data stored in the memory. can At this time, the memory 12 and the processor 13 may be implemented as separate chips. Alternatively, the memory 12 and the processor 13 may be implemented as a single chip.
프로세서(13)의 해시 값 인증 모듈(131)은 사용자 단말(20)의 고객사 어플리케이션 실행을 위한 기기 인증 요청에 따라, 통신사 서버(30)로부터 제공된 해시 값을 기반으로 인증을 수행할 수 있다. 이에 대한 자세한 설명은 후술한다.The hash value authentication module 131 of the processor 13 may perform authentication based on the hash value provided from the communication company server 30 according to the device authentication request for the user terminal 20 to execute the customer company application. A detailed description of this will be given later.
프로세서(13)의 OTAC 인증 모듈(132)은 카드(50) 및 사용자 단말(20) 간 태깅을 통해 생성된 인증용 가상 코드를 기반으로 사용자 단말(20)을 통해 고객사 서비스를 이용하려는 사용자가 정상적인 사용자인지에 대한 인증을 수행할 수 있다. 이에 대한 자세한 설명은 후술한다.The OTAC authentication module 132 of the processor 13 allows a user who intends to use the customer service through the user terminal 20 to use the virtual code for authentication generated through tagging between the card 50 and the user terminal 20 as normal. Authentication of whether a user is a user can be performed. A detailed description of this will be given later.
또한, 프로세서(13)는 이하의 도 3 내지 도 6에서 설명되는 본 개시에 따른 다양한 실시예들을 본 서비스 제공 서버(10) 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.In addition, the processor 13 is configured to implement any one or a plurality of the components described above in order to implement various embodiments according to the present disclosure described in FIGS. 3 to 6 below on the service providing server 10. You can control it.
도 3은 본 개시의 일 실시예에 따른 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 방법의 순서도이다.3 is a flowchart of a service providing method for preventing SIM swapping based on an authentication code according to an embodiment of the present disclosure.
도 4a 및 4b는 기존의 심 스와핑 해킹 방식 및 이를 방지하기 위한 본 개시의 일 실시예에 따른 서비스 프로세스를 설명하기 위한 도면이다.4A and 4B are diagrams for explaining a conventional SIM swapping hacking method and a service process for preventing it according to an embodiment of the present disclosure.
도 5는 본 개시의 일 실시예에 따른 사용자의 전화번호에 대응하는 해시 값의 제공 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a process of providing a hash value corresponding to a user's phone number according to an embodiment of the present disclosure.
도 6은 본 개시의 다른 실시예에 따른 카드 태깅 시 생성된 인증용 가상코드를 이용한 사용자 인증을 설명하기 위한 도면이다.6 is a diagram for explaining user authentication using a virtual code for authentication generated during card tagging according to another embodiment of the present disclosure.
이하에서 도 4a, 도 4b 및 도 5를 참조하여, 서비스 제공 서버(10)가 사용자 단말(20)의 고객사 어플리케이션 실행을 위한 기기 인증 요청에 따라, 통신사 서버(30)로부터 제공된 해시 값을 기반으로 인증을 수행하는 방법을 설명하도록 한다.Referring to FIGS. 4A, 4B, and 5 below, the service providing server 10 responds to a device authentication request for the user terminal 20 to execute a customer application, based on the hash value provided from the communication company server 30. Let us explain how to perform authentication.
설명의 편의를 위해 각 단계들을 프로세서(13) 또는 서비스 제공 서버(10)가 수행하는 것으로 설명하지만, 각 단계는 프로세서(13)에 포함된 해시 값 인증 모듈(131) 및 도 2에 도시되지 않은 모듈 중 어느 하나의 모듈에 의해 수행되는 것으로 이해될 수 있다.For convenience of description, each step is described as being performed by the processor 13 or the service providing server 10, but each step is performed by the hash value authentication module 131 included in the processor 13 and not shown in FIG. It can be understood as being performed by any one of the modules.
도 3을 참조하면, 서비스 제공 서버(10)의 프로세서(13)는 사용자의 단말(20)로부터 고객사 어플리케이션 실행을 위한 기기 인증 요청을 수신할 수 있다(S310).Referring to FIG. 3 , the processor 13 of the service providing server 10 may receive a device authentication request for executing a customer company application from the user's terminal 20 (S310).
서비스 제공 서버(10)의 프로세서(13)는 통신사의 서버(40)로 사용자의 전화번호에 대응하는 적어도 하나의 해시(hash) 값을 요청할 수 있다(S320).The processor 13 of the service providing server 10 may request at least one hash value corresponding to the user's phone number from the server 40 of the communication company (S320).
서비스 제공 서버(10)의 프로세서(13)는 적어도 하나의 해시 값을 이용하여 사용자 단말(20)의 인증을 수행할 수 있다(S330).The processor 13 of the service providing server 10 may perform authentication of the user terminal 20 using at least one hash value (S330).
서비스 제공 서버(10)의 프로세서(13)는 인증 결과를 고객사의 서버(30)로 전달할 수 있다(S340).The processor 13 of the service providing server 10 may transmit the authentication result to the server 30 of the customer company (S340).
도 4a를 참조하면, 기존에는 해커가 사용자의 개인정보를 탈취하고, 기기변경, 분실 전화번호 이동 등을 이유로 유심을 재발급 받거나 복제한 후에, 통신사 서버(30)로 탈취한 개인정보를 이용한 본인 인증을 요청하면, 통신사 서버(40)는 수신된 개인정보를 이용하여 인증을 수행한 후 개통 처리를 완료할 수 있다. 이로 인해, 정상적인 사용자의 휴대폰 통신은 끊기고, 해커는 공기계 형태의 휴대폰에 활성화된 신규 유심을 장착하게 된다. 그리고, 해커는 신규 유심이 장착된 휴대폰에 고객사 앱(고객사 어플리케이션)을 설치한 후, 고객사 단말(30)로 인증코드를 요청한다. 고객사 단말(30)은 해커의 휴대폰으로 인증코드를 전달하고, 해커는 수신된 인증코드를 이용하여 고객사 앱의 비밀번호를 재설정하거나 OTP를 새로 발급하여, 정상적인 사용자의 자산을 탈취하는 것이다.Referring to FIG. 4A, in the past, a hacker steals a user's personal information, receives a reissue or duplicates a SIM for reasons such as device change, lost phone number transfer, etc. Upon request, the communication company server 40 may complete the opening process after performing authentication using the received personal information. As a result, the normal user's mobile phone communication is cut off, and the hacker installs a new activated SIM in the air-type mobile phone. Then, the hacker requests an authentication code to the customer terminal 30 after installing the customer company app (customer company application) on the mobile phone equipped with the new USIM. The customer terminal 30 transmits the authentication code to the hacker's mobile phone, and the hacker uses the received authentication code to reset the password of the customer's app or issue a new OTP to steal the normal user's assets.
이하에서는 단계 S310 내지 단계 S340에 대해 도 4b 및 도 5를 참조하여, 본 개시가 고객사 서버(30)와 통신사 서버(40) 사이에 서비스 제공 서버(10)를 두고 심 스와핑을 방지하기 위한 인증을 수행하는 것에 대해 설명하도록 한다.Hereinafter, with reference to FIGS. 4B and 5 for steps S310 to S340, the present disclosure places the service providing server 10 between the client company server 30 and the telecommunications company server 40 and performs authentication to prevent SIM swapping. Please explain what you are doing.
※ 단계 S310 내지 단계 S330에 대한 설명 ※ Description of steps S310 to S330
도 4a를 참조하면, 사용자가 사용자 단말(20)을 통해 고객사 어플리케이션을 이용하기 위해, 사용자 단말(20)은 고객사 서버(30)로 고객사 어플리케이션 실행을 위한 기기 인증 요청을 송신할 수 있다(S401). 고객사 단말(30)은 수신된 기기 인증 요청을 서비스 제공 서버(10)로 송신할 수 있다(S402) Referring to FIG. 4A , in order for the user to use the customer company application through the user terminal 20, the user terminal 20 may transmit a device authentication request for executing the customer company application to the customer company server 30 (S401). . The customer terminal 30 may transmit the received device authentication request to the service providing server 10 (S402).
서비스 제공 서버(10)의 프로세서(13)는 통신사 서버(40)로 사용자의 전화번호에 대응하는 적어도 하나의 해시 값을 요청하면(S403), 통신사 서버(40)는 상기 전화번호에 대한 제1 해시 값, 상기 사용자 단말(20)의 식별 정보에 대한 제2 해시 값 및 상기 사용자 단말(20)에 포함된 심카드의 식별 정보에 대한 제3 해시 값 중 적어도 하나를 서비스 제공 서버(10)로 제공할 수 있다(S404).When the processor 13 of the service providing server 10 requests at least one hash value corresponding to the user's phone number from the communication company server 40 (S403), the communication company server 40 sends a first hash value for the phone number. At least one of a hash value, a second hash value for identification information of the user terminal 20, and a third hash value for identification information of a SIM card included in the user terminal 20 is transmitted to the service providing server 10. It can be provided (S404).
여기서, 사용자 단말(20)의 식별 정보는 기기 인증을 요청한 사용자 단말(20)을 식별할 수 있는 고유 정보일 수 있다. 예를 들어, 사용자 단말(20)의 식별 정보는 IMEI(International Mobile Equipment Identity)일 수 있으며, 이에 제한되는 것은 아니다.Here, the identification information of the user terminal 20 may be unique information capable of identifying the user terminal 20 that has requested device authentication. For example, the identification information of the user terminal 20 may be IMEI (International Mobile Equipment Identity), but is not limited thereto.
또한, 사용자 단말(20)에 포함된 심카드의 식별 정보는 사용자 단말(20)에 장착된 심카드(유심카드)를 식별할 수 있는 고유 정보일 수 있다. 예를 들어, 사용자 단말(20)에 포함된 심카드의 식별 정보는 IMEI(Integrated Circuit Card Identifier)일 수 있으며, 이에 제한되는 것은 아니다.In addition, the identification information of the SIM card included in the user terminal 20 may be unique information capable of identifying the SIM card (sim card) installed in the user terminal 20 . For example, the identification information of the SIM card included in the user terminal 20 may be an Integrated Circuit Card Identifier (IMEI), but is not limited thereto.
서비스 제공 서버(10)의 프로세서(13)는 수신된 해시 값을 기반으로 기기 인증을 수행할 수 있다(S405).The processor 13 of the service providing server 10 may perform device authentication based on the received hash value (S405).
보다 상세하게, 프로세서(13)는 통신사 서버(40)로부터 수신된 해시 값 및 상기 서비스 제공 서버(10) 내에 사용자(또는 사용자 단말(10))에 대해 기 저장된 해시 값의 비교를 통해 상기 인증을 수행하고, 상기 인증 결과 상기 수신된 해시 값이 상기 기 저장된 해시 값과 다르면 상기 사용자 단말(20)의 기기 변경 또는 심 변경이 수행됐던 것으로 판단할 수 있다.In more detail, the processor 13 performs the authentication by comparing the hash value received from the communication company server 40 and the hash value pre-stored for the user (or user terminal 10) in the service providing server 10. and, as a result of the authentication, if the received hash value is different from the pre-stored hash value, it may be determined that a device change or a SIM change of the user terminal 20 has been performed.
도 5를 참조하면, 프로세서(13)는 사용자 단말(20)로부터 상기 기기 인증 요청을 수신할 때 사용자(또는 사용자 단말(10)의 전화번호(MDN, Mobile Directory Number)를 함께 전달받는다(S501, S502).Referring to FIG. 5 , when receiving the device authentication request from the user terminal 20, the processor 13 receives the mobile directory number (MDN) of the user (or the user terminal 10) together (S501, S502).
프로세서(13)는 토큰 및 확인 URL(Check URL)을 생성하고(S503), 확인 URL이 포함된 토큰을 고객사 서버(30)를 통해 사용자 단말(20)로 제공할 수 있다(S504, S505). 이렇게 확인 URL을 전송하는 이유는 사용자 제공 서버(10)가 고객사 서버(30)를 통하지 않고 사용자 단말(20)과 모바일 네트워크로 다이렉트 연결을 하기 위함이다.The processor 13 may generate a token and a check URL (S503), and provide the token including the check URL to the user terminal 20 through the customer server 30 (S504 and S505). The reason for transmitting the confirmation URL in this way is that the user-provided server 10 makes a direct connection to the user terminal 20 and the mobile network without going through the client company server 30 .
확인 URL을 통해 인앱에서 모바일 네트워크로 연결이 되면 서비스 제공 서버(10)는 수신된 토큰이 정상적으로 돌아온 것을 확인하면(수신된 확인 URL이 상기 토큰에 포함된 확인 URL과 동일하면)(S506, S507), 양자 간에 연결이 됐다고 판단을 하고, 통신사 서버(40)로 수신된 전화번호(MDN)를 전달하면서, 토큰에 대응되도록 전화번호가 매칭되는지에 대한 확인 요청과 해시 값 요청을 송신할 수 있다(S508).When the connection from the in-app to the mobile network is established through the verification URL, the service providing server 10 confirms that the received token has returned normally (if the received verification URL is the same as the verification URL included in the token) (S506, S507) , It is determined that the connection between the two is established, and a confirmation request for whether the phone number is matched to correspond to the token and a hash value request can be transmitted while forwarding the received phone number (MDN) to the communication company server 40 ( S508).
통신사 서버(40)는 전화번호 매칭이 확인되면, 상기 제1 해시 값(도 5에 도시된 MDN), 상기 제2 해시 값(도 5에 도시된 IMEI) 및 상기 제3 해시 값(도 5에 도시된 ICCID) 중 적어도 하나를 생성할 수 있고, 생성된 해시 값을 서비스 제공 서버(10)로 전달할 수 있다(S509, S510).When the phone number matching is confirmed, the communication company server 40 determines the first hash value (MDN shown in FIG. 5), the second hash value (IMEI shown in FIG. 5), and the third hash value (shown in FIG. 5). At least one of the illustrated ICCIDs) may be generated, and the generated hash value may be transmitted to the service providing server 10 (S509 and S510).
실시예에 따라, 통신사 서버(40)는 세 개의 정보(MDN, IMEI, ICCID) 각각을 하나의 해시 값(제1 해시 값 내지 제3 해시 값)으로 생성하여, 서비스 제공 서버(10)로 세 개 중 하나만을 전달할 수도 있고, 서비스 제공 서버(10)로 세 개 중 두 개만 전달할 수도 있고, 서비스 제공 서버(10)로 세 개 모두 전달할 수도 있다. Depending on the embodiment, the communication company server 40 generates one hash value (first hash value to third hash value) for each of the three pieces of information (MDN, IMEI, ICCID), and sets them to the service providing server 10. Only one of them may be delivered, only two of three may be delivered to the service providing server 10, or all three may be delivered to the service providing server 10.
예를 들어, 통신사 서버(40)는 제1 내지 제3 해시 값 중에서 제2 해시 값만 전송할 수 있고, 또는 제1 내지 제3 해시 값 중에서 제2 해시 값과 제3 해시 값을 전송할 수 있고, 또는 제1 내지 제3 해시 값 전부를 전송할 수도 있다.For example, the communication company server 40 may transmit only the second hash value among the first to third hash values, or may transmit the second hash value and the third hash value among the first to third hash values, or All of the first to third hash values may be transmitted.
실시예에 따라, 통신사 서버(40)는 세 개의 정보(MDN, IMEI, ICCID) 중 두 개의 정보를 합한 정보(데이터)를 하나의 해시 값으로 생성하여 서비스 제공 서버(10)로 전달할 수 있다. Depending on the embodiment, the telecommunication company server 40 may generate information (data) obtained by combining two of the three pieces of information (MDN, IMEI, and ICCID) as one hash value and transmit it to the service providing server 10.
예를 들어, 통신사 서버(40)는 IMEI+ICCID의 값을 하나의 해시 값으로 생성할 수 있고, 또는 IMEI+MDN의 값을 하나의 해시 값으로 생성할 수 있고, 또는 ICCID+MDN의 값을 하나의 해시 값으로 생성할 수 도 있다.For example, the communication company server 40 may generate IMEI+ICCID value as one hash value, or may generate IMEI+MDN value as one hash value, or may generate ICCID+MDN value as one hash value. It can also be created with a single hash value.
실시예에 따라, 통신사 서버(40)는 세 개의 정보(MDN, IMEI, ICCID)를 모두 합한 정보(데이터)를 하나의 해시 값으로 생성하여 서비스 제공 서버(10)로 전달할 수 있다. 예를 들어, 통신사 서버(40)는 IMEI+ICCID+MDN의 값을 하나의 해시 값으로 생성할 수 있다.Depending on the embodiment, the telecommunication company server 40 may generate information (data) obtained by combining all three pieces of information (MDN, IMEI, and ICCID) as one hash value and transmit it to the service providing server 10. For example, the communication company server 40 may generate a value of IMEI+ICCID+MDN as one hash value.
서비스 제공 서버(10)는 수신된 해시 값과 기 저장된 해시 값과의 비교를 통해 기기 변경 또는 심 변경 여부를 체크할 수 있다(S511).The service providing server 10 may check whether a device has been changed or a sim has been changed by comparing the received hash value with a pre-stored hash value (S511).
보다 상세하게, 사용자(또는 사용자 단말(10))이 통신사 서버(30)에 가입 시, 통신사 서버(30)는 해당 사용자에 대한 초기 해시 값을 생성해서 사용자 단말(10)로 제공할 수 있다. 사용자 단말(10)은 초기 해시 값을 저장해두고 이후에 수신되는 해시 값과의 비교를 통해 기기 변경 또는 심 변경 여부를 체크할 수 있다.More specifically, when a user (or user terminal 10) subscribes to the communication company server 30, the communication company server 30 may generate an initial hash value for the user and provide it to the user terminal 10. The user terminal 10 stores the initial hash value and compares it with the hash value received later to check whether a device has been changed or a SIM has been changed.
초기 해시 값 생성 방법은 상술한 해시 값 생성 방법과 동일하며, 상술한 바와 같이 해시 값은 3개의 정보(MND, IMEI, ICCID)의 조합에 따라 상이하게 생성될 수 있다(MND, IMEI, ICCID, IMEI+ICCID, IMEI+MDN, ICCID+MDN, IMEI+ICCID+MDN).The initial hash value generation method is the same as the above-described hash value generation method, and as described above, the hash value can be generated differently according to the combination of three pieces of information (MND, IMEI, ICCID, IMEI+ICCID, IMEI+MDN, ICCID+MDN, IMEI+ICCID+MDN).
실시예에 따라, 서비스 제공 서버(10)는 두 값의 비교 결과, IME이 다르면 사용자 단말에 기기 변경이 있었던 것으로 판단할 수 있다.Depending on the embodiment, the service providing server 10 may determine that a device change has occurred in the user terminal when the IMEs are different as a result of comparing the two values.
실시예에 따라, 서비스 제공 서버(10)는 두 값의 비교 결과, ICCID이 다르면 사용자 단말에 심 변경이 있었던 것으로 판단할 수 있다.Depending on the embodiment, the service providing server 10 may determine that a SIM change has occurred in the user terminal when the ICCIDs are different as a result of comparing the two values.
※ 단계 S340에 대한 설명 ※ Description of step S340
도 4a를 참조하면, 사용자 단말에 기기 변경 또는 심 변경이 있었던 것으로 판단되면, 서비스 제공 서버(10)는 고객사 서버(30)로 상기 사용자 단말(20)이 정상적인 기기가 아님을 알리는 기기 인증 결과를 전달할 수 있다(S406, 도 5에서 S512).Referring to FIG. 4A , when it is determined that a device change or SIM change has occurred in a user terminal, the service providing server 10 sends a device authentication result to the client company server 30 notifying that the user terminal 20 is not a normal device. It can be delivered (S406, S512 in FIG. 5).
또는, 사용자 단말에 기기 변경 또는 심 변경이 없었던 것으로 판단되면, 서비스 제공 서버(10)는 고객사 서버(30)로 상기 사용자 단말(20)이 정상적인 기기임을 알리는 기기 인증 결과를 전달할 수 있다Alternatively, if it is determined that there is no device change or SIM change in the user terminal, the service providing server 10 may transmit a device authentication result indicating that the user terminal 20 is a normal device to the client company server 30.
이에 따라, 고객사 서버(30)는 사용자 단말(20)로 요청됐던 정보를 제공할지 또는 제공하지 않을지를 결정할 수 있다(S407). Accordingly, the customer company server 30 may determine whether or not to provide the requested information to the user terminal 20 (S407).
정상적인 기기라면, 고객사 서버(30)는 사용자가 요청했던 신규 가입이나 재발급 등의 요청이 정상적인 요청이었던 것으로 판단하고, 신규 가입 또는 재발급을 위한 관련 정보를 제공할 수 있다. If the device is normal, the client company server 30 may determine that the request for new subscription or reissuance requested by the user was a normal request, and provide relevant information for new subscription or reissuance.
비정상적인 기기라면, 고객사 서버(30)는 사용자가 요청했던 신규 가입이나 재발급 등의 요청이 비정상적인 요청이었던 것으로 판단하고, 신규 가입 또는 재발급을 위한 관련 정보를 제공하지 않을 수 있다. If it is an abnormal device, the client company server 30 may determine that the request for new subscription or reissuance requested by the user is an abnormal request, and may not provide relevant information for new subscription or reissuance.
한편, 본 개시에 따른 서비스 제공 서버(10)에 의해 제공되는 심 스와핑 방지를 위한 서비스는 클라우드 방식을 기반으로 상기 고객사 서버(30)에게 제공되거나, 상기 고객사 서버(30) 내부에 상기 서비스를 위한 서버가 탑재된 형태(On-premise 방식)로 상기 고객사 서버(30)에게 제공될 수 있다. 이와 관련한 자세한 설명은 후술하도록 한다.Meanwhile, the service for preventing SIM swapping provided by the service providing server 10 according to the present disclosure is provided to the customer company server 30 based on a cloud method, or a service for the service is provided inside the customer company server 30. The server may be provided to the customer company server 30 in a mounted form (on-premise method). A detailed description of this will be given later.
이하에서 도 6을 참조하여, 서비스 제공 서버(10)가 카드(50) 및 사용자 단말(20) 간 태깅을 통해 생성된 인증용 가상 코드를 기반으로 사용자 단말(20)을 통해 고객사 서비스를 이용하려는 사용자가 정상적인 사용자인지에 대한 인증을 수행하는 방법을 설명하도록 한다.Referring to FIG. 6 below, the service providing server 10 intends to use the customer service through the user terminal 20 based on the virtual code for authentication generated through tagging between the card 50 and the user terminal 20. A method of performing authentication on whether a user is a normal user will be described.
설명의 편의를 위해 각 단계들을 프로세서(13) 또는 서비스 제공 서버(10)가 수행하는 것으로 설명하지만, 각 단계는 프로세서(13)에 포함된 OTAC 인증 모듈(132) 및 도 2에 도시되지 않은 모듈 중 어느 하나의 모듈에 의해 수행되는 것으로 이해될 수 있다.For convenience of description, each step is described as being performed by the processor 13 or the service providing server 10, but each step is performed by the OTAC authentication module 132 included in the processor 13 and a module not shown in FIG. It can be understood as being performed by any one of the modules.
프로세서(13)는 상기 고객사 어플리케이션 내 등록이 완료된 상기 사용자의 카드(50) 및 상기 사용자 단말(20) 간의 태깅 시 상기 카드(50)에서 생성된 인증용 가상 코드를 수신하고, 상기 인증용 가상 코드를 기반으로 정상적인 사용자가 상기 사용자 단말(10)을 통해 고객사 서비스를 이용하려는 것인지에 대한 검증을 수행할 수 있다.The processor 13 receives a virtual code for authentication generated by the card 50 during tagging between the card 50 of the user whose registration in the customer company application is completed and the user terminal 20, and the virtual code for authentication Based on this, it is possible to verify whether a normal user intends to use the customer company service through the user terminal 10 .
여기서, 인증용 가상 코드는 현재 시간 데이터, 카드(50)의 카드번호, 카드(50)의 고유값 중 적어도 하나를 이용하여 생성될 수 있다. 카드번호는 고객사(예를 들어, 금융사)의 식별코드(예를 들어, BIN)를 포함할 수 있고, 카드의 고유값은 카드제조사에 의해 제작되는 카드 별로 순차적으로 부여되는 값일 수 있다. 현재 시간 데이터는 태깅 시 사용자 단말(20)에서 카드(50)로 제공될 수 있고, 또는 카드(50)에서 자체적으로 획득될 수 있다.Here, the virtual code for authentication may be generated using at least one of current time data, a card number of the card 50, and a unique value of the card 50. The card number may include an identification code (eg, BIN) of a customer company (eg, a financial company), and a unique value of a card may be a value sequentially assigned to each card manufactured by a card manufacturer. Current time data may be provided from the user terminal 20 to the card 50 during tagging, or may be acquired by the card 50 itself.
프로세서(13)는 상기 카드(50) 및 상기 사용자 단말(20) 간의 태깅을 통해 사용자 등록이 요청되면, 상기 카드번호 및 상기 고유값 중 적어도 하나를 사용자 정보와 매칭하여 저장할 수 있다. 여기서, 사용자 정보는 전화번호(MDN), 유저 ID(아이디), 시크릿 키(Secret key)를 포함할 수 있으며, 이에 제한되는 것은 아니다. 시크릿 키는 사용자 단말(20)이 사용자 등록을 요청할 때, 서비스 제공 서버(10)에 의해 생성되어 해당 사용자 단말(20)에 부여되는 값일 수 있다. 유저 ID는 고객사 앱에 가입된 사용자의 아이디를 의미할 수 있다.When user registration is requested through tagging between the card 50 and the user terminal 20, the processor 13 may match and store at least one of the card number and the unique value with user information. Here, the user information may include a phone number (MDN), a user ID (ID), and a secret key, but is not limited thereto. The secret key may be a value generated by the service providing server 10 and given to the corresponding user terminal 20 when the user terminal 20 requests user registration. The user ID may refer to an ID of a user subscribed to a customer app.
이렇게 사용자 등록이 완료되면, 서비스 제공 서버(10) 내에서 상기 사용자(또는 사용자 단말(10))에 대한 인증용 가상 코드 생성을 위한 함수가 초기 설정되어 구동을 시작하게 된다.When user registration is completed in this way, a function for generating a virtual code for authentication for the user (or user terminal 10) is initially set in the service providing server 10 and started to operate.
실시예에 따라, 프로세서(13)는 OTAC 검증을 위해 한가지의 사용자 정보만 관리할 수 있으며, 그 개수는 한가지에 한정되지는 않는다. 또한, 실시예에 따라, 프로세서(13)는 OTAC 검증을 위해 서버 내에 최종 등록된 정보만 유효한 정보로 활용할 수 있다.Depending on the embodiment, the processor 13 may manage only one piece of user information for OTAC verification, and the number is not limited to one. Also, according to an embodiment, the processor 13 may utilize only information finally registered in the server as valid information for OTAC verification.
프로세서(13)는 인증용 가상 코드를 이용하여 검증을 수행할 수 있다. 즉, 인증용 가상 코드에서 추출된 상기 카드번호 또는 상기 고유값을 이용하여 탐색된 사용자 정보를 기반으로 상기 검증을 수행할 수 있다.The processor 13 may perform verification using a virtual code for authentication. That is, the verification may be performed based on the user information searched for using the card number extracted from the virtual code for authentication or the unique value.
도 5를 참조하면, 카드(50)와 사용자 단말(20) 간에 태깅이 이루어지면(S601), 카드(40)에서 인증용 가상 코드가 생성되고(S602), 생성된 인증용 가상 코드는 사용자 단말(20), 고객사 서버(30)를 통해 서비스 제공 서버(10)로 전달된다(S603, S604, S605). 서비스 제공 서버(10)는 수신된 인증용 가상 코드 검증(OTAC 검증)을 수행한다(S606). Referring to FIG. 5 , when tagging is performed between the card 50 and the user terminal 20 (S601), a virtual code for authentication is generated in the card 40 (S602), and the generated virtual code for authentication is the user terminal (20), it is transmitted to the service providing server 10 through the customer company server 30 (S603, S604, S605). The service providing server 10 performs verification of the received virtual code for authentication (OTAC verification) (S606).
실시예에 따라, 프로세서(13)는 탐색 알고리즘을 통해 인증용 가상 코드로부터 카드번호 또는 고유값을 탐색할 수 있다. 프로세서(13)는 해당 서버 내에서 탐색된 카드번호 또는 고유값에 매칭된 사용자 정보가, 해당 사용자(또는 사용자 단말(10))에 대해 가장 최근에 등록된 사용자 정보와 일치하는지를 판단할 수 있다.Depending on the embodiment, the processor 13 may search for a card number or a unique value from a virtual code for authentication through a search algorithm. The processor 13 may determine whether the user information matched to the card number or unique value found in the corresponding server matches user information most recently registered for the corresponding user (or user terminal 10).
두 정보가 일치하면, 프로세서(13)는 현재 정상적인 사용자가 본인의 사용자 단말(20)을 이용하여 정상적인 서비스 요청을 하는 것으로 판단할 수 있다. 그리고, 이러한 검증 결과는 고객사 서버(30)로 제공할 수 있다(S607). 이에 따라, 고객사 서버(30)는 사용자 단말(20)로 요청된 서비스(신규 가입 또는 재발급 등)와 관련된 정보를 제공할 수 있다(S608).If the two pieces of information match, the processor 13 may determine that the current normal user makes a normal service request using the user terminal 20 of the user. And, this verification result can be provided to the customer company server 30 (S607). Accordingly, the client company server 30 may provide information related to the requested service (new subscription or reissue, etc.) to the user terminal 20 (S608).
두 정보가 일치하지 않으면, 프로세서(13)는 현재 비정상적인 사용자가 사용자 단말(20)을 이용하여 서비스 요청을 하는 것으로 판단할 수 있다. 그리고, 이러한 검증 결과는 고객사 서버(30)로 제공할 수 있다(S607). 이에 따라, 고객사 서버(30)는 사용자 단말(20)로 요청된 서비스(신규 가입 또는 재발급 등)와 관련된 정보를 제공하지 않을 수 있다(S608).If the two pieces of information do not match, the processor 13 may determine that the current abnormal user makes a service request using the user terminal 20 . And, this verification result can be provided to the customer company server 30 (S607). Accordingly, the customer company server 30 may not provide information related to the requested service (new subscription or reissue, etc.) to the user terminal 20 (S608).
실시예에 따라, 고객사 어플리케이션에 인증용 가상 코드 생성을 위한 모듈이 포함된 경우, 프로세서(13)는 상기 인증용 가상 코드 생성 모듈에서 생성된 최종 인증용 가상 코드를 수신하고, 상기 최종 인증용 가상 코드에 대한 검증을 수행할 수 있다. 여기서, 최종 인증용 가상 코드는, 상기 사용자 정보와 상기 인증용 가상 코드를 이용하여 생성될 수 있다.Depending on the embodiment, when a module for generating a virtual code for authentication is included in a customer application, the processor 13 receives the virtual code for final authentication generated by the virtual code generation module for authentication, and the virtual code for final authentication. You can perform code verification. Here, the virtual code for final authentication may be generated using the user information and the virtual code for authentication.
즉, 최종 인증용 가상 코드는 카드에서 생성된 인증용 가상 코드와 함께 최종 등록된 사용자 정보를 이용하여 생성된다. 그리고, 서비스 제공 서버(10)는 최종 인증용 가상 코드로부터 추출된 상기 카드번호 또는 상기 고유값을 이용하여 사용자 정보를 탐색하고, 탐색된 사용자 정보와, 최종 인증용 가상 코드에 포함된 최종 등록된 사용자 정보를 비교하여 OTAC 검증을 수행할 수 있다.That is, the virtual code for final authentication is generated using the virtual code for authentication generated in the card and finally registered user information. Then, the service providing server 10 searches for user information using the card number or the unique value extracted from the virtual code for final authentication, and the searched user information and the finally registered information included in the virtual code for final authentication. OTAC verification can be performed by comparing user information.
한편, 상술한 바와 같이, 심 스와핑 방지를 위한 서비스는 클라우드 방식 또는 On-premise 방식으로 상기 고객사 서버(30)에게 제공될 수 있다. Meanwhile, as described above, the service for preventing SIM swapping may be provided to the customer company server 30 in a cloud method or an on-premise method.
클라우드 방식은 카드를 가지고 있지 않은 제3 서비스도 심 스와핑 방지 서비스를 이용할 수 있도록 하기 위해 적용될 수 있다. 실시예에 따라, 제3 서비스의 자사 SDK를 고객사 서버에 탑재하고 카드를 신규 등록할 때, 제3 서비스의 자사 플랫폼 서버에도 해당 카드를 등록하여, 이후 서비스 제공 서버(10)에서 검증 시 활용 가능하게 할 수 있다. 실시예에 따라, 고객사 서버에 카드에 의한 OTAC 검증 서버를 두고, 제3 서비스의 서버가 고객사 서버와 API 연동을 통해 검증 결과를 수신할 수 있다.The cloud method can be applied so that a third service that does not have a card can also use the SIM swapping prevention service. Depending on the embodiment, when the company's SDK of the third service is loaded on the customer's server and a new card is registered, the corresponding card is also registered in the company's platform server of the third service, and can be used for verification in the service providing server 10 afterwards. can do Depending on the embodiment, an OTAC verification server by card may be placed in the customer company server, and the server of the third service may receive the verification result through API interworking with the customer company server.
On-premise 방식은 각 고객사 서버 내부에 탑재된 서비스 제공 서버를 통해 고객사가 기기 변경 및 심 변경에 대한 인증 결과를 수신할 수 있다. 이 경우 자체적으로 발급한 카드의 태깅을 통해 개인정보 탈취를 직접적으로 차단할 수 있다.In the on-premise method, customers can receive authentication results for device change and SIM change through the service providing server installed inside each customer's server. In this case, theft of personal information can be directly blocked through tagging of the self-issued card.
이하에서는 카드에 포함된 OTAC 생성 모듈(인증용 가상 코드 생성 모듈)이 인증용 가상 코드를 생성하는 방법에 대해서 구체적으로 설명하도록 한다.Hereinafter, a method of generating a virtual code for authentication by the OTAC generation module (virtual code generation module for authentication) included in the card will be described in detail.
OTAC 생성 모듈은 하나 또는 복수의 세부코드를 생성할 수 있다. 세부코드는 인증용 가상 코드를 구성하는 일부 코드를 의미하는데, 인증용 가상 코드는 세부코드만으로 구성될 수도 있으며, 또는 OTP함수에 의해 생성된 가상보안코드에 하나 또는 복수의 세부코드를 결합하여 최종적으로 인증용 가상 코드(OTAC)의 형태로 형성될 수도 있다. The OTAC generation module may generate one or more detailed codes. The detailed code refers to some codes constituting the virtual code for authentication. The virtual code for authentication may consist of only the detailed code, or one or more detailed codes may be combined with the virtual security code generated by the OTP function to obtain a final final result. It may be formed in the form of virtual code (OTAC) for authentication.
OTAC 생성 모듈은 인증용 가상 코드를 생성하는 코드 생성 함수를 포함하고, 코드 생성 함수는 하나 이상의 세부코드를 생성하는 세부코드 생성 함수와, 상기 세부코드를 결합하여 가상코드를 생성하는 세부코드 결합 함수(즉, 복수의 세부코드를 조합하는 규칙)를 포함한다.The OTAC generation module includes a code generation function that generates a virtual code for authentication, and the code generation function includes a detailed code generation function that generates one or more detailed codes and a detailed code combining function that generates a virtual code by combining the detailed codes. (i.e., rules for combining a plurality of detailed codes).
즉, 인증용 가상 코드가 복수의 세부코드를 포함하는 경우, 코드 생성 함수는 복수의 세부코드 생성 함수를 이용하여 복수의 세부코드를 생성하고, 상기 세부코드 결합 함수를 통해 상기 복수의 세부코드를 기 설정된 조합으로 결합하여 인증용 가상 코드를 생성한다. That is, when the virtual code for authentication includes a plurality of detailed codes, the code generating function generates a plurality of detailed codes using the plurality of detailed codes generating functions, and generates the plurality of detailed codes through the detailed code combining function. By combining in a preset combination, a virtual code for authentication is generated.
복수의 세부코드 간에는 OTAC 검증 서버(서비스 제공 서버(10))가 사용자 또는 디바이스를 식별할 수 있는 정보의 저장위치를 탐색하기 위해 이용되는 상관관계를 가진다. 즉, OTAC 검증 서버는 탐색 알고리즘을 구비하고, 상기 탐색 알고리즘은 인증용 가상 코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드의 상관관계를 기반으로 카드번호 또는 카드의 고유값의 저장위치를 탐색한다. 상기 복수의 세부코드가 가지는 상관관계에 대한 일 실시예로, 탐색 알고리즘은 복수의 세부코드 중 하나 이상의 세부코드에 대응하는 경유지점으로부터 상기 복수의 세부코드 간의 상관관계를 기반으로 연산하여 카드번호 또는 카드의 고유값의 저장위치를 탐색할 수 있다. 이때, 상기 경유지점은 하나 또는 복수일 수 있으며 개수 및 순서에 제한은 없다.A plurality of detailed codes have a correlation used by the OTAC verification server (service providing server 10) to search for a storage location of information capable of identifying a user or device. That is, the OTAC verification server has a search algorithm, and the search algorithm extracts a plurality of detailed codes included in the virtual code for authentication, and calculates the card number or unique value of the card based on the correlation between the plurality of detailed codes. Search the storage location. As an example of the correlation between the plurality of detailed codes, the search algorithm operates based on the correlation between the plurality of detailed codes from a waypoint corresponding to one or more of the plurality of detailed codes, The storage location of the unique value of the card can be searched. At this time, the number of waypoints may be one or plural, and the number and order are not limited.
또한, 복수의 세부코드의 일 실시예로, 복수의 세부코드는 제1코드 및 제2코드를 포함할 수 있고, OTAC 생성 모듈은 세부코드 생성 함수로 제1함수와 제2함수를 포함하여, 제1코드 및 제2코드를 생성한다. 제1코드와 제2코드는 OTAC 검증 서버(15, 31) 내에서 카드번호 또는 카드의 고유값의 저장위치를 탐색하기 위한 상관관계를 가지나, OTAC 생성 모듈은 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드 생성 함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다. In addition, as an embodiment of the plurality of detailed codes, the plurality of detailed codes may include first codes and second codes, and the OTAC generating module includes the first function and the second function as detailed code generating functions, A first code and a second code are generated. The first code and the second code have a correlation to search the storage location of the card number or unique value of the card in the OTAC verification server 15, 31, but the OTAC generation module uses the first code to increase security. The first function to generate the second code and the second function to generate the second code may be included as the detailed code generating function, but data on correlation between the first code and the second code may not be included.
제1코드와 제2코드의 상관관계의 구체적인 예로, 제1코드와 제2코드는 카드번호 또는 카드의 고유값의 저장위치를 탐색하기 위한 각각의 역할을 수행할 수 있다. 즉, 제1코드는 상기 경유지점에 대한 정보를 포함하고, 제2코드는 상기 경유 지점으로부터 상기 카드번호 또는 카드의 고유값의 저장위치에 도달할 수 있는 연산에 필요한 정보를 포함할 수 있다. As a specific example of the correlation between the first code and the second code, the first code and the second code may play respective roles for searching for a storage location of a card number or a unique value of a card. That is, the first code may include information about the waypoint, and the second code may include information necessary for an operation capable of reaching the storage location of the card number or unique value of the card from the waypoint.
한편, 본 개시의 일 실시예로 제1코드는 제1카운트를 기반으로 생성되며, 제2코드는 제2카운트를 기반으로 생성될 수 있다. 이때, 제1카운트는 OTAC 생성 모듈 또는 OTAC 검증 서버에서 코드 생성 함수가 구동된 최초시점으로부터 인증용 가상 코드가 생성된 시점까지 경과된 단위 카운트의 개수이고, 제2카운트는 카드번호 또는 카드의 고유값이 OTAC 검증 서버에 저장된 시점으로부터 경과된 단위 카운트 개수를 포함할 수 있다.Meanwhile, according to an embodiment of the present disclosure, the first code may be generated based on the first count, and the second code may be generated based on the second count. At this time, the first count is the number of unit counts that have elapsed from the initial point in time when the code generation function is driven in the OTAC generation module or the OTAC verification server to the point in time when the virtual code for authentication is generated, and the second count is the card number or unique card number It may include the number of unit counts that have elapsed since the time the value was stored in the OTAC verification server.
즉, 제1코드를 생성하는 제1함수는 제1카운트에 대응되는 특정한 코드값을 제공하는 함수이고, 제2코드를 생성하는 제2함수는 제2카운트에 대응되는 특정한 코드값을 제공하는 함수이다. That is, the first function generating the first code is a function providing a specific code value corresponding to the first count, and the second function generating the second code is a function providing a specific code value corresponding to the second count. am.
이하에서는, OTAC 생성 모듈이 인증용 가상 코드를 검증하는 방법에 대하여 구체적으로 설명하도록 한다. Hereinafter, a method for the OTAC generating module to verify the virtual code for authentication will be described in detail.
본 개시의 일 실시예로, OTAC 검증 서버가 상기 사용자 단말(20)로부터 상기 인증용 가상 코드를 수신하면, 상기 인증용 가상 코드를 수신한 시간 데이터 및 상기 인증용 가상 코드의 시간 데이터를 비교하여 상기 인증용 가상 코드를 검증할 수 있다.In one embodiment of the present disclosure, when the OTAC verification server receives the virtual code for authentication from the user terminal 20, by comparing the time data of the virtual code for authentication with the time data of the virtual code for authentication The virtual code for authentication may be verified.
구체적으로, OTAC 검증 서버에서 인증용 가상 코드가 정상적으로 생성된 것인지를 검증한다. 즉, OTAC 검증 서버는 인증용 가상 코드를 수신한 후 OTAC 검증 서버에 저장된 정보(즉, 코드 생성 함수 및 시드 데이터)를 바탕으로 상기 수신한 인증용 가상 코드가 현 시점에 정상적으로 생성된 것인지를 확인하여 인증용 가상 코드의 정상 여부를 판단한다. OTAC 검증 서버는 인증용 가상 코드에 코드 생성 함수의 역함수를 적용하여 인증용 가상 코드가 생성된 시점에 상응하는 카운트를 찾아낸다. 인증용 가상 코드의 전송시간이나 딜레이에 의해 인증용 가상 코드가 생성된 시점과 OTAC 검증 서버가 인증용 가상 코드를 수신한 시점의 차이가 존재함에 따라 OTAC 검증 서버가 인증용 가상 코드를 수신한 카운트와 인증용 OTP번호를 생성한 카운트가 일치하지 않을 수도 있으므로, OTAC 검증 서버는 인증용 가상 코드를 수신한 카운트로부터 오차범위를 허용한다. Specifically, it is verified whether the virtual code for authentication is normally generated in the OTAC verification server. That is, after receiving the virtual code for authentication, the OTAC verification server checks whether the received virtual code for authentication is normally generated at the present time based on information stored in the OTAC verification server (ie, code generation function and seed data) to determine whether the virtual code for authentication is normal. The OTAC verification server applies the inverse function of the code generation function to the virtual code for authentication to find a count corresponding to the point in time when the virtual code for authentication is generated. The count that the OTAC verification server received the virtual code for authentication due to the difference between the time when the virtual code for authentication was generated due to the transmission time or delay of the virtual code for authentication and the time when the virtual code for authentication was received by the OTAC verification server Since the count of generating the OTP number for authentication may not match, the OTAC verification server allows an error range from the count of receiving the virtual code for authentication.
한편, 본 개시의 일 실시예로 OTAC 검증 서버는 상기 인증용 가상 코드를 기반으로 카드번호 또는 카드의 고유값의 저장위치를 탐색하여 사용자 정보를 추출하고, 상기 추출한 사용자 정보를 기반으로 사용자 또는 기기 인증을 수행할 수 있다.On the other hand, in one embodiment of the present disclosure, the OTAC verification server extracts user information by searching for a storage location of a card number or unique value of a card based on the virtual code for authentication, and based on the extracted user information, the user or device authentication can be performed.
도 3은 단계들을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.Although FIG. 3 is described as sequentially executing steps, this is merely an example of the technical idea of this embodiment, and those skilled in the art to which this embodiment belongs will not deviate from the essential characteristics of this embodiment. Since the order described in FIG. 3 may be changed and executed in a range not specified, or executed in parallel, various modifications and variations may be applied, and FIG.
한편, 상술한 설명에서, 도 3에 기재된 단계들은 본 개시의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.Meanwhile, in the above description, the steps described in FIG. 3 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present disclosure. Also, some steps may be omitted if necessary, and the order of steps may be changed.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.Meanwhile, the disclosed embodiments may be implemented in the form of a recording medium storing instructions executable by a computer. Instructions may be stored in the form of program codes, and when executed by a processor, create program modules to perform operations of the disclosed embodiments. The recording medium may be implemented as a computer-readable recording medium.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. Computer-readable recording media include all types of recording media in which instructions that can be decoded by a computer are stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.As above, the disclosed embodiments have been described with reference to the accompanying drawings. Those skilled in the art to which the present disclosure pertains will understand that the present disclosure may be implemented in a form different from the disclosed embodiments without changing the technical spirit or essential features of the present disclosure. The disclosed embodiments are illustrative and should not be construed as limiting.
Claims (10)
- 통신 모듈; 및communication module; and상기 통신 모듈을 통해 사용자의 단말로부터 고객사 어플리케이션 실행을 위한 기기 인증 요청이 수신되면, 통신사의 서버로 상기 사용자의 전화번호에 대응하는 적어도 하나의 해시(hash) 값을 요청하고, 상기 적어도 하나의 해시 값을 이용하여 상기 사용자 단말에 대한 상기 기기 인증을 수행하고, 상기 기기 인증 결과를 고객사의 서버로 전달하는 프로세서;를 포함하는,When a device authentication request for executing a client company application is received from the user's terminal through the communication module, at least one hash value corresponding to the user's phone number is requested from a server of the telecommunications company, and the at least one hash value is received. A processor that performs the device authentication for the user terminal using a value and delivers the device authentication result to the server of the customer company;인증 코드 기반의 심 스와핑(SIM swapping) 방지를 위한 서비스 제공 서버.Service providing server to prevent SIM swapping based on authentication code.
- 제1 항에 있어서,According to claim 1,상기 해시 값은, 상기 전화번호에 대한 제1 해시 값, 상기 사용자 단말의 식별 정보에 대한 제2 해시 값 및 상기 사용자 단말에 포함된 심카드의 식별 정보에 대한 제3 해시 값을 포함하는, The hash value includes a first hash value for the phone number, a second hash value for identification information of the user terminal, and a third hash value for identification information of a SIM card included in the user terminal.인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버.Server providing service to prevent SIM swapping based on authentication code.
- 제1 항에 있어서,According to claim 1,상기 프로세서는, 상기 통신사 서버로부터 수신된 해시 값 및 상기 사용자에 대해 기 저장된 해시 값의 비교를 통해 상기 인증을 수행하고, 상기 인증 결과 상기 수신된 해시 값이 상기 기 저장된 해시 값과 다르면 상기 사용자 단말의 기기 변경 또는 심 변경이 수행됐던 것으로 판단하고, 상기 고객사 서버로 상기 사용자 단말이 정상적인 기기가 아님을 알리는 상기 기기 인증 결과를 전달하는,The processor performs the authentication by comparing the hash value received from the communication company server and the hash value previously stored for the user, and if the received hash value is different from the previously stored hash value as a result of the authentication, the user terminal Determining that a device change or SIM change has been performed, and transmitting the device authentication result indicating that the user terminal is not a normal device to the customer server,인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버.Server providing service to prevent SIM swapping based on authentication code.
- 제1 항에 있어서,According to claim 1,상기 프로세서는, 상기 사용자 단말로부터 상기 기기 인증 요청이 수신되면, 상기 사용자 단말로 확인 URL이 포함된 토큰을 송신하고, 상기 사용자 단말로부터 수신된 확인 URL이 상기 토큰에 포함된 확인 URL과 동일하면 상기 통신사 서버로 상기 해시 값을 요청하는, When the device authentication request is received from the user terminal, the processor transmits a token including a verification URL to the user terminal, and if the verification URL received from the user terminal is the same as the verification URL included in the token, the processor transmits the verification URL to the user terminal. Requesting the hash value from the telecommunication company server,인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버.Server providing service to prevent SIM swapping based on authentication code.
- 제1 항에 있어서,According to claim 1,심 스와핑 방지를 위한 서비스는, 클라우드 방식을 기반으로 상기 고객사 서버에게 제공되거나, 상기 고객사 서버 내부에 상기 서비스를 위한 서버가 탑재된 형태로 상기 고객사 서버에게 제공되는,The service for preventing SIM swapping is provided to the customer server based on a cloud method or provided to the customer server in the form of a server for the service mounted inside the customer server.인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버.Server providing service to prevent SIM swapping based on authentication code.
- 제1 항에 있어서,According to claim 1,상기 프로세서는, 상기 고객사 어플리케이션 내 등록이 완료된 상기 사용자의 카드 및 상기 사용자 단말 간의 태깅 시 상기 카드에서 생성된 인증용 가상 코드를 수신하고, 상기 인증용 가상 코드를 기반으로 정상적인 사용자가 상기 사용자 단말을 통해 고객사 서비스를 이용하려는 것인지에 대한 검증을 수행하고,The processor receives a virtual code for authentication generated from the card when tagging between the card of the user whose registration in the customer company application is completed and the user terminal, and based on the virtual code for authentication, allows a normal user to access the user terminal. Performs verification of whether the customer intends to use the service through상기 인증용 가상 코드는, 현재 시간 데이터, 상기 카드의 카드번호, 상기 카드의 고유값 중 적어도 하나를 이용하여 생성되는,The virtual code for authentication is generated using at least one of current time data, a card number of the card, and a unique value of the card.인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버.Server providing service to prevent SIM swapping based on authentication code.
- 제6 항에 있어서,According to claim 6,상기 프로세서는, 상기 카드 및 상기 사용자 단말 간의 태깅을 통해 상기 등록이 요청되면, 상기 카드번호 및 상기 고유값 중 적어도 하나를 사용자 정보와 매칭하여 저장하는,The processor, when the registration is requested through tagging between the card and the user terminal, matching and storing at least one of the card number and the unique value with user information,인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버.Server providing service to prevent SIM swapping based on authentication code.
- 제7 항에 있어서,According to claim 7,상기 프로세서는, 상기 인증용 가상 코드에서 추출된 상기 카드번호 또는 상기 고유값을 이용하여 탐색된 사용자 정보를 기반으로 상기 검증을 수행하는,The processor performs the verification based on the user information searched for using the card number or the unique value extracted from the virtual code for authentication.인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버.Server providing service to prevent SIM swapping based on authentication code.
- 제7 항에 있어서,According to claim 7,상기 고객사 어플리케이션에 인증용 가상 코드 생성을 위한 모듈이 포함된 경우,If the customer's application includes a module for generating a virtual code for authentication,상기 프로세서는, 상기 모듈에서 생성된 최종 인증용 가상 코드를 수신하고, 상기 최종 인증용 가상 코드에 대한 검증을 수행하고,The processor receives the virtual code for final authentication generated by the module, performs verification on the virtual code for final authentication,상기 최종 인증용 가상 코드는, 상기 사용자 정보와 상기 인증용 가상 코드를 이용하여 생성되는, The final virtual code for authentication is generated using the user information and the virtual code for authentication.인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버Server providing service to prevent SIM swapping based on authentication code
- 서비스 제공 서버에 의해 수행되는 방법에 있어서,In the method performed by the service providing server,사용자의 단말로부터 고객사 어플리케이션 실행을 위한 기기 인증 요청을 수신하는 단계; Receiving a device authentication request for executing a customer company application from a user's terminal;통신사의 서버로 상기 사용자의 전화번호에 대응하는 적어도 하나의 해시(hash) 값을 요청하는 단계; requesting at least one hash value corresponding to the user's phone number to a server of a communication company;상기 적어도 하나의 해시 값을 이용하여 상기 사용자 단말에 대한 상기 기기 인증을 수행하는 단계; 및performing the device authentication for the user terminal using the at least one hash value; and상기 기기 인증 결과를 고객사의 서버로 전달하는 단계;를 포함하는,Including, transmitting the device authentication result to the server of the customer company;인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 방법.A method of providing a service to prevent SIM swapping based on an authentication code.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0027972 | 2022-03-04 | ||
KR20220027972 | 2022-03-04 | ||
KR20220148325 | 2022-11-09 | ||
KR10-2022-0148325 | 2022-11-09 | ||
KR10-2023-0028333 | 2023-03-03 | ||
KR1020230028333A KR20230131446A (en) | 2022-03-04 | 2023-03-03 | Server and method for providing service for preventing sim swapping based on authentication code |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023167568A1 true WO2023167568A1 (en) | 2023-09-07 |
Family
ID=87884079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/002995 WO2023167568A1 (en) | 2022-03-04 | 2023-03-04 | Server and method for providing service for prevention of sim swapping based on authentication code |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023167568A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101531878B1 (en) * | 2014-11-28 | 2015-06-26 | 주식회사 다날 | Simple payment support apparatus and method for a mobile terminal |
KR101628004B1 (en) * | 2016-03-02 | 2016-06-08 | (주)케이스마텍 | User simple authentication method and system using user terminal in trusted execution environment |
KR101691412B1 (en) * | 2015-08-31 | 2016-12-30 | 주식회사 다날 | Phone number based 2channel user authentication assistive device and method |
US20210250177A1 (en) * | 2018-09-03 | 2021-08-12 | Icncast Co., Ltd. | SYSTEM AND METHOD FOR BLOCKCHAIN-BASED MULTI-FACTOR SECURITY AUTHENTICATION BETWEEN MOBILE TERMINAL AND IoT DEVICE |
WO2021206289A1 (en) * | 2020-04-08 | 2021-10-14 | 오스티븐상근 | User authentication method, device and program |
-
2023
- 2023-03-04 WO PCT/KR2023/002995 patent/WO2023167568A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101531878B1 (en) * | 2014-11-28 | 2015-06-26 | 주식회사 다날 | Simple payment support apparatus and method for a mobile terminal |
KR101691412B1 (en) * | 2015-08-31 | 2016-12-30 | 주식회사 다날 | Phone number based 2channel user authentication assistive device and method |
KR101628004B1 (en) * | 2016-03-02 | 2016-06-08 | (주)케이스마텍 | User simple authentication method and system using user terminal in trusted execution environment |
US20210250177A1 (en) * | 2018-09-03 | 2021-08-12 | Icncast Co., Ltd. | SYSTEM AND METHOD FOR BLOCKCHAIN-BASED MULTI-FACTOR SECURITY AUTHENTICATION BETWEEN MOBILE TERMINAL AND IoT DEVICE |
WO2021206289A1 (en) * | 2020-04-08 | 2021-10-14 | 오스티븐상근 | User authentication method, device and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017188610A1 (en) | Authentication method and system | |
WO2016137304A1 (en) | Trust-zone-based end-to-end security | |
WO2014175538A1 (en) | Apparatus for providing puf-based hardware otp and method for authenticating 2-factor using same | |
WO2016153281A1 (en) | Method and apparatus for downloading profile in wireless communication system | |
WO2009107994A2 (en) | Method and system of providing personal information control service for mobile communication terminal | |
WO2020050424A1 (en) | BLOCK CHAIN-BASED SYSTEM AND METHOD FOR MULTIPLE SECURITY AUTHENTICATION BETWEEN MOBILE TERMINAL AND IoT DEVICE | |
WO2018000787A1 (en) | Terminal, and method and system for identifying pseudo base station | |
EP3342098A1 (en) | Electronic device and method for authenticating identification information thereof | |
WO2023210861A1 (en) | Notification service server capable of providing notification service for access to harmful website and operation method thereof | |
WO2018053904A1 (en) | Information processing method and terminal | |
WO2018043832A1 (en) | Method for operating secure web browser | |
WO2023210860A1 (en) | Internet access management service server capable of providing internet access management service based on terminal grouping and operation method thereof | |
WO2013055114A1 (en) | Electronic payment method, system, and device | |
WO2018032583A1 (en) | Method and apparatus for acquiring location information of terminal | |
WO2010147379A2 (en) | Method for authenticating a universal subscriber identity module and system thereof | |
WO2023167568A1 (en) | Server and method for providing service for prevention of sim swapping based on authentication code | |
WO2024122924A1 (en) | Phishing damage monitoring system and method therefor | |
WO2013039304A1 (en) | Method of registering a membership for an electronic payment, system for same, and apparatus and terminal thereof | |
WO2022186605A1 (en) | Smart card device, device for generating virtual code for authentication, method for generating virtual code for authentication using same, and server for verifying virtual code for authentication | |
WO2013009120A2 (en) | Mobile communication terminal and apparatus and method for authenticating applications | |
WO2021172876A1 (en) | Device and method for virtual authorization code-based process authorization | |
WO2023167567A1 (en) | Apparatus and method for preventing hacking via authentication based on virtual code for authentication | |
WO2022186653A1 (en) | Smart card device, and device and method for generating virtual security code by determining whether data match | |
WO2021096205A1 (en) | System or method capable of installing or executing server app | |
WO2013176502A1 (en) | Method for providing mobile communication provider information and device for performing same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23763766 Country of ref document: EP Kind code of ref document: A1 |