妨害電腦使用罪模型

業於 2024-10-01 由 黃聰明 更新

刑法第36章係妨害電腦使用罪,其條文由第358條至第363條。這些條文的核心係第358條及第359條,蓋此二條文直接對應到本異見書所提的電腦操作模型:接近階段及使用階段。

接近階段包括實體的接近,亦即要能直接接觸電腦,惟有接近實體電腦才能開展其後的操作。就像我們打開自己的電腦一般,如果沒有設置密碼,那麼接近電腦後只要打開電源後即可讓電腦達於可供使用的狀態。反之,如果設有密碼,電腦開機後首先面對的是帳密的輸入,如果這一階段沒有完成,電腦是無法達到可供使用的狀態。由此可知,電腦在達於可供使用的狀態之前,一定要接近實體,另外可能還要利用帳密才能讓電腦達於可供使用的狀態。由此,對照第358條規定「無故輸入他人帳號密碼、破解使用電腦之保護措施或利用電腦系統之漏洞,而入侵他人之電腦或其相關設備」指的是開機後面對設有帳密的情形,如果是沒有權限者,即會該當本罪。

電腦開機之後,下一階段才是真正的目的,例如開啟Word撰寫論文,開啟Excel分析營運績效等。這階段是直接為程式或者系統的直接操作,而此操作有其目的,此目的即為利用此系統提供的功能完成。這個階段依資訊系統的模型而言,區分輸入、處理及輸出,亦即IPO(input-process-output)。由此,對照第359條「無故取得、刪除或變更他人電腦或其相關設備之電磁紀錄」即屬於這個階段的行為,亦即沒有相應的使用系統權限者利用系統而對系統相應的電磁紀錄(可能是檔案,可能是資料庫系統)做取得、變更與刪除的動作。

準此以觀,關於電腦的操作模型對應第358條及第359條的結構如下。此模型的「時點」較本罪章更為細緻,例如第358條僅規定「已接近電腦」實體後的行為,但如何接近「電腦實體」並未規範,這個階段例如以強盜脅迫或竊盜取得使用者的帳密,這個階段的時點因為無涉於系統的操作,為區分起見,以Ta及Tb標記。一旦開程系統後,模型中區分有4個時點分別對應到IPO的3個階段,其中的輸出階段再區分為有無實體的輸出,如果有則標記為T4。

所以說,第358條及359條係直接對應到電腦的使用,係核心條文。至於第360條「無故以電腦程式或其他電磁方式干擾他人電腦或其相關設備」係對前述二階段的「干擾」行為,例如先有第358條入侵後,植入「作業系統」的病毒,或改寫帳號相應的密碼。或者有權使用電腦者為此行為,則無第358條但有第359條行為。至於第362條,該「電腦程式」的作用對象亦是以電腦處理模型的二階段為「攻擊目標」。至於第361條只是針對電腦的屬性所為的限制而已。

刑法關於法益的保護只有區分國家法益、社會法益及個人法益。鑑於電腦的使用從個人、多人到國家,因此妨害電腦使用罪章所能侵害的法益就不脫此三項,因此去爭執妨害電腦使用罪章在刑法的保護法益實在是「無益之舉」。本異見書認為,其保護的法益須從資訊領域中的資訊安全切入,故本異見書認為妨害電腦使用罪章保護的是電腦及其程式相應的CIA:機密性、完整性及可用性,亦即CIA資安鐵三角(Confidentiality, Integrity and Availability triad,CIA triad)。

設有程式如下,此程式可增加館藏,可借閱,可刪除館藏及設定書籍目前的借閱狀態,其中的借書功能borrow()函式除了變更電磁紀錄外,也驅動實體的輸出:

class Library:
  def __init__(self):
    self.books = {}
  def addBook(self, title):
    self.books[title] = True
    print(f"己新增{title}於館藏")
  def borrow(self,title):
    if self.books.get(title,False):
      print(f"{title}已登記,請從下方出口取書")
    else:
      print(f"{title}已被借出")
  def returnBack(self,title):
    if title in self.books:
      self.books[title] = True
      print(f"f{title}已歸還")
    else:
      print(f"{title}不是本館的圖書")
  def removeBook(self,title):
    if title in self.books:
      del self.books[title]
      print(f"{title}已刪除")
    else:
      print(f"查無{title}一書")
  def bookStatus(self,title,status):
    if title in self.books:
      self.books[title] = status
      print(f"已重設{title}的借閱狀態")
    else:
      print(f"查無{title}一書")

如果有人沒有操作的權限卻進行下面的操作,即該當第359條之罪:

my = Library()
my.addBook("Java 物件導向程式設計")
my.borrow("Java 物件導向程式設計")
my.bookStatus("Java 物件導向程式設計",True)
my.removeBook("Java 物件導向程式設計")

如果在能下達前述命令前,需先檢查其權限,值此狀態下,如果有人無權卻登入,即該當第358條之罪:

def main(name,password):
  users = {"john":"1234","tom":"5678"}
  if name in users:
    if password == users[name]:
      print("歡迎本系統")
  else:
    print("{name}無權使用....")

如果,系統的操作仍需驗證身分,此時的身分驗證仍屬第358條之罪,例如:

  def addBook(self, title,name,password):
    if check(name,password):
      self.books[title] = True
      print(f"己新增{title}於館藏")
    else:
      print(f"無權新增{title}")

準此,本異見書認為,接近的行為除了接近電腦實體及接近系統外,為了使用系統提供的功能而設的保護仍屬於第358條的範圍,「無故輸入他人帳號密碼、破解使用電腦之保護措施或利用電腦系統之漏洞,而入侵他人之電腦或其相關設備」中的「電腦或其相關設備」並不限於「實體的」電腦或設備,從「入侵」的觀點,入侵系統提供的服務仍應論以本罪,蓋無此服務的入侵即無第359條對電磁紀錄的「取得、刪除或變更」。其實這種情形就像目前常見的社區大樓住家一般,住戶的磁扣只能進入大樓的大門,甚至只能進入特定樓層,想要進入特定的住宅仍需有其鑰匙,盜取磁扣進入社區是侵入(因為是實體,故使用第306條的字眼「侵入」,以資區別數位空間的「入侵」),即使有權使用磁扣卻盜取某住戶的鑰匙而進入,亦該當對該住宅的侵入。準此以解,Ta及T1都屬入侵的時點:

由於系統的保護仍屬接近階段,關於第359條的「取得、刪除或變更」的「標的」就僅有「系統服務關聯之電磁紀錄」,亦即對系統關聯之電磁紀錄為「取得」行為、「刪除」行為及「刪除」行為,這些行為的滿足通常都需要搭配「資料」,例如前述程式碼中的「刪除」行為必須搭配「書籍名稱」。故從系統的操作而言,行為人所為就是「行為」,「資料」只是配合行為的一部分,故「輸入資料」是行為,而輸入資料這個行為通常只是為某個系統服務的「部分行為」,例如輸入要刪除的書籍名稱(函式的參數”Java 物件導向程式設計”)是刪除行為(removeBook函式)的部分行為。

黃聰明
黃聰明

政府部門會計主管,部定講師,並就讀於中正大學法律博士班
臺大商研所(80)及中興法律碩專班(111)畢業
碁峰資訊專業作者
刑法「異」見書
jidca2004@yahoo.com.tw

文章: 348