SlideShare a Scribd company logo
1 of 4
Download to read offline
A Software Authentication System for the Prevention of Computer Viruses
Lein Ham* Hung-Yu Lin* Shoubrto Yan~*
* Computer Science Telecommunications Program
University of Missouri-Kansas City, Kansas City, MO 64110 USA
E-mail: harn@cstp.umkc.edu
** ~p~ent of Computer Science
University of Science and Technology of China, Hefei, Anhui 230026 PRC
Abstract
In the absence of systematic techniques to detect the
existence of computer viruses, preventing suspicious
software from entering the system at the initial point of
entry appears to be the best method to protect computing
resources against attacks of computer viruses. Currently,
software is distributed primarily by diskettes instead of on-
line transmission. Diskettes are more susceptible to
moditlcation and masquerading while on-line transmission
usually follows proper user/message authentication. A
software authentication system is proposed which does not
require a mutually trusted center of both soflware vendors
and users, or users’ interaction with any key center. Vendors
assume responsibility by signing released software and
users verify the authenticity of received software before
using it. Through such an authentication process, users
eliminate the risk of running “unlicensed” or modified
programs, thus eliminating the possibility of virus
infections.
1, Introduction
In recent years, computer viruses have become major
threats to the computing environment. Many anti-viral
products to protect systems from infections are available on
the market. These products do help users protect their
computers from viral attacks to some extent by either
monitoring running programs or by identifying certain
pauerns in infected programs.
However, a satisfactory solution to prevent virus attack
has not yet been reached. Formal secure models [1, 2, 3]
mayhelpto reduce the possibility of a virus infection by
logically isolating or limiting access to computing
resources. However these methods are usually too
complicated and expensive to implement. Also, they
unnecessarily limit the sharing of computing resources.
Permission to copy without fee all or part of this matarial ia
granted provided that tha copias ara not made or distributed for
direct commercial edvantaga, the ACM copyright notice and tha
title of the publication and its date appear, and notice is given
that copying is by permission of the Association for Computing
Machinary. To copy otherwise, or to republish, raquires a fae
and/or spacific permission.
Currently, the prevention of virus infection relies on
the users’ experiences. Vendors are not taking active roles in
preventing their released programs from virus infections.
Without vendor involvement, virus problem cannot be
solved in any acceptable manner.
In this paper, we will review three different anti-viral
approaches and their associated problems. Then, a software
authentication system, which requires a software vendor to
sign his released programs and provides users an easy way
to verify the authenticity of the programs, is pro~sed
along with the discussion of several practical
considerations.
II. Review of Anti-viral Approaches
Recently, three different anti-viral approaches are well
discussed in literatures. Here we review each of them
together with their associated problems.
1. Pattern-matching
This is the most straightforward method and widely
used in many commercial anti-viralproducts.It searchesfor
code sequences (virus signatures, which may be those used
by the virus itself to avoid reinfection) that are known to
exist in programs infected by a specific strain of virus.
Once a code pattern is matched, a certain virus is detected.
However, it cannot detect arty new/unknown virus.
Whenever there is a new virus, the anti-viral products also
need to be upgraded. Such upgrades result in the increase of
programsize and the downgrade of its performance.When
the number of viruses increases beyond some point, this
approachwill become impractical.
2. Software integrity-checking
Based on the fact that detecting a virus (especially an
unknown one) is difficult [4], and a program will always be
modifkd after being infected by a virus, software integrity
checks (more spec~lcally, the checksum method [5]) turns
out to be a promising and cost-effective approach in
detecting potential virus.
e 1992 ACM 089791 -472-4/92/0002/0447 $1.50
447
The checksum algorithm is carried out by executing a
checksum generator utility over the program resulting in a
checksum value which is then stored along with the
program for latex reference. Any change in program content
will be reflected in a change of the checksum value
regenerated later. By comparing this regenerated checksum
value with the pre-stored one, we can detect any
mcxification of the program. However, one implicit but
dangerous assumption has been made in the realization of
this method. It assumes that all counteqmrts -- original
program, checksum value and the checksum utility itself --
are virus-free. This dangerous assumption usually comes
from our common belief that software purchased from well
known vendors is trustworthy. Is this common belief
justified?
Consider the case of software counterfeiting, where one
sells a fake program claimed to be the one from a famous
vendor with its checksum vahe computed according to the
publicly known checksum generating algorithm of the
vendor. The user will falsely believe that this program is
“clearI” after checksum verification, even when this fake
program contains a Trojan horse or is already virus-infected,
Another possible situation is that the virus-infected
program is indeed written by a malicious employee of the
vendor who carelessly distributes it. How can one make a
clear distinction between these two cases, and who should
be responsible for the damages caused to the user?
Unfortunately, most solutions in tiis approach cannot
answer this question because the released software contains
insufficient information for the user to verify the
authenticity of the software. Without proper authentication
one can never be sure that a received program is indeed fmm
the original licensed vendor and therefore it has no way to
resolve the dispute, if any, between a software vendor and a
user.
3. Software authentication
In order to overcome the problems associated with the
previous approach, the software authentication method
nx@es software vendors to sign their released programs and
users to accept only genuine programs by verifying the
signatures of received software.
Although a public-key cryptosystem can provide digital
signatures for the released software of vendors, its
implementation is not so simple and straightforward as
mentioned in a recent paper [61,In that paper, a medmd was
also proposed to realize software authentication in which it
assumes the existence of a mutually trusted center of both
software vendors and users. This assumption is hardly
acceptable when there are many participants in a large
commercial group [7].
Besides, if a mutually trusted center does exist, any
software vendor needs to go through a registration process
of this center to become a “licensed” vendor. In order to
preserve the overall security, this mutually trusted center
should be completely destroyed after issuing all secret keys
tosoftware vendors. Thus, any new sofhvare vendor cannot
be registered after the center is destroyed. This situation is
also totally unacceptable. Vendors are established on an
almost daily basis. Therefore, this center can never be
destroyed, and it leads to the risk that once the registration
center is compromised, one can pretend to be a licensed
software vendor to distribute virus-infected programs or
Trojan horse. Under this situation, should software vendors
be responsible for the darnages caused by these programs?
Thus, no vendor wants to risk their reputation by “trusting”
someone who cannot be really trusted.
III. The Proposed Software Authentication
System
In order to alleviate the worry of software vendors, the
software authentication system should allow vendors to
sign programs with their own secret keys. In order to make
the verification of an acquired program as convenient as
possible, the verification process should be performed
locally by the user only without interacting with any
registration or key center. With these considerations in
mind, a software authentication system is proposed here.
1. System Components
a.
b.
c.
d.
In this system, there are four major components:
software vendors Who se~ software.
users who irnpmt software from software vendors.
the secret-generating machine@GM) which generates
one pair of public and secret keys and breaks the secret
key up into pieces to be held by several certification
centers.
certification centem(CC’s) which are accredited
organizations select&l by the users and each provides a
partial certiilcate for the signature system of a vendor.
The SGM and the certification centers do not have to
be trusted by vendors and the SGM can be destroyed after
distributing secret keys to certification centers.
2. System Initialization
a.
b.
Based on RSA cryptosystem [8], the SGM generates a
small public key e, the corresponding secret key d, and
the modulus n. Then it breaks d up into t ShadOWS, dj,
j=ltot, suchthat
dl + d2 +...+ dt = d
~d dishibutes dj to certilleation center CCj WCRMy.
The SGM publishes e and n, and is then destroyed.
E~h vendor i chooses a signature system and a pair of
public ~d secret keys (ai, hi), ad then M his {IDi, S,
ai) registered with the proper authorities. IDi, S ~d ai
am the identification, signature function and public key
of vendor i, respectively. ‘l%eregistered information
will serve for the purpose of jurisdiction to resolve
disputes, if any, between vendors and users. For
convenience, we will say a vendor is licensed if he has
448
done this registration, otherwise, the vendor is
unlicensed.
The vendor b sends (IDi, S, ai} to ~til~tion
centers for certificating. After verifying that vendor i is
licensed, each certitlcation center will return back a
partial certificate
Cj = <IDi II S IIai>dJ mod n
to vendor i, where IIdenotes concatenation and c > k
used as an integer value derived from the ASCII sting.
Now vendor i can compress all the partial certificates
and results in a single certifkate of his signature
system, certi, by computing
CeIti = Cl* CZ* .....*Ct = <IDj IIS IIaj>d mod n.
Note that such cetilcate can be easily verified by
using the public key e.
3. Distribution of software
Now if a program P is to be released by vendor i, it
will consist of four parts:
{IDi, P, signi(p), certi),
with
signi(p) = S~(h(P))
where signi(p) is vendor i’s signature of P, Sbi is the
signature function S using vendor i’s swret key bi, and h is
a publicly known one-way hash function, which maps
programs to a smaller domain to speed up signature
generation and verification.
4.Authentication of software
When a user acquires [IDj,P, Sign’, Certj) from
vendori,he can derivevendoris identification,signature
functionidentifier,and publickey throughthesystem’s
publickey e by computing
<IDiIIs IIai>= certiemod n.
Iftheresultdoes not contain IDi and a meaningful signature
function identifier, the program P’ should be discarded. If it
does, the user will obtain the signature function, S, and the
correct public key of vendor i, ai. ‘I%is process is called
key certification. If certi passes this process, the user can
continue to compute the hash value of P, hp) and verify
the signature sign’. If signj’(p”) has been verified ( i.e.
h(P’)=Sai(signi’@”)) ), program P is indeed from vendor i
without being modified. Otherwise, either P or signi(P’)
has been modified. Again, this process is called signature
verification.
IV. Discussion
We would like to discuss this software authentication
method bm three different aspects.
1. security
Fmm the properties of public-key cryptosystems, only
the vendor himself can either generate the signature or
modify a program without being detected. Therefore, w one
else can forge a licensed vendor’s progmm and no vendor can
evade the responsibility for his released progmrns.
From a vendor’s viewpoint, he trusts’’his own signature
system and nothing else. In other words, a licensed vendor
does not have to be responsible for programs which are not
released by himself, even when atl of the certification
centers are compromised, since one can never pretend to be
a licensed vendor to sign programs without knowing the
secret key bi, which is only known to the vendor.
Although an unlicensed vendor may create a consistent
pair of P’ and signk’(p”) with a chosen signature system and
related public and secret keys, he still cannot pass the key
certification process because he won’t get the proper
certificates from certification centers. By employing
multiple certification centers instead of only one, it is
impossible for any unlicensed vendor to generate a valid
certificate, even when only one cetilcation center remains
confidential and the other t-1 ones are compromised. From
the user’s viewpoint, the system is secure unless all of the
ccxtillcation centers are compromised.
Even though all certification centers could be
compromised, nevertheless, users can still choose anew set
of certification centers with newly generated shadows of the
system’s secret key d before such disaster really happens.
This work can be done by constructing a simple circuit
which accepts old dj’s from each certification center and
outputs a new set of shadows to the newly chosen
cert.iilcation centers.
2. Flexibility
By separating key certification and signature
vetilcation in the authentication process, software vendors
can change their signature systems for security
considerations without introducing any change in current
key certification process. The only thing vendors need to do
is to get new certificates fhm the certifkatiort centers.
For the same reason, users can choose artother set of
certification centers if necessary without changing the
vendors’ current certificates as mentioned in the above
subsection.
3. Performance
In this proposed system, software authentication
consists of two processes: key certification and signature
449
verification. No third party is involved in these two mutually trusted party, Proc. of Eurocrypt ’90, May
processes and the interaction with certification centers 21-24, 1990.
happens only when the certificate is requested by a new [8] R.L. RivesL A. Shamir, and L. Addleman, A Method
V*. for Obtaining DigitaI Signatures and Public Key
Cryptosystem, Communication of ACIU, Vol. 21,
For any vendor, before releasing any program, all he No. 2, Feb. 1978, pp. 120-126.
needs to do is to sign this program without having to
recompute his certificate. For users, the time required for
the key certification will not be long because the system’s
public key can be made as small as possible (e.g. -3).
Again, if vendors’ own signature systems are RSA-based,
their public keys can also be made as small as possible to
reduce the time required for signature verification. Therefore,
the authentication of software in this system is quite
efficient. In fact, software authentication is required only
when a new software is acquired from foreign sources, so
the speed of verification will not become a critical issue.
V. Conclusion
A software authentication system is proposed in this
paper, in which users can verify the signatures of a program
when fwst acquired from a software vendor. Through such
authentication, suspicious programs can be filtered out and
the risk of virus infections can be reduced. For software
vendors, this system is secure because they can choose their
own signature schemes and keys without having to trust
any third party. For users, this system is secure, since one
can be deceived with programs distributed by unlicensed
vendors unless all certification centers are compromised.
For both software vendors and users, this system is
acceptable because it provides a mechanism to resolve
disputes, if any, between the two parties.
References
[1]
[2]
[31
[4]
[a
[Q
m
D.E. Bell and L.J. LaPadula, Secure Computer
System:Unified Exposition and Multics Interpretation,
MITRE Tech. Report MTR- 2997, Mitre Corp.,
&dfO1’d, Mass., March, 1976.
K. J. Biba, Integrity Consideration for Secure
Computer System, MITRE Tech. Report, MTR-
3153, June, 1975.
D. D. Clark and C. T. Wilson, A Comparison of
Commercial and Military Computer Security Policies,
Proc. 1987, IEEE Symp. Security and Privacy,
Oakland, CA, April, 1987, pp. 184-194.
Fred Cohen, Computer Viruses: Theory and
Experiments, IFIP-TCII Computers and Security,
Vol 6, No. 1, 1987, pp. 23-35.
YJ. Huang and F. Cohen, Some Weak Points on One
Fast Cryptographic Checksum Algorithm and its
Improvement, IFIP TC-11 Computers and Security,
vol. 8, No. 1, 1989.
E. Okamoto and H. Masumoto, ID-based
Authentication System for Computer Virus Detection,
Electronics Letters, Vol. 26, No.IS, July, 1990, pp.
1169-1170.
I. Ingemarsson and G. J. Simmons, A protocol to set
up shared secret schemes without the assistance of a
450

More Related Content

What's hot

Vulnerability Assessment and Penetration Testing Report
Vulnerability Assessment and Penetration Testing Report Vulnerability Assessment and Penetration Testing Report
Vulnerability Assessment and Penetration Testing Report Rishabh Upadhyay
 
Malware Detection Using Data Mining Techniques
Malware Detection Using Data Mining Techniques Malware Detection Using Data Mining Techniques
Malware Detection Using Data Mining Techniques Akash Karwande
 
Malware Bytes – Advanced Fault Analysis
Malware Bytes – Advanced Fault AnalysisMalware Bytes – Advanced Fault Analysis
Malware Bytes – Advanced Fault AnalysisIRJET Journal
 
Taxonomy mobile malware threats and detection techniques
Taxonomy  mobile malware threats and detection techniquesTaxonomy  mobile malware threats and detection techniques
Taxonomy mobile malware threats and detection techniquescsandit
 
website vulnerability scanner and reporter research paper
website vulnerability scanner and reporter research paperwebsite vulnerability scanner and reporter research paper
website vulnerability scanner and reporter research paperBhagyashri Chalakh
 
Basic survey on malware analysis, tools and techniques
Basic survey on malware analysis, tools and techniquesBasic survey on malware analysis, tools and techniques
Basic survey on malware analysis, tools and techniquesijcsa
 
Malwarebytes Anti-Malware Crack
Malwarebytes Anti-Malware Crack Malwarebytes Anti-Malware Crack
Malwarebytes Anti-Malware Crack ClancyClancy9
 
Malwarebytes Anti-Malware Crack
Malwarebytes Anti-Malware Crack Malwarebytes Anti-Malware Crack
Malwarebytes Anti-Malware Crack RaahaugeHerbert0
 
INLINE_PATCH_PROXY_FOR_XEN_HYPERVISOR
INLINE_PATCH_PROXY_FOR_XEN_HYPERVISORINLINE_PATCH_PROXY_FOR_XEN_HYPERVISOR
INLINE_PATCH_PROXY_FOR_XEN_HYPERVISORNeha Rana
 
A generic virus scanner in c++
A generic virus scanner in c++A generic virus scanner in c++
A generic virus scanner in c++UltraUploader
 
Vulnerability Analysis of 802.11 Authentications and Encryption Protocols: CV...
Vulnerability Analysis of 802.11 Authentications and Encryption Protocols: CV...Vulnerability Analysis of 802.11 Authentications and Encryption Protocols: CV...
Vulnerability Analysis of 802.11 Authentications and Encryption Protocols: CV...AM Publications
 
Presentation on vulnerability analysis
Presentation on vulnerability analysisPresentation on vulnerability analysis
Presentation on vulnerability analysisAsif Anik
 
Behavior Analysis Of Malicious Web Pages Through Client Honeypot For Detectio...
Behavior Analysis Of Malicious Web Pages Through Client Honeypot For Detectio...Behavior Analysis Of Malicious Web Pages Through Client Honeypot For Detectio...
Behavior Analysis Of Malicious Web Pages Through Client Honeypot For Detectio...IJERA Editor
 
IRJET- Zombie - Venomous File: Analysis using Legitimate Signature for Securi...
IRJET- Zombie - Venomous File: Analysis using Legitimate Signature for Securi...IRJET- Zombie - Venomous File: Analysis using Legitimate Signature for Securi...
IRJET- Zombie - Venomous File: Analysis using Legitimate Signature for Securi...IRJET Journal
 
Automated malware invariant generation
Automated malware invariant generationAutomated malware invariant generation
Automated malware invariant generationUltraUploader
 
Vulnerability scanners a proactive approach to assess web application security
Vulnerability scanners a proactive approach to assess web application securityVulnerability scanners a proactive approach to assess web application security
Vulnerability scanners a proactive approach to assess web application securityijcsa
 
Script based malware detection in online banking
Script based malware detection in online bankingScript based malware detection in online banking
Script based malware detection in online bankingJakub Kałużny
 
Malware Risk Analysis on the Campus Network with Bayesian Belief Network
Malware Risk Analysis on the Campus Network with Bayesian Belief NetworkMalware Risk Analysis on the Campus Network with Bayesian Belief Network
Malware Risk Analysis on the Campus Network with Bayesian Belief NetworkIJNSA Journal
 

What's hot (20)

Vulnerability Assessment and Penetration Testing Report
Vulnerability Assessment and Penetration Testing Report Vulnerability Assessment and Penetration Testing Report
Vulnerability Assessment and Penetration Testing Report
 
Malware Detection Using Data Mining Techniques
Malware Detection Using Data Mining Techniques Malware Detection Using Data Mining Techniques
Malware Detection Using Data Mining Techniques
 
Malware Bytes – Advanced Fault Analysis
Malware Bytes – Advanced Fault AnalysisMalware Bytes – Advanced Fault Analysis
Malware Bytes – Advanced Fault Analysis
 
Taxonomy mobile malware threats and detection techniques
Taxonomy  mobile malware threats and detection techniquesTaxonomy  mobile malware threats and detection techniques
Taxonomy mobile malware threats and detection techniques
 
Vulnerability Assessment Report
Vulnerability Assessment ReportVulnerability Assessment Report
Vulnerability Assessment Report
 
website vulnerability scanner and reporter research paper
website vulnerability scanner and reporter research paperwebsite vulnerability scanner and reporter research paper
website vulnerability scanner and reporter research paper
 
Basic survey on malware analysis, tools and techniques
Basic survey on malware analysis, tools and techniquesBasic survey on malware analysis, tools and techniques
Basic survey on malware analysis, tools and techniques
 
Malwarebytes Anti-Malware Crack
Malwarebytes Anti-Malware Crack Malwarebytes Anti-Malware Crack
Malwarebytes Anti-Malware Crack
 
Malwarebytes Anti-Malware Crack
Malwarebytes Anti-Malware Crack Malwarebytes Anti-Malware Crack
Malwarebytes Anti-Malware Crack
 
INLINE_PATCH_PROXY_FOR_XEN_HYPERVISOR
INLINE_PATCH_PROXY_FOR_XEN_HYPERVISORINLINE_PATCH_PROXY_FOR_XEN_HYPERVISOR
INLINE_PATCH_PROXY_FOR_XEN_HYPERVISOR
 
A generic virus scanner in c++
A generic virus scanner in c++A generic virus scanner in c++
A generic virus scanner in c++
 
Vulnerability Analysis of 802.11 Authentications and Encryption Protocols: CV...
Vulnerability Analysis of 802.11 Authentications and Encryption Protocols: CV...Vulnerability Analysis of 802.11 Authentications and Encryption Protocols: CV...
Vulnerability Analysis of 802.11 Authentications and Encryption Protocols: CV...
 
Pen test methodology
Pen test methodologyPen test methodology
Pen test methodology
 
Presentation on vulnerability analysis
Presentation on vulnerability analysisPresentation on vulnerability analysis
Presentation on vulnerability analysis
 
Behavior Analysis Of Malicious Web Pages Through Client Honeypot For Detectio...
Behavior Analysis Of Malicious Web Pages Through Client Honeypot For Detectio...Behavior Analysis Of Malicious Web Pages Through Client Honeypot For Detectio...
Behavior Analysis Of Malicious Web Pages Through Client Honeypot For Detectio...
 
IRJET- Zombie - Venomous File: Analysis using Legitimate Signature for Securi...
IRJET- Zombie - Venomous File: Analysis using Legitimate Signature for Securi...IRJET- Zombie - Venomous File: Analysis using Legitimate Signature for Securi...
IRJET- Zombie - Venomous File: Analysis using Legitimate Signature for Securi...
 
Automated malware invariant generation
Automated malware invariant generationAutomated malware invariant generation
Automated malware invariant generation
 
Vulnerability scanners a proactive approach to assess web application security
Vulnerability scanners a proactive approach to assess web application securityVulnerability scanners a proactive approach to assess web application security
Vulnerability scanners a proactive approach to assess web application security
 
Script based malware detection in online banking
Script based malware detection in online bankingScript based malware detection in online banking
Script based malware detection in online banking
 
Malware Risk Analysis on the Campus Network with Bayesian Belief Network
Malware Risk Analysis on the Campus Network with Bayesian Belief NetworkMalware Risk Analysis on the Campus Network with Bayesian Belief Network
Malware Risk Analysis on the Campus Network with Bayesian Belief Network
 

Viewers also liked

Anatomy of a semantic virus
Anatomy of a semantic virusAnatomy of a semantic virus
Anatomy of a semantic virusUltraUploader
 
Anti-virus Mechanisms and Various Ways to Bypass Antivirus detection
Anti-virus Mechanisms and Various Ways to Bypass Antivirus detectionAnti-virus Mechanisms and Various Ways to Bypass Antivirus detection
Anti-virus Mechanisms and Various Ways to Bypass Antivirus detectionNeel Pathak
 
Antivirus - Virus detection and removal methods
Antivirus - Virus detection and removal methodsAntivirus - Virus detection and removal methods
Antivirus - Virus detection and removal methodsSomanath Kavalase
 
8 Threats Your Anti-Virus Won't Stop
8 Threats Your Anti-Virus Won't Stop8 Threats Your Anti-Virus Won't Stop
8 Threats Your Anti-Virus Won't StopSophos
 
Computer viruses
Computer virusesComputer viruses
Computer virusesImran Khan
 
Network Security & Cryptography
Network Security & CryptographyNetwork Security & Cryptography
Network Security & CryptographyDr. Himanshu Gupta
 
Lecture 12 malicious software
Lecture 12 malicious software Lecture 12 malicious software
Lecture 12 malicious software rajakhurram
 
Utility software
Utility softwareUtility software
Utility softwareadeang47
 
Classification Of Virus[Summary]
Classification Of Virus[Summary]Classification Of Virus[Summary]
Classification Of Virus[Summary]raj kumar
 
Data Network Security
Data Network SecurityData Network Security
Data Network SecurityAtif Rehmat
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information SecurityDr. Loganathan R
 
Computer virus (Microsoft Powerpoint)
Computer virus (Microsoft Powerpoint)Computer virus (Microsoft Powerpoint)
Computer virus (Microsoft Powerpoint)ainizbahari97
 
Computer Virus powerpoint presentation
Computer Virus powerpoint presentationComputer Virus powerpoint presentation
Computer Virus powerpoint presentationshohrabkhan
 
ANTIVIRUS AND VIRUS Powerpoint presentation
ANTIVIRUS AND VIRUS Powerpoint presentationANTIVIRUS AND VIRUS Powerpoint presentation
ANTIVIRUS AND VIRUS Powerpoint presentationabhijit chintamani
 
Virus structure: classification: replication
Virus structure: classification: replicationVirus structure: classification: replication
Virus structure: classification: replicationMarilen Parungao
 
Information Security Lecture #1 ppt
Information Security Lecture #1 pptInformation Security Lecture #1 ppt
Information Security Lecture #1 pptvasanthimuniasamy
 
INFORMATION SECURITY
INFORMATION SECURITYINFORMATION SECURITY
INFORMATION SECURITYAhmed Moussa
 

Viewers also liked (19)

Anatomy of a semantic virus
Anatomy of a semantic virusAnatomy of a semantic virus
Anatomy of a semantic virus
 
Anti-virus Mechanisms and Various Ways to Bypass Antivirus detection
Anti-virus Mechanisms and Various Ways to Bypass Antivirus detectionAnti-virus Mechanisms and Various Ways to Bypass Antivirus detection
Anti-virus Mechanisms and Various Ways to Bypass Antivirus detection
 
Antivirus - Virus detection and removal methods
Antivirus - Virus detection and removal methodsAntivirus - Virus detection and removal methods
Antivirus - Virus detection and removal methods
 
8 Threats Your Anti-Virus Won't Stop
8 Threats Your Anti-Virus Won't Stop8 Threats Your Anti-Virus Won't Stop
8 Threats Your Anti-Virus Won't Stop
 
Computer viruses
Computer virusesComputer viruses
Computer viruses
 
Network Security & Cryptography
Network Security & CryptographyNetwork Security & Cryptography
Network Security & Cryptography
 
Lecture 12 malicious software
Lecture 12 malicious software Lecture 12 malicious software
Lecture 12 malicious software
 
Utility software
Utility softwareUtility software
Utility software
 
Classification Of Virus[Summary]
Classification Of Virus[Summary]Classification Of Virus[Summary]
Classification Of Virus[Summary]
 
Data Network Security
Data Network SecurityData Network Security
Data Network Security
 
COMPUTERS ( types of viruses)
COMPUTERS ( types of viruses)COMPUTERS ( types of viruses)
COMPUTERS ( types of viruses)
 
Antivirus PPt
Antivirus PPtAntivirus PPt
Antivirus PPt
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information Security
 
Computer virus (Microsoft Powerpoint)
Computer virus (Microsoft Powerpoint)Computer virus (Microsoft Powerpoint)
Computer virus (Microsoft Powerpoint)
 
Computer Virus powerpoint presentation
Computer Virus powerpoint presentationComputer Virus powerpoint presentation
Computer Virus powerpoint presentation
 
ANTIVIRUS AND VIRUS Powerpoint presentation
ANTIVIRUS AND VIRUS Powerpoint presentationANTIVIRUS AND VIRUS Powerpoint presentation
ANTIVIRUS AND VIRUS Powerpoint presentation
 
Virus structure: classification: replication
Virus structure: classification: replicationVirus structure: classification: replication
Virus structure: classification: replication
 
Information Security Lecture #1 ppt
Information Security Lecture #1 pptInformation Security Lecture #1 ppt
Information Security Lecture #1 ppt
 
INFORMATION SECURITY
INFORMATION SECURITYINFORMATION SECURITY
INFORMATION SECURITY
 

Similar to A software authentication system for the prevention of computer viruses

Vulnerability Malware And Risk
Vulnerability Malware And RiskVulnerability Malware And Risk
Vulnerability Malware And RiskChandrashekhar B
 
Vulnerability , Malware and Risk
Vulnerability , Malware and RiskVulnerability , Malware and Risk
Vulnerability , Malware and RiskSecPod Technologies
 
Volume 2-issue-6-2037-2039
Volume 2-issue-6-2037-2039Volume 2-issue-6-2037-2039
Volume 2-issue-6-2037-2039Editor IJARCET
 
Volume 2-issue-6-2037-2039
Volume 2-issue-6-2037-2039Volume 2-issue-6-2037-2039
Volume 2-issue-6-2037-2039Editor IJARCET
 
Bitdefender - Solution Paper - Active Threat Control
Bitdefender - Solution Paper - Active Threat ControlBitdefender - Solution Paper - Active Threat Control
Bitdefender - Solution Paper - Active Threat ControlJose Lopez
 
Report on Rogue Security Software
Report on Rogue Security SoftwareReport on Rogue Security Software
Report on Rogue Security SoftwareSymantec Italia
 
INSECURE Magazine - 37
INSECURE Magazine - 37INSECURE Magazine - 37
INSECURE Magazine - 37Felipe Prado
 
Zero-Day Vulnerability and Heuristic Analysis
Zero-Day Vulnerability and Heuristic AnalysisZero-Day Vulnerability and Heuristic Analysis
Zero-Day Vulnerability and Heuristic AnalysisAhmed Banafa
 
Viruses & Malware: Effects On Enterprise Networks
Viruses & Malware: Effects On Enterprise NetworksViruses & Malware: Effects On Enterprise Networks
Viruses & Malware: Effects On Enterprise NetworksDiane M. Metcalf
 
Malware Protection Week5Part4-IS Revision Fall2013 .docx
Malware Protection  Week5Part4-IS Revision Fall2013 .docxMalware Protection  Week5Part4-IS Revision Fall2013 .docx
Malware Protection Week5Part4-IS Revision Fall2013 .docxinfantsuk
 
HCA 530, Week2, Psa i-091516-ransomware notice from fbi
HCA 530, Week2, Psa i-091516-ransomware notice from fbiHCA 530, Week2, Psa i-091516-ransomware notice from fbi
HCA 530, Week2, Psa i-091516-ransomware notice from fbiMatthew J McMahon
 
virus vs antivirus
virus vs antivirusvirus vs antivirus
virus vs antivirussandipslides
 
Vulnerability scanning project
Vulnerability scanning projectVulnerability scanning project
Vulnerability scanning projectChirag Dhamecha
 
virus vs antivirus
virus vs antivirusvirus vs antivirus
virus vs antivirussandipslides
 
What is Remote Buffer Overflow Attack.pdf
What is Remote Buffer Overflow Attack.pdfWhat is Remote Buffer Overflow Attack.pdf
What is Remote Buffer Overflow Attack.pdfuzair
 
What Is An Antivirus Software?
What Is An Antivirus Software?What Is An Antivirus Software?
What Is An Antivirus Software?culltdueet65
 
Bug Bounty Guide Tools and Resource.pdf
Bug Bounty Guide Tools and Resource.pdfBug Bounty Guide Tools and Resource.pdf
Bug Bounty Guide Tools and Resource.pdfhacktube5
 

Similar to A software authentication system for the prevention of computer viruses (20)

Vulnerability Malware And Risk
Vulnerability Malware And RiskVulnerability Malware And Risk
Vulnerability Malware And Risk
 
Vulnerability , Malware and Risk
Vulnerability , Malware and RiskVulnerability , Malware and Risk
Vulnerability , Malware and Risk
 
Volume 2-issue-6-2037-2039
Volume 2-issue-6-2037-2039Volume 2-issue-6-2037-2039
Volume 2-issue-6-2037-2039
 
Volume 2-issue-6-2037-2039
Volume 2-issue-6-2037-2039Volume 2-issue-6-2037-2039
Volume 2-issue-6-2037-2039
 
Globally.docx
Globally.docxGlobally.docx
Globally.docx
 
Bitdefender - Solution Paper - Active Threat Control
Bitdefender - Solution Paper - Active Threat ControlBitdefender - Solution Paper - Active Threat Control
Bitdefender - Solution Paper - Active Threat Control
 
Report on Rogue Security Software
Report on Rogue Security SoftwareReport on Rogue Security Software
Report on Rogue Security Software
 
INSECURE Magazine - 37
INSECURE Magazine - 37INSECURE Magazine - 37
INSECURE Magazine - 37
 
Zero-Day Vulnerability and Heuristic Analysis
Zero-Day Vulnerability and Heuristic AnalysisZero-Day Vulnerability and Heuristic Analysis
Zero-Day Vulnerability and Heuristic Analysis
 
Viruses & Malware: Effects On Enterprise Networks
Viruses & Malware: Effects On Enterprise NetworksViruses & Malware: Effects On Enterprise Networks
Viruses & Malware: Effects On Enterprise Networks
 
Malware Protection Week5Part4-IS Revision Fall2013 .docx
Malware Protection  Week5Part4-IS Revision Fall2013 .docxMalware Protection  Week5Part4-IS Revision Fall2013 .docx
Malware Protection Week5Part4-IS Revision Fall2013 .docx
 
HCA 530, Week2, Psa i-091516-ransomware notice from fbi
HCA 530, Week2, Psa i-091516-ransomware notice from fbiHCA 530, Week2, Psa i-091516-ransomware notice from fbi
HCA 530, Week2, Psa i-091516-ransomware notice from fbi
 
virus vs antivirus
virus vs antivirusvirus vs antivirus
virus vs antivirus
 
Vulnerability scanning project
Vulnerability scanning projectVulnerability scanning project
Vulnerability scanning project
 
virus vs antivirus
virus vs antivirusvirus vs antivirus
virus vs antivirus
 
What is Remote Buffer Overflow Attack.pdf
What is Remote Buffer Overflow Attack.pdfWhat is Remote Buffer Overflow Attack.pdf
What is Remote Buffer Overflow Attack.pdf
 
What Is An Antivirus Software?
What Is An Antivirus Software?What Is An Antivirus Software?
What Is An Antivirus Software?
 
Bug Bounty Guide Tools and Resource.pdf
Bug Bounty Guide Tools and Resource.pdfBug Bounty Guide Tools and Resource.pdf
Bug Bounty Guide Tools and Resource.pdf
 
Spyware
SpywareSpyware
Spyware
 
License
LicenseLicense
License
 

More from UltraUploader

01 le 10 regole dell'hacking
01   le 10 regole dell'hacking01   le 10 regole dell'hacking
01 le 10 regole dell'hackingUltraUploader
 
00 the big guide sz (by dr.to-d)
00   the big guide sz (by dr.to-d)00   the big guide sz (by dr.to-d)
00 the big guide sz (by dr.to-d)UltraUploader
 
[E book ita] php manual
[E book   ita] php manual[E book   ita] php manual
[E book ita] php manualUltraUploader
 
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook   ita - security] introduzione alle tecniche di exploit - mori - ifoa ...[Ebook   ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...UltraUploader
 
[Ebook ita - database] access 2000 manuale
[Ebook   ita - database] access 2000 manuale[Ebook   ita - database] access 2000 manuale
[Ebook ita - database] access 2000 manualeUltraUploader
 
(E book) cracking & hacking tutorial 1000 pagine (ita)
(E book) cracking & hacking tutorial 1000 pagine (ita)(E book) cracking & hacking tutorial 1000 pagine (ita)
(E book) cracking & hacking tutorial 1000 pagine (ita)UltraUploader
 
(Ebook ita - inform - access) guida al database access (doc)
(Ebook   ita - inform - access) guida al database access (doc)(Ebook   ita - inform - access) guida al database access (doc)
(Ebook ita - inform - access) guida al database access (doc)UltraUploader
 
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
(Ebook   computer - ita - pdf) fondamenti di informatica - teoria(Ebook   computer - ita - pdf) fondamenti di informatica - teoria
(Ebook computer - ita - pdf) fondamenti di informatica - teoriaUltraUploader
 
Broadband network virus detection system based on bypass monitor
Broadband network virus detection system based on bypass monitorBroadband network virus detection system based on bypass monitor
Broadband network virus detection system based on bypass monitorUltraUploader
 
Botnetsand applications
Botnetsand applicationsBotnetsand applications
Botnetsand applicationsUltraUploader
 
Bot software spreads, causes new worries
Bot software spreads, causes new worriesBot software spreads, causes new worries
Bot software spreads, causes new worriesUltraUploader
 
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...UltraUploader
 
Bird binary interpretation using runtime disassembly
Bird binary interpretation using runtime disassemblyBird binary interpretation using runtime disassembly
Bird binary interpretation using runtime disassemblyUltraUploader
 
Biologically inspired defenses against computer viruses
Biologically inspired defenses against computer virusesBiologically inspired defenses against computer viruses
Biologically inspired defenses against computer virusesUltraUploader
 
Biological versus computer viruses
Biological versus computer virusesBiological versus computer viruses
Biological versus computer virusesUltraUploader
 
Biological aspects of computer virology
Biological aspects of computer virologyBiological aspects of computer virology
Biological aspects of computer virologyUltraUploader
 
Biological models of security for virus propagation in computer networks
Biological models of security for virus propagation in computer networksBiological models of security for virus propagation in computer networks
Biological models of security for virus propagation in computer networksUltraUploader
 

More from UltraUploader (20)

1 (1)
1 (1)1 (1)
1 (1)
 
01 intro
01 intro01 intro
01 intro
 
01 le 10 regole dell'hacking
01   le 10 regole dell'hacking01   le 10 regole dell'hacking
01 le 10 regole dell'hacking
 
00 the big guide sz (by dr.to-d)
00   the big guide sz (by dr.to-d)00   the big guide sz (by dr.to-d)
00 the big guide sz (by dr.to-d)
 
[E book ita] php manual
[E book   ita] php manual[E book   ita] php manual
[E book ita] php manual
 
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook   ita - security] introduzione alle tecniche di exploit - mori - ifoa ...[Ebook   ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
[Ebook ita - security] introduzione alle tecniche di exploit - mori - ifoa ...
 
[Ebook ita - database] access 2000 manuale
[Ebook   ita - database] access 2000 manuale[Ebook   ita - database] access 2000 manuale
[Ebook ita - database] access 2000 manuale
 
(E book) cracking & hacking tutorial 1000 pagine (ita)
(E book) cracking & hacking tutorial 1000 pagine (ita)(E book) cracking & hacking tutorial 1000 pagine (ita)
(E book) cracking & hacking tutorial 1000 pagine (ita)
 
(Ebook ita - inform - access) guida al database access (doc)
(Ebook   ita - inform - access) guida al database access (doc)(Ebook   ita - inform - access) guida al database access (doc)
(Ebook ita - inform - access) guida al database access (doc)
 
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
(Ebook   computer - ita - pdf) fondamenti di informatica - teoria(Ebook   computer - ita - pdf) fondamenti di informatica - teoria
(Ebook computer - ita - pdf) fondamenti di informatica - teoria
 
Broadband network virus detection system based on bypass monitor
Broadband network virus detection system based on bypass monitorBroadband network virus detection system based on bypass monitor
Broadband network virus detection system based on bypass monitor
 
Botnetsand applications
Botnetsand applicationsBotnetsand applications
Botnetsand applications
 
Bot software spreads, causes new worries
Bot software spreads, causes new worriesBot software spreads, causes new worries
Bot software spreads, causes new worries
 
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
Blended attacks exploits, vulnerabilities and buffer overflow techniques in c...
 
Blast off!
Blast off!Blast off!
Blast off!
 
Bird binary interpretation using runtime disassembly
Bird binary interpretation using runtime disassemblyBird binary interpretation using runtime disassembly
Bird binary interpretation using runtime disassembly
 
Biologically inspired defenses against computer viruses
Biologically inspired defenses against computer virusesBiologically inspired defenses against computer viruses
Biologically inspired defenses against computer viruses
 
Biological versus computer viruses
Biological versus computer virusesBiological versus computer viruses
Biological versus computer viruses
 
Biological aspects of computer virology
Biological aspects of computer virologyBiological aspects of computer virology
Biological aspects of computer virology
 
Biological models of security for virus propagation in computer networks
Biological models of security for virus propagation in computer networksBiological models of security for virus propagation in computer networks
Biological models of security for virus propagation in computer networks
 

A software authentication system for the prevention of computer viruses

  • 1. A Software Authentication System for the Prevention of Computer Viruses Lein Ham* Hung-Yu Lin* Shoubrto Yan~* * Computer Science Telecommunications Program University of Missouri-Kansas City, Kansas City, MO 64110 USA E-mail: harn@cstp.umkc.edu ** ~p~ent of Computer Science University of Science and Technology of China, Hefei, Anhui 230026 PRC Abstract In the absence of systematic techniques to detect the existence of computer viruses, preventing suspicious software from entering the system at the initial point of entry appears to be the best method to protect computing resources against attacks of computer viruses. Currently, software is distributed primarily by diskettes instead of on- line transmission. Diskettes are more susceptible to moditlcation and masquerading while on-line transmission usually follows proper user/message authentication. A software authentication system is proposed which does not require a mutually trusted center of both soflware vendors and users, or users’ interaction with any key center. Vendors assume responsibility by signing released software and users verify the authenticity of received software before using it. Through such an authentication process, users eliminate the risk of running “unlicensed” or modified programs, thus eliminating the possibility of virus infections. 1, Introduction In recent years, computer viruses have become major threats to the computing environment. Many anti-viral products to protect systems from infections are available on the market. These products do help users protect their computers from viral attacks to some extent by either monitoring running programs or by identifying certain pauerns in infected programs. However, a satisfactory solution to prevent virus attack has not yet been reached. Formal secure models [1, 2, 3] mayhelpto reduce the possibility of a virus infection by logically isolating or limiting access to computing resources. However these methods are usually too complicated and expensive to implement. Also, they unnecessarily limit the sharing of computing resources. Permission to copy without fee all or part of this matarial ia granted provided that tha copias ara not made or distributed for direct commercial edvantaga, the ACM copyright notice and tha title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinary. To copy otherwise, or to republish, raquires a fae and/or spacific permission. Currently, the prevention of virus infection relies on the users’ experiences. Vendors are not taking active roles in preventing their released programs from virus infections. Without vendor involvement, virus problem cannot be solved in any acceptable manner. In this paper, we will review three different anti-viral approaches and their associated problems. Then, a software authentication system, which requires a software vendor to sign his released programs and provides users an easy way to verify the authenticity of the programs, is pro~sed along with the discussion of several practical considerations. II. Review of Anti-viral Approaches Recently, three different anti-viral approaches are well discussed in literatures. Here we review each of them together with their associated problems. 1. Pattern-matching This is the most straightforward method and widely used in many commercial anti-viralproducts.It searchesfor code sequences (virus signatures, which may be those used by the virus itself to avoid reinfection) that are known to exist in programs infected by a specific strain of virus. Once a code pattern is matched, a certain virus is detected. However, it cannot detect arty new/unknown virus. Whenever there is a new virus, the anti-viral products also need to be upgraded. Such upgrades result in the increase of programsize and the downgrade of its performance.When the number of viruses increases beyond some point, this approachwill become impractical. 2. Software integrity-checking Based on the fact that detecting a virus (especially an unknown one) is difficult [4], and a program will always be modifkd after being infected by a virus, software integrity checks (more spec~lcally, the checksum method [5]) turns out to be a promising and cost-effective approach in detecting potential virus. e 1992 ACM 089791 -472-4/92/0002/0447 $1.50 447
  • 2. The checksum algorithm is carried out by executing a checksum generator utility over the program resulting in a checksum value which is then stored along with the program for latex reference. Any change in program content will be reflected in a change of the checksum value regenerated later. By comparing this regenerated checksum value with the pre-stored one, we can detect any mcxification of the program. However, one implicit but dangerous assumption has been made in the realization of this method. It assumes that all counteqmrts -- original program, checksum value and the checksum utility itself -- are virus-free. This dangerous assumption usually comes from our common belief that software purchased from well known vendors is trustworthy. Is this common belief justified? Consider the case of software counterfeiting, where one sells a fake program claimed to be the one from a famous vendor with its checksum vahe computed according to the publicly known checksum generating algorithm of the vendor. The user will falsely believe that this program is “clearI” after checksum verification, even when this fake program contains a Trojan horse or is already virus-infected, Another possible situation is that the virus-infected program is indeed written by a malicious employee of the vendor who carelessly distributes it. How can one make a clear distinction between these two cases, and who should be responsible for the damages caused to the user? Unfortunately, most solutions in tiis approach cannot answer this question because the released software contains insufficient information for the user to verify the authenticity of the software. Without proper authentication one can never be sure that a received program is indeed fmm the original licensed vendor and therefore it has no way to resolve the dispute, if any, between a software vendor and a user. 3. Software authentication In order to overcome the problems associated with the previous approach, the software authentication method nx@es software vendors to sign their released programs and users to accept only genuine programs by verifying the signatures of received software. Although a public-key cryptosystem can provide digital signatures for the released software of vendors, its implementation is not so simple and straightforward as mentioned in a recent paper [61,In that paper, a medmd was also proposed to realize software authentication in which it assumes the existence of a mutually trusted center of both software vendors and users. This assumption is hardly acceptable when there are many participants in a large commercial group [7]. Besides, if a mutually trusted center does exist, any software vendor needs to go through a registration process of this center to become a “licensed” vendor. In order to preserve the overall security, this mutually trusted center should be completely destroyed after issuing all secret keys tosoftware vendors. Thus, any new sofhvare vendor cannot be registered after the center is destroyed. This situation is also totally unacceptable. Vendors are established on an almost daily basis. Therefore, this center can never be destroyed, and it leads to the risk that once the registration center is compromised, one can pretend to be a licensed software vendor to distribute virus-infected programs or Trojan horse. Under this situation, should software vendors be responsible for the darnages caused by these programs? Thus, no vendor wants to risk their reputation by “trusting” someone who cannot be really trusted. III. The Proposed Software Authentication System In order to alleviate the worry of software vendors, the software authentication system should allow vendors to sign programs with their own secret keys. In order to make the verification of an acquired program as convenient as possible, the verification process should be performed locally by the user only without interacting with any registration or key center. With these considerations in mind, a software authentication system is proposed here. 1. System Components a. b. c. d. In this system, there are four major components: software vendors Who se~ software. users who irnpmt software from software vendors. the secret-generating machine@GM) which generates one pair of public and secret keys and breaks the secret key up into pieces to be held by several certification centers. certification centem(CC’s) which are accredited organizations select&l by the users and each provides a partial certiilcate for the signature system of a vendor. The SGM and the certification centers do not have to be trusted by vendors and the SGM can be destroyed after distributing secret keys to certification centers. 2. System Initialization a. b. Based on RSA cryptosystem [8], the SGM generates a small public key e, the corresponding secret key d, and the modulus n. Then it breaks d up into t ShadOWS, dj, j=ltot, suchthat dl + d2 +...+ dt = d ~d dishibutes dj to certilleation center CCj WCRMy. The SGM publishes e and n, and is then destroyed. E~h vendor i chooses a signature system and a pair of public ~d secret keys (ai, hi), ad then M his {IDi, S, ai) registered with the proper authorities. IDi, S ~d ai am the identification, signature function and public key of vendor i, respectively. ‘l%eregistered information will serve for the purpose of jurisdiction to resolve disputes, if any, between vendors and users. For convenience, we will say a vendor is licensed if he has 448
  • 3. done this registration, otherwise, the vendor is unlicensed. The vendor b sends (IDi, S, ai} to ~til~tion centers for certificating. After verifying that vendor i is licensed, each certitlcation center will return back a partial certificate Cj = <IDi II S IIai>dJ mod n to vendor i, where IIdenotes concatenation and c > k used as an integer value derived from the ASCII sting. Now vendor i can compress all the partial certificates and results in a single certifkate of his signature system, certi, by computing CeIti = Cl* CZ* .....*Ct = <IDj IIS IIaj>d mod n. Note that such cetilcate can be easily verified by using the public key e. 3. Distribution of software Now if a program P is to be released by vendor i, it will consist of four parts: {IDi, P, signi(p), certi), with signi(p) = S~(h(P)) where signi(p) is vendor i’s signature of P, Sbi is the signature function S using vendor i’s swret key bi, and h is a publicly known one-way hash function, which maps programs to a smaller domain to speed up signature generation and verification. 4.Authentication of software When a user acquires [IDj,P, Sign’, Certj) from vendori,he can derivevendoris identification,signature functionidentifier,and publickey throughthesystem’s publickey e by computing <IDiIIs IIai>= certiemod n. Iftheresultdoes not contain IDi and a meaningful signature function identifier, the program P’ should be discarded. If it does, the user will obtain the signature function, S, and the correct public key of vendor i, ai. ‘I%is process is called key certification. If certi passes this process, the user can continue to compute the hash value of P, hp) and verify the signature sign’. If signj’(p”) has been verified ( i.e. h(P’)=Sai(signi’@”)) ), program P is indeed from vendor i without being modified. Otherwise, either P or signi(P’) has been modified. Again, this process is called signature verification. IV. Discussion We would like to discuss this software authentication method bm three different aspects. 1. security Fmm the properties of public-key cryptosystems, only the vendor himself can either generate the signature or modify a program without being detected. Therefore, w one else can forge a licensed vendor’s progmm and no vendor can evade the responsibility for his released progmrns. From a vendor’s viewpoint, he trusts’’his own signature system and nothing else. In other words, a licensed vendor does not have to be responsible for programs which are not released by himself, even when atl of the certification centers are compromised, since one can never pretend to be a licensed vendor to sign programs without knowing the secret key bi, which is only known to the vendor. Although an unlicensed vendor may create a consistent pair of P’ and signk’(p”) with a chosen signature system and related public and secret keys, he still cannot pass the key certification process because he won’t get the proper certificates from certification centers. By employing multiple certification centers instead of only one, it is impossible for any unlicensed vendor to generate a valid certificate, even when only one cetilcation center remains confidential and the other t-1 ones are compromised. From the user’s viewpoint, the system is secure unless all of the ccxtillcation centers are compromised. Even though all certification centers could be compromised, nevertheless, users can still choose anew set of certification centers with newly generated shadows of the system’s secret key d before such disaster really happens. This work can be done by constructing a simple circuit which accepts old dj’s from each certification center and outputs a new set of shadows to the newly chosen cert.iilcation centers. 2. Flexibility By separating key certification and signature vetilcation in the authentication process, software vendors can change their signature systems for security considerations without introducing any change in current key certification process. The only thing vendors need to do is to get new certificates fhm the certifkatiort centers. For the same reason, users can choose artother set of certification centers if necessary without changing the vendors’ current certificates as mentioned in the above subsection. 3. Performance In this proposed system, software authentication consists of two processes: key certification and signature 449
  • 4. verification. No third party is involved in these two mutually trusted party, Proc. of Eurocrypt ’90, May processes and the interaction with certification centers 21-24, 1990. happens only when the certificate is requested by a new [8] R.L. RivesL A. Shamir, and L. Addleman, A Method V*. for Obtaining DigitaI Signatures and Public Key Cryptosystem, Communication of ACIU, Vol. 21, For any vendor, before releasing any program, all he No. 2, Feb. 1978, pp. 120-126. needs to do is to sign this program without having to recompute his certificate. For users, the time required for the key certification will not be long because the system’s public key can be made as small as possible (e.g. -3). Again, if vendors’ own signature systems are RSA-based, their public keys can also be made as small as possible to reduce the time required for signature verification. Therefore, the authentication of software in this system is quite efficient. In fact, software authentication is required only when a new software is acquired from foreign sources, so the speed of verification will not become a critical issue. V. Conclusion A software authentication system is proposed in this paper, in which users can verify the signatures of a program when fwst acquired from a software vendor. Through such authentication, suspicious programs can be filtered out and the risk of virus infections can be reduced. For software vendors, this system is secure because they can choose their own signature schemes and keys without having to trust any third party. For users, this system is secure, since one can be deceived with programs distributed by unlicensed vendors unless all certification centers are compromised. For both software vendors and users, this system is acceptable because it provides a mechanism to resolve disputes, if any, between the two parties. References [1] [2] [31 [4] [a [Q m D.E. Bell and L.J. LaPadula, Secure Computer System:Unified Exposition and Multics Interpretation, MITRE Tech. Report MTR- 2997, Mitre Corp., &dfO1’d, Mass., March, 1976. K. J. Biba, Integrity Consideration for Secure Computer System, MITRE Tech. Report, MTR- 3153, June, 1975. D. D. Clark and C. T. Wilson, A Comparison of Commercial and Military Computer Security Policies, Proc. 1987, IEEE Symp. Security and Privacy, Oakland, CA, April, 1987, pp. 184-194. Fred Cohen, Computer Viruses: Theory and Experiments, IFIP-TCII Computers and Security, Vol 6, No. 1, 1987, pp. 23-35. YJ. Huang and F. Cohen, Some Weak Points on One Fast Cryptographic Checksum Algorithm and its Improvement, IFIP TC-11 Computers and Security, vol. 8, No. 1, 1989. E. Okamoto and H. Masumoto, ID-based Authentication System for Computer Virus Detection, Electronics Letters, Vol. 26, No.IS, July, 1990, pp. 1169-1170. I. Ingemarsson and G. J. Simmons, A protocol to set up shared secret schemes without the assistance of a 450