KR20200048276A - Digital forensic data decoding device - Google Patents

Digital forensic data decoding device Download PDF

Info

Publication number
KR20200048276A
KR20200048276A KR1020180130194A KR20180130194A KR20200048276A KR 20200048276 A KR20200048276 A KR 20200048276A KR 1020180130194 A KR1020180130194 A KR 1020180130194A KR 20180130194 A KR20180130194 A KR 20180130194A KR 20200048276 A KR20200048276 A KR 20200048276A
Authority
KR
South Korea
Prior art keywords
information
string
digital forensic
forensic data
data
Prior art date
Application number
KR1020180130194A
Other languages
Korean (ko)
Other versions
KR102155240B1 (en
Inventor
이창훈
박진성
남기훈
서승희
Original Assignee
서울과학기술대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울과학기술대학교 산학협력단 filed Critical 서울과학기술대학교 산학협력단
Priority to KR1020180130194A priority Critical patent/KR102155240B1/en
Publication of KR20200048276A publication Critical patent/KR20200048276A/en
Application granted granted Critical
Publication of KR102155240B1 publication Critical patent/KR102155240B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Abstract

According to one embodiment of the present invention, provided is a digital forensic data decryption device, which comprises: a pre-processing unit pre-processing contents of an encrypted character string of data in a login result field of a Use Accounts Model to extract an identity value (IV); and a decryption unit applying an AesCrypto function to the IV extracted through the pre-processing unit to decrypt the encrypted character string.

Description

디지털 포렌식 데이터 복호화 장치{DIGITAL FORENSIC DATA DECODING DEVICE}DIGITAL FORENSIC DATA DECODING DEVICE

본 발명의 일실시예는 디지털 포렌식 데이터 복호화 장치에 관한 것으로, 보다 상세하게는 사용자 정보를 테이블에 암호화하여 저장하는 어플리케이션에 적용될 수 있는 디지털 포렌식 데이터 복호화 장치에 관한 것이다.One embodiment of the present invention relates to a digital forensic data decoding apparatus, and more particularly, to a digital forensic data decoding apparatus that can be applied to an application that encrypts and stores user information in a table.

스마트폰 초기 시장은 애플사의 iOS, 블랙베리사의 Blackberry 둥이 점유하였으나,구글과 삼성,엘지 등이 안드로이드 운영체제 기반의 스마트폰을 개발하면서 스마트폰 시장은 IOS와 안드로이드가 점유를 차지하게 되었다. 구글은 스마트폰뿐만 아니라 태플릿PC 등의 다양한 스마트기기를 발전시킴에 따라 사용자의 편의를 제공함과 동시에 사용자의 개인정보 및 데이터가 저장된 가장 밀접한 데이터보관매체가 되었다. 안드로이드 운영체제를 사용하는 스마트폰 제조사인 삼성과 엘지는 국내 2016년도 상반기에 70% 이상의 점유율을 차지하고 있다. 2016년 3월 기준 국내 스마트폰 보급률은 91%를 기록했으며 사용자는 일반적으로 하루 3시간 이상 사용하는 것으로 나타났다. 따라서 스마트폰은 사용자와 관련된 개인정보 및 데이터를 저장하고 있을 가능성이 높다.The initial market for smartphones occupied Apple's iOS and BlackBerry's Blackberry, but as the Google, Samsung, and LG developed smartphones based on the Android operating system, the smartphone market occupied IOS and Android. As Google has developed various smart devices such as tablet PCs as well as smartphones, it has provided convenience for users and has become the closest data storage medium in which user's personal information and data are stored. Samsung and LG, smartphone makers using the Android operating system, accounted for over 70% of the market share in the first half of 2016 in Korea. As of March 2016, the domestic smartphone penetration rate was 91%, and users generally use it for more than 3 hours a day. Therefore, the smartphone is likely to store personal information and data related to the user.

스마트폰 보급이 확산됨에 따라 모바일을 통한 각종 사이버 범죄가 급속하게증가하고 있다. 사이버범죄란 인터넷 태플릿PC 스마트폰 등 정보통신기술을 이용하여 발생하는 범죄로써 정보보호 및 정보통신망 이용촉진 등에 관한 법률,형법 등을 위반한 행위를 말한다. 해당하는 범죄로는 해킹,피싱,바이러스 감염,스팸유포,악플,개인정보 탈취,온라인 명예훼손 음란물 유포 등이 존재한다. 하지만 사이버범죄는 법률 형법 등의 위반 한 행위가 존재함에도 처벌의 어려움이 있다.As the spread of smartphones spreads, various cyber crimes through mobiles are rapidly increasing. Cybercrime is a crime that occurs by using information and communication technologies such as Internet tablet PCs and smartphones, and it is an act that violates laws and criminal laws related to information protection and promotion of information and communication network use. Examples of such crimes include hacking, phishing, virus infection, spreading spam, stealing personal information, stealing personal information, and distributing pornography. However, cybercrime has difficulties in punishment even if there are violations of the law, criminal law, etc.

사이버 공간에서 사이버범죄의 신고 접수는 실질적으로 처벌이 이루어지지 않거나 흑은 기존의 형사법을 위반 한 경우에 피해자의 정신적,물리적 피해가 존재하더라도 사이버 입법의 미비로 처벌의 한계가 존재한다. 사이버범죄도 현실세계의 범죄와 마찬가지로 범죄를 입증하기 위한 증거가 필요하지만 해당 증거자료는 디지털 형태의 자료이므로 용의자의 PC, 태블릿PC,스마트폰 등의 기기를 압수수색하여 증거자료를 수집하더라도 증거부족 혹은 증거의 신뢰성의 문제로 사이버범죄의 입증하는 것이 어려운 실정이다When cyber crimes are reportedly filed in cyberspace, there are practically no penalties, or even if the black violates existing criminal law, there are limitations in punishment due to the lack of cyber legislation even if the victim suffers mental and physical damage. Cybercrime, like crime in the real world, requires evidence to prove the crime, but the evidence is in digital form. Or, it is difficult to prove cybercrime due to the reliability of the evidence.

따라서 현실적으로 사용자들이 가장 밀접하게 접근하고 디지털 증거 수집의매개체인 스마트폰의 데이터 증거자료를 법적효력 가치로 인정할 수 있는 디지털포렌식 분석 기술의 필요성이 높아지고 있다Therefore, in reality, the need for a digital forensic analysis technology that allows users to closely approach and recognize data evidence of a smartphone, which is a medium for digital evidence collection, as a legal efficacy value is increasing.

본 발명이 이루고자 하는 기술적 과제는 디지털 데이터를 복호화하여 디지털 증거자료로 인정받을 수 있도록 하는 디지털 포렌식 데이터 복호화 장치를 제공하는데 있다.The technical problem to be achieved by the present invention is to provide a digital forensic data decoding apparatus that allows digital data to be decoded and recognized as digital evidence.

본 발명의 일 실시예에 따르면, UseAccountsModel모델의 loginresult필드의 데이터 중 암호화 된 문자열의의 내용을 전처리하여 식별값(Identity Value, IV)을 추출하는 전처리부; 및 상기 전처리부를 통하여 추출된 식별값에 AesCrypto함수를 적용하여 상기 암호화 된 문자열을 복호화하는 복호화부를 포함하는 디지털 포렌식 데이터 복호화 장치를 제공한다.According to an embodiment of the present invention, a pre-processing unit extracts an identification value (IV) by pre-processing the contents of an encrypted string among data in the loginresult field of the UseAccountsModel model; And a decoding unit that decrypts the encrypted character string by applying the AesCrypto function to the identification value extracted through the preprocessing unit.

상기 전처리부는 입력된 문자열을 Bae64로 디코딩하여 디코딩 된 문자열을 변수 AesCrypto.a값과 비교하여 동일하면 해당 내용을 문자열에서 제거하여 IV추출하고, 남은 문자열을 연접하여 암호문으로 사용할 수 있다.The pre-processing unit may decode the input string into Bae64, compare the decoded string with the variable AesCrypto.a value, remove the corresponding content from the string, extract the IV, and concatenate the remaining string to use it as a ciphertext.

복호화 되는 정보는 사용자의 아이디, 위치정보, 시간, 친구 정보 및 프로필 사진 정보 중 적어도 하나를 포함할 수 있다.The decrypted information may include at least one of a user ID, location information, time, friend information, and profile picture information.

상기 복호화부는 AES암호화 알고리즘, CBC운용모드, PKCS7패딩 방식을 사용하여 복호화를 수행할 수 있다.The decoding unit may perform decoding using an AES encryption algorithm, a CBC operation mode, and a PKCS7 padding method.

상기 UseAccountsModel모델은 사용자의 회원정보를 데이터베이스 파일의 한 테이블에 암호화된 상태로 저장하는 어플리케이션으로부터 추출될 수 있다.The UseAccountsModel model may be extracted from an application that stores the user's member information in an encrypted state in a table of a database file.

본 발명인 디지털 포렌식 데이터 복호화 장치는 모바일 데이터의 수집 및 분석을 통하여 암호화 된 사용자 회원 정보를 복호화할 수 있다.The digital forensic data decoding apparatus according to the present invention can decrypt encrypted user member information through collection and analysis of mobile data.

또한, 복호화를 통하여 친구 정보, 상태 정보, 위치 정보 등을 복호화 하여 디지털 증거 자료로 활용할 수 있다.In addition, friend information, status information, location information, and the like can be decrypted to be used as digital evidence.

도1은 본 발명의 실시예에 따른 디지털 포렌식 데이터 복호화 장치의 구성블록도이다.
도2는 본 발명의 실시예에 따른 어플리케이션의 화면 구성을 설명하기 위한 도면이다.
도3은 본 발명의 실시예에 따른 데이터 암호화 과정을 설명하기 위한 개념도이다.
도4는 본 발명의 실시예에 따른 데이터 복호화 과정을 설명하기 위한 개념도이다.
1 is a block diagram of a digital forensic data decoding apparatus according to an embodiment of the present invention.
2 is a view for explaining a screen configuration of an application according to an embodiment of the present invention.
3 is a conceptual diagram illustrating a data encryption process according to an embodiment of the present invention.
4 is a conceptual diagram illustrating a data decoding process according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

다만, 본 발명의 기술 사상은 설명되는 일부 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 기술 사상 범위 내에서라면, 실시 예들간 그 구성 요소들 중 하나 이상을 선택적으로 결합, 치환하여 사용할 수 있다.However, the technical spirit of the present invention is not limited to some embodiments described, but may be implemented in various different forms, and within the scope of the technical spirit of the present invention, one or more of its components between embodiments may be selectively selected. It can be used by bonding and substitution.

또한, 본 발명의 실시예에서 사용되는 용어(기술 및 과학적 용어를 포함)는, 명백하게 특별히 정의되어 기술되지 않는 한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 일반적으로 이해될 수 있는 의미로 해석될 수 있으며, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미를 고려하여 그 의미를 해석할 수 있을 것이다.In addition, the terms used in the embodiments of the present invention (including technical and scientific terms), unless specifically defined and described, can be generally understood by those skilled in the art to which the present invention pertains. It can be interpreted as meaning, and commonly used terms, such as predefined terms, may interpret the meaning in consideration of the contextual meaning of the related technology.

또한, 본 발명의 실시예에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다.In addition, the terms used in the embodiments of the present invention are for describing the embodiments and are not intended to limit the present invention.

본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함할 수 있고, "A 및(와) B, C 중 적어도 하나(또는 한 개 이상)"로 기재되는 경우 A, B, C로 조합할 수 있는 모든 조합 중 하나 이상을 포함할 수 있다.In the present specification, a singular form may also include a plural form unless specifically stated in the phrase, and is combined with A, B, and C when described as "at least one (or more than one) of A and B, C". It can contain one or more of all possible combinations.

또한, 본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다.In addition, in describing the components of the embodiments of the present invention, terms such as first, second, A, B, (a), and (b) may be used.

이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등으로 한정되지 않는다.These terms are only for distinguishing the component from other components, and the term is not limited to the nature, order, or order of the component.

그리고, 어떤 구성 요소가 다른 구성요소에 '연결', '결합' 또는 '접속'된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결, 결합 또는 접속되는 경우뿐만 아니라, 그 구성 요소와 그 다른 구성 요소 사이에 있는 또 다른 구성 요소로 인해 '연결', '결합' 또는 '접속' 되는 경우도 포함할 수 있다.And, when a component is described as being 'connected', 'coupled' or 'connected' to another component, the component is not only directly connected to, coupled to, or connected to the other component, but also to the component It may also include the case of 'connected', 'coupled' or 'connected' due to another component between the other components.

또한, 각 구성 요소의 "상(위) 또는 하(아래)"에 형성 또는 배치되는 것으로 기재되는 경우, 상(위) 또는 하(아래)는 두 개의 구성 요소들이 서로 직접 접촉되는 경우뿐만 아니라 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 형성 또는 배치되는 경우도 포함한다. 또한, "상(위) 또는 하(아래)"으로 표현되는 경우 하나의 구성 요소를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함할 수 있다.Further, when described as being formed or disposed in the "top (top) or bottom (bottom)" of each component, the top (top) or bottom (bottom) is one as well as when the two components are in direct contact with each other It also includes a case in which another component described above is formed or disposed between two components. In addition, when expressed as "up (up) or down (down)", it may include the meaning of the downward direction as well as the upward direction based on one component.

이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings, but the same or corresponding components are assigned the same reference numbers regardless of reference numerals, and redundant descriptions thereof will be omitted.

도 1은 본 발명의 실시예에 따른 디지털 포렌식 데이터 복호화 장치(10)의 구성 블록도이다. 도1을 참조하면, 본 발명의 실시예에 따른 디지털 포렌식 데이터 복호화 장치(10)는 전처리부(11) 및 복호화부(12)를 포함하여 구성될 수 있다.1 is a block diagram of a digital forensic data decoding apparatus 10 according to an embodiment of the present invention. Referring to FIG. 1, the digital forensic data decoding apparatus 10 according to an embodiment of the present invention may include a pre-processor 11 and a decoder 12.

본 발명의 실시예에 따른 디지털 포렌식 데이터 복호화 장치(10)는 안드로이드 Blued어플리케이션의 암호화 된 데이터를 복호화하여 디지털 데이터의 증거 능력을 인정받을 수 있도록 할 수 있다. 본 발명의 실시예에 적용되는 Blued어플리케이션은 중국에서 개발된 소셜 어플리케이션으로, 위치 기반 주변 사용자 검색, 라이브 스트림, 문자, 음성, 스냅 사진, 플래시를 이용한 채팅 기능 등을 사용자에게 제공할 수 있다.The digital forensic data decryption apparatus 10 according to an embodiment of the present invention can decrypt the encrypted data of the Android Blued application so that the ability to prove digital data can be recognized. The Blued application applied to an embodiment of the present invention is a social application developed in China, and can provide a user with location-based nearby user search, live stream, text, voice, snapshot, chat function using flash, and the like.

Blued 어플리케이션은 사용자에게 전술한 기능을 제공하기 위하여 필요한 개인 정보를 어플리케이션의 데이터 영역인 /data/data/com.blued.intemationaνdatabases의 blued2015.db 에 저장할 수 있다. blued- 2015.db는 아래 표1과 같이 구성될 수 있다.The Blued application may store personal information necessary to provide the above-described functions to the user in blued2015.db of /data/data/com.blued.intemationaνdatabases, which is the data area of the application. blued-2015.db can be configured as shown in Table 1 below.

Figure pat00001
Figure pat00001

blued2015.db는 UserAccountsModel 테이블의 일부를 제외한 모든 데이터를 평문으로 저장할 수 있다. UserAccountsModel테이블은 ID, ID 종류, 패스워드 해시 값 등의 로그인 정보와 로그인 후 화면에 표시되는 사용자 개인 정보를 저장할 수 있다. User AccountsModel 테이블을 구성하는 각 칼럼은 아래 표2와 같이 구성될 수 있다.blued2015.db can store all data in plain text except for a part of the UserAccountsModel table. The UserAccountsModel table can store login information such as ID, ID type, and password hash value, and user personal information displayed on the screen after login. Each column constituting the User AccountsModel table can be configured as shown in Table 2 below.

Figure pat00002
Figure pat00002

[표 2] 에서 사용자의 개인 정보를 저장하는 loginresult 칼럼은 로그인 성공 후 서버로부터 HTTP 통신을 통해 전송받은 사용자 개인 정보를 JSON 형식으로 저장할 수 있다. loginresult 칼럼의 필드 값은 data’키의 값 중 일부 값을 제외한 모든 데이터의 식별이 가능하다.In [Table 2], the loginresult column for storing the user's personal information can store the user's personal information received through HTTP communication from the server after successful login in JSON format. The field value of the loginresult column can identify all data except some of the data 'key values.

User AccountsModel 테이블은 UserAccountsManager.a() 함수 호출에 의해 그 내용이 애플리케이션에서 사용될 수 있다.The User AccountsModel table can be used in the application by calling UserAccountsManager.a () function.

User AccountsManager.a() 함수는 UserInfo.u() 함수에 의하여 호출되어 사용된다. UserInfo.u() 함수는 User AccountsModel테이블의 내용을 파싱하여 저장할 수 있으며, UserInfo.a()라는 함수를 통해 loginresult 칼럼의 내용을 BluedLoginResult라는 클래스에 입력 후 반환할 수 있다. 반환된 클래스는 NULL 값인지 여부를 확인한 후 여러 가지 함수를 통해 호출된 뒤에 사용되는데, 대표적인 함수가 사용자의 개인 정보를 Blued 애플리케이션의 프로필 화면에 표시하는 기능을 가지는 UserInfoPresenter.a() 함수이다. UserlnfoPresenter.a() 함수가 실행되면 도2와 같은 프로필 화면이 표시될 수 있다User AccountsManager.a () is called and used by UserInfo.u (). The UserInfo.u () function can parse and store the contents of the User AccountsModel table. Through the function called UserInfo.a (), the contents of the loginresult column can be entered into the class called BluedLoginResult and returned. The returned class is used after checking whether it is a NULL value and then called through various functions. The representative function is UserInfoPresenter.a (), which has the function of displaying the user's personal information on the profile screen of the Blued application. When the UserlnfoPresenter.a () function is executed, the profile screen shown in Fig. 2 may be displayed.

따라서 loginresult 칼럼에서 추출한 내용을 사용하는 UserlnfoPresenter.a () 함수가 사용자의 개인정보를 표시하므로 loginresult 칼럼에는 사용자의 개인정보가 포함될 수 있다. loginresult 칼럼의 키 정보는 아래 표3과 같이 구성될 수 있다.Therefore, the UserlnfoPresenter.a () function using the content extracted from the loginresult column displays the user's personal information, so the loginresult column may contain the user's personal information. Key information of the loginresult column can be configured as shown in Table 3 below.

Figure pat00003
Figure pat00003

상기 표 3 에서 loginresult 칼럼 값 중'data’외 키는 HTTP 통신에 관한 정보를 값으로 저장하므로, 사용자의 개인적인 정보는'data’키의 값으로만 저장될 수 있다. 하지만 'data’키 값에서 프로필 화면에 출력되는 개인 정보가 식벌이 어려우므로‘-’키 값이 암호화 된 것으로 분석되며 증거 수집 관점에서 ‘-’키 값에 대한 복호화가 필요하다.In Table 3, since keys other than 'data' among the values of the loginresult column store information about HTTP communication, personal information of the user can be stored only as the value of the 'data' key. However, since the personal information displayed on the profile screen from the 'data' key value is difficult to punish, the '-' key value is analyzed to be encrypted, and it is necessary to decrypt the '-' key value from the viewpoint of collecting evidence.

본 발명의 실시예에서 전처리부(11)는 UseAccountsModel모델의 loginresult필드의 데이터 중 암호화 된 문자열의의 내용을 전처리하여 식별값(Identity Value, IV)을 추출할 수 있다.In an embodiment of the present invention, the pre-processing unit 11 may extract the identification value (IV) by pre-processing the contents of the encrypted string among the data in the loginresult field of the UseAccountsModel model.

전처리부(11)는 입력된 문자열을 Bae64로 디코딩하고, 디코딩 된 문자열을 변수 AesCrypto.a값과 비교하여 동일하면 해당 내용을 문자열에서 제거하여 IV추출하며, 남은 문자열을 연접하여 암호문으로 사용할 수 있다.The pre-processing unit 11 decodes the input string into Bae64, compares the decoded string with the variable AesCrypto.a value, removes the corresponding content from the string, extracts IV, and concatenates the remaining string to use as a ciphertext .

복호화부(12)는 전처리부(11)를 통하여 추출된 식별값에 AesCrypto함수를 적용하여 암호화 된 문자열을 복호화할 수 있다.The decryption unit 12 may decrypt the encrypted string by applying the AesCrypto function to the identification value extracted through the pre-processing unit 11.

복호화부(12)는 AES암호화 알고리즘, CBC운용모드 및 PKCS7패딩 방식을 사용하여 복호화를 수행할 수 있다.The decoder 12 may perform decoding using an AES encryption algorithm, a CBC operation mode, and a PKCS7 padding method.

복호화되는 정보는 사용자의 아이디, 위치정보, 시간, 친구 정보 및 프로필 사진 정보 중 적어도 하나를 포함할 수 있다.The decrypted information may include at least one of a user ID, location information, time, friend information, and profile picture information.

도 3은 본 발명의 실시예에 따른 데이터 암호화 과정을 설명하기 위한 개념도이고, 도 4는 본 발명의 실시예에 따른 데이터 복호화 과정을 설명하기 위한 개념도이다.3 is a conceptual diagram illustrating a data encryption process according to an embodiment of the present invention, and FIG. 4 is a conceptual diagram illustrating a data decoding process according to an embodiment of the present invention.

도 3 내지 도 4를 참조하면, 전처리부는 UserInfo.a() 함수를 이용하여 loginresult 필드에 JSON 포맷으로 저장된 데이터 중‘data’키의 값을 추출한 뒤, 추출한 내용 중 ‘-’키의 값을 v1 이라는 변수에 저장할 수 있다. 3 to 4, the pre-processor extracts the value of the 'data' key from the data stored in the JSON format in the loginresult field using the UserInfo.a () function, and then the value of the '-' key among the extracted contents is v1 Variable.

AesCrypto.c 함수는 loginresult 필드의 데이터 중 암호화된 ‘-’키 값의 내용을 전처리 및 복호화하는 함수이다. 함수 AesCrypto.c는 입력된 내용을 Base64로 디코딩한 후,디코딩된 문자열의 시작부분이 변수 AesCrypto.a값과 같으면 해당 내용을 문자열에서 제거한 뒤,복호화에 사용될 IV값을 추출한다. 예를 들면, 전처리부는 디코딩된 문자열의 임의 위치에서 16바이트 크기의 32개 문자열을 IV로 판별할 수 있다. 이때 추출위치는 변수 AesCrypto.a 값에 의해 결정된다. 전처리부는 IV 추출 후 남은 문자열을 연접하여 암호문으로 사용하고, AesCryto.b()함수를 호출하여 복호화 과정을 수행한다.The AesCrypto.c function is a function that preprocesses and decrypts the contents of the encrypted '-' key value among the data in the loginresult field. The function AesCrypto.c decodes the inputted content into Base64, and if the beginning of the decoded string equals the variable AesCrypto.a value, removes the content from the string and extracts the IV value to be used for decoding. For example, the pre-processing unit may determine 32 character strings of 16 bytes in size at an arbitrary position of the decoded character string as an IV. At this time, the extraction location is determined by the variable AesCrypto.a value. The preprocessing unit concatenates the remaining string after IV extraction and uses it as a ciphertext, and calls the AesCryto.b () function to perform the decryption process.

다음으로, 복호화부는 AesCrypto.bO 함수를 적용하여 v1 변수를 복호화 한 뒤에 그 내용을 전달하여 반환할 수 있다. Next, the decoder can decode the v1 variable by applying the AesCrypto.bO function, and then pass the contents and return it.

복호화부는 AesCrypto.b 함수를 호출하여 복호화를 수행할 수 있다. AesCrypto.b 함수는 복호화를 위해 javax.crypto.Cipher API를 사용할 수 있다. 따라서, javax.crypto.Cipher API를 참조하여 코드를 확인하면, AesCrypto.b 함수는 암호화 알고리즘은 AES 암호화, 운용모드는 CBC 모드를 사용하였으며, PKCS7 패딩을 사용함을 확인할 수 있다. AesCrypto.c 함수에서 AesCrypto.b 함수를 호출할 때 사용하는 세 가지 매개변수 중 키 값(AesCrypto.b 변수)으로 사용되는 첫 번째 매개변수는 AesCrypto 클래스 상에 명시되어 있다. 또한 복호화 과정 중 Base64 디코딩 이후에 시작부분을 확인하기 위한 특정한 값(AesCrypto.a 변수) 또한 AesCrypto 클래스 상에 명시되어 있다.The decoding unit may perform decoding by calling the AesCrypto.b function. The AesCrypto.b function can use the javax.crypto.Cipher API for decryption. Therefore, when the code is checked with reference to the javax.crypto.Cipher API, it can be confirmed that the AesCrypto.b function uses AES encryption for the encryption algorithm, CBC mode for the operation mode, and PKCS7 padding. Of the three parameters used when calling the AesCrypto.b function from the AesCrypto.c function, the first parameter used as the key value (AesCrypto.b variable) is specified on the AesCrypto class. In addition, a specific value (AesCrypto.a variable) to check the beginning after Base64 decoding during the decoding process is also specified on the AesCrypto class.

복호화되는 정보는 사용자의 아이디, 위치정보, 시간, 친구 정보 및 프로필 사진 정보 중 적어도 하나를 포함할 수 있다. 복호화부에 의하여 복호화 되는 정보의 예시는 아래 표 5와 같이 구성될 수 있다. 표5와 같이 본 발명에 따라 사용자의 아이디(닉네임,나의 상태), 마지막 위치정보(경도,위도), 시간(로그인,로그아웃 시간정보), 친구(친구,그룹), 프로필 사진 등 다양한 개인정보의 복호화가 가능하다.The decrypted information may include at least one of a user ID, location information, time, friend information, and profile picture information. Examples of information decoded by the decoding unit may be configured as shown in Table 5 below. As shown in Table 5, various personal information such as the user's ID (nickname, my status), last location information (longitude, latitude), time (login, logout time information), friend (friend, group), profile picture, etc. Decryption is possible.

안드로이드 어플리케이션은 로그인 시 사용자 계정정보(아이디, 패스워드,회원정보, 개인정보 등)를 저장한다. 저장 파일은 데이터베이스,XML파일,]SON 등 각 어플리케이션 개발자에 의해 정해진다. 로그아웃 시 사용자 계정정보는 저장파일에서 자동으로 삭제되지만, 같은 계정으로 재 로그인 시 신속한 접속을 위해 몇몇 데이터는 삭제시키지 않는 경우가 있다. 따라서 증거 인멸의 행위 중 하나인 로그아웃은 남아있는 데이터를 이용하여 증거 인멸, 증거 부족, 데이터 신뢰에 대한 증거 효력을 법적에서 인정받을 수 없다. 본 발명은 증거 가치로 인정받을 수 있도록 암호화 된 디지털 데이터를 높은 신뢰도로 복호화하는 기술을 제공할 수 있다. The Android application stores user account information (ID, password, member information, personal information, etc.) upon login. The storage file is determined by each application developer such as database, XML file, and [SON]. When logging out, user account information is automatically deleted from the stored file, but when re-login to the same account, some data may not be deleted for quick access. Therefore, logout, which is one of the acts of erasing evidence, cannot use the remaining data to destroy evidence, lack evidence, and the validity of evidence for data trust. The present invention can provide a technique for decrypting encrypted digital data with high reliability so that it can be recognized as the value of evidence.

본 발명의 실시예는 Blued어플리케이션에 한정하여 기술되었지만, 이와는 달리 사용자의 회원정보를 데이터베이스 파일의 한 테이블에 암호화된 상태로 저장하는 다양한 어플리케이션에 적용되는 것은 본 발명의 기술사상 범위에 포함된다 할 것이다.Although the embodiment of the present invention has been described limited to the Blued application, on the other hand, application to various applications that store user's member information in an encrypted state in one table of a database file will be included in the technical scope of the present invention. .

따라서 본 발명은 디지털 데이터 분석을 통해 용의자의 범행동기 및 범행행적, 공범 등 파악이 가능하기 때문에 디지털 증거 자료로 활용될 수 있다.Therefore, the present invention can be used as digital evidence because it is possible to identify the suspect's motive, crime, and accomplice through digital data analysis.

본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.The term '~ unit' used in this embodiment means a software or hardware component such as a field-programmable gate array (FPGA) or an ASIC, and the '~ unit' performs certain roles. However, '~ wealth' is not limited to software or hardware. The '~ unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, '~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables. The functions provided within components and '~ units' may be combined into a smaller number of components and '~ units', or further separated into additional components and '~ units'. In addition, the components and '~ unit' may be implemented to play one or more CPUs in the device or secure multimedia card.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although described above with reference to preferred embodiments of the present invention, those skilled in the art variously modify and change the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You can understand that you can.

10: 디지털 포렌식 데이터 복호화 장치
11: 전처리부
12: 복호화부
10: Digital forensic data decoding device
11: Pre-processing part
12: decoding unit

Claims (5)

UseAccountsModel모델의 loginresult필드의 데이터 중 암호화 된 문자열의의 내용을 전처리하여 식별값(Identity Value, IV)을 추출하는 전처리부; 및
상기 전처리부를 통하여 추출된 식별값에 AesCrypto함수를 적용하여 상기 암호화 된 문자열을 복호화하는 복호화부를 포함하는 디지털 포렌식 데이터 복호화 장치.
A pre-processing unit that pre-processes the contents of the encrypted string among the data in the loginresult field of the UseAccountsModel model and extracts an identity value (IV); And
A digital forensic data decoding apparatus including a decoding unit that decrypts the encrypted character string by applying the AesCrypto function to the identification value extracted through the preprocessing unit.
제1항에 있어서,
상기 전처리부는 입력된 문자열을 Bae64로 디코딩하여 디코딩 된 문자열을 변수 AesCrypto.a값과 비교하여 동일하면 해당 내용을 문자열에서 제거하여 IV추출하고, 남은 문자열을 연접하여 암호문으로 사용하는 디지털 포렌식 데이터 복호화 장치.
According to claim 1,
The pre-processing unit decodes the input string into Bae64, compares the decoded string with the variable AesCrypto.a value, removes the corresponding content from the string, extracts IV, concatenates the remaining string, and uses the digital forensic data decryption device as a cipher text .
제1항에 있어서,
복호화 되는 정보는 사용자의 아이디, 위치정보, 시간, 친구 정보 및 프로필 사진 정보 중 적어도 하나를 포함하는 디지털 포렌식 데이터 복호화 장치.
According to claim 1,
The information to be decoded is a digital forensic data decoding apparatus including at least one of a user ID, location information, time, friend information, and profile picture information.
제1항에 있어서,
상기 복호화부는 AES암호화 알고리즘, CBC운용모드, PKCS7패딩 방식을 사용하여 복호화를 수행하는 디지털 포렌식 데이터 복호화 장치.
According to claim 1,
The decoding unit is a digital forensic data decoding apparatus that performs decoding using an AES encryption algorithm, a CBC operation mode, and a PKCS7 padding method.
제1항에 있어서,
상기 UseAccountsModel모델은 사용자의 회원정보를 데이터베이스 파일의 한 테이블에 암호화된 상태로 저장하는 어플리케이션으로부터 추출되는 디지털 포렌식 데이터 복호화 장치.
According to claim 1,
The UseAccountsModel model is a digital forensic data decryption device extracted from an application that stores the user's member information in an encrypted state in a table of a database file.
KR1020180130194A 2018-10-29 2018-10-29 Digital forensic data decoding device KR102155240B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180130194A KR102155240B1 (en) 2018-10-29 2018-10-29 Digital forensic data decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180130194A KR102155240B1 (en) 2018-10-29 2018-10-29 Digital forensic data decoding device

Publications (2)

Publication Number Publication Date
KR20200048276A true KR20200048276A (en) 2020-05-08
KR102155240B1 KR102155240B1 (en) 2020-09-11

Family

ID=70676927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180130194A KR102155240B1 (en) 2018-10-29 2018-10-29 Digital forensic data decoding device

Country Status (1)

Country Link
KR (1) KR102155240B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090000587A (en) * 2007-02-28 2009-01-08 씨투아이소프트(주) Encoding/decoding method for restriction of receiver
KR20130049111A (en) * 2011-11-03 2013-05-13 한국전자통신연구원 Forensic index method and apparatus by distributed processing
KR20130125706A (en) * 2012-05-09 2013-11-19 한국전자통신연구원 Forensic marking apparatus and method for realtime contents service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090000587A (en) * 2007-02-28 2009-01-08 씨투아이소프트(주) Encoding/decoding method for restriction of receiver
KR20130049111A (en) * 2011-11-03 2013-05-13 한국전자통신연구원 Forensic index method and apparatus by distributed processing
KR20130125706A (en) * 2012-05-09 2013-11-19 한국전자통신연구원 Forensic marking apparatus and method for realtime contents service

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이창훈, ‘개인정보보호법 기반 디지털 포렌식 수사 모델 연구’, 한신대학교 컴퓨터공학부학술지정보한국항행학회논문지, ISSN 1226-9026, 2011, pp.1212~1219 *

Also Published As

Publication number Publication date
KR102155240B1 (en) 2020-09-11

Similar Documents

Publication Publication Date Title
JP5023075B2 (en) Computer-implemented authentication interface system
US11785464B2 (en) Media agnostic content access management
JP6814147B2 (en) Terminals, methods, non-volatile storage media
RU2560810C2 (en) Method and system for protecting information from unauthorised use (versions thereof)
KR20140042905A (en) Identity authentication and management device and method thereof
CA3024139A1 (en) Secure collection of sensitive data
US20200145389A1 (en) Controlling Access to Data
CN105871805A (en) Anti-stealing-link method and device
CN111163095A (en) Network attack analysis method, network attack analysis device, computing device, and medium
EP2973182B1 (en) Methods and apparatus for securing user input in a mobile device
CN114598671B (en) Session message processing method, device, storage medium and electronic equipment
US10826901B2 (en) Systems and method for cross-channel device binding
CN109740319B (en) Digital identity verification method and server
KR102387169B1 (en) Digital forensic data decoding device
WO2016188079A1 (en) Data storage method for terminal device and terminal device
KR102155240B1 (en) Digital forensic data decoding device
US11972000B2 (en) Information dispersal for secure data storage
CN110740112B (en) Authentication method, apparatus and computer readable storage medium
KR102256231B1 (en) Digital forensic data decoding device
CN112769565B (en) Method, device, computing equipment and medium for upgrading cryptographic algorithm
Sawadogo et al. Preliminary Investigation of Mobile Banking Attacks in West Africa: Feedback from Orange Money Customers in Burkina Faso
Nurgaliyev Analysis of reverse engineering and cyber assaults
IE20130332A1 (en) Web fraud prevention system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant